4.8 KiB
4.8 KiB
站内信会话化改造 · 前端待办总览(管理后台)
- 类型:前端对接总览(后端全部就绪,本文汇总 mmg 一次接完)
- 端类型:管理后台(hl-ui)
- 日期:2026-06-25
- 后端联系人:王骁(wx)
站内信升级聊天后,wx 提了一连串改造(按会话聚合 / 团号 / 订单简介条 / 跳转 / 铃铛红点)。后端侧已全部实现并测试服实测通过,剩下的都是前端接入。本文是总索引,每项指向已写好的详细 spec。
待办清单(后端均已就绪,按此接入)
1. 「订单消息」改按会话聚合(一会话一行)
- 做什么:站内信「订单消息」tab 改为一会话一行(对方+最新消息+未读+时间),点开看整段对话。不要再逐条铺消息。
- 后端接口(现成):
GET /admin/message/chat/conversations?bizModule=HOUSE&pageNo&pageSize,返回每会话一行。 - 为什么:逐条混排只显示「你收到的那一半」+ 释放转单致归属变动,数据不全;按会话聚合才完整。
- 详见:
25_站内信订单消息改按会话聚合+团号+跳转_前端对接§2/§3。
2. 标题加团号
- 做什么:每行标题 = 团号
orderNo(建议拼客户名customerName),如HL20260625134754752 · 库凡巧。 - 字段:会话 VO 的
orderNo/customerName(已有)。 - 注意:
orderNo为 null 是订单被删/不存在(软依赖降级),不是 bug;真实订单都有团号。
3. 订单简介条(打开对话顶部)
- 做什么:从会话列表打开对话时,对话顶部「订单简介条」也要显示 = 产品名 · 客户·人数 · 团号(此前仅从订单页进才有)。
- 字段(PR #4394 新增,已上线):
productName(产品名)+customerName(客户)+adultCount/childCount(拼「2大1小」)+orderNo(团号)——全在会话列表 VO 里,打开对话直接用,无需再查订单页。 - 详见:
25_站内信订单消息改按会话聚合+团号+跳转_前端对接§6。
4. 每行跳转按钮(按你在该会话的身份)
- 做什么:每行加跳转按钮,按 peerRole 反推你是哪一方(不能用登录账号全局角色,超管同时是两边人):
- 对方是房务/车务(
peerRole=HOUSE/FLEET)→ 你是定制师 → 订单详情/order-v2/detail/{bizId} - 对方是定制师(
peerRole=CUSTOMIZER)+bizModule=HOUSE→ 你是房务 → 配房页/housekeeper/orders?orderId={bizId}&requirementId={requirementId}(用requirementId自动开配房详情) - 对方是定制师 +
bizModule=FLEET→ 你是车务 → 配车页(路由 best-effort,待车务模块核对)
- 对方是房务/车务(
- 字段:
peerRole/bizModule/bizId/requirementId(PR #4394 新增,房务自动开详情用)——全在会话 VO。 - 详见:
25_站内信订单消息改按会话聚合+团号+跳转_前端对接§3.3。
5. 顶部铃铛未读红点
- 做什么:收到消息时收件方铃铛要亮红点/数字。
- 每个带铃铛的页面加载时调
GET /admin/message/unread-count取初值。 - 订阅 SSE 流(
/ws/admin-msg/stream),在im-chat/message/unread-count事件里读payload.unreadCount实时刷角标。im-chat既驱动聊天 UI 也驱动铃铛——别只 append 聊天。
- 每个带铃铛的页面加载时调
- 后端已就绪:未读已落库、聊天发送 afterCommit 已推带
unreadCount的 SSE 信令、unread-count接口返真值(实测 countUnread=1 但前端铃铛没亮 = 前端没接)。 - 详见:
25_站内信顶部铃铛未读角标接入_前端对接。
6. tab 归属 / 全部 tab(前端 IA 自定)
- 订单消息 = 会话列表(项1);普通消息 =
GET /admin/message/list?messageType=NORMAL(仅系统通知);全部 = 前端决定(会话列表+系统通知合并 或 仅通知)。 - 详见:
25_站内信订单消息改按会话聚合+团号+跳转_前端对接§4。
后端就绪情况一览(无需前端等后端)
| 能力 | 后端状态 | 接口/字段 |
|---|---|---|
| 会话列表(按会话聚合) | ✅ 现成 | /admin/message/chat/conversations |
| 团号/客户 | ✅ | orderNo / customerName |
| 订单简介条(产品名/人数) | ✅ PR #4394 上线 | productName / adultCount / childCount |
| 房务跳转自动开详情 | ✅ PR #4394 上线 | requirementId |
| 跳转判向 | ✅ | peerRole / bizModule / bizId |
| 铃铛未读(落库+信令+接口) | ✅ | unread-count + SSE im-chat(payload.unreadCount) |
| 聊天线程/发送/已读 | ✅ 既有 | /admin/message/chat/messages 等 |
一句话:后端全齐了,这几项卡的都是前端接入。逐项 spec 见上面引用的 changelog。有疑问找王骁(wx)对字段/信令。