获取会话(Electron)
提示
- 本文档仅适用于 Electron 解决方案,仅限于配合 Electron 模块 (@rongcloud/electron 与 @rongcloud/electron-renderer)使用。
- 方法必须在调用 RongIMLib.connect() 并且成功建立连接之后执行。
本文档描述了如何从客户端本地获取会话。
获取本地全部会话
提示
从 SDK 5.4.0 开始支持该接口。
调用 electronExtension.getAllConversationList 获取本地全部会话。
接口
JavaScript
RongIMLib.electronExtension.getAllConversationList(channelId)
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
channelId | String | 否 | 频道 ID,默认获取所有频道的会话列表 |
示例代码
JavaScript
RongIMLib.electronExtension.getAllConversationList().then(res => {
if (res.code === 0) {
console.log(res.code, res.data)
} else {
console.log(res.code, res.msg)
}
})
分页获取本地会话
提示
从 SDK 5.4.0 开始支持该接口。
调用 electronExtension.getConversationList 分页获取本地会话列表。
接口
JavaScript
RongIMLib.electronExtension.getConversationList(startTime, count, channelId, topPriority)
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
startTime | number | 是 | 获取会话列表起始时间,默认为 0,即从当前时间开始获取。 |
count | number | 是 | 获取会话列表数量。 |
channelId | string | 否 | 频道 ID。 |
topPriority | boolean | 否 | 是否按置顶状态排序,默认 false |
示例代码
JavaScript
const startTime = 0
const count = 10
RongIMLib.electronExtension.getConversationList(startTime, count).then(res => {
if (res.code === 0) {
console.log(res.code, res.data)
} else {
console.log(res.code, res.msg)
}
})
批量获取会话信息
提示
从 SDK 5.9.9 开始支持该接口。
调用 electronExtension.getConversations 方法,获取会话信息。
接口
JavaScript
RongIMLib.electronExtension.getConversations(conversations)
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
conversations | IConversationOption[] | 是 | 会话列表,一次最多获取 100 个会话。 |
示例代码
JavaScript
// 最多支持获取 100
const conversations = [{ targetId:"user1", conversationType:1 }];
RongIMLib.electronExtension.getConversations(conversations).then(res => {
if (res.code === 0) {
console.log(res.code, res.data)
} else {
console.log(res.code, res.msg)
}
})
同步服务端会话信息到本地
提示
SDK 从 5.26.2 版本开始提供该接口。您可提交工单开通此功能。
针对更换设备登录或卸载重新安装应用的情况下,使用 electronExtension.getRemoteConversations 接口可以将服务端的会话信息同步到本地。该接口只触发拉取操作,会话同步完成后,SDK 将对外派发 Events.CONVERSATIONS_SYNCED
事件通知。
接口
JavaScript
RongIMLib.electronExtension.getRemoteConversations()
参数说明
该接口无需传入参数。
使用步骤
1. 监听同步完成事件
在调用同步接口前,建议先监听会话同步完成事件,以便及时获取同步结果。
JavaScript
RongIMLib.addEventListener(RongIMLib.Events.CONVERSATIONS_SYNCED, (code) => {
if (code === ErrorCode.SUCCESS) {
console.log('会话列表同步完成');
} else {
console.log('会话列表同步失败:', code);
}
});
2. 调用同步接口
注意:调用此接口前,您需提交工单,开通同步服务端会话信息到本地服务。
JavaScript
RongIMLib.electronExtension.getRemoteConversations().then(({ isOk, code }) => {
if (isOk) {
console.log('同步请求发起成功');
} else {
console.log('同步请求发起失败:', code)
}
})