!431 修改登录超时刷新页面跳转登录页面还提示重新登录问题
Merge pull request !431 from 也曾为你、像超人/master
This commit is contained in:
		| @@ -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(() => { | ||||||
|           // 如果是登录页面不需要重新加载 |  | ||||||
|           if (window.location.hash.indexOf("#/login") != 0) { |  | ||||||
|           location.href = '/index'; |           location.href = '/index'; | ||||||
|           } |  | ||||||
|         }) |         }) | ||||||
|       }).catch(() => { |       }).catch(() => { | ||||||
|         isReloginShow = false; |         isRelogin.show = false; | ||||||
|       }); |       }); | ||||||
|     } |     } | ||||||
|       return Promise.reject('无效的会话,或者会话已过期,请重新登录。') |       return Promise.reject('无效的会话,或者会话已过期,请重新登录。') | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user