@fork-anyone/node-nim
Version:
NetEase IM nodejs wrapper based on NetEase IM C++ SDK
213 lines (212 loc) • 10.4 kB
TypeScript
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]>;
}