简介
LoginStore 提供了一套完整的登录管理 API,包括用户登录、登出、设置个人信息等功能。 通过该类,可以管理用户的登录状态和用户资料。
重要:
使用 shared 单例对象访问 LoginStore 实例。
说明:
登录状态更新通过 loginState 发布者传递。订阅它以接收登录状态的实时更新。
功能特性
用户登录:支持使用 SDK 应用 ID、用户 ID 和用户签名进行登录。
用户登出:支持用户登出操作。
个人信息设置:支持设置用户昵称、头像、性别等个人资料。
可订阅数据
LoginState 的字段描述如下:
|
loginStatus | | 登录状态。 |
loginUserInfo | | 登录用户信息。 |
API 列表
|
| 单例对象。 |
| 登录事件流。 |
| 登录。 |
| 登出。 |
| 设置个人信息。 |
| 设置离线推送证书 ID。 |
获取实例
shared
单例对象。
static LoginStore get shared => LoginStoreImpl.instance;
版本信息
从3.5版本开始支持。
观察事件
loginEventStream
登录事件流。
登录事件流。建议在调用 login 之前监听此事件流,以便能够及时接收登录相关事件。
登录操作
login
登录。
Future<CompletionHandler> login({
required int sdkAppID,
required String userID,
required String userSig,
});
版本信息
从3.5版本开始支持。
参数说明
|
sdkAppID | int | SDK 应用 ID。从 控制台 获取,通常是以 140 或 160 开头的 10 位整数。 |
userID | String | 用户 ID。建议限制长度为32字节,只允许包含大小写英文字母(a-zA-Z)、数字(0-9)及下划线和连词符。 |
userSig | String | |
logout
登出。
Future<CompletionHandler> logout();
版本信息
从3.5版本开始支持。
setSelfInfo
设置个人信息。
Future<CompletionHandler> setSelfInfo({required UserProfile userInfo});
版本信息
从3.5版本开始支持。
参数说明
推送配置
setCertificateID(apnsCertificateID:voipCertificateID:)
设置离线推送证书 ID。
数据结构
LoginStatus
登录状态。
AllowType
好友验证方式。
|
allowAny | 0 | 允许任何人。 |
needConfirm | 1 | 需要验证。 |
denyAny | 2 | 拒绝任何人。 |
Gender
性别。
|
unknown | 0 | 未知。 |
male | 1 | 男性。 |
female | 2 | 女性。 |
LoginEvent
登录事件。
|
kickedOffline | 当前用户被踢下线。 |
loginExpired | 登录票据过期。 |
UserProfile
用户资料。
|
userID | String | 用户 ID。 |
nickname | String? | 昵称。 |
avatarURL | String? | 头像 URL。 |
selfSignature | String? | 个性签名。 |
gender | | 性别。 |
role | int? | 角色,该字段无业务限制,您可以放心使用任意合法的整数值。 |
level | int? | 等级,该字段无业务限制,您可以放心使用任意合法的整数值。 |
birthday | int? | 生日,该字段无业务限制,您可以放心使用任意合法的整数值。 |
allowType | | 好友验证方式。 |
customInfo | Map<String, String>? | 自定义信息。 |
LoginState
登录状态。
|
loginStatus | | 登录状态。 |
loginUserInfo | | 登录用户信息。 |