初始提交:餐智库 CIBank 餐饮行业知识库
This commit is contained in:
Executable
+53
@@ -0,0 +1,53 @@
|
||||
#!/bin/bash
|
||||
# 餐智库一键启动脚本
|
||||
# 同时启动后端 API 服务和前端开发服务器
|
||||
|
||||
set -e
|
||||
|
||||
BACKEND_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
FRONTEND_DIR="$(cd "$(dirname "$0")/.." && pwd)"
|
||||
|
||||
echo "=== 餐智库启动 ==="
|
||||
|
||||
# 检查后端虚拟环境
|
||||
if [ ! -d "$BACKEND_DIR/venv" ]; then
|
||||
echo "[后端] 创建虚拟环境..."
|
||||
python3 -m venv "$BACKEND_DIR/venv"
|
||||
echo "[后端] 安装依赖..."
|
||||
"$BACKEND_DIR/venv/bin/pip" install -r "$BACKEND_DIR/requirements.txt" -q
|
||||
echo "[后端] 安装 Playwright 浏览器..."
|
||||
"$BACKEND_DIR/venv/bin/playwright" install chromium
|
||||
fi
|
||||
|
||||
# 检查 .env 文件
|
||||
if [ ! -f "$BACKEND_DIR/.env" ]; then
|
||||
echo "[后端] 复制 .env.example -> .env"
|
||||
cp "$BACKEND_DIR/.env.example" "$BACKEND_DIR/.env"
|
||||
echo "[提示] 请编辑 backend/.env 填入 DASHSCOPE_API_KEY"
|
||||
fi
|
||||
|
||||
# 启动后端
|
||||
echo "[后端] 启动 API 服务 (端口 8765)..."
|
||||
"$BACKEND_DIR/venv/bin/python" "$BACKEND_DIR/app.py" &
|
||||
BACKEND_PID=$!
|
||||
echo "[后端] PID=$BACKEND_PID"
|
||||
|
||||
# 等待后端就绪
|
||||
sleep 2
|
||||
|
||||
# 启动前端
|
||||
echo "[前端] 启动开发服务器 (端口 3000)..."
|
||||
cd "$FRONTEND_DIR"
|
||||
npm run dev &
|
||||
FRONTEND_PID=$!
|
||||
echo "[前端] PID=$FRONTEND_PID"
|
||||
|
||||
echo ""
|
||||
echo "=== 启动完成 ==="
|
||||
echo "前端: http://localhost:3000"
|
||||
echo "后端: http://localhost:8765/api/health"
|
||||
echo ""
|
||||
echo "按 Ctrl+C 停止所有服务"
|
||||
|
||||
trap "kill $BACKEND_PID $FRONTEND_PID 2>/dev/null; exit" INT TERM
|
||||
wait
|
||||
Reference in New Issue
Block a user