const http = require('http'); // 测试saveUserInfo功能 function testSaveUserInfo() { // 构建GraphQL查询 const query = ` mutation SaveUserInfo($input: UserInput!) { saveUserInfo(input: $input) { id name phone gender birthday avatar wxOpenId unionId } } `; const variables = { input: { name: "测试用户", phone: "13800138000", gender: "MALE", birthday: "1990-01-01", avatar: "https://test-avatar.jpg" } }; const postData = JSON.stringify({ query: query, variables: variables }); const options = { hostname: 'localhost', port: 8080, path: '/api/graphql', method: 'POST', headers: { 'Content-Type': 'application/json', 'Content-Length': Buffer.byteLength(postData), // 使用一个测试token,如果没有有效token,这个请求会失败 'Authorization': 'Bearer test-token' } }; console.log('发送saveUserInfo请求...'); console.log('请求数据:', JSON.stringify({ query, variables }, null, 2)); const req = http.request(options, (res) => { console.log('响应状态码:', res.statusCode); console.log('响应头:', res.headers); let data = ''; res.on('data', (chunk) => { data += chunk; }); res.on('end', () => { console.log('响应内容:', data); try { const response = JSON.parse(data); if (response.data && response.data.saveUserInfo) { console.log('\n✅ saveUserInfo成功!'); console.log('返回的用户信息:', JSON.stringify(response.data.saveUserInfo, null, 2)); } else if (response.errors) { console.log('\n❌ saveUserInfo失败:'); response.errors.forEach(error => { console.log('错误:', error.message); if (error.extensions) { console.log('错误详情:', error.extensions); } }); } else { console.log('\n❓ 未知响应格式:', response); } } catch (e) { console.log('解析响应失败:', e.message); console.log('原始响应:', data); } }); }); req.on('error', (e) => { console.error('请求失败:', e.message); }); req.write(postData); req.end(); } // 直接运行测试 console.log('开始测试saveUserInfo功能...'); testSaveUserInfo();