UNPKG

@fork-anyone/node-nim

Version:

NetEase IM nodejs wrapper based on NetEase IM C++ SDK

175 lines 4.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.V2NIMLoginService = void 0; const eventemitter3_1 = require("eventemitter3"); class V2NIMLoginService extends eventemitter3_1.EventEmitter { constructor(sdk) { super(); this.instance = new sdk.V2NIMLoginService({ emit: this.emit.bind(this) }); } /** * @brief 登录接口 * @param accountId 账号 * @param token 密码 * @param option 登录选项 * @returns Promise<void> * @example * ```javascript * await v2.loginService.login('accountId', 'token', {}) * ``` */ login(accountId, token, option) { return new Promise((resolve, reject) => { this.instance.login(accountId, token, option, () => { resolve(); }, (error) => { reject(error); }); }); } /** * @brief 登出接口 * @returns Promise<void> * @example * ```javascript * await v2.loginService.logout() * ``` */ logout() { return new Promise((resolve, reject) => { this.instance.logout(() => { resolve(); }, (error) => { reject(error); }); }); } /** * @brief 获取当前登录用户 * @returns string 当前登录用户 * @example * ```javascript * const user = v2.loginService.getLoginUser() * ``` */ getLoginUser() { return this.instance.getLoginUser(); } /** * @brief 获取登录状态 * @returns V2NIMLoginStatus 登录状态 * @example * ```javascript * const status = v2.loginService.getLoginStatus() * ``` */ getLoginStatus() { return this.instance.getLoginStatus(); } /** * @brief 获取登录客户端列表 * @returns V2NIMLoginClient[] 登录客户端列表 * @example * ```javascript * const clients = v2.loginService.getLoginClients() * ``` */ getLoginClients() { return this.instance.getLoginClients(); } /** * @brief 获取当前登录客户端 * @returns V2NIMLoginClient 当前登录客户端 * @example * ```javascript * const client = v2.loginService.getCurrentLoginClient() * ``` */ getCurrentLoginClient() { return this.instance.getCurrentLoginClient(); } /** * @brief 踢掉登录客户端下线 * @param client 登录客户端 * @returns Promise<void> * @example * ```javascript * const otherClients = v2.loginService.getLoginClients() * await v2.loginService.kickOffline(otherClients[0]) * ``` */ kickOffline(client) { return new Promise((resolve, reject) => { this.instance.kickOffline(client, () => { resolve(); }, (error) => { reject(error); }); }); } /** * @brief 获取被踢下线原因 * @returns V2NIMKickedOfflineDetail 被踢下线原因 * @example * ```javascript * const detail = v2.loginService.getKickedOfflineDetail() * ``` */ getKickedOfflineDetail() { return this.instance.getKickedOfflineDetail(); } /** * @brief 获取连接状态 * @returns V2NIMConnectStatus 连接状态 * @example * ```javascript * const status = v2.loginService.getConnectStatus() * ``` */ getConnectStatus() { return this.instance.getConnectStatus(); } /** * @brief 获取数据同步状态 * @returns V2NIMDataSyncDetail[] 数据同步状态列表 * @example * ```javascript * const details = v2.loginService.getDataSync() * ``` */ getDataSync() { return this.instance.getDataSync(); } /** * @brief 获取聊天室 link 地址 * @param roomId 聊天室 ID * @returns Promise<Array<string>> * @example * ```javascript * const linkAddresses = await v2.loginService.getChatroomLinkAddress('roomId') * ``` */ getChatroomLinkAddress(roomId) { return new Promise((resolve, reject) => { this.instance.getChatroomLinkAddress(roomId, (linkAddresses) => { resolve(linkAddresses); }, (error) => { reject(error); }); }); } /** * @brief 设置获取重连延时回调 * @param provider 获取重连延时回调 * @returns void * @example * ```javascript * v2.loginService.setReconnectDelayProvider(provider) * ``` */ setReconnectDelayProvider(provider) { this.instance.setReconnectDelayProvider(provider); } } exports.V2NIMLoginService = V2NIMLoginService; //# sourceMappingURL=v2_nim_login_service.js.map