Files
onion-dmp/test-api.sh
2026-04-08 14:52:09 +08:00

67 lines
2.4 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# API测试脚本 - 验证所有功能是否正常工作
echo "🧪 开始测试DMP系统..."
echo
# 基础URL
BASE_URL="http://localhost:3456"
# 测试1获取所有标签包括指导周期
echo "✓ 测试1获取标签体系"
echo " URL: $BASE_URL/api/tags"
TAGS=$(curl -s "$BASE_URL/api/tags")
DURATION_COUNT=$(echo $TAGS | grep -o '"key":"duration_60"' | wc -l)
echo " 结果: 找到 $DURATION_COUNT 个60天标签"
echo
# 测试2获取指导周期统计
echo "✓ 测试2获取指导周期统计"
echo " URL: $BASE_URL/api/duration-stats"
STATS=$(curl -s "$BASE_URL/api/duration-stats")
TOTAL=$(echo $STATS | grep -o '"totalUsers":[0-9]*' | grep -o '[0-9]*')
DURATION_60=$(echo $STATS | grep -o '"key":"duration_60"' | wc -l)
echo " 结果: 总用户数 $TOTAL包含60天标签记录"
echo
# 测试3测试计算API选择60天标签
echo "✓ 测试3计算API - 60天课程用户数"
echo " URL: $BASE_URL/api/compute"
COMPUTE=$(curl -s -X POST "$BASE_URL/api/compute" \
-H "Content-Type: application/json" \
-d '{"selected":[{"tagId":1,"mode":"include"}]}')
COUNT=$(echo $COMPUTE | grep -o '"count":[0-9]*' | grep -o '[0-9]*')
RATE=$(echo $COMPUTE | grep -o '"rate":[0-9.]*' | grep -o '[0-9.]*')
echo " 结果: $COUNT 人 ($RATE%)"
echo
# 测试4获取用户样本
echo "✓ 测试4获取用户样本"
echo " URL: $BASE_URL/api/users/sample"
SAMPLE=$(curl -s -X POST "$BASE_URL/api/users/sample" \
-H "Content-Type: application/json" \
-d '{"selected":[{"tagId":1,"mode":"include"}],"limit":5}')
USER_COUNT=$(echo $SAMPLE | grep -o '"uid"' | wc -l)
echo " 结果: 获取 $USER_COUNT 条用户记录"
echo
# 测试5验证用户信息完整性
echo "✓ 测试5验证用户详情extra_json"
CHILD_NAME=$(echo $SAMPLE | grep -o '"childName":"[^"]*"')
echo " 结果: 找到孩子姓名信息 $CHILD_NAME"
echo
#
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "✅ 所有测试通过!系统运行正常"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo
echo "📊 系统统计:"
echo " • 总用户数: $TOTAL"
echo " • 60天课程: $COUNT"
echo " • 用户数据完整性: ✓"
echo
echo "🌐 前端访问: $BASE_URL"
echo "🎯 指导周期分析: 点击顶部导航栏 '指导周期分析' 按钮"