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 与应用角标时,仍要考虑系统通知权限。
这个页面有帮助吗?