LoginStore

简介

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

功能特性

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

可订阅数据

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

API 列表

函数名
描述
单例对象。
登录事件发布者。
登录。
登出。
设置个人信息。

获取实例

shared

单例对象
static LoginStore get shared => LoginStoreImpl.instance;
版本信息
从 3.5 版本开始支持。

观察事件

loginEventPublisher

登录事件发布者

登录操作

login

登录
Future<CompletionHandler> login({
required int sdkAppID,
required String userID,
required String userSig,
});
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
sdkAppID
int
必填
SDK 应用 ID。
userID
String
必填
用户 ID。
userSig
String
必填
用户签名。

logout

登出
Future<CompletionHandler> logout();
版本信息
从 3.5 版本开始支持。

setSelfInfo

设置个人信息
Future<CompletionHandler> setSelfInfo({required UserProfile userInfo});
版本信息
从 3.5 版本开始支持。
参数说明
参数名
类型
是否必填
描述
userProfile
必填
用户资料。

数据结构

LoginStatus

登录状态。
枚举值
说明
unlogin
未登录。
logined
已登录。

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
登录用户信息。