const axios = require('axios'); const graphqlUrl = 'http://localhost:8080/api/graphql'; // 新的微信登录code const wxCode = '0d3F150w3zNAL535DY1w3u7q4i2F150Y'; async function testReviewPageQueries() { try { console.log('=== 开始测试评审页面GraphQL查询 ===\n'); // 1. 先进行微信登录获取token console.log('1. 微信登录获取token...'); const loginMutation = ` mutation wxLogin($input: WxLoginRequest!) { wxLogin(input: $input) { token userInfo { userId name userType } } } `; const loginResponse = await axios.post(graphqlUrl, { query: loginMutation, variables: { input: { code: wxCode, wxOpenid: "test-openid-152" } } }); if (loginResponse.data.errors) { console.error('微信登录失败:', loginResponse.data.errors); return; } const { token, userInfo } = loginResponse.data.data.wxLogin; console.log('微信登录成功!'); console.log('用户信息:', userInfo); console.log('Token:', token.substring(0, 50) + '...\n'); // 2. 测试未评审项目查询 console.log('2. 测试未评审项目查询...'); const unReviewedQuery = ` query unReviewedProjects($page: Int!, $pageSize: Int!, $searchKeyword: String) { unReviewedProjects(page: $page, pageSize: $pageSize, searchKeyword: $searchKeyword) { total hasMore items { id projectName activityName stageName studentName submitTime } } } `; const unReviewedResponse = await axios.post(graphqlUrl, { query: unReviewedQuery, variables: { page: 1, pageSize: 10, searchKeyword: "" } }, { headers: { 'Authorization': `Bearer ${token}` } }); if (unReviewedResponse.data.errors) { console.error('未评审项目查询失败:', unReviewedResponse.data.errors); } else { console.log('未评审项目查询成功:', unReviewedResponse.data.data.unReviewedProjects); } // 3. 测试已评审项目查询 console.log('\n3. 测试已评审项目查询...'); const reviewedQuery = ` query reviewedProjects($page: Int!, $pageSize: Int!, $searchKeyword: String) { reviewedProjects(page: $page, pageSize: $pageSize, searchKeyword: $searchKeyword) { total hasMore items { id projectName activityName stageName studentName submitTime reviewTime score } } } `; const reviewedResponse = await axios.post(graphqlUrl, { query: reviewedQuery, variables: { page: 1, pageSize: 10, searchKeyword: "" } }, { headers: { 'Authorization': `Bearer ${token}` } }); if (reviewedResponse.data.errors) { console.error('已评审项目查询失败:', reviewedResponse.data.errors); } else { console.log('已评审项目查询成功:', reviewedResponse.data.data.reviewedProjects); } // 4. 测试学员未评审项目查询 console.log('\n4. 测试学员未评审项目查询...'); const studentUnReviewedQuery = ` query studentUnReviewedProjects($page: Int!, $pageSize: Int!, $searchKeyword: String) { studentUnReviewedProjects(page: $page, pageSize: $pageSize, searchKeyword: $searchKeyword) { total hasMore items { id projectName activityName stageName studentName submitTime } } } `; const studentUnReviewedResponse = await axios.post(graphqlUrl, { query: studentUnReviewedQuery, variables: { page: 1, pageSize: 10, searchKeyword: "" } }, { headers: { 'Authorization': `Bearer ${token}` } }); if (studentUnReviewedResponse.data.errors) { console.error('学员未评审项目查询失败:', studentUnReviewedResponse.data.errors); } else { console.log('学员未评审项目查询成功:', studentUnReviewedResponse.data.data.studentUnReviewedProjects); } // 5. 测试评审统计查询 console.log('\n5. 测试评审统计查询...'); const statisticsQuery = ` query reviewStatistics { reviewStatistics { unReviewedCount reviewedCount studentUnReviewedCount } } `; const statisticsResponse = await axios.post(graphqlUrl, { query: statisticsQuery }, { headers: { 'Authorization': `Bearer ${token}` } }); if (statisticsResponse.data.errors) { console.error('评审统计查询失败:', statisticsResponse.data.errors); } else { console.log('评审统计查询成功:', statisticsResponse.data.data.reviewStatistics); } console.log('\n=== 所有测试完成 ==='); } catch (error) { console.error('测试过程中发生错误:', error.message); if (error.response) { console.error('响应状态:', error.response.status); console.error('响应数据:', error.response.data); } } } testReviewPageQueries();