diff --git a/changelogs-v2/2026-06/19_4020_站内信升级聊天P1-1对1会话6个管理端接口-新增接口-管理后台.md b/changelogs-v2/2026-06/19_4020_站内信升级聊天P1-1对1会话6个管理端接口-新增接口-管理后台.md index 2c5d6a2..5f60967 100644 --- a/changelogs-v2/2026-06/19_4020_站内信升级聊天P1-1对1会话6个管理端接口-新增接口-管理后台.md +++ b/changelogs-v2/2026-06/19_4020_站内信升级聊天P1-1对1会话6个管理端接口-新增接口-管理后台.md @@ -175,11 +175,32 @@ POST /admin/message/chat/HOUSE:70123:1001:2046065465288949761/read | 阶段 | 内容 | 状态 | |------|------|------| -| **P1(本次)** | 6 个 admin 端点(open / 列表 / 线程 / 发消息 / 已读 / 聊天未读) | ✅ 已上测试服 | -| P2 | SSE 实时(角标实时刷 + 打开会话 live append + URGENT 强提示)+ 敏感词词库完善 | ⏳ 待开发 | +| **P1** | 6 个 admin 端点(open / 列表 / 线程 / 发消息 / 已读 / 聊天未读) | ✅ 已上测试服 | +| **P2** | SSE 实时推送(CHAT 走新增 `im-chat` 事件,含 URGENT priority)+ 敏感词 DFA(Hutool) | ✅ 已上测试服(后端就绪,前端接入时用,见下「SSE 实时契约」) | | P3 | 房务(order-v3)接入:配房页开会话 + 订单列表「未读红点」透传 | ⏳ 待开发 | | P4 | 车务(fleet)接入 | ⏳ 待开发 | +### SSE 实时契约(P2 后端已就绪,前端接入时用) + +复用现有 SSE 长连接 `GET /ws/admin-msg/stream`(EventSource,网关注入鉴权),**不新增连接**。一条连接上按 event 名分发: + +- **`message` 事件(现有系统通知,行为不变)**:前端原有监听**不用动**。 +- **`im-chat` 事件(P2 新增,聊天专用)**:对端在线时实时收到,payload: + +```json +{ + "type": "CHAT", + "adminId": "收件方adminId", + "unreadCount": 9, // 合并未读(聊天+通知),直接刷顶部角标 + "conversationKey": "HOUSE:70123:101:205", + "senderName": "房务·小呼", + "preview": "标间超预算了…", + "priority": "URGENT" // URGENT 时前端做强提示(弹窗/声音) +} +``` + +前端用法:监听 `im-chat` → `unreadCount` 刷顶部角标;`conversationKey` 命中当前打开的会话则 live append 新气泡;`priority=URGENT` 强提示。**P2 是后端能力,前端接入仍待排期通知。** + --- ## 8. 注意事项