lrj
21 小时以前 f04f35b562760afbac0c477357e2a29f77aec3b9
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
import { graphqlRequest } from '@/config/api'
 
// GraphQL 查询语句
 
// 获取当前用户档案
const GET_USER_PROFILE = `
  query GetUserProfile {
    userProfile {
      id
      name
      avatar
      phone
      email
      roles
      employee {
        id
        name
        roleId
      }
      judge {
        id
        name
        title
        company
        description
      }
      player {
        id
        name
        phone
        description
      }
    }
  }
`
 
// 获取当前评委信息
const GET_CURRENT_JUDGE_INFO = `
  query GetCurrentJudgeInfo {
    currentJudgeInfo {
      judgeId
      judgeName
      title
      company
    }
  }
`
 
// 检查评委是否在指定比赛阶段的评委列表中
const CHECK_JUDGE_IN_ACTIVITY = `
  query CheckJudgeInActivity($stageId: ID!, $judgeId: ID!) {
    isJudgeInActivity(stageId: $stageId, judgeId: $judgeId)
  }
`
 
// API 函数
export const userApi = {
  // 获取当前用户档案
  async getUserProfile() {
    try {
      const result = await graphqlRequest(GET_USER_PROFILE)
      return result?.data?.userProfile
    } catch (error) {
      console.error('获取用户档案失败:', error)
      throw new Error(error.message || '获取用户档案失败')
    }
  },
 
  // 获取当前评委信息
  async getCurrentJudgeInfo() {
    try {
      const result = await graphqlRequest(GET_CURRENT_JUDGE_INFO)
      return result?.data?.currentJudgeInfo
    } catch (error) {
      console.error('获取当前评委信息失败:', error)
      throw new Error(error.message || '获取当前评委信息失败')
    }
  },
 
  // 检查评委是否在指定比赛阶段的评委列表中
  async checkJudgeInActivity(stageId, judgeId) {
    try {
      const result = await graphqlRequest(CHECK_JUDGE_IN_ACTIVITY, { stageId, judgeId })
      return result?.data?.isJudgeInActivity || false
    } catch (error) {
      console.error('检查评委权限失败:', error)
      throw new Error(error.message || '检查评委权限失败')
    }
  }
}
 
export default userApi