Codex Assistant
1 天以前 ba94ceae1315174798ae1967ef62268c6d16cd5b
web/src/api/activity.js
@@ -1,11 +1,11 @@
// 比赛管理 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
@@ -13,22 +13,19 @@
        signupDeadline
        matchTime
        address
        playerCount
        playerMax
        state
        stateName
        playerCount
        createTime
        ratingScheme {
          id
          name
        }
        updateTime
      }
      totalElements
      page
      size
    }
  }
`;
`
const GET_ACTIVITY_QUERY = `
  query GetActivity($id: ID!) {
@@ -41,6 +38,7 @@
      matchTime
      address
      ratingSchemeId
      playerCount
      playerMax
      state
      stateName
@@ -58,6 +56,7 @@
        matchTime
        address
        ratingSchemeId
        playerCount
        playerMax
        state
        stateName
@@ -76,7 +75,7 @@
      }
    }
  }
`;
`
const GET_ALL_ACTIVITIES_QUERY = `
  query GetAllActivities {
@@ -87,13 +86,14 @@
      state
      stateName
      sortOrder
      playerCount
      parent {
        id
        name
      }
    }
  }
`;
`
const SAVE_ACTIVITY_MUTATION = `
  mutation SaveActivity($input: ActivityInput!) {
@@ -110,56 +110,84 @@
      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 data = await graphqlRequest(GET_ACTIVITIES_QUERY, { page, size, name });
    return 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 data = await graphqlRequest(GET_ACTIVITY_QUERY, { id });
    return 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 data = await graphqlRequest(GET_ALL_ACTIVITIES_QUERY);
    return data.allActivities;
    const result = await graphqlRequest(GET_ALL_ACTIVITIES_QUERY)
    return result.data.allActivities
  } catch (error) {
    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 : '更新比赛状态失败')
  }
}