@echo off setlocal EnableExtensions cd /d "%~dp0" echo ======================================== echo 抖音客服系统 - 依赖安装 (Windows) echo ======================================== echo. REM --- 查找 Python 3.10+ --- set "PY_CMD=" for %%P in (python py) do ( if not defined PY_CMD ( %%P -c "import sys; sys.exit(0 if sys.version_info>=(3,10) else 1)" >nul 2>&1 if not errorlevel 1 set "PY_CMD=%%P" ) ) if not defined PY_CMD ( for %%V in (3.11 3.10) do ( py -%%V -c "import sys" >nul 2>&1 if not errorlevel 1 if not defined PY_CMD set "PY_CMD=py -%%V" ) ) if not defined PY_CMD ( echo [错误] 需要 Python 3.10 或更高版本 echo 请从 https://www.python.org/downloads/ 安装并勾选 Add to PATH pause exit /b 1 ) for /f "tokens=*" %%v in ('%PY_CMD% --version 2^>^&1') do echo [OK] %%v REM --- Node.js --- node --version >nul 2>&1 if errorlevel 1 ( echo [警告] 未找到 Node.js,私信签名将无法工作,请安装 Node 18+ LTS ) else ( for /f "tokens=*" %%v in ('node --version 2^>^&1') do echo [OK] Node %%v ) echo. REM --- 1. venv --- echo [1/6] Python 虚拟环境... cd backend if not exist ".venv\Scripts\python.exe" ( echo 创建 .venv ... %PY_CMD% -m venv .venv if errorlevel 1 ( echo [错误] 创建虚拟环境失败 cd .. pause exit /b 1 ) ) call .venv\Scripts\python.exe -m pip install -U pip -q call .venv\Scripts\pip install -r requirements.txt if errorlevel 1 ( echo [错误] pip install 失败 cd .. pause exit /b 1 ) echo Python 依赖完成 echo. REM --- 2. Playwright --- echo [2/6] Playwright Chromium... set "PLAYWRIGHT_BROWSERS_PATH=%LOCALAPPDATA%\ms-playwright" call .venv\Scripts\playwright install chromium if errorlevel 1 ( echo [警告] playwright install 失败 ) else ( echo Chromium 完成 ) echo. REM --- 3. IM --- echo [3/6] IM 签名依赖... cd rpa_engine\douyin_im\static if exist package.json ( call npm install --no-fund --no-audit if errorlevel 1 ( echo [错误] IM npm install 失败 cd ..\..\..\.. pause exit /b 1 ) echo jsrsasign 完成 ) cd ..\..\..\.. echo. REM --- 4. 前端 --- echo [4/6] 前端依赖... cd frontend if exist package.json ( call npm install --no-fund --no-audit if errorlevel 1 ( echo [错误] frontend npm install 失败 cd .. pause exit /b 1 ) echo 前端 npm 完成 ) cd .. echo. REM --- 5. 构建 --- echo [5/6] 构建前端... cd frontend if exist package.json ( call npm run build if errorlevel 1 ( echo [警告] 前端构建失败,可稍后手动 npm run build ) else ( echo -^> frontend\dist ) ) cd .. echo. REM --- 6. 校验 --- echo [6/6] 校验... cd backend call .venv\Scripts\python.exe -c "import fastapi, uvicorn, playwright, execjs; print(' 核心包 OK')" if exist "..\frontend\dist\index.html" ( echo 前端静态 OK ) else ( echo [警告] 未找到 frontend\dist\index.html ) cd .. echo. echo ======================================== echo 安装完成 echo. echo 启动 Web: start_web.bat echo 启动 API: start_backend.bat echo 开发前端: cd frontend ^&^& npm run dev echo ======================================== pause