Codex Assistant
昨天 58d9f460b2f8c34430285115e2557d18333c5cab
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
131
132
133
134
135
136
137
138
139
140
const axios = require('axios');
 
const graphqlUrl = 'http://localhost:8080/api/graphql';
 
// 使用之前获取的有效token(需要用户提供新的code获取新token)
const token = 'eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxNTIiLCJpYXQiOjE3MzU3MjE5NzQsImV4cCI6MTczNTgwODM3NH0.Uy8Ej7Ej3Ej7Ej7Ej7Ej7Ej7Ej7Ej7Ej7Ej7Ej7E'; // 这个token可能已过期
 
async function testGraphQLQueries() {
  try {
    console.log('=== 测试评审页面GraphQL查询(使用现有token) ===\n');
 
    // 1. 测试未评审项目查询
    console.log('1. 测试未评审项目查询...');
    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);
    }
 
    // 2. 测试已评审项目查询
    console.log('\n2. 测试已评审项目查询...');
    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);
    }
 
    // 3. 测试学员未评审项目查询
    console.log('\n3. 测试学员未评审项目查询...');
    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);
    }
 
    console.log('\n=== 测试完成 ===');
    console.log('注意:如果所有查询都成功,说明GraphQL查询格式已修复!');
 
  } catch (error) {
    console.error('测试过程中发生错误:', error.message);
    if (error.response) {
      console.error('响应状态:', error.response.status);
      console.error('响应数据:', error.response.data);
    }
  }
}
 
testGraphQLQueries();