From 93eb6b470773bc49ea6e1a9d4cbd914eb95d525b Mon Sep 17 00:00:00 2001
From: lrj <owen.stl@gmail.com>
Date: 星期二, 30 九月 2025 17:38:04 +0800
Subject: [PATCH] feat: 完善比赛晋级功能并清理测试文件

---
 web/src/api/config.js |   52 ++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 40 insertions(+), 12 deletions(-)

diff --git a/web/src/api/config.js b/web/src/api/config.js
index 3197b69..09f9fa0 100644
--- a/web/src/api/config.js
+++ b/web/src/api/config.js
@@ -1,21 +1,49 @@
 // 搴旂敤閰嶇疆 API
-const GRAPHQL_ENDPOINT = 'http://localhost:8080/api/graphql';
+import { API_CONFIG, graphqlRequest } from '@/config/api';
 
 const GET_APP_CONFIG = `
-  query AppConfig {
+  query GetAppConfig {
     appConfig {
-      mediaBaseUrl
+      id
+      name
+      value
+      description
+      type
+      createTime
+      updateTime
     }
   }
 `;
 
-export const fetchAppConfig = async () => {
-  const resp = await fetch(GRAPHQL_ENDPOINT, {
-    method: 'POST',
-    headers: { 'Content-Type': 'application/json' },
-    body: JSON.stringify({ query: GET_APP_CONFIG })
-  });
-  const result = await resp.json();
-  if (result.errors) throw new Error(result.errors[0].message);
-  return result.data.appConfig;
+const SAVE_APP_CONFIG = `
+  mutation SaveAppConfig($input: AppConfigInput!) {
+    saveAppConfig(input: $input) {
+      id
+      name
+      value
+      description
+      type
+      createTime
+      updateTime
+    }
+  }
+`;
+
+// API 鍑芥暟
+export const getAppConfig = async () => {
+  try {
+    const data = await graphqlRequest(GET_APP_CONFIG);
+    return data.appConfig || [];
+  } catch (error) {
+    throw new Error(error.message || '鑾峰彇搴旂敤閰嶇疆澶辫触');
+  }
+};
+
+export const saveAppConfig = async (configData) => {
+  try {
+    const data = await graphqlRequest(SAVE_APP_CONFIG, { input: configData });
+    return data.saveAppConfig;
+  } catch (error) {
+    throw new Error(error.message || '淇濆瓨搴旂敤閰嶇疆澶辫触');
+  }
 };
\ No newline at end of file

--
Gitblit v1.8.0