141 lines
3.2 KiB
Batchfile
141 lines
3.2 KiB
Batchfile
@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
|