UNPKG

@fork-anyone/node-nim

Version:

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

213 lines (212 loc) 10.4 kB
import { EventEmitter } from 'eventemitter3'; import { IMMessage, NIMMessageType } from '../nim_def/msglog_def'; import { CancelToStickTopSessionCallback, DeleteHasmoreRoammsgCallback, DeleteSessionRoamingMessageCallback, MultiUnreadCountZeroInfo, NIMSessionAPI, NIMSessionType, QueryAllHasmoreRoammsgCallback, QueryHasmoreRoammsgCallback, QuerySessionDataCallback, QuerySessionListCallback, QueryStickTopSessionListCallback, SessionChangeCallback, SessionData, SessionDataList, SessionRoamMsgHasMoreTagInfo, SetMultiUnreadCountZeroAsyncCallback, SetToStickTopSessionCallback, UpdateHasmoreRoammsgCallback, UpdateStickTopSessionCallback } from '../nim_def/session_def'; import { NIMResCode } from '../nim_def/client_def'; export declare interface NIMSessionEvents { /** 会话变更 */ change: [number, SessionData, number]; /** 置顶会话通知 */ stickTop: [string]; /** 取消置顶会话通知 */ cancelStickTop: [string, NIMSessionType]; /** 更新置顶会话通知 */ updateStickTop: [string]; } export declare class NIMSession extends EventEmitter<NIMSessionEvents> { session: NIMSessionAPI; constructor(sdk: any); /** 注册全局回调 */ initEventHandlers(): void; /** 查询置顶会话列表 * @param cb 置顶会话列表查询结果的回调函数 * @return void 无返回值 * @note * <pre> * 200:成功 * </pre> */ queryStickTopSessionList(cb?: QueryStickTopSessionListCallback | null): Promise<[NIMResCode, string]>; /** 设置置顶会话 * @param session_id 会话id * @param to_type 会话类型 * @param ext 扩展字段 * @param cb 置顶会话设置结果的回调函数 * @return void 无返回值 * @note * <pre> * 200:成功 * </pre> */ setToStickTopSession(session_id: string, to_type: number, ext: string, cb?: SetToStickTopSessionCallback | null): Promise<[NIMResCode, string]>; /** 更新置顶会话列表 * @param session_id 会话id * @param to_type 会话类型 * @param ext 扩展字段 * @param cb 更新置顶会话设置结果的回调函数 * @return void 无返回值 * @note * <pre> * 200:成功 * </pre> */ updateToStickTopSession(session_id: string, to_type: number, ext: string, cb?: UpdateStickTopSessionCallback | null): Promise<[NIMResCode, string]>; /** 取消置顶会话列表 * @param session_id 会话id * @param to_type 会话类型 * @param cb 取消置顶会话设置结果的回调函数 * @return void 无返回值 * @note * <pre> * 200:成功 * </pre> */ cancelToStickTopSession(session_id: string, to_type: number, cb?: CancelToStickTopSessionCallback | null): Promise<[NIMResCode, string, NIMSessionType]>; /** 查询指定数量的最后会话数据 * @param limit 要返回的最大数量 * @param cb 查询会话列表的回调函数 * @param jsonExtension json扩展参数(备用,目前不需要) * @return void 无返回值 */ queryLastFewSessionAsync(limit: number, cb?: QuerySessionListCallback | null, jsonExtension?: string): Promise<[NIMResCode, SessionDataList]>; /** 查询会话列表,可指定最后一条会话消息要排除掉的类型(列表) * @param msg_excluded_type_list 最后一条会话消息要排除掉的类型(列表),如果不排除任何消息,传入空列表 * @param cb 查询会话列表的回调函数 * @param jsonExtension json扩展参数(备用,目前不需要) * @return void 无返回值 */ queryAllRecentSessionAsync(msg_excluded_type_list: Array<NIMMessageType>, cb?: QuerySessionListCallback | null, jsonExtension?: string): Promise<[number, SessionDataList]>; /** 删除最近联系人 * @param to_type 会话类型,双人0,群组1 (nim_msglog_def.h) * @param id 对方的account id或者群组tid。 * @param delete_roaming 是否同时删除漫游消息 * @param cb 最近会话列表项变更的回调函数 * @return boolean 检查参数如果不符合要求则返回失败 * @note * <pre> * 200:成功 * </pre> */ deleteRecentSession(type: NIMSessionType, id: string, cb?: SessionChangeCallback | null, delete_roaming?: boolean): Promise<[NIMResCode, SessionData, number]>; /** 删除全部最近联系人 * @param jsonExtension json扩展参数(备用,目前不需要) * @param cb 最近会话列表项变更的回调函数 * @return void 无返回值 * @note * <pre> * 200:成功 * </pre> */ deleteAllRecentSession(cb?: SessionChangeCallback | null, jsonExtension?: string): Promise<[NIMResCode, SessionData, number]>; /** 删除某会话的漫游消息 * @param to_type 会话类型,双人0,群组1 (nim_msglog_def.h) * @param id 对方的account id或者群组tid。 * @param jsonExtension json扩展参数(备用,目前不需要) * @param cb 删除结果 回调回调函数 * @return boolean 检查参数如果不符合要求则返回失败 * @note * <pre> * 200:成功 * </pre> */ deleteSessionRoamingMessage(to_type: number, session_id: string, cb?: DeleteSessionRoamingMessageCallback | null, ext?: string): Promise<[NIMResCode, number, string]>; /** 最近联系人项未读数清零 * @param to_type 会话类型,双人0,群组1 (nim_msglog_def.h) * @param id 对方的account id或者群组tid。 * @param jsonExtension json扩展参数(备用,目前不需要) * @param cb 最近会话列表项变更的回调函数 * @return boolean 检查参数如果不符合要求则返回失败 * @note * <pre> * 200:成功 * </pre> */ setUnreadCountZeroAsync(type: NIMSessionType, id: string, cb?: SessionChangeCallback | null, jsonExtension?: string): Promise<[NIMResCode, SessionData, number] | null>; /** 最近联系人项未读数清零 * @param is_super_team 会话列表中的会话是否是超大群会话 * @param zero_list 清零的会话信息列表。 * @param cb 最近会话列表项变更的回调函数 * @return boolean 检查参数如果不符合要求则返回失败 * @note * <pre> * 200:成功 * </pre> */ setMultiUnreadCountZeroAsync(is_super_team: boolean, zero_list: Array<MultiUnreadCountZeroInfo>, cb?: SetMultiUnreadCountZeroAsyncCallback | null): Promise<[NIMResCode, Array<SessionData>, number] | null>; /** 设置会话项是否置顶(置顶属性只保存在本地) * @param to_type 会话类型 * @param id 对方的account id或者群组tid。 * @param top true - 置顶 false - 取消置顶 * @param cb 回调函数 * @param jsonExtension json扩展参数(备用,目前不需要) * @return boolean 检查参数如果不符合要求则返回失败 * @note * <pre> * 200:成功 * </pre> */ setSessionTop(type: NIMSessionType, id: string, top: boolean, cb?: SessionChangeCallback | null, jsonExtension?: string): Promise<[NIMResCode, SessionData, number] | null>; /** 设置会话项扩展数据(扩展数据只保存在本地) * @param to_type 会话类型 * @param id 对方的account id或者群组tid。 * @param data 扩展数据,建议使用灵活可扩展的数据结构,例如Json * @param cb 回调函数 * @param jsonExtension json扩展参数(备用,目前不需要) * @return boolean 检查参数如果不符合要求则返回失败 * @note * <pre> * 200:成功 * </pre> */ setSessionExtendData(type: NIMSessionType, id: string, data: string, cb?: SessionChangeCallback | null, jsonExtension?: string): Promise<[NIMResCode, SessionData, number] | null>; /** 最近联系人项全部未读数清零 * @param jsonExtension json扩展参数(备用,目前不需要) * @param cb 最近会话列表项变更的回调函数 * @return boolean 检查参数如果不符合要求则返回失败 * @note * <pre> * 200:成功 * </pre> */ setAllUnreadCountZeroAsync(cb?: SessionChangeCallback | null, jsonExtension?: string): Promise<[NIMResCode, SessionData, number] | null>; /** 根据给定的id查询相应会话的信息 * @param to_type 会话类型 * @param id 对方的account id或者群组tid。 * @param cb 会话信息查询结果的回调函数 * @param jsonExtension json扩展参数(备用,目前不需要) * @return void 无返回值 * @note * <pre> * 200:成功 * </pre> */ querySessionDataById(type: NIMSessionType, id: string, cb?: QuerySessionDataCallback | null, jsonExtension?: string): Promise<[NIMResCode, SessionData]>; /** 查询会话是漫游消息未拉取信息 * @param session_id 会话id * @param to_type 会话类型 * @param cb 查询会话是漫游消息未拉取信息回调函数 * @return void 无返回值 * @note * <pre> * 200:成功 * </pre> */ queryHasmoreRoammsg(session_id: string, to_type: number, cb?: QueryHasmoreRoammsgCallback | null): Promise<[NIMResCode, SessionRoamMsgHasMoreTagInfo]>; /** 查询所有漫游消息未拉取完全的会话 * @param cb 结果回调 * @return void 无返回值 */ queryAllHasmoreRoammsg(cb?: QueryAllHasmoreRoammsgCallback | null): Promise<[NIMResCode, Array<SessionRoamMsgHasMoreTagInfo>]>; /** 更新会话是漫游消息未拉取信息 * @param msg 对应的消息内容 * @param cb 结果回调 * @return void 无返回值 */ updateHasmoreRoammsg(msg: IMMessage, cb?: UpdateHasmoreRoammsgCallback | null): Promise<[NIMResCode]>; /** 删除会话是漫游消息未拉取信息 * @param session_id 会话id * @param to_type 会话类型 * @param cb 结果回调 * @return void 无返回值 */ deleteHasmoreRoammsg(session_id: string, to_type: NIMSessionType, cb?: DeleteHasmoreRoammsgCallback | null): Promise<[NIMResCode]>; }