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, }