121 lines
3.1 KiB
Batchfile
121 lines
3.1 KiB
Batchfile
@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 |