- 添加 expiresAt 和 refreshUserSig 参数支持自动续签 - 修改 PushSDK 初始化方式,自动完成设备注册和厂商初始化 - 调整过期续签策略,从提前 15 分钟改为提前 5 分钟触发 - 重构 RN SDK 文档结构,简化安装和使用方式 - 更新统一登录流程,支持 profile 信息传递 - 添加 IM 数据库自动隔离功能 - 修复 Android 群消息聚合问题 - 补充自动化测试验证和错误处理机制
35 行
937 B
Swift
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
|
|
}
|
|
}
|