#!/bin/bash echo "🌳 为 test@example.com 创建测试家族树" echo "======================================" echo "" BASE_URL="http://localhost:3000" TEST_EMAIL="test@example.com" TEST_PASSWORD="password123" # 1. 获取 CSRF token echo "1️⃣ 获取 CSRF token..." CSRF_RESPONSE=$(curl -s -c cookies.txt -b cookies.txt "$BASE_URL/api/auth/csrf") CSRF_TOKEN=$(echo $CSRF_RESPONSE | grep -o '"csrfToken":"[^"]*"' | cut -d'"' -f4) echo "CSRF Token: $CSRF_TOKEN" echo "" # 2. 登录 echo "2️⃣ 登录 $TEST_EMAIL..." LOGIN_RESPONSE=$(curl -s -c cookies.txt -b cookies.txt -X POST "$BASE_URL/api/auth/callback/credentials" \ -H "Content-Type: application/json" \ -d "{\"email\":\"$TEST_EMAIL\",\"password\":\"$TEST_PASSWORD\",\"csrfToken\":\"$CSRF_TOKEN\",\"callbackUrl\":\"$BASE_URL\",\"json\":true}") echo "登录成功" echo "" # 3. 创建家族树 echo "3️⃣ 创建家族树..." CREATE_TREE_RESPONSE=$(curl -s -b cookies.txt -X POST "$BASE_URL/api/trees" \ -H "Content-Type: application/json" \ -d '{ "name": "测试家族树", "description": "用于测试用户信息显示" }') echo "创建响应:" echo "$CREATE_TREE_RESPONSE" | python3 -c "import sys, json; print(json.dumps(json.load(sys.stdin), indent=2, ensure_ascii=False))" 2>/dev/null || echo "$CREATE_TREE_RESPONSE" echo "" # 4. 再创建一个 echo "4️⃣ 创建第二个家族树..." CREATE_TREE_RESPONSE2=$(curl -s -b cookies.txt -X POST "$BASE_URL/api/trees" \ -H "Content-Type: application/json" \ -d '{ "name": "李氏家族", "description": "李氏家族树" }') echo "创建响应:" echo "$CREATE_TREE_RESPONSE2" | python3 -c "import sys, json; print(json.dumps(json.load(sys.stdin), indent=2, ensure_ascii=False))" 2>/dev/null || echo "$CREATE_TREE_RESPONSE2" echo "" # 5. 获取家族树列表 echo "5️⃣ 获取家族树列表..." TREES_RESPONSE=$(curl -s -b cookies.txt "$BASE_URL/api/trees") echo "$TREES_RESPONSE" | python3 -c "import sys, json; print(json.dumps(json.load(sys.stdin), indent=2, ensure_ascii=False))" 2>/dev/null || echo "$TREES_RESPONSE" echo "" # 清理 rm -f cookies.txt echo "✅ 测试家族树创建完成!" echo "" echo "现在刷新设置页面,应该可以看到 2 个家族树了"