API-TEST-GUIDE.md 4.6 KB

消息系统API测试指南

🚀 测试前准备

1. 确保数据库已更新

-- 执行完整的SQL脚本
source e:/yushu/yushu/yushu-backend/sql/new-message-system.sql

2. 启动后端应用

cd e:/yushu/yushu/yushu-backend
mvn spring-boot:run

3. 获取认证Token

# 登录获取token
curl -X POST http://localhost:8080/login \
  -H "Content-Type: application/json" \
  -d '{"username":"admin","password":"admin123"}'

📋 API测试清单

🔔 系统通知API测试

1. 获取用户通知列表

curl -X GET http://localhost:8080/system/notification/my \
  -H "Authorization: Bearer YOUR_TOKEN"

预期结果: 返回2条系统通知

2. 获取未读通知数

curl -X GET http://localhost:8080/system/notification/unread/count \
  -H "Authorization: Bearer YOUR_TOKEN"

预期结果: 返回未读数量

3. 标记通知为已读

curl -X PUT http://localhost:8080/system/notification/1/read \
  -H "Authorization: Bearer YOUR_TOKEN"

预期结果: 成功标记已读

💬 用户对话API测试

1. 获取会话列表

curl -X GET http://localhost:8080/chat/conversations \
  -H "Authorization: Bearer YOUR_TOKEN"

预期结果: 返回会话列表(可能为空,需要先创建)

2. 创建私聊会话

curl -X POST http://localhost:8080/chat/conversation/private/2 \
  -H "Authorization: Bearer YOUR_TOKEN"

预期结果: 返回会话ID

3. 获取会话消息

curl -X GET "http://localhost:8080/chat/conversation/conv_1_2/messages?pageNum=1&pageSize=50" \
  -H "Authorization: Bearer YOUR_TOKEN"

预期结果: 返回消息列表

4. 发送消息

curl -X POST http://localhost:8080/chat/conversation/conv_1_2/message \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"content":"这是一条测试消息"}'

预期结果: 消息发送成功

5. 设置会话备注

curl -X PUT http://localhost:8080/chat/conversation/conv_1_2/remark \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"remarkName":"我的好友"}'

预期结果: 备注设置成功

🌐 前端功能测试

1. 访问消息页面

2. 创建新会话

  • 点击"新建会话"按钮
  • 选择用户(testuser 或 user3)
  • 点击确定创建会话

3. 发送消息

  • 选择一个会话
  • 在输入框输入消息
  • 按回车或点击发送

4. 设置备注

  • 在会话详情中点击备注按钮
  • 输入备注名称
  • 保存备注

🐛 常见问题排查

问题1: 会话列表为空

原因: 没有创建会话或数据库数据问题 解决:

  1. 检查数据库中是否有测试数据
  2. 尝试创建新会话
  3. 检查API返回的数据格式

问题2: 无法发送消息

原因: 会话ID不正确或后端接口问题 解决:

  1. 检查会话是否正确创建
  2. 验证会话ID格式
  3. 查看后端日志错误信息

问题3: 消息记录不显示

原因: 前端数据映射问题或API返回格式问题 解决:

  1. 检查浏览器控制台错误
  2. 验证API返回的数据结构
  3. 检查前端数据处理逻辑

📊 数据库验证查询

检查会话数据

-- 查看所有会话
SELECT * FROM sys_conversation;

-- 查看会话成员
SELECT * FROM sys_conversation_member;

-- 查看对话消息
SELECT * FROM sys_chat_message;

检查通知数据

-- 查看系统通知
SELECT * FROM sys_notification;

-- 查看通知接收记录
SELECT * FROM sys_notification_receiver;

检查用户数据

-- 查看测试用户
SELECT user_id, user_name, nick_name FROM sys_user WHERE user_id IN (1,2,3);

✅ 成功标志

后端API成功

  • 所有API返回正确的HTTP状态码
  • 数据格式符合预期
  • 数据库中正确创建/更新记录

前端功能成功

  • 页面正常加载,无JavaScript错误
  • 会话列表正确显示
  • 消息发送和接收正常
  • 备注功能正常工作

集成测试成功

  • 前后端数据交互正常
  • WebSocket连接稳定
  • 实时消息推送工作
  • 未读数统计准确

🔧 调试技巧

后端调试

  1. 查看Spring Boot启动日志
  2. 检查SQL执行日志
  3. 使用断点调试Service层

前端调试

  1. 打开浏览器开发者工具
  2. 查看Network标签页的API请求
  3. 检查Console标签页的错误信息
  4. 使用Vue DevTools查看组件状态

测试完成后,请反馈遇到的具体问题,我会进一步协助解决!