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();