# 站内信功能 - 快速启动指南 ## 🚀 5分钟快速部署 ### 第1步:执行数据库脚本(1分钟) ```sql -- 打开数据库管理工具(如 SQL Server Management Studio) -- 选择你的数据库 -- 执行文件:数据库\SqlServer\创建站内信表.sql -- 验证:查询表是否存在 SELECT * FROM SQMessage SELECT * FROM SQMessageRead ``` ### 第2步:重启应用(2分钟) ```bash # 停止应用 # 编译项目(Visual Studio: Ctrl+Shift+B) # 启动应用(F5) ``` ### 第3步:测试后台功能(2分钟) 1. 登录后台管理系统 2. 访问:SQ管理 → 站内信管理 3. 点击"发送全员广播" 4. 填写测试消息并发送 5. 刷新列表,查看是否显示 --- ## 📝 前端对接3步骤 ### 步骤1:添加接口定义 在 `common/server/interface/sq.js` 中添加: ```javascript /** * 获取消息列表 */ export const getMessageList = async (pageIndex = 1, pageSize = 20, messageType = 0) => { const res = await request.get("SQ/GetMessageList", { pageIndex, pageSize, messageType }); if (res.code == 0) { return res.data; } return []; } /** * 获取未读消息数量 */ export const getUnreadCount = async () => { const res = await request.get("SQ/GetUnreadCount"); if (res.code == 0) { return res.data.count; } return 0; } /** * 标记所有消息为已读 */ export const markAllAsRead = async () => { const res = await request.post("SQ/MarkAllAsRead"); return res.code == 0; } ``` ### 步骤2:在"我的"页面显示红点 ```javascript // 在页面 onShow 或 mounted 中调用 import { getUnreadCount } from '@/common/server/interface/sq.js' async mounted() { const count = await getUnreadCount(); if (count > 0) { // 显示红点 this.showRedDot = true; } } ``` ### 步骤3:消息列表页调用接口 ```javascript import { getMessageList, markAllAsRead } from '@/common/server/interface/sq.js' export default { data() { return { messageList: [], currentIndex: 0 // 0=全部,1=私信 } }, async onShow() { await this.loadMessages(); await markAllAsRead(); // 自动标记已读 }, methods: { async loadMessages() { const type = this.currentIndex === 0 ? 0 : 1; this.messageList = await getMessageList(1, 20, type); } } } ``` --- ## ✅ 快速验证清单 ### 后台功能验证 - [ ] 能访问站内信管理页面 - [ ] 能发送全员广播 - [ ] 消息列表正常显示 - [ ] 能查看消息详情 - [ ] 能删除消息 ### 前端功能验证(需前端对接完成) - [ ] 能获取消息列表 - [ ] 能获取未读数量 - [ ] 能标记已读 - [ ] "我的消息"显示红点 - [ ] 消息内容正常显示 ### 自动通知验证 - [ ] 创建组局 - [ ] 组局成功后收到通知 - [ ] 组局失败后收到通知 --- ## 🔧 常见问题快速解决 ### 问题1:表不存在 **错误**:`Invalid object name 'SQMessage'` **解决**:执行数据库脚本 `创建站内信表.sql` ### 问题2:依赖注入失败 **错误**:`No service for type ISQMessageServices` **解决**: 1. 检查命名空间是否正确 2. 重新编译项目 3. 如使用手动注入,参考文档添加配置 ### 问题3:接口404 **错误**:`404 Not Found` **解决**: 1. 检查接口路径:`/api/SQ/GetMessageList` 2. 确认应用已重启 3. 检查路由配置 ### 问题4:前端获取不到数据 **错误**:返回空数组 **解决**: 1. 先在后台发送测试消息 2. 检查用户是否已登录 3. 检查Token是否有效 --- ## 📞 获取帮助 ### 查看文档 - **需求文档**:`站内信需求.md` - **开发总结**:`站内信功能开发总结.md` - **部署检查**:`站内信功能完成情况检查.md` - **后台使用**:`后台-站内信管理使用说明.md` - **交付清单**:`站内信功能最终交付清单.md` ### 问题排查 按以下顺序检查: 1. 数据库表是否创建 ✓ 2. 应用是否重启 ✓ 3. 依赖注入是否正常 ✓ 4. 接口路径是否正确 ✓ 5. 用户Token是否有效 ✓ --- ## 🎯 下一步行动 ### 立即可做 1. ✅ 执行数据库脚本 2. ✅ 重启应用 3. ✅ 测试后台功能 4. ✅ 发送测试消息 ### 需要前端配合 1. ⏳ 添加接口定义 2. ⏳ 实现消息列表页 3. ⏳ 实现未读红点 4. ⏳ 测试前端功能 --- **祝你部署顺利!** 🎉