feat: 新增用户信息获取功能及相关模型
- 在APIEndpoints.swift中新增getUserInfo端点以支持获取用户信息。 - 在APIModels.swift中实现获取用户信息请求和响应模型,处理用户信息的请求与解析。 - 在UserInfoManager中新增方法以从服务器获取用户信息,并在登录成功后自动获取用户信息。 - 在SettingFeature中新增用户信息刷新状态管理,支持用户信息的刷新操作。 - 在SettingView中集成用户信息刷新按钮,提升用户体验。 - 在SplashFeature中实现自动获取用户信息的逻辑,优化用户登录流程。 - 在yanaAPITests中添加用户信息相关的单元测试,确保功能的正确性。
This commit is contained in:
@@ -160,10 +160,20 @@ struct EMailLoginFeature {
|
||||
case .loginResponse(.success(let accountModel)):
|
||||
state.isLoading = false
|
||||
state.loginStep = .completed
|
||||
// Effect 保存AccountModel并发送通知
|
||||
// Effect 保存AccountModel并获取用户信息
|
||||
return .run { _ in
|
||||
await UserInfoManager.saveAccountModel(accountModel)
|
||||
// 移除:NotificationCenter.default.post(name: .ticketSuccess, object: nil)
|
||||
|
||||
// 新增:登录成功后自动获取用户信息
|
||||
debugInfoSync("🔄 邮箱登录成功,开始获取用户信息")
|
||||
if let _ = await UserInfoManager.fetchUserInfoFromServer(
|
||||
uid: accountModel.uid,
|
||||
apiService: apiService
|
||||
) {
|
||||
debugInfoSync("✅ 用户信息获取成功")
|
||||
} else {
|
||||
debugErrorSync("❌ 用户信息获取失败,但不影响登录流程")
|
||||
}
|
||||
}
|
||||
|
||||
case .loginResponse(.failure(let error)):
|
||||
|
Reference in New Issue
Block a user