feat: 初始化考培练系统项目

- 从服务器拉取完整代码
- 按框架规范整理项目结构
- 配置 Drone CI 测试环境部署
- 包含后端(FastAPI)、前端(Vue3)、管理端

技术栈: Vue3 + TypeScript + FastAPI + MySQL
This commit is contained in:
111
2026-01-24 19:33:28 +08:00
commit 998211c483
1197 changed files with 228429 additions and 0 deletions

View File

@@ -0,0 +1,58 @@
#!/bin/bash
# 测试与课程对话功能 - Dify 集成
echo "============================================================"
echo "🧪 与课程对话功能测试 - Dify 集成"
echo "============================================================"
API_BASE="http://localhost:8000"
# 1. 登录获取 token
echo ""
echo "🔑 正在登录..."
LOGIN_RESPONSE=$(curl -s -X POST "${API_BASE}/api/v1/auth/login" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "username=test_user&password=123456")
TOKEN=$(echo $LOGIN_RESPONSE | python3 -c "import sys, json; print(json.load(sys.stdin).get('access_token', ''))")
if [ -z "$TOKEN" ]; then
echo "❌ 登录失败"
echo "响应: $LOGIN_RESPONSE"
exit 1
fi
echo "✅ 登录成功"
echo "Token: ${TOKEN:0:20}..."
# 2. 测试首次对话
echo ""
echo "============================================================"
echo "测试场景 1: 首次对话(创建新会话)"
echo "============================================================"
echo ""
echo "💬 测试与课程 1 对话"
echo "问题: 这门课程讲什么?"
echo ""
echo "📡 SSE 事件流:"
echo "------------------------------------------------------------"
curl -N -X POST "${API_BASE}/api/v1/course/chat" \
-H "Authorization: Bearer ${TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"course_id": 1,
"query": "这门课程讲什么?"
}'
echo ""
echo "------------------------------------------------------------"
echo ""
echo "✅ 测试完成!"
echo ""
echo "如需测试续接对话,请复制上面输出的 conversation_id然后运行"
echo " curl -N -X POST '${API_BASE}/api/v1/course/chat' \\"
echo " -H 'Authorization: Bearer ${TOKEN}' \\"
echo " -H 'Content-Type: application/json' \\"
echo " -d '{\"course_id\": 1, \"query\": \"能详细说说吗?\", \"conversation_id\": \"你的conversation_id\"}'"