# 订单详情联系定制师聊天未读红点未实时刷新（前端待处理）

- 日期：2026-07-03
- 端：管理后台
- 页面：订单详情 / 房务详情弹窗中的「联系定制师」入口
- 示例订单：`HL20260703140009401`
- 订单 ID：`2072923329412427777`
- 当前结论：后端聊天消息已正常写入并可展示，问题在前端实时状态刷新。

## 现象

在订单详情页打开右侧聊天抽屉后，聊天消息可以正常收发；但关闭/停留在订单详情页时，「联系定制师」按钮旁的未读红点不会实时出现。

刷新页面后，未读红点/未读状态才会显示。

截图复现口径：

- 订单：`HL20260703140009401`
- 客户：`wx定制师配房测试01`
- 右侧聊天抽屉内消息已出现并显示时间。
- 订单详情弹窗里的「联系定制师」按钮没有实时红点。
- 手动刷新页面后才有红点。

## 期望前端处理

前端需要在聊天消息状态变化后，实时同步刷新订单详情上的「联系定制师」入口状态：

1. 收到新的定制师/客服聊天消息后，不依赖页面刷新，立即更新「联系定制师」按钮未读红点。
2. 打开聊天并读完消息后，不依赖页面刷新，立即移除未读红点。
3. 如果当前页面有订单详情弹窗、房务详情弹窗、右侧聊天抽屉等多处状态展示，需要共用同一份未读状态或在消息事件后主动刷新详情状态。

## 后端接口说明

本次无后端接口变更。

后端聊天消息链路已可用，前端应复用现有消息/未读状态来源：

- 右侧聊天抽屉消息列表已能实时展示新消息。
- 页面刷新后红点可出现，说明后端持久化和查询数据存在。
- 当前缺口是前端在消息事件发生后，没有把未读状态同步到订单详情按钮。

## 建议实现

前端可任选其一：

1. 在聊天 WebSocket/SSE/轮询消息事件回调里，按 `orderId` 更新订单详情本地状态中的未读标识。
2. 关闭聊天抽屉或收到消息后，重新拉取订单详情/未读状态接口。
3. 将聊天抽屉和订单详情按钮的未读状态收敛到同一个 store，避免抽屉消息已更新但按钮红点不更新。

## 验收标准

- 在订单详情页停留不刷新页面时，新聊天消息到达后，「联系定制师」按钮立即出现红点。
- 打开聊天读完消息后，「联系定制师」按钮红点立即消失。
- 刷新页面前后红点状态一致。
- 不影响「联系房务」等其他聊天入口状态。
