UNPKG

node-nim

Version:

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

119 lines (118 loc) 5.65 kB
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; }