#!/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 "🎯 指导周期分析: 点击顶部导航栏 '指导周期分析' 按钮"