FastAPI backend with auth, user, instance, ticket, query, dashboard APIs. React + TypeScript frontend with mock data UI (10 pages). SQLite + async SQLAlchemy, JWT auth, role-based access control. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
86 lines
1.8 KiB
Bash
86 lines
1.8 KiB
Bash
#!/bin/bash
|
|
|
|
# 数据审核平台启动脚本
|
|
|
|
echo "=========================================="
|
|
echo " 数据审核平台 - 启动脚本"
|
|
echo "=========================================="
|
|
echo ""
|
|
|
|
# 检查 Python
|
|
if ! command -v python3 &> /dev/null; then
|
|
echo "错误: 未找到 Python3,请先安装 Python 3.11+"
|
|
exit 1
|
|
fi
|
|
|
|
# 检查 Node.js
|
|
if ! command -v node &> /dev/null; then
|
|
echo "错误: 未找到 Node.js,请先安装 Node.js 18+"
|
|
exit 1
|
|
fi
|
|
|
|
# 启动后端
|
|
echo "[1/2] 正在启动后端服务..."
|
|
cd backend
|
|
|
|
# 检查虚拟环境
|
|
if [ ! -d "venv" ]; then
|
|
echo "创建 Python 虚拟环境..."
|
|
python3 -m venv venv
|
|
fi
|
|
|
|
# 激活虚拟环境
|
|
source venv/bin/activate
|
|
|
|
# 安装依赖
|
|
echo "安装后端依赖..."
|
|
pip install -q -r requirements.txt
|
|
|
|
# 启动后端服务
|
|
echo "启动后端服务 (http://localhost:8000)..."
|
|
python main.py &
|
|
BACKEND_PID=$!
|
|
echo "后端服务 PID: $BACKEND_PID"
|
|
|
|
cd ..
|
|
|
|
# 启动前端
|
|
echo ""
|
|
echo "[2/2] 正在启动前端服务..."
|
|
cd frontend
|
|
|
|
# 检查 node_modules
|
|
if [ ! -d "node_modules" ]; then
|
|
echo "安装前端依赖..."
|
|
npm install
|
|
fi
|
|
|
|
# 启动前端服务
|
|
echo "启动前端服务 (http://localhost:3000)..."
|
|
npm run dev &
|
|
FRONTEND_PID=$!
|
|
echo "前端服务 PID: $FRONTEND_PID"
|
|
|
|
cd ..
|
|
|
|
echo ""
|
|
echo "=========================================="
|
|
echo " 服务启动成功!"
|
|
echo "=========================================="
|
|
echo ""
|
|
echo "后端 API: http://localhost:8000"
|
|
echo "前端页面: http://localhost:3000"
|
|
echo "API 文档: http://localhost:8000/docs"
|
|
echo ""
|
|
echo "默认账号:"
|
|
echo " 管理员: admin / 123456"
|
|
echo " DBA: dba / 123456"
|
|
echo " 开发者: dev1 / 123456"
|
|
echo ""
|
|
echo "按 Ctrl+C 停止服务"
|
|
echo ""
|
|
|
|
# 等待用户中断
|
|
trap "kill $BACKEND_PID $FRONTEND_PID; exit" INT
|
|
wait
|