SDKsuni-app / uni-app x
获取消息总未读数
查询并持续维护当前账号的会话消息总未读数。
获取当前账号所有会话的消息总未读数。统计总未读数时,避免仅累加当前已加载分页中的 unreadCount,因为尚未分页拉取的会话中也可能包含未读消息。
import { getTotalUnreadMsgCount } from '@/uni_modules/unix-openim-sdk'
const totalUnread = await getTotalUnreadMsgCount()
if (totalUnread != null) {
updateApplicationBadge(totalUnread)
}Promise 成功后返回 number | null;非空数值是查询时的总未读数。查询本身不会触发事件。
监听总未读数变化
消息总未读数变更事件在此集中监听。回调参数直接接收最新的总未读数值。
import {
off,
onTotalUnreadMessageCountChanged,
} from '@/uni_modules/unix-openim-sdk'
const handleTotalUnreadChanged = (count: number) => {
updateApplicationBadge(count)
}
const totalUnreadSubscription = onTotalUnreadMessageCountChanged(
handleTotalUnreadChanged,
)
function removeTotalUnreadListener() {
off(totalUnreadSubscription)
}在组件销毁、退出登录或切换账号时应调用清理函数取消事件监听。重新登录、网络重连或需要确认数据一致性时,可再次查询总未读数以校准界面与角标展示。
需要把该数值同步给 SDK 的推送角标状态时,参见设置应用角标数量。
这个页面有帮助吗?