跳到主要内容

版本:5.X

设置消息状态(Electron)

消息状态功能仅限于配合 Electron 模块 (@rongcloud/electron@rongcloud/electron-renderer)使用。

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

设置消息的接收状态

支持多状态同时设置

提示

从 SDK 5.9.3 开始支持该接口。

调用 electronExtension.setMessageReceivedStatusInfo 设置对方发送的消息,自己的接收状态(支持同时设置多种状态)。

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)
})

参数类型说明
messageIdnumber消息 Id
receivedStatusInfoIReceivedStatusInfo消息的接收状态详情

支持单一状态设置

提示

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

调用 electronExtension.setMessageReceivedStatus 设置对方发送的消息,自己的接收状态。

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

参数类型说明
messageIdnumber消息 Id
receivedStatusReceivedStatus消息的接收状态

设置消息的发送状态

提示

从 SDK 5.4.0 开始支持该接口。

调用 electronExtension.setMessageSentStatus 设置自己发送的消息的发送状态。

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

参数类型说明
messageIdnumber消息 Id
sentStatusSentStatus消息的发送状态

通过时间戳设置消息状态为对方已读

提示

从 SDK 5.4.0 开始支持该接口。

调用 electronExtension.setMessageStatusToRead 将自己发送的指定时间之前的消息设置为对方已读,状态值为 SentStatus.READ

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

参数类型说明
conversationIConversationOption会话
timestampnumber消息的发送时间,将该时间之前的消息设置为已读