02. 业务流程场景 (Workflow)
为了方便前端开发,以下是不同业务场景下的接口调用顺序流程:
1. 进入“消息中心” (统一聊天列表)
展示用户所有的最近联系人、未读数、最后一条消息。
- 建立连接:建立 WebSocket 连接(见 01_PROTOCOL.md)。
- 拉取列表:调用
GET /websocket/conversation/list/{userId}。 - 渲染 UI:根据返回的
isPinned(置顶)、unreadCount(未读数)排序渲染。 - 实时更新:WebSocket 收到消息时,前端根据
senderId找到对应项,更新lastMessageContent并增加unreadCount。
2. 私聊场景 (Private Chat)
- 拉取历史:进入界面,调用
GET /websocket/chat-history/private拉取最近 50 条消息。 - 清空未读:调用
POST /websocket/conversation/clear-unread。 - 实时交流:通过
ws.send或POST /websocket/send-private-msg发送。 - 回执确认:在聊天窗口内收到消息,调用
POST /websocket/mark-read通知对方。
3. 群聊场景 (Group Chat)
- 拉取历史:调用
GET /websocket/chat-history/group/{chatRoomId}。 - 发送消息:调用
POST /websocket/send-group-msg。 - 成员查看:调用
GET /websocket/group-members/{chatRoomId}。
4. 系统消息列表 (System Messages)
- 过滤获取:调用
GET /websocket/conversation/list/{userId}时,过滤conversationType = 'SYSTEM'的项。 - 通知详情:点击进入,拉取历史记录。
