diff --git a/web-vue/src/api/request.js b/web-vue/src/api/request.js index 5170953..e3d55ac 100644 --- a/web-vue/src/api/request.js +++ b/web-vue/src/api/request.js @@ -19,6 +19,22 @@ request.interceptors.request.use( request.interceptors.response.use( response => response.data, error => { + // 后端不可用(网络错误、无响应),跳转到登录页 + if (!error.response) { + const isLoginPage = window.location.pathname === '/login' + if (!isLoginPage) { + localStorage.removeItem('token') + localStorage.removeItem('username') + localStorage.removeItem('userId') + localStorage.removeItem('nickname') + localStorage.removeItem('avatar') + localStorage.removeItem('storageUsed') + localStorage.removeItem('storageLimit') + window.location.href = '/login' + } + return Promise.reject(error) + } + const status = error.response?.status // 只有 401/403 才清理 token 并跳转登录页