219 lines
4.9 KiB
Batchfile
219 lines
4.9 KiB
Batchfile
@echo off
|
||
echo ==============================================
|
||
echo 低代码智能体平台 - Windows 启动脚本
|
||
echo ==============================================
|
||
echo.
|
||
|
||
REM 检查Python是否安装
|
||
python --version >nul 2>&1
|
||
if errorlevel 1 (
|
||
echo ❌ Python 未安装或未添加到系统PATH
|
||
echo 请安装 Python 3.11+ 并确保在PATH中
|
||
pause
|
||
exit /b 1
|
||
)
|
||
|
||
REM 检查Node.js是否安装
|
||
node --version >nul 2>&1
|
||
if errorlevel 1 (
|
||
echo ❌ Node.js 未安装或未添加到系统PATH
|
||
echo 请安装 Node.js 18+ 并确保在PATH中
|
||
pause
|
||
exit /b 1
|
||
)
|
||
|
||
REM 检查pnpm是否安装
|
||
pnpm --version >nul 2>&1
|
||
if errorlevel 1 (
|
||
echo ⚠️ pnpm 未安装,正在安装...
|
||
npm install -g pnpm
|
||
if errorlevel 1 (
|
||
echo ❌ pnpm 安装失败
|
||
pause
|
||
exit /b 1
|
||
)
|
||
)
|
||
|
||
echo ✅ 环境检查通过
|
||
echo.
|
||
|
||
REM 进入项目目录
|
||
cd /d "%~dp0"
|
||
|
||
echo ==============================================
|
||
echo 1. Redis 检查
|
||
echo ==============================================
|
||
echo.
|
||
|
||
REM 检查Redis服务是否运行
|
||
sc query Redis >nul 2>&1
|
||
if errorlevel 1 (
|
||
echo ❌ Redis 服务未运行
|
||
echo.
|
||
echo 请按以下步骤安装Redis:
|
||
echo 1. 下载 Redis Windows 版本:https://github.com/microsoftarchive/redis/releases
|
||
echo 2. 下载 Redis-x64-3.2.100.msi
|
||
echo 3. 运行安装程序,按照默认设置安装
|
||
echo 4. Redis 将作为 Windows 服务运行在 6379 端口
|
||
echo.
|
||
echo 安装完成后,请重新运行此脚本
|
||
pause
|
||
exit /b 1
|
||
) else (
|
||
echo ✅ Redis 服务正在运行
|
||
)
|
||
|
||
echo ==============================================
|
||
echo 2. 启动后端服务
|
||
echo ==============================================
|
||
echo.
|
||
|
||
REM 进入backend目录
|
||
cd backend
|
||
|
||
REM 检查虚拟环境
|
||
if not exist "venv\Scripts\activate" (
|
||
echo ⚠️ 虚拟环境不存在,正在创建...
|
||
python -m venv venv
|
||
if errorlevel 1 (
|
||
echo ❌ 虚拟环境创建失败
|
||
pause
|
||
exit /b 1
|
||
)
|
||
)
|
||
|
||
echo ✅ 虚拟环境检查通过
|
||
|
||
REM 激活虚拟环境并安装依赖
|
||
call venv\Scripts\activate
|
||
|
||
echo 📦 检查Python依赖...
|
||
pip list | findstr "fastapi" >nul
|
||
if errorlevel 1 (
|
||
echo ⚠️ 正在安装Python依赖...
|
||
pip install -r requirements.txt
|
||
if errorlevel 1 (
|
||
echo ❌ Python依赖安装失败
|
||
pause
|
||
exit /b 1
|
||
)
|
||
echo ✅ Python依赖安装完成
|
||
) else (
|
||
echo ✅ Python依赖已安装
|
||
)
|
||
|
||
echo.
|
||
|
||
echo 🔧 配置环境变量...
|
||
if not exist ".env" (
|
||
copy env.example .env >nul
|
||
echo ⚠️ 已创建 .env 文件,请检查配置
|
||
)
|
||
|
||
echo.
|
||
|
||
echo 🗄️ 运行数据库迁移...
|
||
alembic upgrade head
|
||
if errorlevel 1 (
|
||
echo ⚠️ 数据库迁移失败,继续启动...
|
||
)
|
||
|
||
echo.
|
||
|
||
echo 🌐 启动后端服务...
|
||
echo 后端服务将在 http://localhost:8037 启动
|
||
echo API文档:http://localhost:8037/docs
|
||
echo.
|
||
|
||
start cmd /k "uvicorn app.main:app --host 0.0.0.0 --port 8037 --reload"
|
||
|
||
echo ⏳ 等待后端服务启动...
|
||
timeout /t 3 /nobreak >nul
|
||
|
||
echo.
|
||
|
||
echo ==============================================
|
||
echo 3. 启动 Celery Worker
|
||
echo ==============================================
|
||
echo.
|
||
|
||
echo 🔄 启动 Celery Worker...
|
||
start cmd /k "celery -A app.core.celery_app worker --loglevel=info"
|
||
|
||
echo ⏳ 等待 Celery Worker 启动...
|
||
timeout /t 2 /nobreak >nul
|
||
|
||
echo.
|
||
|
||
echo ==============================================
|
||
echo 4. 启动前端服务
|
||
echo ==============================================
|
||
echo.
|
||
|
||
REM 返回项目根目录
|
||
cd ..
|
||
|
||
REM 进入frontend目录
|
||
cd frontend
|
||
|
||
echo 📦 检查前端依赖...
|
||
if not exist "node_modules" (
|
||
echo ⚠️ 正在安装前端依赖...
|
||
pnpm install
|
||
if errorlevel 1 (
|
||
echo ❌ 前端依赖安装失败
|
||
pause
|
||
exit /b 1
|
||
)
|
||
echo ✅ 前端依赖安装完成
|
||
) else (
|
||
echo ✅ 前端依赖已安装
|
||
)
|
||
|
||
echo.
|
||
|
||
echo 🖥️ 启动前端服务...
|
||
echo 前端服务将在 http://localhost:3000 启动
|
||
echo.
|
||
|
||
start cmd /k "pnpm dev"
|
||
|
||
echo ⏳ 等待前端服务启动...
|
||
timeout /t 5 /nobreak >nul
|
||
|
||
echo.
|
||
|
||
echo ==============================================
|
||
echo 🎉 启动完成!
|
||
echo ==============================================
|
||
echo.
|
||
echo 服务访问地址:
|
||
echo 📍 前端界面: http://localhost:3000
|
||
echo 📍 后端API: http://localhost:8037
|
||
echo 📍 API文档: http://localhost:8037/docs
|
||
echo.
|
||
echo 服务状态:
|
||
echo ✅ Redis 服务: 运行中
|
||
echo ✅ 后端服务: 已启动
|
||
echo ✅ Celery Worker: 已启动
|
||
echo ✅ 前端服务: 已启动
|
||
echo.
|
||
echo 📋 重要提示:
|
||
echo 1. 首次访问需要注册新用户
|
||
echo 2. 保持所有命令行窗口打开
|
||
echo 3. 停止服务:关闭所有命令行窗口
|
||
echo.
|
||
echo ==============================================
|
||
echo.
|
||
|
||
REM 返回项目根目录
|
||
cd ..
|
||
|
||
echo 按任意键打开浏览器访问前端界面...
|
||
pause >nul
|
||
start http://localhost:3000
|
||
|
||
echo.
|
||
echo 脚本执行完成!
|
||
echo 按任意键退出...
|
||
pause >nul |