// 比赛管理 API import { API_CONFIG, graphqlRequest } from '@/config/api'; // GraphQL 查询语句 const GET_ACTIVITIES_QUERY = ` query GetActivities($page: Int!, $size: Int!, $name: String) { activities(page: $page, size: $size, name: $name) { content { id name description signupDeadline matchTime address playerMax state stateName playerCount createTime ratingScheme { id name } } totalElements page size } } `; const GET_ACTIVITY_QUERY = ` query GetActivity($id: ID!) { activity(id: $id) { id pid name description signupDeadline matchTime address ratingSchemeId playerMax state stateName createTime updateTime ratingScheme { id name totalScore } stages { id name description matchTime address ratingSchemeId playerMax state stateName sortOrder ratingScheme { id name } } judges { id name phone description stageIds } } } `; const GET_ALL_ACTIVITIES_QUERY = ` query GetAllActivities { allActivities { id pid name state stateName sortOrder playerCount parent { id name } } } `; const SAVE_ACTIVITY_MUTATION = ` mutation SaveActivity($input: ActivityInput!) { saveActivity(input: $input) { id name description signupDeadline matchTime address ratingSchemeId playerMax state stateName } } `; const DELETE_ACTIVITY_MUTATION = ` mutation DeleteActivity($id: ID!) { deleteActivity(id: $id) } `; // API 函数 export const getActivities = async (page = 0, size = 10, name = '') => { try { const data = await graphqlRequest(GET_ACTIVITIES_QUERY, { page, size, name }); return data.activities; } catch (error) { throw new Error(error.message || '获取比赛列表失败'); } }; export const getActivity = async (id) => { try { const data = await graphqlRequest(GET_ACTIVITY_QUERY, { id }); return data.activity; } catch (error) { throw new Error(error.message || '获取比赛详情失败'); } }; export const getAllActivities = async () => { try { console.log('=== getAllActivities API调用开始 ==='); console.log('GraphQL查询:', GET_ALL_ACTIVITIES_QUERY); const data = await graphqlRequest(GET_ALL_ACTIVITIES_QUERY); console.log('GraphQL返回的原始数据:', data); console.log('data.allActivities:', data.allActivities); return data.allActivities; } catch (error) { console.error('=== getAllActivities API调用失败 ==='); console.error('错误详情:', error); console.error('错误消息:', error.message); throw new Error(error.message || '获取所有比赛失败'); } }; export const saveActivity = async (activityData) => { try { const data = await graphqlRequest(SAVE_ACTIVITY_MUTATION, { input: activityData }); return data.saveActivity; } catch (error) { throw new Error(error.message || '保存比赛失败'); } }; export const deleteActivity = async (id) => { try { const data = await graphqlRequest(DELETE_ACTIVITY_MUTATION, { id }); return data.deleteActivity; } catch (error) { throw new Error(error.message || '删除比赛失败'); } };