跳到主要内容

版本:5.X

获取会话(Electron)

提示

本文档描述了如何从客户端本地获取会话。

获取本地全部会话

提示

从 SDK 5.4.0 开始支持该接口。

调用 electronExtension.getAllConversationList 获取本地全部会话。

接口

JavaScript
RongIMLib.electronExtension.getAllConversationList(channelId)

参数说明

参数类型必填说明
channelIdString频道 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)

参数说明

参数类型必填说明
startTimenumber获取会话列表起始时间,默认为 0,即从当前时间开始获取。
countnumber获取会话列表数量。
channelIdstring频道 ID。
topPriorityboolean是否按置顶状态排序,默认 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)

参数说明

参数类型必填说明
conversationsIConversationOption[]会话列表,一次最多获取 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)
}
})