初步增加 web 界面
This commit is contained in:
Executable
+62
@@ -0,0 +1,62 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
ROOT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
cd "$ROOT_DIR"
|
||||
|
||||
PYTHON="$ROOT_DIR/.venv/bin/python"
|
||||
FRONTEND_DIR="$ROOT_DIR/web/frontend"
|
||||
BACKEND_PORT=8000
|
||||
FRONTEND_PORT=5173
|
||||
|
||||
# 检查 Python 虚拟环境
|
||||
if [ ! -f "$PYTHON" ]; then
|
||||
echo "❌ 未找到 .venv,正在创建..."
|
||||
uv venv .venv
|
||||
uv pip install -e .
|
||||
fi
|
||||
|
||||
# 检查前端依赖
|
||||
if [ ! -d "$FRONTEND_DIR/node_modules" ]; then
|
||||
echo "❌ 前端依赖未安装,正在安装..."
|
||||
cd "$FRONTEND_DIR" && npm install && cd "$ROOT_DIR"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "=============================="
|
||||
echo " 斗鱼批量登录 - Web 后台"
|
||||
echo "=============================="
|
||||
echo " 后端: http://localhost:$BACKEND_PORT"
|
||||
echo " 前端: http://localhost:$FRONTEND_PORT"
|
||||
echo " 默认账号: admin / admin123"
|
||||
echo " 按 Ctrl+C 停止所有服务"
|
||||
echo "=============================="
|
||||
echo ""
|
||||
|
||||
# 清理子进程
|
||||
cleanup() {
|
||||
echo ""
|
||||
echo "正在停止服务..."
|
||||
kill $BACKEND_PID $FRONTEND_PID 2>/dev/null
|
||||
wait $BACKEND_PID $FRONTEND_PID 2>/dev/null
|
||||
echo "已停止"
|
||||
}
|
||||
trap cleanup EXIT INT TERM
|
||||
|
||||
# 启动后端
|
||||
echo "启动后端 (FastAPI :$BACKEND_PORT)..."
|
||||
"$PYTHON" -m uvicorn web.backend.main:app --host 0.0.0.0 --port $BACKEND_PORT --reload &
|
||||
BACKEND_PID=$!
|
||||
|
||||
# 等后端就绪
|
||||
sleep 2
|
||||
|
||||
# 启动前端
|
||||
echo "启动前端 (Vite :$FRONTEND_PORT)..."
|
||||
cd "$FRONTEND_DIR"
|
||||
npm run dev -- --port $FRONTEND_PORT --host 0.0.0.0 &
|
||||
FRONTEND_PID=$!
|
||||
cd "$ROOT_DIR"
|
||||
|
||||
# 等待子进程
|
||||
wait
|
||||
Reference in New Issue
Block a user