lrj
19 小时以前 9f8395fab13ca4b230a0f7d62636e209745c91d4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
const axios = require('axios');
 
// GraphQL endpoint
const GRAPHQL_URL = 'http://localhost:8080/api/graphql';
 
// 测试报名功能,包含生日字段
async function testRegistrationWithBirthDate() {
  console.log('开始测试包含生日字段的报名功能...');
 
  const mutation = `
    mutation SubmitActivityRegistration($input: ActivityRegistrationInput!) {
      submitActivityRegistration(input: $input) {
        success
        message
        registrationId
      }
    }
  `;
 
  const variables = {
  input: {
    activityId: "1",
    playerInfo: {
      name: "李四",
      phone: "13900139000",
      gender: 0,
      birthDate: "1992-08-20",
      education: "硕士",
      introduction: "我是一名新的测试用户"
    },
    regionId: "1",
    projectName: "AI智能项目",
    description: "这是一个新的测试报名"
  }
};
 
  try {
    const response = await axios.post(GRAPHQL_URL, {
      query: mutation,
      variables: variables
    }, {
      headers: {
        'Content-Type': 'application/json'
      }
    });
 
    console.log('响应状态:', response.status);
    console.log('响应数据:', JSON.stringify(response.data, null, 2));
 
    if (response.data.data && response.data.data.submitActivityRegistration) {
      const result = response.data.data.submitActivityRegistration;
      if (result.success) {
        console.log('✅ 报名成功!');
        console.log('报名ID:', result.registrationId);
        
        // 验证数据是否正确保存
        await verifyRegistrationData(result.registrationId);
      } else {
        console.log('❌ 报名失败:', result.message);
      }
    } else {
      console.log('❌ 响应格式错误');
    }
 
  } catch (error) {
    console.error('❌ 请求失败:', error.message);
    if (error.response) {
      console.error('错误响应:', error.response.data);
    }
  }
}
 
// 验证报名数据是否正确保存
async function verifyRegistrationData(registrationId) {
  console.log('\n验证报名数据...');
  
  const query = `
    query GetActivityPlayerDetail($id: ID!) {
      activityPlayerDetail(id: $id) {
        id
        playerInfo {
          id
          name
          phone
          description
        }
        regionInfo {
          id
          name
        }
        activityName
        description
      }
    }
  `;
 
  try {
    const response = await axios.post(GRAPHQL_URL, {
      query: query,
      variables: { id: registrationId }
    }, {
      headers: {
        'Content-Type': 'application/json'
      }
    });
 
    if (response.data.data && response.data.data.activityPlayerDetail) {
      const detail = response.data.data.activityPlayerDetail;
      console.log('✅ 成功获取报名数据:');
      console.log(`- 姓名: ${detail.playerInfo.name}`);
      console.log(`- 电话: ${detail.playerInfo.phone}`);
      console.log(`- 活动名称: ${detail.activityName}`);
      console.log(`- 描述: ${detail.description}`);
      
      if (detail.regionInfo) {
        console.log(`- 区域: ${detail.regionInfo.name}`);
      }
      
      console.log('✅ 报名数据已正确保存');
    } else {
      console.log('❌ 无法获取报名数据');
    }
 
  } catch (error) {
    console.error('❌ 验证数据失败:', error.message);
  }
}
 
// 运行测试
testRegistrationWithBirthDate();