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