diff --git a/frontend/src/router/index.ts b/frontend/src/router/index.ts index 87e4a45..d4268b1 100644 --- a/frontend/src/router/index.ts +++ b/frontend/src/router/index.ts @@ -75,15 +75,12 @@ const router = createRouter({ routes, }) -let installedChecked = false let isInstalled = false async function checkInstalled() { - if (installedChecked) return isInstalled try { const res: any = await systemApi.checkInstalled() isInstalled = res.installed - installedChecked = true return isInstalled } catch { return true diff --git a/frontend/src/utils/request.ts b/frontend/src/utils/request.ts index 679cb14..3476953 100644 --- a/frontend/src/utils/request.ts +++ b/frontend/src/utils/request.ts @@ -26,14 +26,19 @@ api.interceptors.response.use( (error) => { const message = error.response?.data?.error || error.message || 'Request failed' if (error.response?.status === 401) { - const hadToken = !!localStorage.getItem('token') - localStorage.removeItem('token') - localStorage.removeItem('user') - if (hadToken) { - ElMessage.error('登录已过期,请重新登录') - router.push('/login') - } else { + const isLoginRequest = error.config?.url?.includes('/auth/login') + if (isLoginRequest) { ElMessage.error(message) + } else { + const hadToken = !!localStorage.getItem('token') + localStorage.removeItem('token') + localStorage.removeItem('user') + if (hadToken) { + ElMessage.error('登录已过期,请重新登录') + router.push('/login') + } else { + ElMessage.error(message) + } } } else { ElMessage.error(message)