From 375c18a6d2713ff19b22093eec57315992d8333f Mon Sep 17 00:00:00 2001
From: Codex Assistant <codex@example.com>
Date: 星期四, 06 十一月 2025 13:33:52 +0800
Subject: [PATCH] 增加评审下载
---
web/src/api/activity.js | 98 ++++++++++++++++++++++++++++++++-----------------
1 files changed, 64 insertions(+), 34 deletions(-)
diff --git a/web/src/api/activity.js b/web/src/api/activity.js
index 6ea223a..ee9ab7a 100644
--- a/web/src/api/activity.js
+++ b/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,11 +38,13 @@
matchTime
address
ratingSchemeId
+ playerCount
playerMax
state
stateName
createTime
updateTime
+ reviewExportUrl
ratingScheme {
id
name
@@ -58,10 +57,12 @@
matchTime
address
ratingSchemeId
+ playerCount
playerMax
state
stateName
sortOrder
+ reviewExportUrl
ratingScheme {
id
name
@@ -76,7 +77,7 @@
}
}
}
-`;
+`
const GET_ALL_ACTIVITIES_QUERY = `
query GetAllActivities {
@@ -87,13 +88,14 @@
state
stateName
sortOrder
+ playerCount
parent {
id
name
}
}
}
-`;
+`
const SAVE_ACTIVITY_MUTATION = `
mutation SaveActivity($input: ActivityInput!) {
@@ -110,56 +112,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 : '鍒犻櫎姣旇禌澶辫触')
}
-};
\ No newline at end of file
+}
+
+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 : '鏇存柊姣旇禌鐘舵�佸け璐�')
+ }
+}
\ No newline at end of file
--
Gitblit v1.8.0