# 消息系统API测试指南 ## 🚀 测试前准备 ### 1. 确保数据库已更新 ```sql -- 执行完整的SQL脚本 source e:/yushu/yushu/yushu-backend/sql/new-message-system.sql ``` ### 2. 启动后端应用 ```bash cd e:/yushu/yushu/yushu-backend mvn spring-boot:run ``` ### 3. 获取认证Token ```bash # 登录获取token curl -X POST http://localhost:8080/login \ -H "Content-Type: application/json" \ -d '{"username":"admin","password":"admin123"}' ``` ## 📋 API测试清单 ### 🔔 系统通知API测试 #### 1. 获取用户通知列表 ```bash curl -X GET http://localhost:8080/system/notification/my \ -H "Authorization: Bearer YOUR_TOKEN" ``` **预期结果**: 返回2条系统通知 #### 2. 获取未读通知数 ```bash curl -X GET http://localhost:8080/system/notification/unread/count \ -H "Authorization: Bearer YOUR_TOKEN" ``` **预期结果**: 返回未读数量 #### 3. 标记通知为已读 ```bash curl -X PUT http://localhost:8080/system/notification/1/read \ -H "Authorization: Bearer YOUR_TOKEN" ``` **预期结果**: 成功标记已读 ### 💬 用户对话API测试 #### 1. 获取会话列表 ```bash curl -X GET http://localhost:8080/chat/conversations \ -H "Authorization: Bearer YOUR_TOKEN" ``` **预期结果**: 返回会话列表(可能为空,需要先创建) #### 2. 创建私聊会话 ```bash curl -X POST http://localhost:8080/chat/conversation/private/2 \ -H "Authorization: Bearer YOUR_TOKEN" ``` **预期结果**: 返回会话ID #### 3. 获取会话消息 ```bash curl -X GET "http://localhost:8080/chat/conversation/conv_1_2/messages?pageNum=1&pageSize=50" \ -H "Authorization: Bearer YOUR_TOKEN" ``` **预期结果**: 返回消息列表 #### 4. 发送消息 ```bash 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. 设置会话备注 ```bash 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. 访问消息页面 - URL: http://localhost:8081/message - 检查: 页面正常加载 - 验证: 会话列表显示 ### 2. 创建新会话 - 点击"新建会话"按钮 - 选择用户(testuser 或 user3) - 点击确定创建会话 ### 3. 发送消息 - 选择一个会话 - 在输入框输入消息 - 按回车或点击发送 ### 4. 设置备注 - 在会话详情中点击备注按钮 - 输入备注名称 - 保存备注 ## 🐛 常见问题排查 ### 问题1: 会话列表为空 **原因**: 没有创建会话或数据库数据问题 **解决**: 1. 检查数据库中是否有测试数据 2. 尝试创建新会话 3. 检查API返回的数据格式 ### 问题2: 无法发送消息 **原因**: 会话ID不正确或后端接口问题 **解决**: 1. 检查会话是否正确创建 2. 验证会话ID格式 3. 查看后端日志错误信息 ### 问题3: 消息记录不显示 **原因**: 前端数据映射问题或API返回格式问题 **解决**: 1. 检查浏览器控制台错误 2. 验证API返回的数据结构 3. 检查前端数据处理逻辑 ## 📊 数据库验证查询 ### 检查会话数据 ```sql -- 查看所有会话 SELECT * FROM sys_conversation; -- 查看会话成员 SELECT * FROM sys_conversation_member; -- 查看对话消息 SELECT * FROM sys_chat_message; ``` ### 检查通知数据 ```sql -- 查看系统通知 SELECT * FROM sys_notification; -- 查看通知接收记录 SELECT * FROM sys_notification_receiver; ``` ### 检查用户数据 ```sql -- 查看测试用户 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查看组件状态 --- **测试完成后,请反馈遇到的具体问题,我会进一步协助解决!**