node-nim
Version:
NetEase IM nodejs wrapper based on NetEase IM C++ SDK
106 lines (105 loc) • 4.42 kB
TypeScript
import { EventEmitter } from 'eventemitter3';
import { NIMSysMsgAPI, SysMessage, NIMSysMsgStatus, NIMSysMsgType, NotifySingleSysmsgCallback, NotifySysmsgResCallback, QuerySysmsgCallback } from '../nim_def/sysmsg_def';
import { SendMessageArc } from '../nim_def/talk_def';
import { NIMResCode } from '../nim_def/client_def';
export declare interface NIMSysMsgEvents {
/** 系统通知 */
receiveSystemMsg: [SysMessage];
/** 发送透传消息回调 */
sendCustomSystemMsg: [SendMessageArc];
}
export declare class NIMSysMsg extends EventEmitter<NIMSysMsgEvents> {
sysmsg: NIMSysMsgAPI;
constructor();
/** 注册全局回调 */
initEventHandlers(): void;
/** 发送自定义通知消息
* @param json_msg 消息体Json, 可以通过CreateCustomNotificationMsg方法自动创建
* @return void 无返回值
*/
sendCustomNotificationMsg(msg: SysMessage): void;
/** 查询本地系统消息
* @param limit_count 一次查询数量,建议20
* @param last_time 上次查询最后一条消息的时间戳
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 查询本地系统消息的回调函数
* @return boolean 检查参数如果不符合要求则返回失败
*/
queryMsgAsync(limit_count: number, last_time: number, cb: QuerySysmsgCallback | null, jsonExtension: string): Promise<[number, number, Array<SysMessage>] | null>;
/** 查询未读消息数
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 查询未读消息数的回调函数
* @return void 无返回值
* @note
* <pre>
* 200:成功
* </pre>
*/
queryUnreadCount(cb: NotifySysmsgResCallback | null, jsonExtension: string): Promise<[NIMResCode, number]>;
/** 设置消息状态
* @param msg_id 消息id
* @param status 消息状态
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 设置消息状态的回调函数
* @return void 无返回值
* @note
* <pre>
* 200:成功
* </pre>
*/
setStatusAsync(msg_id: string, status: NIMSysMsgStatus, cb: NotifySingleSysmsgCallback | null, jsonExtension: string): Promise<[NIMResCode, number, number] | null>;
/** 设置全部消息为已读
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 设置全部消息为已读的回调函数
* @return void 无返回值
* @note
* <pre>
* 200:成功
* </pre>
*/
readAllAsync(cb: NotifySysmsgResCallback | null, jsonExtension: string): Promise<[NIMResCode, number]>;
/** 删除消息
* @param msg_id 消息id
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 删除消息的回调函数
* @return boolean 检查参数如果不符合要求则返回失败
* @note
* <pre>
* 200:成功
* </pre>
*/
deleteAsync(msg_id: string, cb: NotifySingleSysmsgCallback | null, jsonExtension: string): Promise<[NIMResCode, number, number] | null>;
/** 全部删除
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 删除消息的回调函数
* @return void 无返回值
* @note
* <pre>
* 200:成功
* </pre>
*/
deleteAllAsync(cb: NotifySysmsgResCallback | null, jsonExtension: string): Promise<[NIMResCode, number] | null>;
/** 按类型设置系统通知状态
* @param type 类型
* @param status 状态
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 回调函数
* @return void 无返回值
* @note
* <pre>
* 200:成功
* </pre>
*/
setStatusByTypeAsync(type: NIMSysMsgType, status: NIMSysMsgStatus, cb: NotifySysmsgResCallback | null, jsonExtension: string): Promise<[NIMResCode, number] | null>;
/** 按类型删除系统通知
* @param type 类型
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 回调函数
* @return void 无返回值
* @note
* <pre>
* 200:成功
* </pre>
*/
deleteByTypeAsync(type: NIMSysMsgType, cb: NotifySysmsgResCallback | null, jsonExtension: string): Promise<[NIMResCode, number] | null>;
}