HANDOFF.md
@@ -3,12 +3,32 @@
> **用法**:新对话开始后,先读本文件 + 项目根目录 `AGENTS.md`,即可无缝接力。
> **每天结束时**:把当天进展、踩过的坑、新需求、未完成事项更新到本文件,然后可以放心开新对话。
## 一、当前状态(2026-08-27 合并后)
- 前后端**运行中**(8090/8080 已监听,start-dev.ps1 启动),登录页已接入真实认证(数据库校验)+ 行为验证码。
## 〇、关机交接(2026-08-27 深夜,用户关机前)
- **当前运行状态**:前后端应用服务全部已停止(开发服务、打包版均未运行);仅数据库在跑
  (MySQL80 服务=3305,本项目用;MySQL57=3306 勿动);8080 上 IIS 站点仍在但本项目已不再依赖 IIS。
- **进行中/待验证(用户负责)**:用户在**打包环境**验证数据库合并结果——用 `admin/admin123` 登录
  (行为验证码需人工点击,无法自动化验证);若登录及各业务模块数据正常,则全流程闭环。
- **部署知识(本轮确认)**:外置 `application.yml` 与 jar 内置是**属性级合并**(外置只需写要覆盖的项,其余自动沿用内置),
  不是文件级替换;Spring Boot 按**启动工作目录**找配置(`file:./config/` > `classpath:/config/` > `file:./` > `classpath:/`),
  在 jar 同级执行 `java -jar app.jar` 即可命中外部配置;推荐放 `config\` 子目录。
- **待办(下次)**:`docs/打包部署说明.docx` 第六节"外置 application.yml 需包含完整配置"表述不准确,
  应改为"属性级合并,只需写要覆盖的项";改后重新导出 docx 并推送。
## 一、当前状态(2026-08-27 合并后,打包部署已完成)
- **开发服务已停止**(前后端均未运行),打包版测试**验收通过**。
- **打包部署方案(已定稿)**:Spring Boot 直接托管前端静态文件,单端口 8090,**不需要 IIS/nginx**。
  部署结构 = jar 同级 `web\`(前端 dist 内容)+ `docs\`(模板目录);`java -jar app.jar` 启动后访问 `http://<服务器>:8090`。
  说明文档:`docs/打包部署说明.md` / `.docx`(含 nginx 备选方案、IIS 反代示例 `docs/iis-web.config.example`)。
- **数据库已合并(2026-08-27 晚)**:同事 Navicat 全表导出 `traffic_audit.sql`(27 表、约 6 万行,来自其 mysql80:3308)已全量导入本机库(MySQL 8.0.29,localhost:3305,root/root)。
  导入前已备份本机库 → `D:\03_公司\02_项目\27_湖北省道路运输事业发展中心\05_开发测试\00_开发\_db_backup_20260827.sql`。
  `sys_user` 现有 4 账号(admin + zhangsan/lisi/wangwu,均带 modules);admin 密码已恢复为 BCrypt(admin/admin123),其余账号密码为同事原 hash。
  ⚠️ **MySQL 客户端用 8.0**(`C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe`),不要用 5.7 客户端(`D:\mysql\mysql-5.7.41-winx64`)。
- 本次配套改动:`SecurityConfig` 放行静态资源(`/`、`/js/**` 等)+ `application.yml` 加
  `spring.web.resources.static-locations: file:./web/`(application.yml 不入库,重打包时需保留该配置)。
- **2026-08-27 完成双方开发结果合并**:以对方(郑玉洁,另一开发人员)的代码为基础,并入我方三样改动
  (态势图/AI助手构想记录、登录行为验证码、登出与上下布局)。验证码采用**我方实现**(Captcha3D + 后端 captcha 包,
  内存存储,无 Redis 依赖),对方独立实现的 ShapeCaptcha(Canvas+Redis)已弃用、不入库。
- 新 git 仓库迁移进行中:旧 Gitee 仓库弃用,合并结果将提交到新仓库(地址见第九节,待用户提供后补全)。
- 新 git 仓库迁移**已完成**:合并结果已提交到 Gitblit 根仓库 `trafficAudit.git`(见第九节),旧 Gitee 仓库弃用;`~xyc/trafficAudit.git` 临时仓库已删。
- 数据库已补齐对方新增表(MySQL 8,库 traffic_audit,本机 3305):h2031_enterprise_monthly、passenger_*、
  h204_*、investment_*、city_bus_monthly、city_taxi_monthly、city_taxi_auth、passenger_individual_monthly、audit_run;
  sys_user 已加 modules 列;admin 密码已重置为 BCrypt(admin/admin123)。
