node-nim
Version:
NetEase IM nodejs wrapper based on NetEase IM C++ SDK
95 lines • 3.17 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.V2NIMSubscriptionService = void 0;
const loader_1 = __importDefault(require("../loader"));
const eventemitter3_1 = require("eventemitter3");
/** @brief 订阅服务 */
class V2NIMSubscriptionService extends eventemitter3_1.EventEmitter {
constructor() {
super();
this.instance = new loader_1.default.V2NIMSubscriptionService({ emit: this.emit.bind(this) });
}
/**
* @brief 订阅用户状态
* @param option 订阅用户状态选项
* @returns Promise<string[]>
* @example
* ```javascript
* const result = await v2.subscriptionService.subscribeUserStatus({
* accountIds: ['account1', 'account2'],
* })
* ```
*/
subscribeUserStatus(option) {
return new Promise((resolve, reject) => {
this.instance.subscribeUserStatus(option, (result) => {
resolve(result);
}, (error) => {
reject(error);
});
});
}
/**
* @brief 取消用户状态订阅
* @param option 取消订阅用户状态选项
* @returns Promise<string[]>
* @example
* ```javascript
* const result = await v2.subscriptionService.unsubscribeUserStatus({
* accountIds: ['account1', 'account2'],
* })
* ```
*/
unsubscribeUserStatus(option) {
return new Promise((resolve, reject) => {
this.instance.unsubscribeUserStatus(option, (result) => {
resolve(result);
}, (error) => {
reject(error);
});
});
}
/**
* @brief 发布用户自定义状态
* @param params 发布自定义用户状态参数
* @returns Promise<V2NIMCustomUserStatusPublishResult>
* @example
* ```javascript
* const result = await v2.subscriptionService.publishCustomUserStatus({
* statusType: 10001,
* duration: 60
* })
* ```
*/
publishCustomUserStatus(params) {
return new Promise((resolve, reject) => {
this.instance.publishCustomUserStatus(params, (result) => {
resolve(result);
}, (error) => {
reject(error);
});
});
}
/** @brief 查询用户状态订阅关系
* @param accountIds 账号列表
* @returns Promise<V2NIMUserStatusSubscribeResult[]>
* @example
* ```javascript
* const result = await v2.subscriptionService.queryUserStatusSubscriptions(['account1', 'account2'])
* ```
*/
queryUserStatusSubscriptions(accountIds) {
return new Promise((resolve, reject) => {
this.instance.queryUserStatusSubscriptions(accountIds, (result) => {
resolve(result);
}, (error) => {
reject(error);
});
});
}
}
exports.V2NIMSubscriptionService = V2NIMSubscriptionService;
//# sourceMappingURL=v2_nim_subscription_service.js.map
;