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() 解绑监听,避免重复监听或内存泄漏。
这个页面有帮助吗?