Commit Graph

3 Commits

Author SHA1 Message Date
gitadmin b6f0393450 feat: 邮件扫描功能增强与 Bug 修复
主要更新:
- 新增邮箱工单检测模块,支持扫描邮箱并自动导入工单
- 新增扫描取消机制,支持用户中途取消扫描任务
- 新增扫描历史持久化,保存到 scan_history 表
- 修复 IMAP 连接管理问题,连接失败时正确重置 client
- 修复邮件搜索范围,从今天改为最近 7 天

Bug 修复:
- B-1: 修复 getClientIP 传入 null 问题,正确获取客户端 IP
- B-2: 修复 toISOString() 违反规范,改用 formatBeijingTime
- B-3: 修复 refreshStatus/refreshErrors 缺少 .catch() 处理
- E-1: 添加 detailsTruncated 字段,超过 500 条时显示截断警告
- E-2: 添加 5 分钟整体超时控制,避免扫描长时间挂起
- E-3: 优化 refreshErrors 路径依赖,使用安全的属性合并
- E-4: scanning 状态从 scanState.status 派生,保持状态一致
- 修复超时状态被覆盖为 completed 的 Bug

新增文件:
- src/lib/monitor/scan-state.ts: 共享扫描状态管理
- src/app/api/monitor/scan-emails/route.ts: 邮件扫描 API
- src/app/api/monitor/scan-status/route.ts: 扫描状态查询 API
- src/app/api/monitor/scan-history/route.ts: 扫描历史查询 API
2026-07-10 11:49:16 +08:00
gitadmin f507adfaa1 feat: 权限细化 tickets:edit/tickets:delete + 多 Webhook 推送组
- tickets:write 拆分为 tickets:edit(处理工单)和 tickets:delete(删除工单)
- 内置 operator 角色默认同时拥有两个权限
- 迁移脚本自动将已有角色的 tickets:write 替换为两个新权限
- 微信推送支持多个 webhook 推送组,每个可独立启用/禁用
- 每个推送组包含独立的运行参数(检查间隔、静默期)
- 旧格式 wechat.webhook_url 自动迁移为新数组格式
- worker 推送逻辑适配多 webhook(遍历所有启用的推送组)
2026-07-02 17:39:36 +08:00
gitadmin b7b2b34a1f feat: 审计日志 + 邮件监控 + 修复删除工单 bug 2026-06-24 15:43:18 +08:00