From 8a818f80358f857fc8fc327a0a19b4390f98ef67 Mon Sep 17 00:00:00 2001 From: bujinyuan Date: Mon, 2 Mar 2026 14:00:12 +0800 Subject: [PATCH] =?UTF-8?q?fix(admin):=20=E7=99=BB=E5=BD=95=E5=A4=B1?= =?UTF-8?q?=E8=B4=A5=E6=97=B6=E6=98=BE=E7=A4=BA=E5=90=8E=E7=AB=AF=E5=AE=9E?= =?UTF-8?q?=E9=99=85=E9=94=99=E8=AF=AF=E4=BF=A1=E6=81=AF=E8=80=8C=E9=9D=9E?= =?UTF-8?q?"=E7=99=BB=E5=BD=95=E5=B7=B2=E8=BF=87=E6=9C=9F"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 401 响应拦截器区分登录页和已登录页面: - 登录页:显示后端返回的 message(如"账号或密码错误") - 其他页面:显示"登录已过期"并跳转登录页 Made-with: Cursor --- admin/src/utils/request.js | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/admin/src/utils/request.js b/admin/src/utils/request.js index 9120b2b..3ded21b 100644 --- a/admin/src/utils/request.js +++ b/admin/src/utils/request.js @@ -51,10 +51,15 @@ service.interceptors.response.use( if (error.response) { const { status, data } = error.response if (status === 401) { - ElMessage.error('登录已过期,请重新登录') - localStorage.removeItem('admin_token') - localStorage.removeItem('admin_user') - router.push('/login') + const isOnLoginPage = router.currentRoute.value.path === '/login' + if (isOnLoginPage) { + ElMessage.error(data?.message || '账号或密码错误') + } else { + ElMessage.error('登录已过期,请重新登录') + localStorage.removeItem('admin_token') + localStorage.removeItem('admin_user') + router.push('/login') + } } else if (status === 403) { ElMessage.error(data?.message || '没有访问权限') } else {