@fork-anyone/node-nim
Version:
NetEase IM nodejs wrapper based on NetEase IM C++ SDK
175 lines • 4.88 kB
JavaScript
;
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