设置消息状态(Electron)
本文档仅适用于 Electron 解决方案,描述了如何客户端本地数据库中维护消息的接收、发送与已读状态。
设置消息接收状态
支持多状态同时设置
提示
从 SDK 5.9.3 开始支持该接口。
调用 electronExtension.setMessageReceivedStatusInfo 方法,可为接收到的消息同时设置多种接收状态。
接口
JavaScript
RongIMLib.electronExtension.setMessageReceivedStatusInfo(messageId, receivedStatusInfo)
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
messageId | number | 是 | 消息 ID |
receivedStatusInfo | IReceivedStatusInfo | 是 | 消息接收状态详情对象 |
示例代码
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)
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
messageId | number | 是 | 消息 ID |
receivedStatus | ReceivedStatus | 是 | 接收状态值 |
示例代码
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)
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
messageId | number | 是 | 消息 ID |
sentStatus | SentStatus | 是 | 发送状态值 |
示例代码
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] | 是 | 目标会话 |
timestamp | number | 是 | 消息发送时间戳,将该时间之前的消息状态设为已读 |
示例代码
JavaScript
const conversation = {
conversationType: RongIMLib.ConversationType.PRIVATE,
targetId: "<目标用户ID>",
channelId: ""
}
const timestamp = 1632728573423
RongIMLib.electronExtension.setMessageStatusToRead(conversation, timestamp).then(res => {
console.log(res.code)
})