跳到主要内容

搜索消息

根据关键字搜索

根据关键字搜索指定会话中的消息

方法

searchMessages(type: RCIMIWConversationType, targetId: string, channelId: string, keyword: string, startTime: number, count: number): Promise<number>;

参数说明

参数类型说明
typeRCIMIWConversationType会话类型
targetIdstring会话ID
channelIdstring暂不支持该参数。传 null 即可。
keywordstring搜索的关键字
startTimenumber查询 beginTime 之前的消息, 传 0 时从最新消息开始搜索,从该时间往前搜索。
countnumber查询的数量,count 大于 0,小于等于 50。

返回值

返回值描述
Promise<number>当次接口操作状态码,并不代表最终操作结果,状态码详细信息

代码示例

let promise = main.engine?.searchMessages(conversationType, targetId, channelId, keyword, startTime, count)
.then((code: number) => {});

回调方法

  • setOnMessagesSearchedListener

接口调用结果的监听

setOnMessagesSearchedListener(listener?: (code: number, type: RCIMIWConversationType, targetId: string, channelId: string, keyword: string, startTime: number, count: number, messages: Array<RCIMIWMessage>) => void): void;

参数说明

参数名参数类型描述
codenumber接口回调的状态码,0 代表成功,非 0 代表出现异常
typeRCIMIWConversationType调用接口时传入的会话类型
targetIdstring调用接口时传入的会话ID
channelIdstring调用接口时传入的频道 ID
keywordstring调用接口时传入的关键字
startTimenumber调用接口时传入的时间戳
countnumber调用接口时传入的数量
messagesArray<RCIMIWMessage>查询到的消息集合

代码示例

engine.setOnMessagesSearchedListener(
(
code: number,
type: RCIMIWConversationType,
targetId: string,
channelId: string,
keyword: string,
startTime: number,
count: number,
messages: Array<RCIMIWMessage>
) => {}
);

根据关键字搜索指定会话中某个时间段的消息

方法

searchMessagesByTimeRange(
type: RCIMIWConversationType,
targetId: string,
channelId: string,
keyword: string,
startTime: number,
endTime: number,
offset: number,
count: number
): Promise<number>;

参数说明

参数名类型
typeRCIMIWConversationType会话类型
targetIdstring调用接口时传入的会话ID
channelIdstring调用接口时传入的频道 ID
keywordstring调用接口时传入的关键字
startTimenumber调用接口时传入的开始时间
endTimenumber调用接口时传入的结束时间
offsetnumber调用接口时传入的偏移量
countnumber搜索结果数量,count 大于 0,小于等于 50。

返回值

返回值描述
Promise<number>当次接口操作状态码,并不代表最终操作结果,状态码详细信息

代码示例

engine.searchMessagesByTimeRange(
type,
targetId,
channelId,
keyword,
startTime,
endTime,
offset,
count
)
.then((code: number) => {});

回调方法

  • onMessagesSearchedByTimeRange
setOnMessagesSearchedByTimeRangeListener(listener?: (code: number, type: RCIMIWConversationType, targetId: string, channelId: string, keyword: string, startTime: number, endTime: number, offset: number, count: number, messages: Array<RCIMIWMessage>) => void): void;

参数说明

参数名参数类型描述
codenumber接口回调的状态码,0 代表成功,非 0 代表出现异常
typeRCIMIWConversationType调用接口时传入的会话类型
targetIdstring调用接口时传入的会话ID
channelIdstring调用接口时传入的频道 ID
keywordstring调用接口时传入的关键字
startTimenumber调用接口时传入的开始时间
endTimenumber调用接口时传入的结束时间
offsetnumber调用接口时传入的偏移量
countnumber调用接口时传入的搜索数量
messagesArray<RCIMIWMessage>搜索到的消息集合

代码示例

engine.setOnMessagesSearchedByTimeRangeListener(
(
code: number,
type: RCIMIWConversationType,
targetId: string,
channelId: string,
keyword: string,
startTime: number,
endTime: number,
offset: number,
count: number,
messages: Array<RCIMIWMessage>
) => {}
);

根据用户 id 搜索指定会话中的消息

方法

searchMessagesByUserId(userId: string, type: RCIMIWConversationType, targetId: string, channelId: string, startTime: number, count: number): Promise<number>;

参数说明

参数名类型
userIdstring用户ID
typeRCIMIWConversationType会话类型
targetIdstring会话ID
channelIdstring频道 ID,暂不支持该参数。传 null 即可。
startTimenumber查询记录的起始时间, 传 0 时从最新消息开始搜索,从该时间往前搜索。
countnumber搜索结果数量, count 大于 0,小于等于 50。

返回值

返回值描述
Promise<number>当次接口操作状态码,并不代表最终操作结果,状态码详细信息

代码示例

engine.searchMessagesByUserId(
useUserId,
type,
useTargetId,
useChannelId,
startTime,
count
)
.then((code: number) => {});

回调方法

  • setOnMessagesSearchedByUserIdListener

    接口调用结果的监听

setOnMessagesSearchedByUserIdListener(listener?: (code: number, userId: string, type: RCIMIWConversationType, targetId: string, channelId: string, startTime: number, count: number, messages: Array<RCIMIWMessage>) => void): void;

参数说明

参数名参数类型描述
codenumber接口回调的状态码,0 代表成功,非 0 代表出现异常
userIdstring调用接口时传入的用户ID
typeRCIMIWConversationType调用接口时传入的会话类型
targetIdstring调用接口时传入的会话ID
channelIdstring调用接口时传入的频道 ID
startTimenumber调用接口时传入的时间戳
countnumber调用接口时传入的搜索数量
messagesArray<RCIMIWMessage>搜索的消息集合

代码示例

engine.setOnMessagesSearchedByUserIdListener(
(
code: number,
userId: string,
type: RCIMIWConversationType,
targetId: string,
channelId: string,
startTime: number,
count: number,
messages: Array<RCIMIWMessage>
) => {}
);