浏览 SDKs · uni-app / uni-app x
SDKsuni-app

获取总未读数

查询总未读快照,并订阅总未读变化事件。

复制

getTotalUnreadMsgCount() 返回当前账号总未读快照;onTotalUnreadMessageCountChanged 持续推送新值。

import {
  getTotalUnreadMsgCount,
  off,
  onTotalUnreadMessageCountChanged,
} from '@/uni_modules/unix-openim-sdk'

const unreadSubscription = onTotalUnreadMessageCountChanged((count) => {
  setTotalUnread(count)
})

setTotalUnread((await getTotalUnreadMsgCount()) ?? 0)
off(unreadSubscription)

先订阅再查询,事件和快照都直接替换总数,不做本地 +1/-1。把结果用于 TabBar 与应用角标时,仍要考虑系统通知权限。