跳到主要内容

版本:5.X

设置消息状态(Electron)

本文档仅适用于 Electron 解决方案,描述了如何客户端本地数据库中维护消息的接收、发送与已读状态。

设置消息接收状态

支持多状态同时设置

提示

从 SDK 5.9.3 开始支持该接口。

调用 electronExtension.setMessageReceivedStatusInfo 方法,可为接收到的消息同时设置多种接收状态。

接口

JavaScript
RongIMLib.electronExtension.setMessageReceivedStatusInfo(messageId, receivedStatusInfo)

参数说明

参数类型必填说明
messageIdnumber消息 ID
receivedStatusInfoIReceivedStatusInfo消息接收状态详情对象

示例代码

JavaScript
const messageId = 1 // 取消息中的 messageId 字段
const receivedStatusInfo = {
isRead: true,
isListened: true,
isDownload: false,
isRetrieved: false,
}
RongIMLib.electronExtension.setMessageReceivedStatusInfo(messageId, receivedStatusInfo).then(res => {
console.log(res.code)
})

支持单一状态设置

提示

SDK 从 5.4.0 版本开始支持该接口,于 5.9.3 版本废弃。如果 IMLib SDK 版本 ≧ 5.9.3,建议使用 setMessageReceivedStatusInfo 接口替换。

调用 electronExtension.setMessageReceivedStatus 方法,可为接收到的消息设置单一接收状态。

接口

JavaScript
RongIMLib.electronExtension.setMessageReceivedStatus(messageId, receivedStatus)

参数说明

参数类型必填说明
messageIdnumber消息 ID
receivedStatusReceivedStatus接收状态值

示例代码

JavaScript
const messageId = 1 // 取消息中的 messageId 字段
RongIMLib.electronExtension.setMessageReceivedStatus(messageId, RongIMLib.ReceivedStatus.READ).then(res => {
console.log(res.code)
})

设置消息发送状态

提示

从 SDK 5.4.0 开始支持该接口。

调用 electronExtension.setMessageSentStatus 方法,可为自己发送的消息设置发送状态。

接口

JavaScript
RongIMLib.electronExtension.setMessageSentStatus(messageId, sentStatus)

参数说明

参数类型必填说明
messageIdnumber消息 ID
sentStatusSentStatus发送状态值

示例代码

JavaScript
const messageId = 1 // 取消息中的 messageId 字段
RongIMLib.electronExtension.setMessageSentStatus(messageId, RongIMLib.SentStatus.SENT).then(res => {
console.log(res.code)
})

批量设置消息为对方已读(通过时间戳)

提示

从 SDK 5.4.0 开始支持该接口。

调用 electronExtension.setMessageStatusToRead 方法,可将指定时间戳之前,自己发送的消息状态批量更新为 SentStatus.READ(对方已读)

接口

JavaScript
RongIMLib.electronExtension.setMessageStatusToRead(conversation, timestamp)

参数说明

参数类型必填说明
conversation[IConversationOption]目标会话
timestampnumber消息发送时间戳,将该时间之前的消息状态设为已读

示例代码

JavaScript
const conversation = {
conversationType: RongIMLib.ConversationType.PRIVATE,
targetId: "<目标用户ID>",
channelId: ""
}
const timestamp = 1632728573423
RongIMLib.electronExtension.setMessageStatusToRead(conversation, timestamp).then(res => {
console.log(res.code)
})