| | |
| | | | ç»ä»¶ | çæ¬ | 说æ | |
| | | |------|------|------| |
| | | | JDK | 1.8 | é¨ç½²æºå¿
é¡»ï¼å端ç¼è¯/è¿è¡ | |
| | | | MySQL | 5.7 / 8.0 | é¨ç½²æºå¿
é¡»ï¼åºå `traffic_audit` | |
| | | | MySQL | **8.0** | é¨ç½²æºå¿
é¡»ï¼åºå `traffic_audit`ï¼ç°ç½/å¼åæºä¸º 8.0.29ï¼è¡¨æåºè§åæ¯ `utf8mb4_0900_ai_ci`ï¼**ç®æ æºè£
5.7 ä¼å¯¼å
¥å¤±è´¥** | |
| | | | Maven 3.x / Node.js 14+ | â | **åªæãå¨é¨ç½²æºä¸æå
ãæéè¦**ï¼ç¨ä¸é®èæ¬äº§åºçå
é¨ç½²åä¸éè¦ | |
| | | | Redis | **ä¸éè¦** | ä»£ç æªä½¿ç¨ Redisï¼æ§è¯´æä¸ç Redis é
ç½®æ¯éç项ï¼å¯å¿½ç¥ï¼ | |
| | | | nginx / IIS | **ä¸éè¦** | å端已å
åµè¿ jarï¼è®¿é® 8090 å³å¯ï¼è¦åå端åç¦»æ¶ææ¯å¤é | |
| | |
| | | |
| | | #### 路线 Bï¼æç°ç½/å¼åæºçæ°æ®æ´å¥æ¬è¿å»ï¼æ¨èï¼ä¸ç¨è·èæ¬ï¼ |
| | | |
| | | å
确认两端 MySQL 齿¯ **8.0**ï¼æ¬åºè¡¨æåºè§å为 `utf8mb4_0900_ai_ci`ï¼5.7 ä¸è¯å«ä¼å¯¼è´å¯¼å
¥å¤±è´¥ï¼ï¼å¹¶ä¸**ç¨ä¸æå¡ç«¯åçæ¬ç mysqldump**ï¼ä¸è¦ç¨ 5.7 ç客æ·ç«¯å»å¯¼ 8.0 æå¡ç«¯ï¼ã |
| | | |
| | | 卿ºæºå¨ï¼æ¬æº MySQL 端å£ç¤ºä¾ 3308ï¼æå®é
æ¹ï¼ï¼ |
| | | |
| | | ```bash |
| | | "D:\mysql\mysql-5.7.41-winx64\bin\mysqldump.exe" ^ |
| | | "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqldump.exe" ^ |
| | | --host=127.0.0.1 --port=3308 --user=root --password=ä½ çå¯ç ^ |
| | | --default-character-set=utf8mb4 --single-transaction --routines --triggers --events ^ |
| | | --databases traffic_audit > traffic_audit_full_YYYYMMDD.sql |
| | |
| | | ``` |
| | | |
| | | - `--databases` 伿 `CREATE DATABASE` + `USE` ä¸èµ·åè¿å¤ä»½ï¼æä»¥ç®æ æºå¨**ä¸ç¨å
建åºãä¹ä¸ç¨è·é£ 4 ä¸ªèæ¬**ã |
| | | - å¤ä»½éå
å« `sys_user`ï¼æä»¥è´¦å·å¯ç 䏿ºæºå¨å®å
¨ä¸è´ï¼æ¬æºæ¯ `admin / 123456`ï¼ï¼ä¸ä¼è¢« init.sql éç½®æ `admin/admin123`ã |
| | | - çæ¬å
¼å®¹ï¼æ¬æºæ¯ MySQL 5.7ï¼å¯¼å° 5.7 æ 8.0 é½å¯ä»¥ï¼ååï¼8.0 â 5.7ï¼å¯è½å `utf8mb4_0900_ai_ci` æåºè§å失败ã |
| | | - æ¬æ¬¡å·²çæå¹¶éªè¯è¿å¤ä»½ï¼`traffic_audit_full_20260913.sql`ï¼45.5 MBï¼29 å¼ è¡¨å¯¼å
¥åé表 `COUNT(*)` 䏿ºåº 0 å·®å¼ï¼ã |
| | | - å¤ä»½éå
å« `sys_user`ï¼è´¦å·å¯ç 䏿ºæºå¨å®å
¨ä¸è´ï¼æ¬æºæ¯ `admin / 123456`ï¼ï¼ä¸ä¼è¢«éç½®æ `admin/admin123`ã |
| | | - â ï¸ å¤ä»½éæ¯å¼ 表é½å¸¦ `DROP TABLE IF EXISTS`ï¼å
± 29 å¼ ï¼ï¼**ç®æ åºè¦æ¯å·²ææ°æ®ï¼ä¼è¢«ç´æ¥è¦ç**ã请è¿åå°ç©ºåºï¼æå
èªå·±å¤ä»½ç®æ åºã |
| | | - æ¬æ¬¡å·²çæå¹¶**éªè¯è¿**å¤ä»½ï¼`traffic_audit_full_20260913.sql`ï¼45.5 MBï¼8.0.29 客æ·ç«¯å¯¼åºï¼ã |
| | | éªè¯æ¹å¼ï¼æå¤ä»½åºåæ¹æä¸´æ¶åºå¯¼å
¥ï¼é表æ¯å¯¹ `SHOW CREATE TABLE`ï¼è¡¨ç»æï¼ä¸ `COUNT(*)`ï¼è¡æ°ï¼ââ**29 å¼ è¡¨ç»æä¸è¡æ°å 0 å·®å¼**ï¼æ½æ¥ `wyc_order_monthly` 2026-08 æ°æ®ä¸è´ï¼éªè¯åå·²å é¤ä¸´æ¶åºã |
| | | |
| | | #### 路线 B2ï¼ç¨ Navicat çãå¤ä»½ / è¿åå¤ä»½ãï¼.nb3ï¼æè´´è¿æ¥å¸¸ä¹ æ¯ï¼ |
| | | |
| | | `.nb3` æ¯ Navicat ç§æå¤ä»½æ ¼å¼ï¼tar 容å¨ï¼æ¯å¼ 表ä¸ä»½ meta.json + gz åç¼©çæ°æ®åç + SHA1 æ ¡éª + æ» meta.jsonï¼ï¼ |
| | | åªè½ç± Navicat èªå·±çæãä¹åªè½å¨ Navicat éç¨ãè¿åå¤ä»½ãè¿åââ**ç¨ `.sql` ç¹ãè¿åå¤ä»½ãä¸å®å¤±è´¥**ï¼é£ä¸ªå
¥å£åªè®¤ .nb3ï¼ã |
| | | |
| | | 卿ºæºå¨ï¼30 ç§ï¼ï¼ |
| | | |
| | | 1. Navicat â è¿æ¥ `mysql80` â éä¸ `traffic_audit` â å³é® âãå¤ä»½â¦ãâ 起个åå â ç¡®å®ï¼çå®è·å®ï¼ |
| | | 2. çæçå¤ä»½æä»¶å¨ Navicat ç profile ç®å½ï¼`D:\ææ¡£\Navicat\MySQL\Servers\mysql80\traffic_audit\<æ¶é´æ³>.nb3` |
| | | ï¼æ¬æº 8/27 é£ä»½å°±å¨è¿éï¼ä½å®**å·²è¿æ**ï¼åªæ 27 å¼ è¡¨ã缺ç½çº¦è½¦ä¸¤å¼ è¡¨ãæ°æ®æ¯ 8/27 çï¼ä¸è¦ç¨ï¼ã |
| | | |
| | | å¨ç®æ æºå¨ï¼ |
| | | |
| | | 3. å
å¨ Navicat é建ä¸ä¸ªè¿å°æ¬æº MySQL 8.0 çè¿æ¥ï¼**è¿æ¥åå»ºè®®ä¸æºæºå¨ä¸è´ï¼æ¯å¦ `mysql80`**ï¼ï¼å¹¶æ°å»ºç©ºåº `traffic_audit`ï¼å符é utf8mb4ï¼ï¼ |
| | | 4. æ `.nb3` æ¾å°ç®æ æºå¨ç对åºç®å½ `<Navicat profile>\MySQL\Servers\<è¿æ¥å>\traffic_audit\`ï¼æ²¡æå°±ç
§ç建ç®å½ï¼ï¼ |
| | | 5. å³é®è¯¥åº âãè¿åå¤ä»½ãâ å¨éæ©å表éå¾éè¿ä»½å¤ä»½ â å¼å§ï¼å表éçä¸å°å°±éå¯ä¸æ¬¡ Navicatï¼ã |
| | | |
| | | > ä¸ç§æ¹å¼ï¼è·¯çº¿ A ç©ºåº 4 èæ¬ / 路线 B å½ä»¤è¡è¿å .sql / 路线 B2 Navicat .nb3ï¼**ä»»éå
¶ä¸**å³å¯ï¼ |
| | | > ä½**ä¸è¦å å **ï¼è¿åå®å¤ä»½ååè· `init.sql` ä¼ææ°æ®æ¸
空é建ã |
| | | |
| | | > 注æï¼`docs/` ç®å½ï¼æ¥è¡¨æ¨¡æ¿ãæ±æ»å¤§è¡¨æ¯çï¼**䏿°æ®åºæ å
³ï¼æ è®ºåªæ¡è·¯çº¿é½å¿
é¡»ä¸å¹¶æ·è´**ã |
| | | |
| | |
| | | |
| | | - **2026-09-13**ï¼æ°å¢ä¸é®æå
èæ¬ `package-deploy.py`ï¼jar æ¹ä¸ºå
åµå端ï¼é¨ç½²æºä¸åéè¦ nginxï¼ï¼å é¤ Redis ç¸å
³è¯´æï¼ä»£ç æªä½¿ç¨ï¼ï¼è¡¥ `sql_wyc.sql` ä¸ `summary.template-dir`ï¼è¡¥ `jwt.secret` åå¼è§åï¼è¡¥é¨ç½²åéªè¯æ¸
åã |
| | | - 2026-08-27ï¼é¦çï¼zip é¨ç½²å
+ nginx æ¹æ¡ï¼ã |
| | | |
| | | --- |
| | | |
| | | ## å¯é¥ä¸é
ç½®ï¼2026-09-26 èµ·ï¼æå
å¿
è¯»ï¼ |
| | | |
| | | ### åå±çº¦å® |
| | | |
| | | | ä½ç½® | ç¨é | æ¯å¦è¿ git | æ¯å¦è¿ jar | |
| | | | --- | --- | --- | --- | |
| | | | `traffic-audit-server/src/main/resources/application.yml` | è¿ jar çé»è®¤é
ç½®ï¼**åªæå ä½ç¬¦**ï¼`${TRAFFIC_DB_PASSWORD:}`ã`${DEEPSEEK_API_KEY:}` çï¼ | å¦ï¼å·² gitignoreï¼ç¨ `application.yml.example` 忍¡æ¿ï¼ | **æ¯**ï¼æ çå®å¼ï¼ | |
| | | | `traffic-audit-server/config/application.yml` | æ¬æºå¼åçå®å¼ï¼åºå£ä»¤ / JWT / DeepSeek keyï¼ | å¦ï¼å·² gitignoreï¼ | å¦ | |
| | | | jar å级ç `backend/application.yml` | é¨ç½²æºçå®å¼ï¼ä¼å
级é«äº jar å
ç½®ï¼ | å¦ | å¦ï¼å¨å
å¤ï¼ç°åºå¡«ï¼ | |
| | | | ç¯å¢åé `TRAFFIC_DB_PASSWORD` / `TRAFFIC_DB_USER` / `TRAFFIC_DB_URL` / `TRAFFIC_JWT_SECRET` / `DEEPSEEK_API_KEY` | è¦ç以ä¸ä»»æä¸é¡¹ | å¦ | å¦ | |
| | | |
| | | ### æå
åèªæ¥ï¼30 ç§ï¼ |
| | | |
| | | ```powershell |
| | | # 1) ç¡®è®¤è¿ jar çé
置没æçå®å¯é¥ï¼åºåªçå° ${...}ï¼ |
| | | Select-String -Path traffic-audit-server\src\main\resources\application.yml -Pattern "password:|api-key:|secret:" |
| | | # 2) æå®å
ååéªè¯ä¸æ¬¡ jar å
é¨ |
| | | python -c "import zipfile;print(zipfile.ZipFile('traffic-audit-server/target/traffic-audit-server-1.0.0-SNAPSHOT.jar').read('BOOT-INF/classes/application.yml').decode('utf-8'))" | Select-String "password:|api-key:" |
| | | ``` |
| | | |
| | | ### é¨ç½²æºä¸å /æ¢ DeepSeek key |
| | | |
| | | 1. æå
ä¸ä¼ åï¼ç¼è¾ **jar å级**ç `backend/application.yml`ï¼`deepseek.api-key: "ä½ çæ°key"`ï¼ç空åé¡µé¢ AI åæä¸å¯ç¨ï¼å
¶ä½åè½æ£å¸¸ï¼ï¼ |
| | | 2. éå¯å端ï¼`start-backend.cmd`ï¼æ `java -jar traffic-audit-server-1.0.0-SNAPSHOT.jar`ï¼ï¼ |
| | | 3. 页é¢éç¹ä¸æ¬¡ AI åæç¡®è®¤å¯ç¨ï¼ |
| | | 4. **ä¸è¦**廿¹ jar å
é¨çé
ç½®ï¼æ¹äºä¸æ¬¡åå
就丢ï¼ï¼ä¹ä¸è¦æ key æäº¤è¿ä»»ä½ä»åºæä»¶ã |
| | | |
| | | ### è½®æ¢ï¼ä½åºï¼å·²æ³é²ç key |
| | | |
| | | 1. ç»å½ DeepSeek æ§å¶å° â API Keys â æ°å»ºä¸ä¸ª keyï¼ |
| | | 2. å é¤/ç¦ç¨æ§ keyï¼æ§ key ç«å»å¤±æï¼æ¤åæå
带åºå»ç jar éé£ä»½å³ä½åºï¼ï¼ |
| | | 3. æä¸é¢ç¬¬ 1~3 æ¥ææ° key å¡«å°é¨ç½²æºçå¤é¨é
置并éå¯éªè¯ã |