!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/nprogress.css' | ||||
| import { getToken } from '@/utils/auth' | ||||
| import { isRelogin } from '@/utils/request' | ||||
|  | ||||
| NProgress.configure({ showSpinner: false }) | ||||
|  | ||||
| @@ -19,8 +20,10 @@ router.beforeEach((to, from, next) => { | ||||
|       NProgress.done() | ||||
|     } else { | ||||
|       if (store.getters.roles.length === 0) { | ||||
|         isRelogin.show = true | ||||
|         // 判断当前用户是否已拉取完user_info信息 | ||||
|         store.dispatch('GetInfo').then(() => { | ||||
|           isRelogin.show = false | ||||
|           store.dispatch('GenerateRoutes').then(accessRoutes => { | ||||
|             // 根据roles权限生成可访问的路由表 | ||||
|             router.addRoutes(accessRoutes) // 动态添加可访问路由表 | ||||
|   | ||||
| @@ -9,7 +9,7 @@ import { saveAs } from 'file-saver' | ||||
|  | ||||
| let downloadLoadingInstance; | ||||
| // 是否显示重新登录 | ||||
| let isReloginShow; | ||||
| export let isRelogin = { show: false }; | ||||
|  | ||||
| axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8' | ||||
| // 创建axios实例 | ||||
| @@ -76,23 +76,20 @@ service.interceptors.response.use(res => { | ||||
|       return res.data | ||||
|     } | ||||
|     if (code === 401) { | ||||
|       if (!isReloginShow) { | ||||
|         isReloginShow = true; | ||||
|       if (!isRelogin.show) { | ||||
|         isRelogin.show = true; | ||||
|         MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { | ||||
|           confirmButtonText: '重新登录', | ||||
|           cancelButtonText: '取消', | ||||
|           type: 'warning' | ||||
|         } | ||||
|       ).then(() => { | ||||
|         isReloginShow = false; | ||||
|         isRelogin.show = false; | ||||
|         store.dispatch('LogOut').then(() => { | ||||
|           // 如果是登录页面不需要重新加载 | ||||
|           if (window.location.hash.indexOf("#/login") != 0) { | ||||
|           location.href = '/index'; | ||||
|           } | ||||
|         }) | ||||
|       }).catch(() => { | ||||
|         isReloginShow = false; | ||||
|         isRelogin.show = false; | ||||
|       }); | ||||
|     } | ||||
|       return Promise.reject('无效的会话,或者会话已过期,请重新登录。') | ||||
|   | ||||
		Reference in New Issue
	
	Block a user