From bdff7b020f3887423371ab9b6bc7ffb24b391c56 Mon Sep 17 00:00:00 2001 From: aixianling Date: Fri, 21 Jun 2024 15:59:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/fetch.js | 23 ++++++++++++----- src/views/AppStoresTable.vue | 49 ++++++++++++++++++++---------------- vite.config.js | 2 +- 3 files changed, 46 insertions(+), 28 deletions(-) diff --git a/src/utils/fetch.js b/src/utils/fetch.js index 16feb54..a2658fb 100644 --- a/src/utils/fetch.js +++ b/src/utils/fetch.js @@ -1,6 +1,5 @@ const init = () => new Promise(resolve => { const {axios, $glob} = window - let getAuthing = false const getToken = () => { getAuthing = true @@ -21,11 +20,20 @@ const init = () => new Promise(resolve => { config.headers['h-token'] = $glob.token return config } - window.$wait = (t = 500) => new Promise(resolve => setTimeout(resolve, t)) - http.interceptors.request.use(async config => { - while (getAuthing) { - await $wait() + window.$waitFor = (target, t = 500) => new Promise(resolve => { + const interval = setInterval(() => { + if (target) { + clearInterval(interval) + resolve(target) + } + }, t) + if (target) { + clearInterval(interval) + resolve(target) } + }) + http.interceptors.request.use(async config => { + await $waitFor(!getAuthing) if (!$glob.token && !getAuthing) { await getToken() } @@ -33,6 +41,9 @@ const init = () => new Promise(resolve => { }) http.interceptors.response.use(res => { if (res?.data) { + if (res.data?.code == 6004) { + return getToken().then(() => http.request(res.config)) + } return res.data } else if (res?.code == 401) { return getToken().then(() => http.request(res.config)) @@ -42,4 +53,4 @@ const init = () => new Promise(resolve => { window.$http = http resolve() }) -await init() +export default init() diff --git a/src/views/AppStoresTable.vue b/src/views/AppStoresTable.vue index c2b124c..842f628 100644 --- a/src/views/AppStoresTable.vue +++ b/src/views/AppStoresTable.vue @@ -1,4 +1,5 @@ @@ -132,8 +140,8 @@ export default {
-
-
+
+
@@ -156,7 +164,6 @@ export default {
- diff --git a/vite.config.js b/vite.config.js index 56fc56c..e6d2af5 100644 --- a/vite.config.js +++ b/vite.config.js @@ -23,7 +23,7 @@ export default defineConfig({ server: { port: 9000, proxy: { - '/api': { + '/data-boot': { target: 'http://10.0.97.209', changeOrigin: true, }