设置消息状态(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)
})
参数 | 类型 | 说明 |
---|---|---|
messageId | number | 消息 Id |
receivedStatusInfo | IReceivedStatusInfo | 消息的接收状态详情 |
支持单一状态设置
提示
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)
})
参数 | 类型 | 说明 |
---|---|---|
messageId | number | 消息 Id |
receivedStatus | ReceivedStatus | 消息的接收状态 |
设置消息的发送状态
提示
从 SDK 5.4.0 开始支持该接口。
调用 electronExtension.setMessageSentStatus 设置自己发送的消息的发送状态。
const messageId = 1 // 取消息中的 messageId 字段
RongIMLib.electronExtension.setMessageSentStatus(messageId, RongIMLib.SentStatus.SENT).then(res => {
console.log(res.code)
})
参数 | 类型 | 说明 |
---|---|---|
messageId | number | 消息 Id |
sentStatus | SentStatus | 消息的发送状态 |
通过时间戳设置消息状态为对方已读
提示
从 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)
})
参数 | 类型 | 说明 |
---|---|---|
conversation | IConversationOption | 会话 |
timestamp | number | 消息的发送时间,将该时间之前的消息设置为已读 |