3.3 KiB
3.3 KiB
消息通知系统使用说明
功能概述
为超级管理员账号添加了消息通知系统,可以实时查看其他用户的操作记录。
主要特性
1. 消息铃铛
- 位置:页面右上角(仅超级管理员可见)
- 红色圆点徽章:显示未读消息数量
- 点击铃铛:打开/关闭消息面板
2. 消息面板
- 显示最近100条操作通知
- 未读消息有蓝色圆点标记和高亮背景
- 点击单条消息:标记为已读
- "全部已读"按钮:一键标记所有消息为已读
- "删除已读"按钮:删除所有已读消息(需确认)
3. 自动更新
- 每30秒自动刷新未读消息数量
- 实时显示最新的用户操作
4. 时间显示
- 使用北京时间(UTC+8)
- 智能显示:刚刚、X分钟前、X小时前、X天前
- 超过7天显示完整日期时间
会触发通知的操作
以下操作会为超级管理员创建通知:
- 批量上传MAC文件 - 显示上传类型(pdd/yt/tx)
- 批量上传发货记录文件 - 显示箱数和总数量
- 添加人员信息 - 显示姓名和角色
- 上传发货记录 - 显示日期和数量
- 上传MAC与批次 - 显示记录数量
- 批量上传不良明细文件 - 显示记录数量
- 上传返修记录 - 显示数量
- 上传良/不良统计 - 显示良品和不良品数量
- 上传不良明细 - 显示记录数量
通知内容
每条通知包含:
- 用户名:执行操作的用户
- 操作类型:执行的具体操作
- 详细信息:操作的详细数据(如数量、日期等)
- 时间:操作时间(智能显示:刚刚、X分钟前、X小时前等)
技术实现
后端
- 新增
notifications数据表 - 新增
notify_superadmin()函数,在关键操作点调用,使用北京时间 - 新增 5 个 API 端点:
GET /api/notifications- 获取通知列表GET /api/notifications/unread-count- 获取未读数量POST /api/notifications/mark-read- 标记单条已读POST /api/notifications/mark-all-read- 标记全部已读POST /api/notifications/delete-read- 删除所有已读消息
前端
- 新增
notifications.js组件 - 在
index.html添加铃铛和通知面板 - 在
styles.css添加通知相关样式 - 在
app.js集成通知系统初始化
使用方法
- 使用超级管理员账号登录系统
- 在页面右上角可以看到消息铃铛图标 🔔
- 当有新消息时,铃铛上会显示红色数字徽章
- 点击铃铛查看消息列表
- 点击单条消息标记为已读
- 点击"全部已读"按钮标记所有消息为已读
- 点击"删除已读"按钮清理已读消息(需确认)
注意事项
- 只有超级管理员(role='superadmin')才能看到消息铃铛
- 超级管理员自己的操作不会创建通知
- 通知数据存储在 SQLite 数据库中
- 消息列表最多显示最近100条记录
- 所有时间使用北京时间(UTC+8)
- 删除已读消息操作不可恢复,请谨慎操作
修复的问题
v1.1 更新
- 修复时间显示问题:后端使用北京时间(UTC+8)存储,前端正确解析显示
- 修复铃铛无法点击问题:调整z-index层级,确保铃铛和面板在最上层
- 新增删除已读功能:可以清理已读消息,保持消息列表整洁