From e485f680c7cc3b6d4e551b76c629a63608efadb2 Mon Sep 17 00:00:00 2001 From: AN <1983933789@qq.com> Date: Thu, 17 Jul 2025 16:00:50 +0800 Subject: [PATCH] =?UTF-8?q?fix(projects):=20=E4=BF=AE=E5=A4=8D=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E8=BF=87=E6=9C=9F=E4=B8=8D=E5=BC=B9=E7=AA=97=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/service/request/index.ts | 48 +++++++++++++++++------------------- 1 file changed, 23 insertions(+), 25 deletions(-) diff --git a/src/service/request/index.ts b/src/service/request/index.ts index 88ae1b91..12ce410c 100644 --- a/src/service/request/index.ts +++ b/src/service/request/index.ts @@ -77,36 +77,34 @@ export const request = createFlatRequest msg !== response.data.msg); - } - }); - request.cancelAllRequest(); + if (window.location.pathname?.startsWith('/login')) { + logoutAndCleanup(); return null; } - logoutAndCleanup(); + request.state.errMsgStack = [...(request.state.errMsgStack || []), response.data.msg]; + // prevent the user from refreshing the page + window.addEventListener('beforeunload', handleLogout); + + window.$dialog?.warning({ + title: '系统提示', + content: '登录状态已过期,您可以继续留在该页面,或者重新登录', + positiveText: '重新登录', + negativeText: '取消', + maskClosable: false, + closeOnEsc: false, + onPositiveClick() { + logoutAndCleanup(); + }, + onClose() { + window.removeEventListener('beforeunload', handleLogout); + request.state.errMsgStack = request.state.errMsgStack.filter(msg => msg !== response.data.msg); + } + }); + request.cancelAllRequest(); return null; }