240 lines
5.9 KiB
Markdown
240 lines
5.9 KiB
Markdown
|
|
# NPQS9100 打包前检查清单
|
|||
|
|
|
|||
|
|
## ✅ 文件检查
|
|||
|
|
|
|||
|
|
### 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-service-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 端口检测功能正常
|
|||
|
|
- [ ] 18092 端口检测功能正常
|
|||
|
|
- [ ] 7777 WebSocket 端口检测功能正常
|
|||
|
|
- [ ] 端口递增逻辑正确(被占用时自动+1)
|
|||
|
|
|
|||
|
|
### MySQL 进程(绿色包 - 进程模式)
|
|||
|
|
- [ ] MySQL 进程能正常启动(通过 spawn mysqld.exe)
|
|||
|
|
- [ ] ~~MySQL 服务配置为开机自启~~(已废弃,使用进程模式)
|
|||
|
|
- [ ] 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/NPQS9100-win-x.x.x-x64.exe`
|
|||
|
|
- 预期大小:650-800 MB
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## ✅ 打包后测试
|
|||
|
|
|
|||
|
|
### 基础测试(绿色包 - 进程模式)
|
|||
|
|
- [ ] **无需管理员权限**,普通用户双击 exe 能正常启动 ✅
|
|||
|
|
- [ ] Loading 界面正常显示,显示启动步骤
|
|||
|
|
- [ ] ~~MySQL 服务自动安装并启动~~(已废弃)
|
|||
|
|
- [ ] **MySQL 进程自动启动**(任务管理器可见 mysqld.exe)
|
|||
|
|
- [ ] ~~MySQL 服务配置为开机自启~~(已废弃,进程模式随应用启动)
|
|||
|
|
- [ ] Spring Boot 自动启动(任务管理器可见 java.exe)
|
|||
|
|
- [ ] 主界面正常显示
|
|||
|
|
- [ ] 应用退出后,MySQL 和 Java 进程自动关闭 ✅
|
|||
|
|
|
|||
|
|
### 端口测试
|
|||
|
|
- [ ] 手动占用 3306,应用使用 3307
|
|||
|
|
- [ ] 手动占用 18092,应用使用 18093
|
|||
|
|
- [ ] 端口信息在 Loading 界面正确显示
|
|||
|
|
|
|||
|
|
### 数据目录测试
|
|||
|
|
- [ ] 数据目录自动创建在正确盘符
|
|||
|
|
- [ ] 所有子目录都创建成功
|
|||
|
|
- [ ] 配置文件路径正确
|
|||
|
|
|
|||
|
|
### 功能测试
|
|||
|
|
- [ ] 前端功能正常
|
|||
|
|
- [ ] 能连接到后端 API
|
|||
|
|
- [ ] 数据库操作正常
|
|||
|
|
|
|||
|
|
### 关闭测试(绿色包 - 进程模式)
|
|||
|
|
- [ ] 关闭应用正常
|
|||
|
|
- [ ] Spring Boot 进程已停止(检查任务管理器)
|
|||
|
|
- [ ] **MySQL 进程已停止**(检查任务管理器,不应残留 mysqld.exe)✅
|
|||
|
|
- [ ] ~~MySQL 服务继续运行~~(已废弃,新版本会自动清理进程)
|
|||
|
|
|
|||
|
|
### 移植测试
|
|||
|
|
- [ ] 移动到其他目录能运行
|
|||
|
|
- [ ] 在其他电脑上能运行
|
|||
|
|
- [ ] 在不同盘符上能运行
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## ✅ 日志检查
|
|||
|
|
|
|||
|
|
打包后运行一次,检查日志:
|
|||
|
|
|
|||
|
|
### 日志位置
|
|||
|
|
```
|
|||
|
|
C:\Users\[用户名]\AppData\Roaming\NQPS9100\logs\
|
|||
|
|
├── 9100-YYYYMMDD.log # 应用日志
|
|||
|
|
├── 9100-core-YYYYMMDD.log # 核心日志
|
|||
|
|
└── 9100-error-YYYYMMDD.log # 错误日志
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 检查内容
|
|||
|
|
- [ ] 端口检测日志正确
|
|||
|
|
- [ ] MySQL 服务安装/启动日志正常
|
|||
|
|
- [ ] 日志中显示"服务已配置为开机自启"
|
|||
|
|
- [ ] Spring Boot 启动日志正常
|
|||
|
|
- [ ] 无严重错误
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## ✅ 性能检查
|
|||
|
|
|
|||
|
|
- [ ] 启动时间 < 30 秒
|
|||
|
|
- [ ] Loading 界面流畅
|
|||
|
|
- [ ] 内存占用合理(< 1GB)
|
|||
|
|
- [ ] CPU 占用正常
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## ✅ 用户体验
|
|||
|
|
|
|||
|
|
- [ ] Loading 提示信息清晰
|
|||
|
|
- [ ] 错误提示友好
|
|||
|
|
- [ ] 无明显卡顿
|
|||
|
|
- [ ] 界面美观
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🐛 常见问题
|
|||
|
|
|
|||
|
|
### 打包失败
|
|||
|
|
- 检查 Node.js 版本(建议 16+)
|
|||
|
|
- 检查 npm 依赖是否完整
|
|||
|
|
- 检查磁盘空间(至少 5GB)
|
|||
|
|
|
|||
|
|
### MySQL 进程失败(绿色包 - 进程模式)
|
|||
|
|
- ~~检查是否以管理员身份运行~~(不再需要)✅
|
|||
|
|
- 检查 `mysql/bin/mysqld.exe` 是否存在
|
|||
|
|
- 检查端口是否被占用(应自动切换到其他端口)
|
|||
|
|
- 查看应用日志:`%APPDATA%/NQPS9100/logs/9100.log`
|
|||
|
|
- 查看 MySQL 错误日志:`mysql/data/*.err`
|
|||
|
|
- ~~使用 sc query mysql9100 检查服务状态~~(已废弃,不再使用服务)
|
|||
|
|
- 检查是否有残留的 mysqld.exe 进程(任务管理器)
|
|||
|
|
|
|||
|
|
### Spring Boot 启动失败
|
|||
|
|
- 检查 JAR 包是否完整
|
|||
|
|
- 检查 JRE 是否正确
|
|||
|
|
- 检查 MySQL 是否已启动
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📦 最终产物
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
out/
|
|||
|
|
└── NPQS9100-win-x.x.x-x64.exe
|
|||
|
|
|
|||
|
|
运行后结构:
|
|||
|
|
├── NPQS9100.exe
|
|||
|
|
├── mysql/
|
|||
|
|
├── jre/
|
|||
|
|
├── java/
|
|||
|
|
└── resources/
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📝 分发清单
|
|||
|
|
|
|||
|
|
打包完成后准备:
|
|||
|
|
|
|||
|
|
1. **安装包**
|
|||
|
|
- `NPQS9100-win-x.x.x-x64.exe`
|
|||
|
|
|
|||
|
|
2. **用户文档**
|
|||
|
|
- 使用说明
|
|||
|
|
- 系统要求
|
|||
|
|
- 常见问题
|
|||
|
|
|
|||
|
|
3. **技术文档**
|
|||
|
|
- 部署说明
|
|||
|
|
- 配置说明
|
|||
|
|
- 故障排除
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
✅ 所有检查通过后即可分发!
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
南京灿能电气自动化有限公司
|
|||
|
|
2025-10-15
|
|||
|
|
|