浏览 SDKs · uni-app / uni-app x
SDKsuni-app商业版

上报群消息已读

商业版发送群消息已读回执并处理 raw 回执事件。

复制

sendGroupMessageReadReceipt()onRecvGroupReadReceipt 属于商业版

import {
  off,
  onRecvGroupReadReceipt,
  sendGroupMessageReadReceipt,
} from '@/uni_modules/unix-openim-sdk'

const receiptSubscription = onRecvGroupReadReceipt((payload) => {
  mergeValidatedGroupReadReceipt(payload)
})

await sendGroupMessageReadReceipt({
  conversationID,
  clientMsgIDs: visibleUnreadMessageIDs,
})

function removeGroupReadReceiptListener() {
  off(receiptSubscription)
}

同一批消息必须属于目标群会话。Promise 成功只表示服务端接受上报,不等于其他客户端界面已更新;会话未读数仍由 markConversationMessageAsRead() 独立维护。

其他客户端通过 raw JSON 事件 onRecvGroupReadReceipt 接收群聊成员级已读变化。本页是该事件的完整监听归属页;先校验 JSON,再按 conversationID + clientMsgID 合并消息的已读计数、未读计数和成员信息。组件卸载、退出登录或切换账号时调用 removeGroupReadReceiptListener()

上报 Promise、群回执事件和查询群消息已读成员得到的成员快照是三个独立阶段。