0841b1a103
- 前端:Vue3 + TS + Element Plus,24 个页面路由(课件/组题/教案/动画/思维导图/作文批改/命题/课堂/资源/社区等) - 后端:FastAPI + SQLAlchemy + SQLite,17 个路由模块,AI 服务层含降级模板 - AI:glm-5.x 推理模型已禁用思维链,确保输出真实内容 - 修复:ai_service 两处请求体注入 enable_thinking/thinking disabled - 测试账号:13900999999 / test1234
63 lines
1.6 KiB
Bash
63 lines
1.6 KiB
Bash
#!/bin/bash
|
|
# =============================================
|
|
# 智教助手 - 单终端启动(前后端日志合并显示)
|
|
# =============================================
|
|
|
|
set -e
|
|
ROOT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
|
|
echo "========================================="
|
|
echo " 智教助手 启动中..."
|
|
echo "========================================="
|
|
|
|
# Kill existing processes on ports
|
|
for port in 8000 5173; do
|
|
for pid in $(netstat -ano 2>/dev/null | grep ":$port .*LISTEN" | awk '{print $5}' | sort -u); do
|
|
[ "$pid" != "0" ] && [ -n "$pid" ] && taskkill //PID "$pid" //F 2>/dev/null || true
|
|
done
|
|
done
|
|
sleep 1
|
|
|
|
cleanup() {
|
|
echo ""
|
|
echo "[STOP] 停止所有服务..."
|
|
# Kill backend and frontend python/node processes we spawned
|
|
kill $(jobs -p) 2>/dev/null || true
|
|
wait 2>/dev/null
|
|
echo "[STOP] 已停止"
|
|
exit 0
|
|
}
|
|
trap cleanup INT TERM
|
|
|
|
# Backend - log with prefix
|
|
(
|
|
cd "$ROOT_DIR/backend"
|
|
python -m uvicorn main:app --host 0.0.0.0 --port 8000 --reload 2>&1 | while IFS= read -r line; do
|
|
printf "\033[36m%-8s\033[0m %s\n" "后端" "$line"
|
|
done
|
|
) &
|
|
BACK_PID=$!
|
|
|
|
# Frontend - log with prefix
|
|
(
|
|
cd "$ROOT_DIR/frontend"
|
|
npx vite --host 0.0.0.0 --port 5173 2>&1 | while IFS= read -r line; do
|
|
printf "\033[32m%-8s\033[0m %s\n" "前端" "$line"
|
|
done
|
|
) &
|
|
FRONT_PID=$!
|
|
|
|
sleep 4
|
|
|
|
echo ""
|
|
echo "========================================="
|
|
echo " ✓ 服务已启动"
|
|
echo " 前端: http://localhost:5173"
|
|
echo " 后端: http://localhost:8000"
|
|
echo " API: http://localhost:8000/docs"
|
|
echo "========================================="
|
|
echo " Ctrl+C 停止所有服务"
|
|
echo ""
|
|
|
|
wait
|