docs/¹¤×÷ÈÕ½á/¹¤×÷ÈÕ½á_2026-09-13.md
@@ -39,6 +39,30 @@
- æŽ¨é€å‰ `git fetch gitea` / `git fetch origin` å‡æ— æ–°æäº¤ï¼ˆ`rev-list --left-right --count` = `0 0`),未覆盖同事代码。
- å‘布后复跑 2026-08 å¯¼å‡ºï¼ˆHTTP 200 / 950,783 å­—节 / 29.2 ç§’),对发布后产物 `_t4_2026-08.xlsx` å†åš 586 æ ¼ç‹¬ç«‹å¤æ ¸ = å·®å¼‚ 0 æ ¼ï¼›ä¸Žå‘布前产物逐 zip æ¡ç›®æ¯”对,内部条目字节完全一致(MD5 å·®å¼‚仅来自 zip å¤´æ—¶é—´æˆ³ï¼‰ã€‚
### 8. æ‰“包部署支持(用户新需求:部署到另一台机器)
- æ–°å¢žä¸€é”®æ‰“包脚本 `package-deploy.py`:前端 `npm run build` â†’ `dist` å†…嵌进后端 jar(拷入 `resources/static`)→ `mvn clean package` â†’ æ¸…空 static â†’ ç»„装 `deploy/traffic-audit-deploy-YYYYMMDD/` â†’ åŽ‹ç¼© `traffic-audit-deploy-YYYYMMDD.zip`(本次 69.9 MB / 246 æ–‡ä»¶ï¼Œjar 55.5 MB)。
- éƒ¨ç½²åŒ…结构:`backend/`(jar + docs + application.yml + start-backend.cmd/.sh)、`frontend/`(dist + nginx ç¤ºä¾‹ï¼‰ã€`db/`(init.sql + sql_city_bus/taxi/wyc.sql)、README。
- **修复部署陷阱**:`jwt.secret` å¡«æˆéžæ³• Base64(如中文)会让登录接口 500(jjwt 0.9.1 æŒ‰ Base64 è§£ç  secret)→ `JwtUtils` æ–°å¢ž `secretKeyBytes()` å…œåº•(Base64 ä¼˜å…ˆã€å¦åˆ™ UTF-8 å­—节 + WARN)。
- æ›´æ­£ `docs/打包部署说明.md` ä¸‰å¤„不实:① ä¸éœ€è¦ Redis(pom æ— ä¾èµ–、代码未用);② å‰ç«¯æ”¹ä¸ºå†…嵌进 jar(旧说明称「已内置 file:./web/」,实际 jar å†…无静态文件);③ è¡¥ `sql_wyc.sql` ä¸Ž `summary.template-dir`。
- ç‹¬ç«‹éªŒè¯ï¼šæŠŠéƒ¨ç½²åŒ… backend æ‹·åˆ° `_deploytest/` ç”¨ 8091 ç«¯å£ç‹¬ç«‹å¯åЍ â†’ å¯åŠ¨æˆåŠŸã€`GET /` 200 æœ‰ `#app`、静态 js 200、登录 200 æ‹¿åˆ° token、导出汇总大表 200 / 950,783 å­—节(与开发机产物同尺寸);另测中文 secret å…œåº•路径同样 200。
- å¼€å‘机后端已按新代码重启(旧 PID 27840 å·²åœï¼‰ï¼Œé‡å¯åŽç™»å½• 200、导出 950,783 å­—节,无回归。
- æŠ¥å‘Šï¼š`docs/功能测试报告/功能测试报告_部署包打包与独立启动_2026-09-13.md`。
### 9. æ•°æ®åº“搬迁支持(回答「能不能直接备份数据库过去」)
- ç»“论:可以,且比跑 4 ä¸ªå»ºè¡¨è„šæœ¬æ›´çœäº‹ã€‚å·²åœ¨ã€Šæ‰“åŒ…éƒ¨ç½²è¯´æ˜Žã€‹é‡Œè¡¥ã€Œè·¯çº¿ A ç©ºåº“ 4 è„šæœ¬ / è·¯çº¿ B æ•´å¥—备份还原」二选一说明,并标注 **init.sql æ˜¯ç ´åæ€§çš„(基础表都带 DROP TABLE)**,已有数据的库上不能重复执行。
- ç”Ÿæˆå¤‡ä»½ `traffic_audit_full_20260913.sql`(45.5 MB,mysqldump --databases,含建库语句与全部 29 å¼ è¡¨æ•°æ®ï¼‰ã€‚
- è¿˜åŽŸéªŒè¯ï¼šæŠŠå¤‡ä»½é‡Œçš„åº“åæ”¹æˆä¸´æ—¶åº“ `traffic_audit_vfy` å¯¼å…¥ï¼Œé€è¡¨ `COUNT(*)` ä¸Žæºåº“比对 â€”— **29 å¼ è¡¨ 0 å·®å¼‚**,抽查 `wyc_order_monthly` 2026-08 è¡Œæ•°æ­£ç¡®ï¼ŒéªŒè¯åŽåˆ é™¤ä¸´æ—¶åº“。
- é¡ºå¸¦ç¡®è®¤ï¼šå¦å¤– 3 ä¸ªè„šæœ¬ï¼ˆsql_city_bus/taxi/wyc)没有 `USE` è¯­å¥ï¼Œå¿…é¡» `-D traffic_audit` æ‰§è¡Œï¼›init.sql è‡ªå¸¦å»ºåº“语句可独立执行。
### 10. å¤‡ä»½è¿˜åŽŸçš„ç‰ˆæœ¬æ ¸æŸ¥ä¸Žå¼ºéªŒè¯ï¼ˆå¤æŸ¥å‘çŽ°çš„é—®é¢˜ï¼‰
- å¤æŸ¥å‘现两个此前表述不准的点:① æœ¬æœº **MySQL æœåŠ¡ç«¯æ˜¯ 8.0.29**(`D:\mysql\mysql-5.7.41-winx64` åªæ˜¯ 5.7 å®¢æˆ·ç«¯å·¥å…·ï¼‰ï¼Œæ˜¨æ™šæŒ‰ã€Œæœ¬æœºæ˜¯ 5.7」写的说明不准确;② 29 å¼ è¡¨çš„æŽ’序规则统一为 `utf8mb4_0900_ai_ci`,**目标机必须装 MySQL 8.0,5.7 ä¼šå¯¼å…¥å¤±è´¥**。
- å› æ­¤æ”¹ç”¨ä¸ŽæœåŠ¡ç«¯åŒç‰ˆæœ¬çš„ `C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqldump.exe` é‡æ–°å¯¼å‡ºå¤‡ä»½ `traffic_audit_full_20260913.sql`(45.5 MB)。
- å¼ºéªŒè¯ï¼ˆ8.0 å®¢æˆ·ç«¯ï¼‰ï¼šå¤‡ä»½æ”¹åº“名导入临时库 `traffic_audit_vfy` â†’ è¡¨æ•°é‡ 29=29、表名一致、**逐表 `SHOW CREATE TABLE` ç»“构差异 0**、**逐表 `COUNT(*)` è¡Œæ•°å·®å¼‚ 0**、抽查 `wyc_order_monthly` 2026-08 `order_sum` ä¸€è‡´ â†’ éªŒè¯åŽåˆ é™¤ä¸´æ—¶åº“。
- éƒ¨ç½²è¯´æ˜Žå·²åŒæ­¥æ›´æ­£ï¼ˆçŽ¯å¢ƒè¦æ±‚è¡¨ã€è·¯çº¿ B å‘½ä»¤ä¸Žç‰ˆæœ¬è¯´æ˜Žã€`DROP TABLE` è¦†ç›–警告)。
## äºŒã€æµ‹è¯•结果摘要(详见《功能测试报告》)
| é¡¹ | ç»“æžœ |