UNPKG

@fork-anyone/node-nim

Version:

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

139 lines 5.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.NIMSubscribeEvent = void 0; const eventemitter3_1 = require("eventemitter3"); class NIMSubscribeEvent extends eventemitter3_1.EventEmitter { constructor(sdk) { super(); this.subscribeEvent = new sdk.NIMSubscribeEvent({ emit: this.emit.bind(this) }); } /** 注册全局回调 */ initEventHandlers() { return this.subscribeEvent.InitEventHandlers(); } /** 发布事件 * @param event_data 事件 * @param cb 发布事件回调函数 * @param jsonExtension json扩展参数(备用,目前不需要) * @return boolean 检查参数如果不符合要求则返回失败 * @note * <pre> * 200:成功 * 403:应用没开通事件服务 * 404:禁用了特定事件 * 414:参数错误 * 500:未知错误 * </pre> */ publish(data, cb, jsonExtension) { return new Promise((resolve) => { this.subscribeEvent.Publish(data, (rescode, eventType, data) => { if (cb) { cb(rescode, eventType, data); } resolve([rescode, eventType, data]); }, jsonExtension !== null && jsonExtension !== void 0 ? jsonExtension : ''); }); } /** 订阅事件 * @param event_type 事件类型 * @param ttl 订阅有效期,单位:秒,范围:60s到30天 * @param sync_type 订阅后是否立即同步最新事件 * @param accid_list 要订阅的用户列表 * @param cb 订阅事件回调函数 * @param jsonExtension json扩展参数(备用,目前不需要) * @return boolean 检查参数如果不符合要求则返回失败 * @note * <pre> * 200:成功 * 414:参数错误 * 500:未知错误 * </pre> */ subscribe(eventType, ttl, syncType, accids, cb, jsonExtension) { return new Promise((resolve) => { if (!this.subscribeEvent.Subscribe(eventType, ttl, syncType, accids, (rescode, eventType, failedList) => { if (cb) { cb(rescode, eventType, failedList); } resolve([rescode, eventType, failedList]); }, jsonExtension !== null && jsonExtension !== void 0 ? jsonExtension : '')) { resolve(null); } }); } /** 按账号取消指定事件的订阅关系 * @param event_type 事件类型 * @param accid_list 要取消订阅的用户列表 * @param cb 取消订阅事件回调函数 * @param jsonExtension json扩展参数(备用,目前不需要) * @return boolean 检查参数如果不符合要求则返回失败 * @note * <pre> * 200:成功 * 414:参数错误 * 500:未知错误 * </pre> */ unSubscribe(eventType, accids, cb, jsonExtension) { return new Promise((resolve) => { if (!this.subscribeEvent.UnSubscribe(eventType, accids, (rescode, eventType, failedList) => { if (cb) { cb(rescode, eventType, failedList); } resolve([rescode, eventType, failedList]); }, jsonExtension !== null && jsonExtension !== void 0 ? jsonExtension : '')) { resolve(null); } }); } /** 取消指定事件的全部订阅关系 * @param event_type 事件类型 * @param cb 取消订阅事件回调函数 * @param jsonExtension json扩展参数(备用,目前不需要) * @return boolean 检查参数如果不符合要求则返回失败 * @note * <pre> * 200:成功 * 414:参数错误 * 500:未知错误 * </pre> */ batchUnSubscribe(eventType, cb, jsonExtension) { return new Promise((resolve) => { if (!this.subscribeEvent.BatchUnSubscribe(eventType, (rescode, eventType) => { if (cb) { cb(rescode, eventType); } resolve([rescode, eventType]); }, jsonExtension !== null && jsonExtension !== void 0 ? jsonExtension : '')) { resolve(null); } }); } /** 按账号查询指定事件订阅关系 * @param event_type 事件类型 * @param accid_list 要查询订阅关系的用户列表 * @param cb 查询订阅关系回调函数 * @param jsonExtension json扩展参数(备用,目前不需要) * @return boolean 检查参数如果不符合要求则返回失败 * @note * <pre> * 200:成功 * 414:参数错误 * 500:未知错误 * </pre> */ querySubscribe(eventType, accids, cb, jsonExtension) { return new Promise((resolve) => { this.subscribeEvent.QuerySubscribe(eventType, accids, (rescode, eventType, datas) => { if (cb) { cb(rescode, eventType, datas); } resolve([rescode, eventType, datas]); }, jsonExtension !== null && jsonExtension !== void 0 ? jsonExtension : ''); }); } } exports.NIMSubscribeEvent = NIMSubscribeEvent; //# sourceMappingURL=subscribe_event.js.map