Files
pqs-9100_client/doc/打包前检查清单.md

240 lines
5.9 KiB
Markdown
Raw Normal View History

2025-12-16 10:21:38 +08:00
# 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