docs(changelog-v2): 站内信会话化前端待办总览(汇总6项: 会话聚合/团号/简介条/跳转/铃铛/tab, 后端均已就绪)
这个提交包含在:
父节点
c8e3769e3f
当前提交
e27954e833
@ -0,0 +1,63 @@
|
||||
# 站内信会话化改造 · 前端待办总览(管理后台)
|
||||
|
||||
- **类型**:前端对接总览(**后端全部就绪**,本文汇总 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)对字段/信令。
|
||||
正在加载...
x
在新工单中引用
屏蔽一个用户