Commit Graph

5 Commits

Author SHA1 Message Date
gitadmin 5430f51885 fix: 修复 IMAP 邮件内容获取问题
- 使用 body: '.' 获取邮件完整内容,替代 source(某些 IMAP 服务器不支持)
- 添加详细的 fetch 结果日志,记录返回的字段名
- 改进邮件获取失败时的日志输出
2026-07-10 13:33:02 +08:00
gitadmin c11e9fbc64 feat: 邮件扫描导入功能增强
- 新增 scan-emails/import API 端点,支持手动导入跳过的邮件为工单
- 前端添加'导入跳过的邮件为工单'按钮,扫描完成后可选择导入
- 添加扫描详情日志,记录无内容邮件的跳过原因
- 修复 scan_history 表 details_json 为空的问题
2026-07-10 13:22:55 +08:00
gitadmin 75ca749db7 fix: 根本修复 getClientIP tree-shaking 问题
- audit.ts: 直接定义 getClientIP 函数,而非从 shared 库 re-export
- 原因: Next.js standalone 构建的 tree-shaking 会丢弃 re-export 的函数
- 影响: 修复所有使用 getClientIP 的 API 路由(scan-emails、scan-status、auth/login)
2026-07-10 13:09:47 +08:00
gitadmin 73b442717e fix: 修复 getClientIP 导入导致的树摇问题
- scan-emails/route.ts: 直接定义 getClientIP 函数,避免从 @/lib/audit 导入
- scan-status/route.ts: 同上
- 原因: Next.js tree-shaking 在打包时未将 getClientIP 包含在模块导出中
- scan-history API: 新增扫描历史查询接口
- db-schema: 新增 scan_history 表
2026-07-10 12:59:21 +08:00
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