# 后端接口 TODO 清单 - 消息发送模块 ## 1. 发送文本消息 **文件**: `MessageSendHelper.java`, `ConversationActivity.java` **接口路径**: `POST /api/messages/send` **请求参数**: ```json { "conversationId": "string", "messageType": "text", "content": "string", "userId": "string" } ``` **返回数据**: ```json { "code": 200, "data": { "messageId": "string", "userId": "string", "username": "string", "avatarUrl": "string", "messageType": "text", "content": "string", "timestamp": "number", "status": "sent" } } ``` ## 2. 发送图片消息 **文件**: `MessageSendHelper.java`, `ConversationActivity.java` **接口路径**: `POST /api/messages/send/image` **请求参数**: ```json { "conversationId": "string", "messageType": "image", "mediaUrl": "string", "thumbnailUrl": "string", "userId": "string" } ``` **返回数据**: ```json { "code": 200, "data": { "messageId": "string", "userId": "string", "username": "string", "avatarUrl": "string", "messageType": "image", "mediaUrl": "string", "thumbnailUrl": "string", "timestamp": "number", "status": "sent" } } ``` ## 3. 发送语音消息 **文件**: `MessageSendHelper.java`, `ConversationActivity.java` **接口路径**: `POST /api/messages/send/voice` **请求参数**: ```json { "conversationId": "string", "messageType": "voice", "mediaUrl": "string", "duration": "number", "userId": "string" } ``` **返回数据**: ```json { "code": 200, "data": { "messageId": "string", "userId": "string", "username": "string", "avatarUrl": "string", "messageType": "voice", "mediaUrl": "string", "duration": "number", "timestamp": "number", "status": "sent" } } ``` ## 发送流程 ### 文本消息 1. 用户输入文本 2. 点击发送按钮 3. 调用发送接口 4. 显示发送状态(发送中 -> 已发送 -> 已读) ### 图片消息 1. 用户选择图片 2. 上传图片到文件服务器(调用上传接口) 3. 获取图片URL 4. 调用发送图片消息接口 5. 显示发送状态 ### 语音消息 1. 用户录制语音 2. 上传语音文件到文件服务器 3. 获取语音URL和时长 4. 调用发送语音消息接口 5. 显示发送状态 ## 消息状态 - `sending`: 发送中 - `sent`: 已发送(服务器已接收) - `read`: 已读(对方已读) - `failed`: 发送失败 ## 错误处理 - 网络错误: 显示发送失败,允许重试 - 文件上传失败: 显示上传失败,允许重新选择 - 消息发送失败: 显示发送失败,允许重试