2.5 KiB
2.5 KiB
订单详情联系定制师聊天未读红点未实时刷新(前端待处理)
- 日期:2026-07-03
- 端:管理后台
- 页面:订单详情 / 房务详情弹窗中的「联系定制师」入口
- 示例订单:
HL20260703140009401 - 订单 ID:
2072923329412427777 - 当前结论:后端聊天消息已正常写入并可展示,问题在前端实时状态刷新。
现象
在订单详情页打开右侧聊天抽屉后,聊天消息可以正常收发;但关闭/停留在订单详情页时,「联系定制师」按钮旁的未读红点不会实时出现。
刷新页面后,未读红点/未读状态才会显示。
截图复现口径:
- 订单:
HL20260703140009401 - 客户:
wx定制师配房测试01 - 右侧聊天抽屉内消息已出现并显示时间。
- 订单详情弹窗里的「联系定制师」按钮没有实时红点。
- 手动刷新页面后才有红点。
期望前端处理
前端需要在聊天消息状态变化后,实时同步刷新订单详情上的「联系定制师」入口状态:
- 收到新的定制师/客服聊天消息后,不依赖页面刷新,立即更新「联系定制师」按钮未读红点。
- 打开聊天并读完消息后,不依赖页面刷新,立即移除未读红点。
- 如果当前页面有订单详情弹窗、房务详情弹窗、右侧聊天抽屉等多处状态展示,需要共用同一份未读状态或在消息事件后主动刷新详情状态。
后端接口说明
本次无后端接口变更。
后端聊天消息链路已可用,前端应复用现有消息/未读状态来源:
- 右侧聊天抽屉消息列表已能实时展示新消息。
- 页面刷新后红点可出现,说明后端持久化和查询数据存在。
- 当前缺口是前端在消息事件发生后,没有把未读状态同步到订单详情按钮。
建议实现
前端可任选其一:
- 在聊天 WebSocket/SSE/轮询消息事件回调里,按
orderId更新订单详情本地状态中的未读标识。 - 关闭聊天抽屉或收到消息后,重新拉取订单详情/未读状态接口。
- 将聊天抽屉和订单详情按钮的未读状态收敛到同一个 store,避免抽屉消息已更新但按钮红点不更新。
验收标准
- 在订单详情页停留不刷新页面时,新聊天消息到达后,「联系定制师」按钮立即出现红点。
- 打开聊天读完消息后,「联系定制师」按钮红点立即消失。
- 刷新页面前后红点状态一致。
- 不影响「联系房务」等其他聊天入口状态。