RuoYi
2021-12-31 1f59cedbb0544b3406ca896961c8e5be5232fbd2
修复登录失效后多次请求提示多次弹窗问题
已修改1个文件
17 ■■■■ 文件已修改
src/utils/request.js 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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,16 +50,25 @@
      return res.data
    }
    if (code === 401) {
      ElMessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', {
      if (!isReloginShow) {
        isReloginShow = true;
        ElMessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', {
          confirmButtonText: '重新登录',
          cancelButtonText: '取消',
          type: 'warning'
        }
      ).then(() => {
        isReloginShow = false;
        store.dispatch('LogOut').then(() => {
          location.href = '/index';
          // 如果是登录页面不需要重新加载
          if (window.location.hash.indexOf("#/login") != 0) {
            location.href = '/index';
          }
        })
      }).catch(() => {});
      }).catch(() => {
        isReloginShow = false;
      });
    }
      return Promise.reject('无效的会话,或者会话已过期,请重新登录。')
    } else if (code === 500) {
      ElMessage({