浏览 SDKs · WASM
平台
SDKsWASM

获取消息总未读数

使用 WASM SDK 获取并持续维护账号总未读数。

复制

通过 getTotalUnreadMsgCount() 可直接获取当前登录账号在所有会话中的未读消息总数。在分页加载场景下,请直接使用该接口获取全局角标,避免直接累加当前已渲染列表中的 unreadCount。

const { data: totalUnread } = await openimsdk.getTotalUnreadMsgCount();
updateApplicationBadge(totalUnread);

主动查询可用于页面初始化时获取未读数快照。在应用运行期间,建议通过监听 SdkEvent.OnTotalUnreadMessageCountChanged 事件保持角标数据的实时同步:

import { SdkEvent } from '@openim/wasm-client-sdk';

const handleTotalUnreadChanged = ({ data }) => {
  updateApplicationBadge(data);
};

openimsdk.on(
  SdkEvent.OnTotalUnreadMessageCountChanged,
  handleTotalUnreadChanged,
);

function removeTotalUnreadListener() {
  openimsdk.off(
    SdkEvent.OnTotalUnreadMessageCountChanged,
    handleTotalUnreadChanged,
  );
}

在相关全局组件销毁、用户退出登录或切换账号时,请调用 removeTotalUnreadListener() 解绑监听,避免重复监听或内存泄漏。