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