From 10ae0bce65e6b33dbaec80d702372a39233775df Mon Sep 17 00:00:00 2001 From: RuoYi <yzz_ivy@163.com> Date: 星期六, 01 一月 2022 09:50:35 +0800 Subject: [PATCH] 用户修改减少一次角色列表关联查询 --- ruoyi-ui/src/utils/request.js | 27 +++++++++++++++++++-------- 1 files changed, 19 insertions(+), 8 deletions(-) diff --git a/ruoyi-ui/src/utils/request.js b/ruoyi-ui/src/utils/request.js index 78a20a2..12e535a 100644 --- a/ruoyi-ui/src/utils/request.js +++ b/ruoyi-ui/src/utils/request.js @@ -7,6 +7,8 @@ import { saveAs } from 'file-saver' let downloadLoadingInstance; +// 是否显示重新登录 +let isReloginShow; axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8' // 创建axios实例 @@ -48,19 +50,25 @@ return res.data } if (code === 401) { - let doms = document.getElementsByClassName('el-message-box')[0] - if(doms === undefined){ + if (!isReloginShow) { + isReloginShow = true; MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { confirmButtonText: '重新登录', cancelButtonText: '取消', type: 'warning' } - ).then(() => { - store.dispatch('LogOut').then(() => { + ).then(() => { + isReloginShow = false; + store.dispatch('LogOut').then(() => { + // 如果是登录页面不需要重新加载 + if (window.location.hash.indexOf("#/login") != 0) { location.href = '/index'; - }) - }).catch(() => {}); - } + } + }) + }).catch(() => { + isReloginShow = false; + }); + } return Promise.reject('无效的会话,或者会话已过期,请重新登录。') } else if (code === 500) { Message({ @@ -111,7 +119,10 @@ const blob = new Blob([data]) saveAs(blob, filename) } else { - Message.error('无效的会话,或者会话已过期,请重新登录。'); + const resText = await data.text(); + const rspObj = JSON.parse(resText); + const errMsg = errorCode[rspObj.code] || rspObj.msg || errorCode['default'] + Message.error(errMsg); } downloadLoadingInstance.close(); }).catch((r) => { -- Gitblit v1.9.2