03. 高级功能详解
1. 消息撤回 (Recall)
- 规则:发送者在 2 分钟内可撤回。
- 接口:
POST /websocket/recall-message - 前端处理:收到
contentType: 'recall'的消息推送时,需将 UI 替换为 "对方撤回了一条消息"。
2. 已读/未读状态
- 标记已读:
POST /websocket/mark-read - 批量已读:
POST /websocket/mark-read-batch - 已读回执:对方标记已读后,发送者会收到
contentType: 'read_receipt'的推送。
3. 会话管理 (Conversation)
- 置顶:
POST /websocket/conversation/pin - 取消置顶:
POST /websocket/conversation/unpin - 免打扰:
POST /websocket/conversation/mute(开启后不再实时弹窗提醒,但仍存未读数) - 删除会话:
POST /websocket/conversation/delete
4. 离线消息 (Offline Messages)
- 机制:用户离线时存入 Redis 队列(保留7天,上限1000条)。
- 同步:用户重新建立 WebSocket 连接后,服务器会自动推送所有积压的离线消息。
- 手动获取:
GET /websocket/offline-messages/{userId}
