#!/bin/bash set -e SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" cd "$SCRIPT_DIR" echo "=== Web-Lite 数据审核平台启动脚本 ===" command -v python3 >/dev/null 2>&1 || { echo "需要 Python 3.11+"; exit 1; } command -v node >/dev/null 2>&1 || { echo "需要 Node.js 18+"; exit 1; } # Backend echo "[1/4] 安装后端依赖..." cd "$SCRIPT_DIR/backend" if [ ! -d "venv" ]; then python3 -m venv venv fi source venv/bin/activate pip install -r requirements.txt -q echo "[2/4] 启动后端 (http://localhost:9000)..." python -m uvicorn app.main:app --host 0.0.0.0 --port 9000 --reload & BACKEND_PID=$! # Frontend echo "[3/4] 安装前端依赖..." cd "$SCRIPT_DIR/frontend" if [ ! -d "node_modules" ]; then npm install fi echo "[4/4] 启动前端 (http://localhost:5173)..." npm run dev & FRONTEND_PID=$! echo "" echo "=== 服务已启动 ===" echo "前端: http://localhost:5173" echo "后端: http://localhost:9000" echo "API 文档: http://localhost:9000/docs" echo "默认账号: admin / 123456" echo "" echo "按 Ctrl+C 停止所有服务" trap "kill $BACKEND_PID $FRONTEND_PID 2>/dev/null; exit 0" INT TERM wait