BodyBalanceEvaluation/start_prod.bat
2025-07-28 11:59:56 +08:00

121 lines
3.1 KiB
Batchfile
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@echo off
chcp 65001 >nul
echo ====================================
echo 身体平衡评估系统 - 生产环境启动脚本
echo ====================================
echo.
:: 检查Python是否安装
python --version >nul 2>&1
if %errorlevel% neq 0 (
echo [错误] 未找到Python请先安装Python 3.8或更高版本
pause
exit /b 1
)
:: 显示版本信息
echo [信息] 检查环境版本...
for /f "tokens=*" %%i in ('python --version') do echo Python: %%i
echo.
:: 检查虚拟环境
if not exist "backend\venv" (
echo [错误] 未找到虚拟环境,请先运行 start_dev.bat 进行初始化
pause
exit /b 1
)
:: 激活虚拟环境
echo [信息] 激活虚拟环境...
call backend\venv\Scripts\activate.bat
if %errorlevel% neq 0 (
echo [错误] 激活虚拟环境失败
pause
exit /b 1
)
:: 检查依赖
echo [信息] 检查依赖安装状态...
pip check >nul 2>&1
if %errorlevel% neq 0 (
echo [警告] 依赖检查失败,建议重新安装依赖
)
:: 检查前端构建
if exist "frontend\src\renderer\dist" (
echo [信息] 前端已构建
else (
echo [信息] 前端未构建,正在构建...
if exist "frontend\src\renderer\package.json" (
cd frontend\src\renderer
npm run build
if %errorlevel% neq 0 (
echo [错误] 前端构建失败
cd ..\..\..
pause
exit /b 1
)
cd ..\..\..
) else (
echo [警告] 未找到前端项目
)
)
:: 检查必要目录
echo [信息] 检查目录结构...
if not exist "data" mkdir data
if not exist "data\patients" mkdir data\patients
if not exist "data\sessions" mkdir data\sessions
if not exist "data\exports" mkdir data\exports
if not exist "data\backups" mkdir data\backups
if not exist "logs" mkdir logs
if not exist "temp" mkdir temp
:: 检查配置文件
if not exist "config.json" (
echo [错误] 未找到config.json配置文件
echo [提示] 请确保配置文件存在
pause
exit /b 1
)
:: 清理临时文件
echo [信息] 清理临时文件...
if exist "temp\*" del /q temp\*
if exist "logs\*.tmp" del /q logs\*.tmp
:: 备份数据(可选)
if exist "data\database.db" (
echo [信息] 备份数据库...
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"
set "datestamp=%YYYY%%MM%%DD%_%HH%%Min%%Sec%"
copy "data\database.db" "data\backups\database_backup_%datestamp%.db" >nul 2>&1
)
:: 启动应用
echo.
echo ====================================
echo 启动生产环境
echo ====================================
echo [信息] 启动应用服务器...
echo [信息] 服务地址: http://127.0.0.1:5000
echo [信息] 按 Ctrl+C 停止服务
echo [信息] 日志文件: logs\app.log
echo.
:: 启动主程序
python backend\main.py --mode production
if %errorlevel% neq 0 (
echo.
echo [错误] 应用启动失败
echo [提示] 请检查日志文件: logs\app.log
pause
exit /b 1
)
echo.
echo [信息] 应用已停止
pause