简介
LoginStore 提供了一套完整的登录管理 API,包括用户登录、登出、设置个人信息等功能。 通过该类,可以管理用户的登录状态和用户资料。重要:
使用 shared 单例对象访问
LoginStore 实例。说明:
登录状态更新通过 state 发布者传递。订阅它以接收登录状态的实时更新。
功能特性
用户登录:支持使用 SDK 应用 ID、用户 ID 和用户签名进行登录。
用户登出:支持用户登出操作。
个人信息设置:支持设置用户昵称、头像、性别等个人资料。
可订阅数据
LoginState 的字段描述如下:
属性名 | 类型 | 描述 |
loginStatus | 登录状态。 | |
loginUserInfo | 登录用户信息。 |
API 列表
函数名 | 描述 |
单例对象。 | |
登录事件发布者。 | |
登录。 | |
登出。 | |
设置个人信息。 | |
设置离线推送证书 ID。 |
获取实例
shared
单例对象。
public static let shared: LoginStore = LoginStoreImpl()
版本信息
从3.5版本开始支持。
观察事件
loginEventPublisher
登录事件发布者。
登录操作
login
登录。
public func login(sdkAppID: Int32, userID: String, userSig: String, completion: CompletionClosure?) {}
版本信息
从3.5版本开始支持。
参数说明
参数名 | 类型 | 描述 |
sdkAppID | Int32 | |
userID | String | 用户 ID。建议限制长度为32字节,只允许包含大小写英文字母(a-zA-Z)、数字(0-9)及下划线和连词符。 |
userSig | String | |
completion | 完成回调。 |
logout
登出。
public func logout(completion: CompletionClosure?) {}
版本信息
从3.5版本开始支持。
参数说明
参数名 | 类型 | 描述 |
completion | 完成回调。 |
setSelfInfo
设置个人信息。
public func setSelfInfo(userProfile: UserProfile, completion: CompletionClosure?) {}
版本信息
从3.5版本开始支持。
参数说明
参数名 | 类型 | 描述 |
userProfile | 用户资料。 | |
completion | 完成回调。 |
推送配置
setCertificateID
设置离线推送证书 ID。
public func setCertificateID(apnsCertificateID: Int = 0, voipCertificateID: Int = 0) {}
设置 APNs 和 VoIP 推送证书 ID,SDK 内部会自动完成推送注册、token 获取和上报。 必须在 login(sdkAppID:userID:userSig:completion:)之前调用。 证书 ID 从 IM 控制台 上传推送证书后获取。
版本信息
从3.5版本开始支持。
参数说明
参数名 | 类型 | 描述 |
apnsCertificateID | Int | APNs 推送证书 ID。传 0 表示不启用 APNs 推送。 |
voipCertificateID | Int | VoIP 推送证书 ID。传 0 表示不启用 VoIP 推送。默认值为 0。 |
数据结构
LoginStatus
登录状态。
枚举值 | 说明 |
unlogin | 未登录。 |
logined | 已登录。 |
AllowType
好友验证方式。
枚举值 | 值 | 说明 |
allowAny | 0 | 允许任何人。 |
needConfirm | 1 | 需要验证。 |
denyAny | 2 | 拒绝任何人。 |
Gender
性别。
枚举值 | 值 | 说明 |
unknown | 0 | 未知。 |
male | 1 | 男性。 |
female | 2 | 女性。 |
LoginEvent
登录事件。
枚举值 | 说明 |
kickedOffline | 当前用户被踢下线。 |
loginExpired | 登录票据过期。 |
UserProfile
用户资料。
LoginState
登录状态。
属性 | 类型 | 说明 |
loginStatus | 登录状态。 | |
loginUserInfo | 登录用户信息。 |