UNPKG

node-nim

Version:

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

123 lines 4.45 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.NIMTool = void 0; const loader_1 = __importDefault(require("../loader")); const eventemitter3_1 = require("eventemitter3"); class NIMTool extends eventemitter3_1.EventEmitter { constructor() { super(); this.tool = new loader_1.default.NIMTool({ emit: this.emit.bind(this) }); } /** 注册全局回调 */ initEventHandlers() { return this.tool.InitEventHandlers(); } /** 获取SDK里app account对应的app data目录(各个帐号拥有独立的目录,其父目录相同) * @param app_account APP accountId。如果传入空字符串,则将获取到各个帐号目录的父目录(谨慎删除!) * @return std::string 返回的目录路径(UTF8) */ getUserAppdataDir(appAccount) { return this.tool.GetUserAppdataDir(appAccount); } /** 获取SDK里app account对应的具体类型的app data目录(如图片消息文件存放目录,语音消息文件存放目录等),需要调用nim_free_buf(void *data)释放内存 * @param app_account APP account。如果传入空字符串,则返回结果为空 * @param appdata_type 具体类型的app data。见NIMAppDataType定义 * @return std::string返回的目录路径(目录可能未生成,需要app自行判断是否已生成) */ getSpecificAppdataDir(appAccount, appdataType) { return this.tool.GetSpecificAppdataDir(appAccount, appdataType); } /** 获取本地存储路径 * @return std::string 返回的目录路径(UTF8) */ getLocalAppdataDir() { return this.tool.GetLocalAppdataDir(); } /** 获取安装目录(SDK DLL所在的当前目录) * @return std::string 返回的目录路径(UTF8) */ getCurModuleDir() { return this.tool.GetCurModuleDir(); } /** 计算md5 * @param input 需要计算md5的内容 * @return std::string 返回的md5 */ getMd5(input) { return this.tool.GetMd5(input); } /** 计算文件的md5 * @param file_path 文件完整路径,UTF-8 * @return std::string 返回的md5 */ getFileMd5(filePath) { return this.tool.GetFileMd5(filePath); } /** 生成UUID * @return std::string 返回的UUID */ getUuid() { return this.tool.GetUuid(); } /** 语音转文字 * @param audio_info 语音信息 * @param cb 语音转文字回调 * @param jsonExtension json扩展参数(备用,目前不需要) * @return boolean 检查参数如果不符合要求则返回失败 * @note * <pre> * 200:成功 * 403:没有权限 * 414:参数错误 * 500:未知错误 * 6101:语音转码解析失败 * 6102:语音时长过长(超过60s * 6103:服务不可用 * 6104:audioUrl不合法 * </pre> */ getAudioTextAsync(audioInfo, cb, jsonExtension) { return new Promise((resolve) => { if (!this.tool.GetAudioTextAsync(audioInfo, (rescode, text) => { if (cb) { cb(rescode, text); } resolve([rescode, text]); }, jsonExtension)) { resolve(null); } }); } /** 客户端本地反垃圾 * @param text 文本内容,UTF-8 * @param replace_str 进行替换的字符串,UTF-8 * @param lib_name 词库名称,UTF-8 * @param callback 回调函数 * @return * @note * <pre> * 回调函数ret * 1:敏感词已被替换; * 2:含有敏感词不允许发送; * 3:需要将内容设置在消息结构的反垃圾字段里,由服务器过滤 * </pre> */ filterClientAntispam(text, replaceString, libName, cb) { return new Promise((resolve) => { this.tool.FilterClientAntispam(text, replaceString, libName, (ret, rescode, text) => { if (cb) { cb(ret, rescode, text); } resolve([ret, rescode, text]); }); }); } parseStringToJsonObject(jsonString) { return JSON.parse(jsonString); } } exports.NIMTool = NIMTool; //# sourceMappingURL=tool.js.map