From 8337c34fcc761d07acaad796d10f3e12e9bbe2d1 Mon Sep 17 00:00:00 2001
From: lrj <owen.stl@gmail.com>
Date: 星期日, 05 十月 2025 08:56:04 +0800
Subject: [PATCH] feat: 微信项目详情支持阶段评分时间轴
---
web/src/api/activity.js | 116 ++++++++++++++++++----------------------------------------
1 files changed, 36 insertions(+), 80 deletions(-)
diff --git a/web/src/api/activity.js b/web/src/api/activity.js
index 9039862..b91db36 100644
--- a/web/src/api/activity.js
+++ b/web/src/api/activity.js
@@ -1,6 +1,6 @@
// 姣旇禌绠$悊 API
-const GRAPHQL_ENDPOINT = 'http://localhost:8080/api/graphql';
+import { API_CONFIG, graphqlRequest } from '@/config/api';
// GraphQL 鏌ヨ璇彞
const GET_ACTIVITIES_QUERY = `
@@ -13,15 +13,12 @@
signupDeadline
matchTime
address
+ playerCount
playerMax
state
stateName
- playerCount
createTime
- ratingScheme {
- id
- name
- }
+ updateTime
}
totalElements
page
@@ -41,6 +38,7 @@
matchTime
address
ratingSchemeId
+ playerCount
playerMax
state
stateName
@@ -58,9 +56,11 @@
matchTime
address
ratingSchemeId
+ playerCount
playerMax
state
stateName
+ sortOrder
ratingScheme {
id
name
@@ -85,6 +85,8 @@
name
state
stateName
+ sortOrder
+ playerCount
parent {
id
name
@@ -118,95 +120,49 @@
// API 鍑芥暟
export const getActivities = async (page = 0, size = 10, name = '') => {
- const response = await fetch(GRAPHQL_ENDPOINT, {
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json',
- },
- body: JSON.stringify({
- query: GET_ACTIVITIES_QUERY,
- variables: { page, size, name }
- })
- });
-
- const result = await response.json();
- if (result.errors) {
- throw new Error(result.errors[0].message);
+ try {
+ const result = await graphqlRequest(GET_ACTIVITIES_QUERY, { page, size, name });
+ return result.data.activities;
+ } catch (error) {
+ console.error('鑾峰彇姣旇禌鍒楄〃澶辫触:', error);
+ throw new Error(error.message || '鑾峰彇姣旇禌鍒楄〃澶辫触');
}
- return result.data.activities;
};
export const getActivity = async (id) => {
- const response = await fetch(GRAPHQL_ENDPOINT, {
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json',
- },
- body: JSON.stringify({
- query: GET_ACTIVITY_QUERY,
- variables: { id }
- })
- });
-
- const result = await response.json();
- if (result.errors) {
- throw new Error(result.errors[0].message);
+ try {
+ const result = await graphqlRequest(GET_ACTIVITY_QUERY, { id });
+ return result.data.activity;
+ } catch (error) {
+ throw new Error(error.message || '鑾峰彇姣旇禌璇︽儏澶辫触');
}
- return result.data.activity;
};
export const getAllActivities = async () => {
- const response = await fetch(GRAPHQL_ENDPOINT, {
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json',
- },
- body: JSON.stringify({
- query: GET_ALL_ACTIVITIES_QUERY
- })
- });
-
- const result = await response.json();
- if (result.errors) {
- throw new Error(result.errors[0].message);
+ try {
+ const result = await graphqlRequest(GET_ALL_ACTIVITIES_QUERY);
+ return result.data.allActivities;
+ } catch (error) {
+ console.error('鑾峰彇鎵�鏈夋瘮璧涘け璐�:', error);
+ throw new Error(error.message || '鑾峰彇鎵�鏈夋瘮璧涘け璐�');
}
- return result.data.allActivities;
};
export const saveActivity = async (activityData) => {
- const response = await fetch(GRAPHQL_ENDPOINT, {
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json',
- },
- body: JSON.stringify({
- query: SAVE_ACTIVITY_MUTATION,
- variables: { input: activityData }
- })
- });
-
- const result = await response.json();
- if (result.errors) {
- throw new Error(result.errors[0].message);
+ try {
+ const data = await graphqlRequest(SAVE_ACTIVITY_MUTATION, { input: activityData });
+ return data.data.saveActivity;
+ } catch (error) {
+ console.error('淇濆瓨姣旇禌澶辫触:', error);
+ throw new Error(error.message || '淇濆瓨姣旇禌澶辫触');
}
- return result.data.saveActivity;
};
export const deleteActivity = async (id) => {
- const response = await fetch(GRAPHQL_ENDPOINT, {
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json',
- },
- body: JSON.stringify({
- query: DELETE_ACTIVITY_MUTATION,
- variables: { id }
- })
- });
-
- const result = await response.json();
- if (result.errors) {
- throw new Error(result.errors[0].message);
+ try {
+ const data = await graphqlRequest(DELETE_ACTIVITY_MUTATION, { id });
+ return data.data.deleteActivity;
+ } catch (error) {
+ throw new Error(error.message || '鍒犻櫎姣旇禌澶辫触');
}
- return result.data.deleteActivity;
};
\ No newline at end of file
--
Gitblit v1.8.0