node-nim
Version:
NetEase IM nodejs wrapper based on NetEase IM C++ SDK
79 lines (78 loc) • 3.41 kB
TypeScript
import { EventEmitter } from 'eventemitter3';
import { NIMToolAPI, NIMAppDataType, AudioInfo, GetAudioTextCallback, FilterClientAntispamCallback } from '../nim_def/tool_def';
import { NIMResCode } from '../nim_def/client_def';
export declare interface NIMToolEvents {
}
export declare class NIMTool extends EventEmitter<NIMToolEvents> {
tool: NIMToolAPI;
constructor();
/** 注册全局回调 */
initEventHandlers(): void;
/** 获取SDK里app account对应的app data目录(各个帐号拥有独立的目录,其父目录相同)
* @param app_account APP accountId。如果传入空字符串,则将获取到各个帐号目录的父目录(谨慎删除!)
* @return std::string 返回的目录路径(UTF8)
*/
getUserAppdataDir(appAccount: string): string;
/** 获取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: string, appdataType: NIMAppDataType): string;
/** 获取本地存储路径
* @return std::string 返回的目录路径(UTF8)
*/
getLocalAppdataDir(): string;
/** 获取安装目录(SDK DLL所在的当前目录)
* @return std::string 返回的目录路径(UTF8)
*/
getCurModuleDir(): string;
/** 计算md5
* @param input 需要计算md5的内容
* @return std::string 返回的md5
*/
getMd5(input: string): string;
/** 计算文件的md5
* @param file_path 文件完整路径,UTF-8
* @return std::string 返回的md5
*/
getFileMd5(filePath: string): string;
/** 生成UUID
* @return std::string 返回的UUID
*/
getUuid(): string;
/** 语音转文字
* @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: AudioInfo, cb: GetAudioTextCallback | null, jsonExtension: string): Promise<[NIMResCode, string] | 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: string, replaceString: string, libName: string, cb: FilterClientAntispamCallback | null): Promise<[boolean, NIMResCode, string]>;
parseStringToJsonObject(jsonString: string): object;
}