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