| | |
| | | // 比赛管理 API |
| | | |
| | | import { API_CONFIG, graphqlRequest } from '@/config/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) { |
| | | query GetActivities($page: Int!, $size: Int!, $name: String, $state: Int) { |
| | | activities(page: $page, size: $size, name: $name, state: $state) { |
| | | content { |
| | | id |
| | | name |
| | |
| | | signupDeadline |
| | | matchTime |
| | | address |
| | | playerCount |
| | | playerMax |
| | | state |
| | | stateName |
| | | playerCount |
| | | createTime |
| | | ratingScheme { |
| | | id |
| | | name |
| | | } |
| | | updateTime |
| | | } |
| | | totalElements |
| | | page |
| | | size |
| | | } |
| | | } |
| | | `; |
| | | ` |
| | | |
| | | const GET_ACTIVITY_QUERY = ` |
| | | query GetActivity($id: ID!) { |
| | |
| | | matchTime |
| | | address |
| | | ratingSchemeId |
| | | playerCount |
| | | playerMax |
| | | state |
| | | stateName |
| | |
| | | matchTime |
| | | address |
| | | ratingSchemeId |
| | | playerCount |
| | | playerMax |
| | | state |
| | | stateName |
| | |
| | | } |
| | | } |
| | | } |
| | | `; |
| | | ` |
| | | |
| | | const GET_ALL_ACTIVITIES_QUERY = ` |
| | | query GetAllActivities { |
| | |
| | | } |
| | | } |
| | | } |
| | | `; |
| | | ` |
| | | |
| | | const SAVE_ACTIVITY_MUTATION = ` |
| | | mutation SaveActivity($input: ActivityInput!) { |
| | |
| | | stateName |
| | | } |
| | | } |
| | | `; |
| | | ` |
| | | |
| | | const DELETE_ACTIVITY_MUTATION = ` |
| | | mutation DeleteActivity($id: ID!) { |
| | | deleteActivity(id: $id) |
| | | } |
| | | `; |
| | | ` |
| | | |
| | | const UPDATE_ACTIVITY_STATE_MUTATION = ` |
| | | mutation UpdateActivityState($id: ID!, $state: Int!) { |
| | | updateActivityState(id: $id, state: $state) |
| | | } |
| | | ` |
| | | |
| | | // API 函数 |
| | | export const getActivities = async (page = 0, size = 10, name = '') => { |
| | | export const getActivities = async (page = 0, size = 10, name = '', state) => { |
| | | try { |
| | | const result = await graphqlRequest(GET_ACTIVITIES_QUERY, { page, size, name }); |
| | | return result.data.activities; |
| | | const variables = { |
| | | page, |
| | | size, |
| | | name |
| | | } |
| | | |
| | | if (state !== undefined && state !== null && state !== '') { |
| | | variables.state = Number(state) |
| | | } |
| | | |
| | | const result = await graphqlRequest(GET_ACTIVITIES_QUERY, variables) |
| | | return result.data.activities |
| | | } catch (error) { |
| | | throw new Error(error.message || '获取比赛列表失败'); |
| | | console.error('获取比赛列表失败:', error) |
| | | throw new Error(error && error.message ? error.message : '获取比赛列表失败') |
| | | } |
| | | }; |
| | | } |
| | | |
| | | export const getActivity = async (id) => { |
| | | try { |
| | | const result = await graphqlRequest(GET_ACTIVITY_QUERY, { id }); |
| | | return result.data.activity; |
| | | const result = await graphqlRequest(GET_ACTIVITY_QUERY, { id }) |
| | | return result.data.activity |
| | | } catch (error) { |
| | | throw new Error(error.message || '获取比赛详情失败'); |
| | | throw new Error(error && error.message ? error.message : '获取比赛详情失败') |
| | | } |
| | | }; |
| | | } |
| | | |
| | | export const getAllActivities = async () => { |
| | | try { |
| | | const result = await graphqlRequest(GET_ALL_ACTIVITIES_QUERY); |
| | | |
| | | return result.data.allActivities; |
| | | const result = await graphqlRequest(GET_ALL_ACTIVITIES_QUERY) |
| | | return result.data.allActivities |
| | | } catch (error) { |
| | | console.error('=== getAllActivities API调用失败 ==='); |
| | | console.error('错误详情:', error); |
| | | console.error('错误消息:', error.message); |
| | | throw new Error(error.message || '获取所有比赛失败'); |
| | | console.error('获取所有比赛失败:', error) |
| | | throw new Error(error && error.message ? error.message : '获取所有比赛失败') |
| | | } |
| | | }; |
| | | } |
| | | |
| | | export const saveActivity = async (activityData) => { |
| | | try { |
| | | const data = await graphqlRequest(SAVE_ACTIVITY_MUTATION, { input: activityData }); |
| | | return data.saveActivity; |
| | | const data = await graphqlRequest(SAVE_ACTIVITY_MUTATION, { input: activityData }) |
| | | return data.data.saveActivity |
| | | } catch (error) { |
| | | throw new Error(error.message || '保存比赛失败'); |
| | | console.error('保存比赛失败:', error) |
| | | throw new Error(error && error.message ? error.message : '保存比赛失败') |
| | | } |
| | | }; |
| | | } |
| | | |
| | | export const deleteActivity = async (id) => { |
| | | try { |
| | | const data = await graphqlRequest(DELETE_ACTIVITY_MUTATION, { id }); |
| | | return data.deleteActivity; |
| | | const data = await graphqlRequest(DELETE_ACTIVITY_MUTATION, { id }) |
| | | return data.data.deleteActivity |
| | | } catch (error) { |
| | | throw new Error(error.message || '删除比赛失败'); |
| | | throw new Error(error && error.message ? error.message : '删除比赛失败') |
| | | } |
| | | }; |
| | | } |
| | | |
| | | export const updateActivityState = async (id, state) => { |
| | | try { |
| | | const data = await graphqlRequest(UPDATE_ACTIVITY_STATE_MUTATION, { id, state }) |
| | | return data.data.updateActivityState |
| | | } catch (error) { |
| | | throw new Error(error && error.message ? error.message : '更新比赛状态失败') |
| | | } |
| | | } |