From 201ee8c0f9e33c76d24366f98ffd90ccf4970623 Mon Sep 17 00:00:00 2001 From: YGXB_net Date: Wed, 3 Jun 2026 22:09:35 +0800 Subject: [PATCH] =?UTF-8?q?refactor(api):=20=E9=87=8D=E6=9E=84API=E8=B0=83?= =?UTF-8?q?=E7=94=A8=E6=96=B9=E5=BC=8F=E5=B9=B6=E4=BC=98=E5=8C=96=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将原有的axios直接调用替换为统一的api模块封装 - 新增api.ts文件集中管理所有API接口方法 - 删除旧的axios.ts配置文件 - 统一API响应数据结构处理,将result改为data字段 - 优化HomeView中的Token相关状态管理和数据获取逻辑 - 重构TokenDetailView中信息获取和删除操作的API调用 - 更新TokenManageView中Token列表管理的CRUD操作实现 - 简化组件间的数据传递和状态同步机制 --- web/src/api.ts | 50 ++++++++++++++++++++++++ web/src/axios.ts | 7 ---- web/src/components/AddDataDialog.vue | 9 +---- web/src/views/HomeView.vue | 36 ++++++++++------- web/src/views/TokenDetailView.vue | 49 +++++------------------ web/src/views/TokenManageView.vue | 58 ++++++++++++---------------- 6 files changed, 107 insertions(+), 102 deletions(-) create mode 100644 web/src/api.ts delete mode 100644 web/src/axios.ts diff --git a/web/src/api.ts b/web/src/api.ts new file mode 100644 index 0000000..d0ed3d5 --- /dev/null +++ b/web/src/api.ts @@ -0,0 +1,50 @@ +import axios from "axios"; + +const axiosInstance = axios.create({ + baseURL: import.meta.env.VITE_API_BASE_URL, +}) + +export default { + getTokenList: () => + axiosInstance.get('/api/token'), + + createToken: (params: { + token: string + dedup_object: string + data_format: string + notes: string + }) => + axiosInstance.post('/api/token', {}, {params}), + + updateToken: (params: { + token: string + dedup_object?: string + data_format?: string + notes?: string + }) => + axiosInstance.put('/api/token', {}, {params}), + + deleteToken: (params: { + token: string + }) => + axiosInstance.delete('/api/token', {params}), + + getTokenInfo: (params: { + token: string + }) => + axiosInstance.get('/api/token/info', {params}), + + deleteTokenInfo: (params: { + token: string + dedup_bf?: string + cache_list?: string + both_number?: string + }) => + axiosInstance.delete('/api/token/info', {params}), + + uploadData: (params: { + data: string + token: string + }) => + axiosInstance.post('/api/data', {}, {params}), +} diff --git a/web/src/axios.ts b/web/src/axios.ts deleted file mode 100644 index 9ec7f07..0000000 --- a/web/src/axios.ts +++ /dev/null @@ -1,7 +0,0 @@ -import axios from 'axios'; - -const instance = axios.create({ - baseURL: import.meta.env.VITE_API_BASE_URL, -}); - -export default instance; \ No newline at end of file diff --git a/web/src/components/AddDataDialog.vue b/web/src/components/AddDataDialog.vue index 31bbaba..0b210de 100644 --- a/web/src/components/AddDataDialog.vue +++ b/web/src/components/AddDataDialog.vue @@ -1,6 +1,6 @@