XuqmGroup-iOSSDK/XuqmDemo/Sources/ViewModels/AuthViewModel.swift
XuqmGroup e7067d03cb feat(sdk): 更新 SDK 设计文档和 API 重构
- 添加 expiresAt 和 refreshUserSig 参数支持自动续签
- 修改 PushSDK 初始化方式,自动完成设备注册和厂商初始化
- 调整过期续签策略,从提前 15 分钟改为提前 5 分钟触发
- 重构 RN SDK 文档结构,简化安装和使用方式
- 更新统一登录流程,支持 profile 信息传递
- 添加 IM 数据库自动隔离功能
- 修复 Android 群消息聚合问题
- 补充自动化测试验证和错误处理机制
2026-05-01 21:27:39 +08:00

35 行
937 B
Swift

import Foundation
import XuqmSDK
@MainActor
final class AuthViewModel: ObservableObject {
@Published var state: LoginState = .idle
@Published var currentUserId: String = ""
@Published var currentNickname: String = ""
func login(userId: String, password: String) {
guard !userId.isEmpty, !password.isEmpty else {
state = .error("请输入用户 ID 和密码")
return
}
state = .loading
Task {
do {
try await ImSDK.shared.loginWithDemo(userId: userId, password: password)
currentUserId = userId
currentNickname = userId
state = .success
} catch {
state = .error(error.localizedDescription)
}
}
}
func logout() {
ImSDK.shared.disconnect()
currentUserId = ""
currentNickname = ""
state = .idle
}
}