const axios = require('axios'); const API_URL = 'http://localhost:8080/api/graphql'; async function testRegistration() { try { console.log('开始测试报名API...'); // 1. 先查询所有活动 const activitiesQuery = { query: ` query { allActivities { id name description signupDeadline } } ` }; console.log('1. 查询所有活动...'); const activitiesResponse = await axios.post(API_URL, activitiesQuery); console.log('活动列表:', JSON.stringify(activitiesResponse.data, null, 2)); const activities = activitiesResponse.data.data.allActivities; if (activities.length === 0) { console.log('没有找到活动,无法测试报名'); return; } const activityId = activities[0].id; console.log(`使用活动ID: ${activityId} 进行测试`); // 2. 测试报名 const timestamp = Date.now(); const testPhone = `138${String(timestamp).slice(-8)}`; const registrationMutation = { query: ` mutation { submitActivityRegistration(input: { activityId: "${activityId}" playerInfo: { name: "测试用户${timestamp}" phone: "${testPhone}" gender: 1 education: "本科" introduction: "这是一个测试用户" description: "测试描述" } regionId: null description: "测试报名描述" mediaFiles: [] }) { success message registrationId } } ` }; console.log('2. 提交报名...'); const registrationResponse = await axios.post(API_URL, registrationMutation); console.log('报名结果:', JSON.stringify(registrationResponse.data, null, 2)); } catch (error) { console.error('测试失败:', error.response ? error.response.data : error.message); } } testRegistration();