搜索消息(Electron)
提示
本文档仅适用于 Electron 解决方案,仅限于配合 Electron 模块 (@rongcloud/electron 与 @rongcloud/electron-renderer)使用。
本文档介绍如何使用 SDK 提供的接口,搜索客户端本地存储的消息。
根据关键字搜索本地消息
提示
从 SDK 5.4.0 开始支持该接口。
调用 electronExtension.searchMessages 根据关键字在指定会话中搜索本地消息。
- 文本类型消息仅支持搜索 content 字段。
- 文件类型消息仅支持搜索 name 字段。
- 自定义消息的可搜索字段由 registerMessageType 中的 searchProps 参数决定。
接口
JavaScript
RongIMLib.electronExtension.searchMessages(conversation, keyword, startTime, count)
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
conversation | IConversationOption | 是 | 目标会话 |
keyword | string | 是 | 搜索关键字 |
startTime | number | 是 | 搜索该时间之前的消息 |
count | number | 是 | 返回的消息数量 |
messageTypes | string[] | 否 | 指定需搜索的消息类型,5.9.8 版本起支持 |
示例代码
JavaScript
const conversation = {
conversationType: RongIMLib.ConversationType.PRIVATE,
targetId: "<目标用户ID>",
channelId: ""
}
const keyword = '搜索关键字'
const startTime = Date.now()
const count = 10
RongIMLib.electronExtension.searchMessages(conversation, keyword, startTime, count).then(res => {
if (res.code === 0) {
console.log(res.code, res.data)
} else {
console.log(res.code, res.msg)
}
}).catch(error => {
console.log(error)
})
在指定时间范围内搜索本地消息
提示
从 SDK 5.4.0 开始支持该接口。
调用 electronExtension.searchMessageInTimeRange 方法,在指定会话的所有频道内,搜索给定时间范围内的消息。
接口
JavaScript
RongIMLib.electronExtension.searchMessageInTimeRange(conversation, option)
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
conversation | IConversationOption | 是 | 目标会话 |
option | ISearchMessageInTimeRangeOption | 是 | 搜索参数 |
示例代码
JavaScript
const conversation = {
conversationType: RongIMLib.ConversationType.PRIVATE,
targetId: "<目标用户ID>"
}
const option = {
keyword: 'hello',
startTime: 0,
endTime: 1632728573423,
offset: 0,
limit: 5
}
RongIMLib.electronExtension.searchMessageInTimeRange(conversation, option).then(res => {
if (res.code === 0) {
console.log(res.code, res.data)
} else {
console.log(res.code)
}
}).catch(error => {
console.log(error)
})
根据用户 ID 搜索本地消息
提示
从 SDK 5.7.10 开始支持该接口。
调用 electronExtension.searchMessagesByUser方法,在指定会话的所有频道中,搜索某个用户发送的历史消息。
接口
JavaScript
RongIMLib.electronExtension.searchMessagesByUser(conversation, userId, startTime, count)