@@ -67,6 +87,8 @@
- 后续扩展:H203-1 公路旅客、W203 水路、P203 港口、H204 能源等(需求文档 v2/v3 计划),先把 H203-2 演示做好。
- 【新需求·仅记录未实现·2026-08-23】登录后首页新增「全省交通运输态势感知图」:把货运、客运、巡游出租、网约车、投资、能耗等方面的变化态势可视化展示。
- 【新需求·仅记录未实现·2026-08-23】扩展现有 AI 分析为「AI 助手」:以本地数据库数据为基础建立知识库,做 RAG,支持自然语言提问/聊天,灵活查看与挖掘数据。
- **2026-08-28 复核「点数据导入浏览器崩溃」(打包测试环境,部分用户)**:重点排查 `GET /api/import/batches`——后端 limit 上限 200;全表 81 条、error_detail 最长 2.6KB、全量响应约 17KB(前端只取 50 条);前端表格仅 8 列短字段(errorDetail 不渲染)、无轮询/定时器。**结论:接口不是崩溃根因**(若接口有问题,所有用户都会崩,而非"部分用户")。现象符合客户端环境差异(第三方扩展注入/旧显卡驱动/低配内存,与 08-27 迅雷扩展+Intel 旧驱动结论一致)。建议对崩溃用户依次验证:无痕模式→换 Edge→禁扩展,并看 chrome://crashes。
- 【新需求·仅记录未实现·2026-08-28】增加**经济指标试算功能**:领导非常关注经济指标,**货运是大头**;常驻现场的所有人都要会计算货运相关数据(货运量/周转量等)。领导经常要求把某个数据「压一压」,今后考虑在软件里增加试算功能——可按需要调整/测算指标数值(如模拟下调某企业/某口径的货运量后看汇总与趋势影响),辅助现场人员快速试算与应对。
## 八、每日交接约定
1. 新对话第一步:读 `AGENTS.md` + `HANDOFF.md`;涉及 AI 分析/审核时参考 `docs/` 与数据库表结构。
@@ -74,10 +96,10 @@
3. 跨项目可复用经验沉淀到机器级顶层 AGENTS.md(本项目不再重复)。
## 九、Git 仓库(2026-08-27 起使用新仓库 Gitblit)
- **新仓库(在用)**:Gitblit 服务器 `61.183.254.94:3000`(HTTP),仓库 **`trafficAudit.git`**(根目录命名空间,非 `~xyc/` 个人空间)。
  - 推送地址:`http://admin@61.183.254.94:3000/r/trafficAudit.git`(账号 `admin`,密码已存本机 GCM 凭据管理器,直接 `git push` 即可)。
  - 说明:根仓库原由管理员持有,`xyc` 无推送权限(`creation prohibited`),故日常推送用 `admin`;如后续要改用 `xyc`,需管理员在 Gitblit Web(http://61.183.254.94:3000)给该仓库添加 xyc 的 RW+ 权限。
  - 旧的 `~xyc/trafficAudit.git` 个人仓库仍在服务器上(已弃用,未删除)。
  - 本机 remote:`origin` = HTTPS(日常推送用);`ssh-alt` = SSH 地址(备用)。
  - 推送地址:`http://xyc@61.183.254.94:3000/r/trafficAudit.git`(账号 `xyc` 密码 `gitP@ssw0rd`,已存本机 GCM 凭据管理器,直接 `git push` 即可)。
  - 说明:管理员已在 Gitblit Web(http://61.183.254.94:3000)给 `xyc` 授权该仓库推送(RW+),2026-08-27 已验证 `xyc` 推送成功;日常推送用 `xyc`。
  - 旧的 `~xyc/trafficAudit.git` 个人仓库已删除(2026-08-27,admin 在 Web 编辑页删除)。
  - 本机 remote:仅 `origin` = `http://xyc@61.183.254.94:3000/r/trafficAudit.git`(不用 SSH,ssh-alt 已删)。
- **旧仓库(弃用)**:Gitee https://gitee.com/jichengxiong/trafficAudit(2026-08-14 建立)——不再使用,未再推送。
- 合并历史:main 分支 = 原历史 + 我方 08-27 提交(`715e9e1`)+ 对方开发结果分支(`f713166`,partner-work)+ 合并提交 `ec9b25a`;对方未用 git,其代码经独立分支合入。
- 敏感配置不入库:`traffic-audit-server/src/main/resources/application.yml` 已在 `.gitignore` 中,