239 lines
5.7 KiB
Markdown
239 lines
5.7 KiB
Markdown
# 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
|
||
|