From e28e91f1d577187525a213243870680f2256ef2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=A1=BA=E4=B8=9C?= <577732344@qq.com> Date: Wed, 11 Feb 2026 16:32:01 +0800 Subject: [PATCH] chore: Add batch scripts for build, deployment, and configuration MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove *.bat from .gitignore to track build and utility scripts - Add build.bat for automated PyInstaller packaging with dependency checks - Add run_gui.bat for launching the GUI application with error handling - Add 启动工具.bat interactive menu for accessing all project tools and operations - Add 修复并重新打包.bat comprehensive build script with COM component fixes - Add 配置API密钥.bat utility for configuring API keys in config.json - Enable version control of batch scripts for easier distribution and maintenance --- .gitignore | 1 - build.bat | 67 +++++++++++++++++++++++++++ run_gui.bat | 10 ++++ 修复并重新打包.bat | 113 +++++++++++++++++++++++++++++++++++++++++++++ 启动工具.bat | 110 +++++++++++++++++++++++++++++++++++++++++++ 配置API密钥.bat | 48 +++++++++++++++++++ 6 files changed, 348 insertions(+), 1 deletion(-) create mode 100644 build.bat create mode 100644 run_gui.bat create mode 100644 修复并重新打包.bat create mode 100644 启动工具.bat create mode 100644 配置API密钥.bat diff --git a/.gitignore b/.gitignore index b6c92ab..7e69539 100644 --- a/.gitignore +++ b/.gitignore @@ -6,5 +6,4 @@ build/ msgs.txt __pycache__/ *.ipynb -*.bat @AutomationLog.txt \ No newline at end of file diff --git a/build.bat b/build.bat new file mode 100644 index 0000000..4d4226a --- /dev/null +++ b/build.bat @@ -0,0 +1,67 @@ +@echo off +chcp 65001 >nul +echo ======================================== +echo 微信岗位提取工具 - 打包脚本 +echo ======================================== +echo. + +echo 检查依赖... +pip show pyinstaller >nul 2>&1 +if errorlevel 1 ( + echo [错误] PyInstaller 未安装 + echo 正在安装 PyInstaller... + pip install pyinstaller + if errorlevel 1 ( + echo [错误] 安装失败,请手动运行: pip install pyinstaller + pause + exit /b 1 + ) +) + +pip show pywin32 >nul 2>&1 +if errorlevel 1 ( + echo [警告] pywin32 未安装 + echo 正在安装 pywin32... + pip install pywin32 + if errorlevel 1 ( + echo [错误] 安装失败,请手动运行: pip install pywin32 + pause + exit /b 1 + ) +) + +echo [OK] 依赖已安装 +echo. + +echo 清理旧文件... +if exist build rmdir /s /q build +if exist dist rmdir /s /q dist +if exist "微信岗位提取工具.spec" del "微信岗位提取工具.spec" +echo [OK] 清理完成 +echo. + +echo 开始打包... +pyinstaller build_exe.spec + +if errorlevel 1 ( + echo. + echo [错误] 打包失败 + pause + exit /b 1 +) + +echo. +echo ======================================== +echo [成功] 打包完成! +echo ======================================== +echo. +echo 可执行文件位置: dist\微信岗位提取工具.exe +echo. +echo 使用说明: +echo 1. 将 dist\微信岗位提取工具.exe 复制到任意位置 +echo 2. 确保微信 3.9 已登录 +echo 3. 双击运行程序 +echo 4. 配置目标群组和API密钥 +echo 5. 点击"开始任务"开始监听 +echo. +pause diff --git a/run_gui.bat b/run_gui.bat new file mode 100644 index 0000000..9d2a96a --- /dev/null +++ b/run_gui.bat @@ -0,0 +1,10 @@ +@echo off +chcp 65001 >nul +echo 启动微信岗位提取工具... +python job_extractor_gui.py +if errorlevel 1 ( + echo. + echo [错误] 启动失败 + echo 请确保已安装依赖: pip install -e . ^&^& pip install requests + pause +) diff --git a/修复并重新打包.bat b/修复并重新打包.bat new file mode 100644 index 0000000..85b4f19 --- /dev/null +++ b/修复并重新打包.bat @@ -0,0 +1,113 @@ +@echo off +chcp 65001 >nul +title 修复COM组件问题并重新打包 +color 0E + +echo ╔════════════════════════════════════════╗ +echo ║ 修复COM组件问题并重新打包 ║ +echo ╚════════════════════════════════════════╝ +echo. + +echo [步骤 1/5] 检查Python环境... +python --version >nul 2>&1 +if errorlevel 1 ( + echo [错误] Python未安装或未添加到PATH + pause + exit /b 1 +) +python --version +echo [OK] Python环境正常 +echo. + +echo [步骤 2/5] 安装/更新pywin32... +pip install --upgrade pywin32 +if errorlevel 1 ( + echo [错误] pywin32安装失败 + pause + exit /b 1 +) +echo [OK] pywin32已安装 +echo. + +echo [步骤 3/5] 安装/更新PyInstaller... +pip install --upgrade pyinstaller +if errorlevel 1 ( + echo [错误] PyInstaller安装失败 + pause + exit /b 1 +) +echo [OK] PyInstaller已安装 +echo. + +echo [步骤 4/5] 清理旧的构建文件... +if exist build ( + rmdir /s /q build + echo 已删除 build 目录 +) +if exist dist ( + rmdir /s /q dist + echo 已删除 dist 目录 +) +if exist "微信岗位提取工具.spec" ( + del "微信岗位提取工具.spec" + echo 已删除旧的spec文件 +) +echo [OK] 清理完成 +echo. + +echo [步骤 5/5] 开始打包... +echo 这可能需要几分钟,请耐心等待... +echo. +pyinstaller build_exe.spec + +if errorlevel 1 ( + echo. + echo ════════════════════════════════════════ + echo [失败] 打包过程出现错误 + echo ════════════════════════════════════════ + echo. + echo 可能的原因: + echo 1. 缺少某些依赖包 + echo 2. 文件被占用 + echo 3. 磁盘空间不足 + echo. + echo 请查看上方的错误信息,或尝试: + echo - 关闭所有相关程序 + echo - 以管理员身份运行此脚本 + echo - 手动运行: pip install -r requirements.txt + echo. + pause + exit /b 1 +) + +echo. +echo ════════════════════════════════════════ +echo [成功] 打包完成! +echo ════════════════════════════════════════ +echo. +echo 可执行文件位置: dist\微信岗位提取工具.exe +echo 文件大小: +dir "dist\微信岗位提取工具.exe" | find "微信岗位提取工具.exe" +echo. +echo ════════════════════════════════════════ +echo 测试建议: +echo ════════════════════════════════════════ +echo 1. 确保微信 3.9 已登录 +echo 2. 运行: dist\微信岗位提取工具.exe +echo 3. 配置目标群组和API密钥 +echo 4. 点击"开始任务"测试 +echo 5. 检查是否还有COM错误 +echo. +echo 如果仍有问题,请查看"打包问题修复说明.md" +echo. + +set /p test=是否立即测试运行?(Y/N): +if /i "%test%"=="Y" ( + echo. + echo 正在启动程序... + start "" "dist\微信岗位提取工具.exe" +) + +echo. +echo 完成! +pause diff --git a/启动工具.bat b/启动工具.bat new file mode 100644 index 0000000..17c6591 --- /dev/null +++ b/启动工具.bat @@ -0,0 +1,110 @@ +@echo off +chcp 65001 >nul +title 微信岗位提取工具 - 启动器 +color 0A + +:menu +cls +echo. +echo ╔════════════════════════════════════════╗ +echo ║ 微信群岗位信息提取工具 v1.0 ║ +echo ╚════════════════════════════════════════╝ +echo. +echo 请选择操作: +echo. +echo [1] 启动 GUI 版本(推荐) +echo [2] 启动命令行版本 +echo [3] 测试 API 连接 +echo [4] 查看已提取的岗位数据 +echo [5] 打包成 EXE 文件 +echo [6] 安装/更新依赖 +echo [0] 退出 +echo. +echo ════════════════════════════════════════ +set /p choice=请输入选项 (0-6): + +if "%choice%"=="1" goto gui +if "%choice%"=="2" goto cli +if "%choice%"=="3" goto test +if "%choice%"=="4" goto view +if "%choice%"=="5" goto build +if "%choice%"=="6" goto install +if "%choice%"=="0" goto end +echo 无效选项,请重新选择 +timeout /t 2 >nul +goto menu + +:gui +cls +echo 正在启动 GUI 版本... +python job_extractor_gui.py +if errorlevel 1 ( + echo. + echo [错误] 启动失败,可能缺少依赖 + echo 请选择菜单中的选项 6 安装依赖 + pause +) +goto menu + +:cli +cls +echo 正在启动命令行版本... +echo 按 Ctrl+C 可停止程序 +echo. +python job_extractor.py +pause +goto menu + +:test +cls +echo 正在测试 API 连接... +echo. +python test_api.py +pause +goto menu + +:view +cls +echo 正在查看岗位数据... +echo. +python view_jobs.py +pause +goto menu + +:build +cls +echo 正在打包成 EXE... +echo 这可能需要几分钟时间,请耐心等待... +echo. +call build.bat +pause +goto menu + +:install +cls +echo 正在安装/更新依赖... +echo. +echo [1/4] 安装 wxauto... +pip install -e . +echo. +echo [2/4] 安装 requests... +pip install requests +echo. +echo [3/4] 安装 pywin32(COM组件支持)... +pip install pywin32 +echo. +echo [4/4] 安装 pyinstaller(用于打包)... +pip install pyinstaller +echo. +echo ════════════════════════════════════════ +echo 依赖安装完成! +echo ════════════════════════════════════════ +pause +goto menu + +:end +cls +echo. +echo 感谢使用!再见~ +timeout /t 2 >nul +exit diff --git a/配置API密钥.bat b/配置API密钥.bat new file mode 100644 index 0000000..0034c86 --- /dev/null +++ b/配置API密钥.bat @@ -0,0 +1,48 @@ +@echo off +chcp 65001 >nul +title 配置API密钥 +color 0B + +echo ╔════════════════════════════════════════╗ +echo ║ 配置百炼API密钥工具 ║ +echo ╚════════════════════════════════════════╝ +echo. +echo 此工具用于在打包前配置API密钥 +echo API密钥将被写入config.json文件 +echo. +echo ════════════════════════════════════════ +echo. + +set /p api_key=请输入您的百炼API密钥: + +if "%api_key%"=="" ( + echo. + echo [错误] API密钥不能为空 + pause + exit /b 1 +) + +echo. +echo 正在更新配置文件... + +python -c "import json; config = json.load(open('config.json', 'r', encoding='utf-8')); config['api_key'] = '%api_key%'; json.dump(config, open('config.json', 'w', encoding='utf-8'), ensure_ascii=False, indent=2)" + +if errorlevel 1 ( + echo [错误] 配置失败 + pause + exit /b 1 +) + +echo [成功] API密钥已配置 +echo. +echo ════════════════════════════════════════ +echo 下一步: +echo ════════════════════════════════════════ +echo 1. 配置目标群组(编辑config.json) +echo 2. 运行打包脚本(修复并重新打包.bat) +echo 3. 测试打包后的exe +echo. +echo 提示:API密钥已保存在config.json中 +echo 打包后的exe将使用此密钥 +echo. +pause