@fork-anyone/node-nim
Version:
NetEase IM nodejs wrapper based on NetEase IM C++ SDK
70 lines (69 loc) • 3.69 kB
TypeScript
import { EventEmitter } from 'eventemitter3';
import { CachedFileInfo, DeleteCachedFileCallback, DetectProxyCallback, ExceptionCallback, GetCachedFileInfoCallback, NIMCachedFileType, NIMGlobalAPI, NIMProxyDetectStep, NIMProxyType, NIMSDKException, SDKDBErrorInfo, SDKFeedbackCallback, UploadSDKLogCallback } from '../nim_def/global_def';
import { NIMResCode } from '../nim_def/client_def';
export declare interface NIMGlobalEvents {
/** SDK DB操作出错 */
dbError: [SDKDBErrorInfo];
}
export declare class NIMGlobal extends EventEmitter<NIMGlobalEvents> {
global: NIMGlobalAPI;
constructor(sdk: any);
/** 注册全局回调 */
initEventHandlers(): void;
/** 注册输出系统环境异常的回调
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb
* @return void 无返回值
*/
setExceptionReportCallback(jsonExtension?: string, cb?: ExceptionCallback | null): Promise<[NIMSDKException, string]>;
/** 设置SDK统一的网络代理。不需要代理时,type设置为kNIMProxyNone,其余参数都传空字符串(端口设为0)。有些代理不需要用户名和密码,相应参数也传空字符串。
* @param type 代理类型,见NIMProxyType定义
* @param host 代理地址
* @param port 代理端口
* @param user 代理用户名
* @param password 代理密码
* @return void 无返回值
*/
setProxy(type: NIMProxyType, host: string, port: number, user: string, password: string): void;
/** 测试代理
* @param type 代理类型,见NIMProxyType定义
* @param host 代理地址
* @param port 代理端口
* @param user 代理用户名
* @param password 代理密码
* @param cb 回调函数
* @return void 无返回值
*/
detectProxy(type: NIMProxyType, host: string, port: number, user: string, password: string, cb?: DetectProxyCallback | null): Promise<[boolean, NIMProxyDetectStep, string]>;
/** 获取sdk缓存文件信息
* @param loginId 查询的账号ID
* @param fileType 文件类型,常量定义见NIMCachedFileType
* @param endTimestamp 查询时间截止点(查询全部填0)
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb
* @return void 无返回值
*/
getSDKCachedFileInfoAsync(loginId: string, fileType: NIMCachedFileType, endTimestamp: number, jsonExtension?: string, cb?: GetCachedFileInfoCallback | null): Promise<[NIMResCode, CachedFileInfo]>;
/** 删除sdk缓存文件
* @param loginId 查询的账号ID
* @param fileType 文件类型,常量定义见NIMCachedFileType
* @param endTimestamp 删除时间截止点(查询全部填0)
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb
* @return void 无返回值
*/
deleteSDKCachedFileAsync(loginId: string, fileType: NIMCachedFileType, endTimestamp: number, jsonExtension?: string, cb?: DeleteCachedFileCallback | null): Promise<[NIMResCode]>;
/** SDK 反馈
* @param url 开发者需将所需要反馈的文件(dump,应用日志等)上传至nos。
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb
* @return void 无返回值
*/
sdkFeedbackAsync(url: string, jsonExtension?: string, cb?: SDKFeedbackCallback | null): Promise<[NIMResCode]>;
/** 上传SDK日志到服务器
* @param feedbackStr 反馈信息
* @param cb 操作结果的回调函数
* @return void
*/
uploadSDKLog(feedbackStr: string, cb?: UploadSDKLogCallback | null): Promise<[NIMResCode]>;
}