# CN_Tool 打包前检查清单 ## ✅ 文件检查 ### JRE 文件 - [ ] `build/extraResources/jre/bin/java.exe` 存在 - [ ] 运行 `java -version` 显示 1.8.0 ### MySQL 文件(进程模式 - 绿色包) - [ ] `mysql/bin/mysqld.exe` 存在 - [ ] `mysql/bin/mysql.exe` 存在(客户端工具) - [ ] `mysql/bin/mysqladmin.exe` 存在(管理工具) - [ ] ~~`mysql/data/` 目录已初始化~~(首次启动时自动初始化) - [ ] MySQL root 密码已配置为 `njcnpqs`(在 config.default.js 中) ### Java 文件 - [ ] `build/extraResources/java/entrance.jar` 存在 - [ ] `build/extraResources/java/application.yml.template` 存在 ### 脚本文件 - [ ] `scripts/port-checker.js` 存在 - [ ] `scripts/startup-manager.js` 存在 - [ ] `scripts/config-generator.js` 存在 - [ ] `scripts/mysql-process-manager.js` 存在 - [ ] `scripts/log-window-manager.js` 存在 - [ ] `scripts/java-runner.js` 存在 ### HTML 文件 - [ ] `public/html/loading.html` 存在 ### 配置文件 - [ ] `cmd/builder.json` 配置正确 - [ ] `electron/config/config.default.js` MySQL密码为 `njcnpqs` - [ ] `electron/preload/lifecycle.js` 已更新 --- ## ✅ 功能检查 ### 端口检测 - [ ] 3306 端口检测功能正常 - [ ] 18093 端口检测功能正常 - [ ] 7778 WebSocket 端口检测功能正常 - [ ] 端口递增逻辑正确(被占用时自动+1) ### MySQL 进程(绿色包 - 进程模式) - [ ] MySQL 进程能正常启动(通过 spawn mysqld.exe) - [ ] 确认当前版本为进程模式,不依赖 MySQL Windows 服务 - [ ] MySQL 数据库首次启动时自动初始化 - [ ] MySQL 连接密码正确(njcnpqs) - [ ] MySQL 进程随应用退出而自动关闭 - [ ] **无需管理员权限即可启动** ✅ ### Spring Boot 启动 - [ ] JAR 包能正常运行 - [ ] 配置文件能正确生成 - [ ] 能连接到 MySQL ### Loading 界面 - [ ] Loading 窗口能正常显示 - [ ] 进度条动画流畅 - [ ] 状态文字正确显示 - [ ] 端口和路径信息正确 --- ## ✅ 打包步骤 ### 1. 构建前端 ```bash cd frontend npm install # 如果需要 npm run build cd .. ``` **验证**: `frontend/dist/` 目录存在且有文件 ### 2. 检查依赖 ```bash npm install # 确保所有依赖都安装 ``` ### 3. 执行打包 ```bash npm run build-w # 打包 Windows 便携版 ``` ### 4. 等待完成 - 打包时间:约 5-15 分钟 - 产物位置:`out/CN_Tool` - 预期大小:650-800 MB --- ## ✅ 打包后测试 ### 基础测试(绿色包 - 进程模式) - [ ] **无需管理员权限**,普通用户双击 exe 能正常启动 ✅ - [ ] Loading 界面正常显示,显示启动步骤 - [ ] 不会尝试安装 MySQL Windows 服务 - [ ] **MySQL 进程自动启动**(任务管理器可见 mysqld.exe) - [ ] MySQL 随应用启动,退出后自动停止,不依赖开机自启 - [ ] Spring Boot 自动启动(任务管理器可见 java.exe) - [ ] 主界面正常显示 - [ ] 应用退出后,MySQL 和 Java 进程自动关闭 ✅ ### 端口测试 - [ ] 手动占用 3306,应用使用 3307 - [ ] 手动占用 18093,应用使用 18094 - [ ] 端口信息在 Loading 界面正确显示 ### 数据目录测试 - [ ] 数据目录自动创建在正确盘符 - [ ] 所有子目录都创建成功 - [ ] 配置文件路径正确 ### 功能测试 - [ ] 前端功能正常 - [ ] 能连接到后端 API - [ ] 数据库操作正常 ### 关闭测试(绿色包 - 进程模式) - [ ] 关闭应用正常 - [ ] Spring Boot 进程已停止(检查任务管理器) - [ ] **MySQL 进程已停止**(检查任务管理器,不应残留 mysqld.exe)✅ - [ ] ~~MySQL 服务继续运行~~(已废弃,新版本会自动清理进程) ### 移植测试 - [ ] 移动到其他目录能运行 - [ ] 在其他电脑上能运行 - [ ] 在不同盘符上能运行 --- ## ✅ 日志检查 打包后运行一次,检查日志: ### 日志位置 ``` C:\Users\[用户名]\AppData\Roaming\CN_Tool\logs\ ├── 9100-YYYYMMDD.log # 应用日志 ├── 9100-core-YYYYMMDD.log # 核心日志 └── 9100-error-YYYYMMDD.log # 错误日志 ``` ### 检查内容 - [ ] 端口检测日志正确 - [ ] MySQL 进程启动日志正常 - [ ] 日志中显示 mysqld.exe 启动与退出清理信息 - [ ] Spring Boot 启动日志正常 - [ ] 无严重错误 --- ## ✅ 性能检查 - [ ] 启动时间 < 30 秒 - [ ] Loading 界面流畅 - [ ] 内存占用合理(< 1GB) - [ ] CPU 占用正常 --- ## ✅ 用户体验 - [ ] Loading 提示信息清晰 - [ ] 错误提示友好 - [ ] 无明显卡顿 - [ ] 界面美观 --- ## 🐛 常见问题 ### 打包失败 - 检查 Node.js 版本(建议 16+) - 检查 npm 依赖是否完整 - 检查磁盘空间(至少 5GB) ### MySQL 进程失败(绿色包 - 进程模式) - ~~检查是否以管理员身份运行~~(不再需要)✅ - 检查 `mysql/bin/mysqld.exe` 是否存在 - 检查端口是否被占用(应自动切换到其他端口) - 查看应用日志:`%APPDATA%/CN_Tool/logs/9100.log` - 查看 MySQL 错误日志:`mysql/data/*.err` - 检查是否有残留的 mysqld.exe 进程(任务管理器) ### Spring Boot 启动失败 - 检查 JAR 包是否完整 - 检查 JRE 是否正确 - 检查 MySQL 是否已启动 --- ## 📦 最终产物 ``` out/ └── CN_Tool 运行后结构: ├── CN_Tool.exe ├── mysql/ ├── jre/ ├── java/ └── resources/ ``` --- ## 📝 分发清单 打包完成后准备: 1. **安装包** - `CN_Tool` 2. **用户文档** - 使用说明 - 系统要求 - 常见问题 3. **技术文档** - 部署说明 - 配置说明 - 故障排除 --- ✅ 所有检查通过后即可分发! --- 南京灿能电气自动化有限公司 2025-10-15