LoginStore

简介

LoginStore 提供了一套完整的登录管理 API,包括用户登录、登出、设置个人信息等功能。
通过该类,可以管理用户的登录状态和用户资料。
重要:
使用 LoginStore.shared 单例对象访问 LoginStore 实例。
说明:
登录状态更新通过 loginState 发布者传递。订阅它以接收登录状态的实时更新。

功能特性

用户登录:支持使用 SDK 应用 ID、用户 ID 和用户签名进行登录。
用户登出:支持用户登出操作。
个人信息设置:支持设置用户昵称、头像、性别等个人资料。

可订阅数据

LoginState 的字段描述如下:
属性名
类型
描述
loginStatus
StateFlow<LoginStatus>
登录状态。
loginUserInfo
StateFlow<UserProfile?>
登录用户信息。

API 列表

函数名
描述
单例对象。
登录事件监听器。
登录事件监听器。
登录。
登出。
设置个人信息。

获取实例

LoginStore.shared

单例对象。

观察事件

addLoginListener

添加登录监听器
abstract fun addLoginListener(listener: LoginListener)
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
listener
必填
登录监听器。

removeLoginListener

移除登录监听器
abstract fun removeLoginListener(listener: LoginListener)
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
listener
必填
登录监听器。

登录操作

login

登录
abstract fun login(
context: Context,
sdkAppID: Int,
userID: String,
userSig: String,
completion: CompletionHandler? = null
)
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
context
Context
必填
上下文。
sdkAppID
Int
必填
SDK 应用 ID。
userID
String
必填
用户 ID。
userSig
String
必填
用户签名。
completion
必填
完成回调。

logout

登出
abstract fun logout(completion: CompletionHandler? = null)
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
completion
必填
完成回调。

setSelfInfo

设置个人信息
abstract fun setSelfInfo(
userProfile: UserProfile,
completion: CompletionHandler? = null
)
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
userProfile
必填
用户资料。
completion
必填
完成回调。

数据结构

LoginStatus

登录状态。
枚举值
说明
UNLOGIN
未登录。
LOGINED
已登录。

AllowType

好友验证方式。
枚举值
说明
ALLOW_ANY
0
允许任何人。
NEED_CONFIRM
1
需要验证。
DENY_ANY
2
拒绝任何人。

Gender

性别。
枚举值
说明
UNKNOWN
0
未知。
MALE
1
男性。
FEMALE
2
女性。

LoginListener

登录事件。
方法
方法名
说明
onKickedOffline
当前用户被踢下线。
onLoginExpired
登录票据过期。

UserProfile

用户资料。
属性
类型
说明
userID
String
用户 ID。
nickname
String?
昵称。
avatarURL
String?
头像URL。
selfSignature
String?
个性签名。
gender
性别。
role
Int?
角色。
level
Int?
等级。
birthday
Long?
生日。
allowType
好友验证方式。
customInfo
Map<String, ByteArray>?
自定义信息。

LoginState

登录状态。
属性
类型
说明
loginStatus
StateFlow<LoginStatus>
登录状态。
loginUserInfo
StateFlow<UserProfile?>
登录用户信息。