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