若依
3 years ago
committed by
Gitee
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
2 changed files with
62 additions and
62 deletions
-
ruoyi-ui/src/permission.js
-
ruoyi-ui/src/utils/request.js
|
@ -4,6 +4,7 @@ import { Message } from 'element-ui' |
|
|
import NProgress from 'nprogress' |
|
|
import NProgress from 'nprogress' |
|
|
import 'nprogress/nprogress.css' |
|
|
import 'nprogress/nprogress.css' |
|
|
import { getToken } from '@/utils/auth' |
|
|
import { getToken } from '@/utils/auth' |
|
|
|
|
|
import { isRelogin } from '@/utils/request' |
|
|
|
|
|
|
|
|
NProgress.configure({ showSpinner: false }) |
|
|
NProgress.configure({ showSpinner: false }) |
|
|
|
|
|
|
|
@ -19,8 +20,10 @@ router.beforeEach((to, from, next) => { |
|
|
NProgress.done() |
|
|
NProgress.done() |
|
|
} else { |
|
|
} else { |
|
|
if (store.getters.roles.length === 0) { |
|
|
if (store.getters.roles.length === 0) { |
|
|
|
|
|
isRelogin.show = true |
|
|
// 判断当前用户是否已拉取完user_info信息
|
|
|
// 判断当前用户是否已拉取完user_info信息
|
|
|
store.dispatch('GetInfo').then(() => { |
|
|
store.dispatch('GetInfo').then(() => { |
|
|
|
|
|
isRelogin.show = false |
|
|
store.dispatch('GenerateRoutes').then(accessRoutes => { |
|
|
store.dispatch('GenerateRoutes').then(accessRoutes => { |
|
|
// 根据roles权限生成可访问的路由表
|
|
|
// 根据roles权限生成可访问的路由表
|
|
|
router.addRoutes(accessRoutes) // 动态添加可访问路由表
|
|
|
router.addRoutes(accessRoutes) // 动态添加可访问路由表
|
|
|
|
@ -9,7 +9,7 @@ import { saveAs } from 'file-saver' |
|
|
|
|
|
|
|
|
let downloadLoadingInstance; |
|
|
let downloadLoadingInstance; |
|
|
// 是否显示重新登录
|
|
|
// 是否显示重新登录
|
|
|
let isReloginShow; |
|
|
export let isRelogin = { show: false }; |
|
|
|
|
|
|
|
|
axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8' |
|
|
axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8' |
|
|
// 创建axios实例
|
|
|
// 创建axios实例
|
|
@ -76,23 +76,20 @@ service.interceptors.response.use(res => { |
|
|
return res.data |
|
|
return res.data |
|
|
} |
|
|
} |
|
|
if (code === 401) { |
|
|
if (code === 401) { |
|
|
if (!isReloginShow) { |
|
|
if (!isRelogin.show) { |
|
|
isReloginShow = true; |
|
|
isRelogin.show = true; |
|
|
MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { |
|
|
MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { |
|
|
confirmButtonText: '重新登录', |
|
|
confirmButtonText: '重新登录', |
|
|
cancelButtonText: '取消', |
|
|
cancelButtonText: '取消', |
|
|
type: 'warning' |
|
|
type: 'warning' |
|
|
} |
|
|
} |
|
|
).then(() => { |
|
|
).then(() => { |
|
|
isReloginShow = false; |
|
|
isRelogin.show = false; |
|
|
store.dispatch('LogOut').then(() => { |
|
|
store.dispatch('LogOut').then(() => { |
|
|
// 如果是登录页面不需要重新加载
|
|
|
location.href = '/index'; |
|
|
if (window.location.hash.indexOf("#/login") != 0) { |
|
|
|
|
|
location.href = '/index'; |
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
}) |
|
|
}).catch(() => { |
|
|
}).catch(() => { |
|
|
isReloginShow = false; |
|
|
isRelogin.show = false; |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
return Promise.reject('无效的会话,或者会话已过期,请重新登录。') |
|
|
return Promise.reject('无效的会话,或者会话已过期,请重新登录。') |
|
|