LoginStore

Introduction

LoginStore provides a complete set of login management APIs, including user login, logout, and personal information settings. Through this class, you can manage user login status and user profiles.
Important:
Use shared singleton object to access the LoginStore instance.
Note:
Login status updates are delivered through loginState publisher. Subscribe to it to receive real-time updates about login status.

Features

User Login:Supports login using SDK application ID, user ID and user signature
User Logout:Supports user logout operation
Personal Information Settings:Supports setting user nickname, avatar, gender and other personal information

Subscribable Data

LoginState fields are described below:
Property
Type
Description
loginStatus
Login status.
loginUserInfo
Logged-in user information.

API List

Function
Description
Singleton object.
Login event publisher.
Login.
Logout.
Set personal information.

Getting Instance

shared

Singleton object
static LoginStore get shared => LoginStoreImpl.instance;
Version
Supported since version 3.5.

Observing Events

loginEventPublisher

Login event publisher

Login Operations

login

Login
Future<CompletionHandler> login({
required int sdkAppID,
required String userID,
required String userSig,
});
Version
Supported since version 3.5.
Parameters
Parameter
Type
Required
Description
sdkAppID
int
Required
SDK application ID.
userID
String
Required
User ID.
userSig
String
Required
User signature.

logout

Logout
Future<CompletionHandler> logout();
Version
Supported since version 3.5.

setSelfInfo

Set personal information
Future<CompletionHandler> setSelfInfo({required UserProfile userInfo});
Version
Supported since version 3.5.
Parameters
Parameter
Type
Required
Description
userProfile
Required
User profile.

Data Structures

LoginStatus

Login status.
Enum Value
Description
unlogin
Not logged in.
logined
Logged in.

AllowType

Friend verification type.
Enum Value
Value
Description
allowAny
0
Allow anyone.
needConfirm
1
Need confirmation.
denyAny
2
Deny anyone.

Gender

Gender.
Enum Value
Value
Description
unknown
0
Unknown.
male
1
Male.
female
2
Female.

LoginEvent

Login event.
Enum Value
Description
kickedOffline
Current user kicked offline.
loginExpired
Login ticket expired.

UserProfile

User profile
Property
Type
Description
userID
String
User ID.
nickname
String?
Nickname.
avatarURL
String?
Avatar URL.
selfSignature
String?
Personal signature.
gender
Gender.
role
int?
Role.
level
int?
Level.
birthday
int?
Birthday.
allowType
Friend verification type.
customInfo
Map<String, String>?
Custom information.

LoginState

Login state
Property
Type
Description
loginStatus
Login status.
loginUserInfo
Logged-in user information.