--- schema: "hl-changelog/v2" ticket: "frontend-fleet-board-chat-badge-realtime" title: "车务看板聊天角标不实时、需刷新才更新——后端 SSE 信令已齐(含 #5792 超管补口),前端待接" consumer: "admin" author: "wx(GIT)" change_type: "前端优化" backend_status: "deployed" gateway_status: "not_required" frontend_status: "not_required" frontend_owner: "" frontend_ref: "" target_release: "" verified_at: "" status_note: "no-op(前端已接,无需改动):fleet/board 的 SSE 角标链路 2026-07-23 已接入(commit 13c7c8bf/be326246)——index.vue watch(lastChatSignal) 对 im-chat/im-chat-read 防抖重拉并合并权威 unreadMessageCount,onFleetChatRead 本地读完即时 mergeFleetUnreadCount(orderId,0);SSE 由 BasicLayout 全局激活、身份无关;具名 im-chat/im-chat-read 事件经 useAdminMessageSSE.pushChatSignal 透传 conversationKey,getFleetChatOrderId 按 FLEET: 前缀匹配。报告的「不实时需刷新」根因是后端 #5792 前车务定向信令未推给超管/车务连接,属后端部署范畴,前端无新代码。验证两身份实时依赖 #5792 PR 合并部署后实测。" updated_at: "2026-08-10" base: "dev-v3" --- # 车务看板: 聊天角标实时化与已读联动(前端接线) > **背景**: 定制师给车务发消息,派单看板卡片「定制师 王骁」入口无实时角标提醒,要手动刷新才更新;房务侧已有 SSE 实时角标实现。 > **Issue**: #5792(后端超管读态联动部分) ## 后端现状(信令已齐,无需新接口) - 定制师发消息 → user-service 经 SSE 按 `targetRoleKey=VEHICLE_MANAGER` 广播 `im-chat` 信令(含 conversationKey=FLEET:{orderId}、团队未读数)。 - 任一车务读 → 团队共享清零,广播 `im-chat-read`(conversationUnreadCount=0)。 - **#5792 修复(本日)**:①超管在看板读消息后团队红点真正清零 + 定制师端「已送达→已读」回执;②面向车务角色的定向信令(上述两类 + `fleet-board-changed`)同样推给在线**超管**连接——此前超管连接收不到任何车务定向信令,即使前端接了订阅,超管身份打开看板也不会实时。 - 看板列表行 `unreadMessageCount` 口径不变(团队共享未读)。 ## 对前端的要求(mmg) 1. `fleet/board` 页面订阅 SSE `im-chat` / `im-chat-read`(chatSignalBus 已有房务接法可参照): - `im-chat`(conversationKey 匹配 FLEET:{orderId})→ 对应卡片角标 +1 或取信令内未读数; - `im-chat-read`(conversationUnreadCount=0)→ 对应卡片角标清零(他人读了也同步归零)。 2. 打开会话读完后本地即时清零(不等信令回环)。 3. 验证两种身份:VEHICLE_MANAGER 与 SUPER_ADMIN 登录看板均应实时(后者依赖 #5792 部署)。 ## 关联 / 联系人 ### 链接 - **Issue**: [#5792](https://git.1814.love:8443/wx/HL/issues/5792) ### 联系人 - **后端负责人**: @wx - **前端负责人**: @mmg