补充重置密码功能

This commit is contained in:
edwinQQQ
2025-07-10 14:30:52 +08:00
parent e45ad3bad5
commit 6084ade9ea
2 changed files with 24 additions and 11 deletions

View File

@@ -10,6 +10,7 @@ struct RecoverPasswordFeature {
var newPassword: String = ""
var isCodeLoading: Bool = false
var isResetLoading: Bool = false
var isResetSuccess: Bool = false
var errorMessage: String? = nil
var isCodeSent: Bool = false
@@ -30,6 +31,7 @@ struct RecoverPasswordFeature {
case getCodeResponse(Result<EmailGetCodeResponse, Error>)
case resetPasswordTapped
case resetPasswordResponse(Result<ResetPasswordResponse, Error>)
case resetSuccess
case resetState
}
@@ -145,9 +147,9 @@ struct RecoverPasswordFeature {
state.isResetLoading = false
if response.isSuccess {
//
state.isResetSuccess = true
state.errorMessage = nil
return .none
return .send(.resetSuccess)
} else {
state.errorMessage = response.errorMessage
return .none
@@ -162,12 +164,17 @@ struct RecoverPasswordFeature {
}
return .none
case .resetSuccess:
//
return .none
case .resetState:
state.email = ""
state.verificationCode = ""
state.newPassword = ""
state.isCodeLoading = false
state.isResetLoading = false
state.isResetSuccess = false
state.errorMessage = nil
state.isCodeSent = false
return .none
@@ -196,11 +203,11 @@ struct ResetPasswordResponse: Codable, Equatable {
}
}
///
/// - API
struct ResetPasswordRequest: APIRequestProtocol {
typealias Response = ResetPasswordResponse
let endpoint = "/password/reset" //
let endpoint = "/acc/pwd/resetByEmail" // API
let method: HTTPMethod = .POST
let includeBaseParameters = true
let queryParameters: [String: String]?
@@ -211,12 +218,12 @@ struct ResetPasswordRequest: APIRequestProtocol {
/// - Parameters:
/// - email: DES
/// - code:
/// - newPassword: DES
init(email: String, code: String, newPassword: String) {
/// - newPwd: DES
init(email: String, code: String, newPwd: String) {
self.queryParameters = [
"email": email,
"code": code,
"newPassword": newPassword
"newPwd": newPwd, // newPwd
"code": code
]
}
}
@@ -266,9 +273,9 @@ struct RecoverPasswordHelper {
print(" 加密新密码: \(encryptedPassword)")
return ResetPasswordRequest(
email: encryptedEmail,
email: email,
code: code,
newPassword: encryptedPassword
newPwd: encryptedPassword // newPwd
)
}
}
}

View File

@@ -269,6 +269,12 @@ struct RecoverPasswordView: View {
//
}
}
.onChange(of: store.isResetSuccess) { isResetSuccess in
//
if isResetSuccess {
onBack()
}
}
}
// MARK: - Private Methods