node-nim
Version:
NetEase IM nodejs wrapper based on NetEase IM C++ SDK
119 lines (118 loc) • 5.65 kB
TypeScript
import { EventEmitter } from 'eventemitter3';
import { DownloadMediaCallback, DownloadMediaExCallback, DownloadMediaResult, InitNosConfigParam, InitNosResult, InitNosResultCallback, NIMNOSAPI, NOSParams, ProgressCallback, ProgressExCallback, SafeURLToOriginURLCallback, SpeedCallback, TransferInfoCallback, UploadMediaExCallback, UploadMediaResult } from '../nim_def/nos_def';
import { IMMessage } from '../nim_def/msglog_def';
import { NIMResCode } from '../nim_def/client_def';
export declare interface NIMNOSEvents {
/** 下载回调 */
downloadComplete: [number, string, string, string];
/** 上传回调 */
uploadComplete: [number, UploadMediaResult];
}
export declare class NIMNOS extends EventEmitter<NIMNOSEvents> {
nos: NIMNOSAPI;
constructor();
/** 注册全局回调 */
initEventHandlers(): void;
/** Nos模块初始化接口,对上传资源时使用的各场景资源生命周期进行初始化,开发者最多可自定义10个场景,并指定场景资源的生命周期,并可以对缺省场景(kNIMNosDefaultTagResource、kNIMNosDefaultTagIM)进行覆盖(重新指定生命周期)
* @param param 初始化参数
* @param cb 结果回调函数
* @return void 无返回值
*/
initConfig(param: InitNosConfigParam, cb: InitNosResultCallback | null): Promise<[InitNosResult]>;
/** 获取资源
* @param msg 消息内容
* @param jsonExtension json扩展参数
* @param res_cb 下载的回调函数
* @param prg_cb 下载进度的回调函数
* @param speed_cb 下载速度的回调函数
* @param transfer_cb 最终下载信息的回调函数
* @return boolean 检查参数如果不符合要求则返回失败
* @note
* <pre>
* 200:成功
* 10206:下载暂停
* 408:请求过程超时
* 其他:参见HTTP协议或CURL错误码
* </pre>
*/
fetchMedia(msg: IMMessage, jsonExtension: string, res_cb: DownloadMediaCallback | null, prg_cb: ProgressCallback | null, speed_cb: SpeedCallback | null, transfer_cb: TransferInfoCallback | null): Promise<[NIMResCode, string, string, string] | null>;
/** 停止获取资源(目前仅对文件消息类型有效)
* @param msg 消息内容
* @return boolean 检查参数如果不符合要求则返回失败
* @note 错误码 10206:成功
*/
stopFetchMedia(msg: IMMessage): boolean;
/** 上传资源
* @param local_file 本地文件的完整路径,路径名必须是utf-8
* @param tag 场景标签,主要用于确定文件的保存时间
* @param param NOS扩展上传\下载接口参数
*nim_nos_download_ex"
* @param res_cb 扩展上传的回调函数
* @param prg_cb 扩展上传进度的回调函数
* @param speed_cb 上传速度的回调函数
* @param transfer_cb 最终上传信息的回调函数
* @return boolean 检查参数如果不符合要求则返回失败
* @note
* <pre>
* 200:成功
* 10200:上传暂停
* 408:请求过程超时
* 其他:参见HTTP协议或CURL错误码
* </pre>
*/
uploadResource(local_file: string, tag: string, param: NOSParams, res_cb: UploadMediaExCallback | null, prg_cb: ProgressExCallback | null, speed_cb: SpeedCallback | null, transfer_cb: TransferInfoCallback | null): Promise<[NIMResCode, UploadMediaResult] | null>;
/** 停止上传资源(只能用于调用了UploadResource接口的上传任务)
* @param task_id 停止上传任务的ID
* @param jsonExtension json扩展参数
* @return boolean 检查参数如果不符合要求则返回失败
* @note
* <pre>
* 10200:成功
* </pre>
*/
stopUploadResource(task_id: string, jsonExtension: string): boolean;
/** 下载资源
* @param nosUrl 下载资源的URL
* @param param NOS扩展上传\下载接口参数
* @param res_cb 扩展下载的回调函数
* @param prg_cb 扩展下载进度的回调函数
* @param speed_cb 下载速度的回调函数
* @param transfer_cb 最终下载信息的回调函数
* @return boolean 检查参数如果不符合要求则返回失败
* @note
* <pre>
* 200:成功
* 10200:上传暂停
* 408:请求过程超时
* 其他:参见HTTP协议或CURL错误码
* </pre>
*/
downloadResource(nosUrl: string, param: NOSParams, res_cb: DownloadMediaExCallback | null, prg_cb: ProgressExCallback | null, speed_cb: SpeedCallback | null, transfer_cb: TransferInfoCallback | null): Promise<[NIMResCode, DownloadMediaResult] | null>;
/** 停止下载资源(只能用于调用了DownloadResourceEx接口的下载任务)
* @param task_id 停止下载任务的ID
* @param jsonExtension json扩展参数
* @return boolean 检查参数如果不符合要求则返回失败
* @note
* <pre>
* 10206:成功
* </pre>
*/
stopDownloadResource(task_id: string, jsonExtension: string): boolean;
/** 根据安全链接(短链)换取源链接
* @param safe_url 安全链接(短链)
* @param cb 结果回调
* @param jsonExtension json扩展参数
* @return void
* @note
* <pre>
* 200:成功
* 414 不存在该短链或 safe_url 不是一个有效的短链
* </pre>
*/
safeURLToOriginURL(safe_url: string, cb: SafeURLToOriginURLCallback | null, jsonExtension: string): Promise<[NIMResCode, string]>;
/** 打开或关闭文件快传开关
* @param quick 是否打开 true:打开 false:关闭
* @return void
*/
setSupportQuickTrans(quick: boolean): void;
}