@beeworks/imsdk / auth / login
login()
login(
params):Promise<boolean>
登录 SDK
完成 SDK 初始化后,需调用此方法进行用户登录。 登录流程依次完成 HTTP 认证、当前用户信息加载、本地数据库初始化、WASM 加载、 WebSocket 连接及 Hello 握手。只有全部必要步骤成功后才返回 true 并触发 EventType.LOGIN_SUCCESS;此时 SDK 已可以正常收发消息。
数据库初始化失败、首次连接超时或握手失败时,该方法会回滚本次登录产生的 Token、用户信息、会话内存、数据库和 IM 客户端,并返回 false。 首次连接等待时间可通过 IMClientConfig.initialConnectionTimeout 配置, 默认值为 60 秒。
相关事件:
- EventType.LOGIN_SUCCESS 登录成功
- EventType.LOGIN_FAILED 登录失败,载荷为 LoginFailedPayload
- EventType.IM_CONNECTING 开始连接
- EventType.IM_CONNECTED 连接成功
- EventType.IM_CONNECT_FAILED 连接失败或首次连接等待超时
Parameters
params
登录参数 ILoginParams
Returns
Promise<boolean>
Promise<boolean> - 是否完成登录且已可正常收发消息
Example
typescript
const stopListening = on<LoginFailedPayload>(EVENT.LOGIN_FAILED, (failure) => {
console.error('登录失败详情', failure.code, failure.stage, failure.error);
});
const success = await login({
userId: 'uid_123456',
token: 'jwt_token_example',
});
if (success) {
// 数据库和 IM 长连接均已就绪
console.log('登录成功,可以开始收发消息');
} else {
console.error('登录失败,本次登录产生的本地状态已清理,详情见 LOGIN_FAILED 事件');
}
stopListening();