feat: 更新依赖和项目配置,优化代码结构
- 在Package.swift中注释掉旧的swift-composable-architecture依赖,并添加swift-case-paths依赖。 - 在Podfile中将iOS平台版本更新至16.0,并移除QCloudCOSXML/Transfer依赖,改为使用QCloudCOSXML。 - 更新Podfile.lock以反映依赖变更,确保项目依赖的准确性。 - 新增架构分析需求文档,明确项目架构评估和改进建议。 - 在多个文件中实现async/await语法,提升异步操作的可读性和性能。 - 更新日志输出方法,确保在调试模式下提供一致的调试信息。 - 优化多个视图组件,提升用户体验和代码可维护性。
This commit is contained in:
@@ -48,12 +48,12 @@ struct EMailLoginFeature {
|
||||
|
||||
case .getVerificationCodeTapped:
|
||||
guard !state.email.isEmpty else {
|
||||
state.errorMessage = "email_login.email_required".localized
|
||||
state.errorMessage = NSLocalizedString("email_login.email_required", comment: "")
|
||||
return .none
|
||||
}
|
||||
|
||||
guard ValidationHelper.isValidEmail(state.email) else {
|
||||
state.errorMessage = "email_login.invalid_email".localized
|
||||
state.errorMessage = NSLocalizedString("email_login.invalid_email", comment: "")
|
||||
return .none
|
||||
}
|
||||
|
||||
@@ -98,12 +98,12 @@ struct EMailLoginFeature {
|
||||
|
||||
case .loginButtonTapped(let email, let verificationCode):
|
||||
guard !email.isEmpty && !verificationCode.isEmpty else {
|
||||
state.errorMessage = "email_login.fields_required".localized
|
||||
state.errorMessage = NSLocalizedString("email_login.fields_required", comment: "")
|
||||
return .none
|
||||
}
|
||||
|
||||
guard ValidationHelper.isValidEmail(email) else {
|
||||
state.errorMessage = "email_login.invalid_email".localized
|
||||
state.errorMessage = NSLocalizedString("email_login.invalid_email", comment: "")
|
||||
return .none
|
||||
}
|
||||
|
||||
@@ -112,7 +112,7 @@ struct EMailLoginFeature {
|
||||
|
||||
return .run { send in
|
||||
do {
|
||||
guard let request = LoginHelper.createEmailLoginRequest(email: email, code: verificationCode) else {
|
||||
guard let request = await LoginHelper.createEmailLoginRequest(email: email, code: verificationCode) else {
|
||||
await send(.loginResponse(.failure(APIError.encryptionFailed)))
|
||||
return
|
||||
}
|
||||
@@ -149,14 +149,11 @@ struct EMailLoginFeature {
|
||||
|
||||
case .loginResponse(.success(let accountModel)):
|
||||
state.isLoading = false
|
||||
|
||||
// 保存AccountModel到本地存储
|
||||
UserInfoManager.saveAccountModel(accountModel)
|
||||
|
||||
// 发送成功通知,触发导航到主界面
|
||||
NotificationCenter.default.post(name: .ticketSuccess, object: nil)
|
||||
|
||||
return .none
|
||||
// Effect 保存AccountModel并发送通知
|
||||
return .run { _ in
|
||||
await UserInfoManager.saveAccountModel(accountModel)
|
||||
NotificationCenter.default.post(name: .ticketSuccess, object: nil)
|
||||
}
|
||||
|
||||
case .loginResponse(.failure(let error)):
|
||||
state.isLoading = false
|
||||
|
Reference in New Issue
Block a user