hl-api-changelog/changelogs-v2/2026-06/25_站内信会话化_前端待办总览_管理后台.md

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 / requirementIdPR #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对字段/信令。