UNPKG

@fork-anyone/node-nim

Version:

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

128 lines 5.06 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.NIMGlobal = void 0; const eventemitter3_1 = require("eventemitter3"); class NIMGlobal extends eventemitter3_1.EventEmitter { constructor(sdk) { super(); this.global = new sdk.NIMGlobal({ emit: this.emit.bind(this) }); } /** 注册全局回调 */ initEventHandlers() { return this.global.InitEventHandlers(); } /** 注册输出系统环境异常的回调 * @param jsonExtension json扩展参数(备用,目前不需要) * @param cb * @return void 无返回值 */ setExceptionReportCallback(jsonExtension, cb) { return new Promise((resolve) => { this.global.SetExceptionReportCallback(jsonExtension !== null && jsonExtension !== void 0 ? jsonExtension : '', (exception, log) => { if (cb) { cb(exception, log); } resolve([exception, log]); }); }); } /** 设置SDK统一的网络代理。不需要代理时,type设置为kNIMProxyNone,其余参数都传空字符串(端口设为0)。有些代理不需要用户名和密码,相应参数也传空字符串。 * @param type 代理类型,见NIMProxyType定义 * @param host 代理地址 * @param port 代理端口 * @param user 代理用户名 * @param password 代理密码 * @return void 无返回值 */ setProxy(type, host, port, user, password) { return this.global.SetProxy(type, host, port, user, password); } /** 测试代理 * @param type 代理类型,见NIMProxyType定义 * @param host 代理地址 * @param port 代理端口 * @param user 代理用户名 * @param password 代理密码 * @param cb 回调函数 * @return void 无返回值 */ detectProxy(type, host, port, user, password, cb) { return new Promise((resolve) => { this.global.DetectProxy(type, host, port, user, password, (connect, step, jsonExtension) => { if (cb) { cb(connect, step, jsonExtension !== null && jsonExtension !== void 0 ? jsonExtension : ''); } resolve([connect, step, jsonExtension]); }); }); } /** 获取sdk缓存文件信息 * @param loginId 查询的账号ID * @param fileType 文件类型,常量定义见NIMCachedFileType * @param endTimestamp 查询时间截止点(查询全部填0) * @param jsonExtension json扩展参数(备用,目前不需要) * @param cb * @return void 无返回值 */ getSDKCachedFileInfoAsync(loginId, fileType, endTimestamp, jsonExtension, cb) { return new Promise((resolve) => { this.global.GetSDKCachedFileInfoAsync(loginId, fileType, endTimestamp, jsonExtension !== null && jsonExtension !== void 0 ? jsonExtension : '', (rescode, info) => { if (cb) { cb(rescode, info); } resolve([rescode, info]); }); }); } /** 删除sdk缓存文件 * @param loginId 查询的账号ID * @param fileType 文件类型,常量定义见NIMCachedFileType * @param endTimestamp 删除时间截止点(查询全部填0) * @param jsonExtension json扩展参数(备用,目前不需要) * @param cb * @return void 无返回值 */ deleteSDKCachedFileAsync(loginId, fileType, endTimestamp, jsonExtension, cb) { return new Promise((resolve) => { this.global.DeleteSDKCachedFileAsync(loginId, fileType, endTimestamp, jsonExtension !== null && jsonExtension !== void 0 ? jsonExtension : '', (rescode) => { if (cb) { cb(rescode); } resolve([rescode]); }); }); } /** SDK 反馈 * @param url 开发者需将所需要反馈的文件(dump,应用日志等)上传至nos。 * @param jsonExtension json扩展参数(备用,目前不需要) * @param cb * @return void 无返回值 */ sdkFeedbackAsync(url, jsonExtension, cb) { return new Promise((resolve) => { this.global.SDKFeedbackAsync(url, jsonExtension !== null && jsonExtension !== void 0 ? jsonExtension : '', (rescode) => { if (cb) { cb(rescode); } resolve([rescode]); }); }); } /** 上传SDK日志到服务器 * @param feedbackStr 反馈信息 * @param cb 操作结果的回调函数 * @return void */ uploadSDKLog(feedbackStr, cb) { return new Promise((resolve) => { this.global.UploadSDKLog(feedbackStr, (rescode) => { if (cb) { cb(rescode); } resolve([rescode]); }); }); } } exports.NIMGlobal = NIMGlobal; //# sourceMappingURL=global.js.map