196 lines
5.4 KiB
Markdown
196 lines
5.4 KiB
Markdown
# VWED任务系统打包模块
|
||
|
||
此模块提供了将VWED任务系统打包为Windows可执行文件的完整解决方案,包含动态配置功能。
|
||
|
||
## 🎯 推荐使用方式
|
||
|
||
**集成版本(推荐)**: 配置界面 + 服务启动合二为一,用户体验最佳!
|
||
|
||
```bash
|
||
cd packaging/scripts
|
||
build_integrated.bat
|
||
```
|
||
|
||
## 目录结构
|
||
|
||
```
|
||
packaging/
|
||
├── config_tool/ # 配置工具
|
||
│ ├── config_manager.py # GUI配置管理器
|
||
│ ├── integrated_config_gui.py # 集成配置GUI界面
|
||
│ └── startup_loader.py # 启动配置加载器
|
||
├── scripts/ # 构建脚本
|
||
│ ├── build_integrated.bat # 🌟 集成版构建脚本(推荐)
|
||
│ ├── build.py # Python构建脚本
|
||
│ ├── build.bat # 分离版构建脚本
|
||
│ └── test_integrated.bat # 集成版测试脚本
|
||
├── resources/ # 资源文件
|
||
│ └── README.md # 资源说明
|
||
├── integrated_launcher.py # 🌟 集成启动器(推荐)
|
||
├── vwed_integrated.spec # 🌟 集成版PyInstaller配置
|
||
├── main_with_config.py # 带配置加载的主程序入口
|
||
├── vwed_task_main.spec # 主程序PyInstaller配置
|
||
├── vwed_config_tool.spec # 配置工具PyInstaller配置
|
||
├── requirements_build.txt # 打包依赖
|
||
└── README.md # 本文件
|
||
```
|
||
|
||
## ✨ 功能特性
|
||
|
||
### 🎉 集成版本特点(推荐)
|
||
- **一键启动**: 单个exe文件包含配置界面和服务启动
|
||
- **智能配置**: 首次启动显示配置界面,后续直接启动服务
|
||
- **无缝体验**: 配置完成后自动关闭配置窗口,直接进入服务
|
||
- **自动保存**: 配置自动保存,无需重复设置
|
||
|
||
### 1. 动态配置管理
|
||
- **GUI配置工具**: 提供友好的图形界面配置数据库连接和API地址
|
||
- **配置文件管理**: 自动保存/加载配置到 `config.ini` 文件
|
||
- **环境变量注入**: 启动时自动设置环境变量
|
||
- **配置验证**: 支持数据库连接测试
|
||
|
||
### 2. 可配置项
|
||
- **数据库配置**:
|
||
- `username`: MySQL用户名
|
||
- `password`: MySQL密码
|
||
- `host`: MySQL主机地址
|
||
- **API配置**:
|
||
- `tf_api_base_url`: TF API基础URL
|
||
|
||
### 3. 打包输出
|
||
**集成版本(推荐)**:
|
||
- **VWED_Task_System.exe** - 包含配置界面和服务的单一可执行文件
|
||
- **启动VWED任务系统.bat** - 便捷启动脚本
|
||
- **使用说明.txt** - 详细使用指南
|
||
|
||
**分离版本**:
|
||
- **vwed_task_main.exe** - 核心任务系统服务
|
||
- **vwed_config_tool.exe** - GUI配置管理器
|
||
- **启动脚本** - 便捷的批处理启动脚本
|
||
|
||
## 使用方法
|
||
|
||
### 方法一:自动化构建(推荐)
|
||
|
||
1. **运行自动化构建**:
|
||
```bash
|
||
cd packaging/scripts
|
||
build.bat
|
||
```
|
||
|
||
2. **等待构建完成**,输出位于 `dist/VWED_Task_Release/`
|
||
|
||
### 方法二:手动构建
|
||
|
||
1. **安装打包依赖**:
|
||
```bash
|
||
pip install -r packaging/requirements_build.txt
|
||
```
|
||
|
||
2. **构建主程序**:
|
||
```bash
|
||
pyinstaller --clean packaging/vwed_task_main.spec
|
||
```
|
||
|
||
3. **构建配置工具**:
|
||
```bash
|
||
pyinstaller --clean packaging/vwed_config_tool.spec
|
||
```
|
||
|
||
4. **手动创建发布包**:
|
||
```bash
|
||
python packaging/scripts/build.py
|
||
```
|
||
|
||
### 方法三:快速构建
|
||
|
||
```bash
|
||
cd packaging/scripts
|
||
quick_build.bat
|
||
```
|
||
|
||
## 部署使用
|
||
|
||
构建完成后,在目标Windows服务器上:
|
||
|
||
1. **复制发布包** `VWED_Task_Release` 到目标位置
|
||
|
||
2. **首次配置**:
|
||
- 双击 `启动配置工具.bat`
|
||
- 设置数据库连接参数
|
||
- 设置API地址
|
||
- 测试连接并保存配置
|
||
|
||
3. **启动服务**:
|
||
- 在配置工具中点击"启动服务",或
|
||
- 双击 `直接启动服务.bat`
|
||
|
||
4. **访问系统**:
|
||
- 浏览器访问 `http://localhost:8000`
|
||
- API文档: `http://localhost:8000/docs`
|
||
|
||
5. **停止服务**:
|
||
- 双击 `停止服务.bat`
|
||
|
||
## 配置文件格式
|
||
|
||
系统使用 `config.ini` 文件存储配置:
|
||
|
||
```ini
|
||
[database]
|
||
username = root
|
||
password = root
|
||
host = localhost
|
||
|
||
[api]
|
||
tf_api_base_url = http://111.231.146.230:4080/jeecg-boot
|
||
```
|
||
|
||
## 环境变量映射
|
||
|
||
配置文件中的值会自动映射为环境变量:
|
||
- `database.username` → `DB_USER`
|
||
- `database.password` → `DB_PASSWORD`
|
||
- `database.host` → `DB_HOST`
|
||
- `api.tf_api_base_url` → `TF_API_BASE_URL`
|
||
|
||
## 故障排除
|
||
|
||
### 常见问题
|
||
|
||
1. **构建失败**:
|
||
- 确保Python环境正确安装
|
||
- 检查依赖是否完整安装
|
||
- 查看构建日志确定具体错误
|
||
|
||
2. **配置工具无法启动**:
|
||
- 确保目标系统支持tkinter
|
||
- 检查权限设置
|
||
|
||
3. **主程序启动失败**:
|
||
- 检查数据库连接配置
|
||
- 确保MySQL服务已启动
|
||
- 查看应用日志
|
||
|
||
### 调试模式
|
||
|
||
如需调试,可以修改 `vwed_task_main.spec` 中的 `console=True` 以显示控制台输出。
|
||
|
||
## 技术细节
|
||
|
||
### 打包技术栈
|
||
- **PyInstaller**: Python应用打包
|
||
- **tkinter**: GUI配置界面
|
||
- **configparser**: 配置文件管理
|
||
- **pathlib**: 路径处理
|
||
- **subprocess**: 进程管理
|
||
|
||
### 架构设计
|
||
- **配置分离**: 运行时配置与代码分离
|
||
- **模块化**: 配置工具与主程序独立
|
||
- **热加载**: 支持运行时配置更新
|
||
- **错误处理**: 完善的异常处理和用户提示
|
||
|
||
## 版本历史
|
||
|
||
- **v1.0**: 初始版本,支持基本打包和配置功能 |