From d18757fd6acf0315052267c8cf60061d9bd0285b Mon Sep 17 00:00:00 2001 From: Hu Gang <18768366022@163.com> Date: Mon, 2 Dec 2024 15:43:31 +0800 Subject: [PATCH] fix: Coset the default language for requests --- .eslintrc.js | 1 - src/api/request.ts | 34 ++++++++++++++++++++-------------- src/views/account/Auth.vue | 2 +- 3 files changed, 21 insertions(+), 16 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 5942158..b4dbe94 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -29,7 +29,6 @@ module.exports = { }, plugins: ["@typescript-eslint", "vue"], rules: { - indent: ["error", 2], "@typescript-eslint/no-explicit-any": "off", "@typescript-eslint/no-unused-expressions": 'off', "vue/valid-define-props": "off", diff --git a/src/api/request.ts b/src/api/request.ts index 9644c2f..d7f93db 100644 --- a/src/api/request.ts +++ b/src/api/request.ts @@ -56,7 +56,7 @@ request.interceptors.request.use( } const { lang } = useLangStore() - config.headers['Accept-Language'] = lang === 'zh_cn' ? 'zh' : 'en' + config.headers['Accept-Language'] = lang === 'en' ? 'en' : 'zh' const aopsInfo = localStorage.getItem('aops') if (aopsInfo) { @@ -96,6 +96,7 @@ function dealBlobResponse(resp: AxiosResponse) { } downloadBlobFile(resp.data, filename) } +let isAuthing = false request.interceptors.response.use( async (response: AxiosResponse): Promise => { @@ -125,19 +126,23 @@ request.interceptors.response.use( if (!code.toString().match(/^2\d{2}$/)) { switch (Number(code)) { case 1201: - notification.error({ - message: `${t('account.sentence.validationFailed')}`, - description: response.data.message, - }) - setTimeout(async () => { - const { clearInfo } = useAccountStore() - const { getAuthRedirectUrl } = useAccountStore() - const url = await getAuthRedirectUrl() - if (url) { - clearInfo() - window.location.href = url - } - }, 1000) + if (!isAuthing) { + notification.error({ + message: `${t('account.sentence.validationFailed')}`, + description: response.data.message, + }) + isAuthing = true + setTimeout(async () => { + const { clearInfo } = useAccountStore() + const { getAuthRedirectUrl } = useAccountStore() + const url = await getAuthRedirectUrl() + if (url) { + clearInfo() + window.location.href = url + } + }, 1000) + } + break case 1207: if (response.config.url !== `/accounts/refreshtoken`) { @@ -189,6 +194,7 @@ request.interceptors.response.use( } return Promise.reject(result) } + isAuthing = false return data }, (error: AxiosError) => { diff --git a/src/views/account/Auth.vue b/src/views/account/Auth.vue index 55f81cc..4b8a33b 100644 --- a/src/views/account/Auth.vue +++ b/src/views/account/Auth.vue @@ -21,7 +21,7 @@ async function auth(code: string) { type: res.type || '', }) setTimeout(() => { - router.push('/dashboard') + router.replace('/') isAuthing.value = false }, 1000) } else { -- 2.33.0