UNPKG

node-nim

Version:

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

95 lines 3.17 kB
"use strict"; 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