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**: 初始版本,支持基本打包和配置功能 |