- Implement dynamic stock universe with 3-stage filtering (liquidity, fundamentals, technicals) - Create Claude + Qwen3 AI collaboration service for intelligent stock analysis - Update recommendation routes to use live market data instead of hard-coded lists - Add new documentation and deployment scripts - Update Docker configuration for AI model integration BREAKING CHANGE: Replaces hard-coded stock recommendations with dynamic market-based filtering Co-authored-by: Qwen-Coder <[email protected]>
156 lines
4.0 KiB
Bash
Executable File
156 lines
4.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Dashboard 优化 API 测试脚本
|
|
# 测试所有新增的策略和风险雷达 API
|
|
|
|
API_BASE="http://localhost:8001"
|
|
|
|
echo "=================================================="
|
|
echo " Dashboard 优化 API 测试"
|
|
echo "=================================================="
|
|
echo ""
|
|
|
|
# 颜色输出
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
RED='\033[0;31m'
|
|
NC='\033[0m' # No Color
|
|
|
|
# 测试函数
|
|
test_api() {
|
|
local name=$1
|
|
local url=$2
|
|
local method=${3:-GET}
|
|
|
|
echo -e "${YELLOW}测试: ${name}${NC}"
|
|
echo "URL: ${method} ${url}"
|
|
|
|
if [ "$method" == "GET" ]; then
|
|
response=$(curl -s -w "\n%{http_code}" "${url}")
|
|
fi
|
|
|
|
http_code=$(echo "$response" | tail -n1)
|
|
body=$(echo "$response" | sed '$d')
|
|
|
|
if [ "$http_code" == "200" ]; then
|
|
echo -e "${GREEN}✓ 成功 (HTTP $http_code)${NC}"
|
|
echo "响应数据预览:"
|
|
echo "$body" | python3 -m json.tool 2>/dev/null | head -n 20 || echo "$body" | head -n 10
|
|
else
|
|
echo -e "${RED}✗ 失败 (HTTP $http_code)${NC}"
|
|
echo "$body"
|
|
fi
|
|
|
|
echo ""
|
|
echo "--------------------------------------------------"
|
|
echo ""
|
|
}
|
|
|
|
# 检查后端是否运行
|
|
echo "检查后端服务..."
|
|
if ! curl -s "${API_BASE}/health" > /dev/null; then
|
|
echo -e "${RED}错误: 后端服务未运行!${NC}"
|
|
echo "请先启动后端:"
|
|
echo " cd backend"
|
|
echo " uvicorn main:app --reload --host 0.0.0.0 --port 8000"
|
|
exit 1
|
|
fi
|
|
echo -e "${GREEN}✓ 后端服务运行正常${NC}"
|
|
echo ""
|
|
|
|
# ==================== 策略管理 API ====================
|
|
echo ""
|
|
echo "==================== 策略管理 API ===================="
|
|
echo ""
|
|
|
|
# 1. 获取所有策略列表
|
|
test_api \
|
|
"获取所有策略列表" \
|
|
"${API_BASE}/api/strategies/list"
|
|
|
|
# 2. 获取低估值策略
|
|
test_api \
|
|
"筛选低估值策略" \
|
|
"${API_BASE}/api/strategies/list?style=value"
|
|
|
|
# 3. 获取高风险策略
|
|
test_api \
|
|
"筛选高风险策略" \
|
|
"${API_BASE}/api/strategies/list?risk_level=high"
|
|
|
|
# 4. 获取AI综合策略详情
|
|
test_api \
|
|
"获取AI综合策略详情" \
|
|
"${API_BASE}/api/strategies/ai_comprehensive/detail"
|
|
|
|
# 5. 获取稳健防守策略详情
|
|
test_api \
|
|
"获取稳健防守策略详情" \
|
|
"${API_BASE}/api/strategies/defensive_stable/detail"
|
|
|
|
# ==================== 风险雷达 API ====================
|
|
echo ""
|
|
echo "==================== 风险雷达 API ===================="
|
|
echo ""
|
|
|
|
# 6. 获取风险总览
|
|
test_api \
|
|
"获取风险总览" \
|
|
"${API_BASE}/api/risk/overview"
|
|
|
|
# 7. 获取所有风险事件
|
|
test_api \
|
|
"获取所有风险事件" \
|
|
"${API_BASE}/api/risk/events"
|
|
|
|
# 8. 获取高风险事件
|
|
test_api \
|
|
"筛选高风险事件" \
|
|
"${API_BASE}/api/risk/events?level=high"
|
|
|
|
# 9. 获取政策类风险事件
|
|
test_api \
|
|
"筛选政策类风险事件" \
|
|
"${API_BASE}/api/risk/events?category=policy"
|
|
|
|
# 10. 获取未来7天风险时间线
|
|
test_api \
|
|
"获取未来7天风险时间线" \
|
|
"${API_BASE}/api/risk/timeline?days=7"
|
|
|
|
# 11. 获取策略风险联动 (关键接口!)
|
|
test_api \
|
|
"获取策略风险联动" \
|
|
"${API_BASE}/api/risk/strategy-impact"
|
|
|
|
# ==================== 现有 AI API ====================
|
|
echo ""
|
|
echo "==================== 现有 AI API (验证兼容性) ===================="
|
|
echo ""
|
|
|
|
# 12. AI 市场概览
|
|
test_api \
|
|
"AI 市场概览" \
|
|
"${API_BASE}/api/ai/market/overview"
|
|
|
|
# 13. AI 推荐
|
|
test_api \
|
|
"AI 增强推荐" \
|
|
"${API_BASE}/api/ai/recommendations/explained?limit=5"
|
|
|
|
# ==================== 总结 ====================
|
|
echo ""
|
|
echo "=================================================="
|
|
echo " 测试完成!"
|
|
echo "=================================================="
|
|
echo ""
|
|
echo "所有新增 API 接口已测试完毕。"
|
|
echo ""
|
|
echo "下一步:"
|
|
echo " 1. 检查上面的输出,确认所有接口返回 HTTP 200"
|
|
echo " 2. 启动前端进行集成测试:"
|
|
echo " cd frontend && npm run dev"
|
|
echo " 3. 浏览器访问: http://localhost:5173"
|
|
echo " 4. 查看新的 Dashboard 布局"
|
|
echo ""
|