UNPKG

node-nim

Version:

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

106 lines (105 loc) 4.42 kB
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>; }