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
|