2022-06-14 09:32:49 +08:00
|
|
|
|
/*
|
|
|
|
|
* @Author: hisense.wuhongjian
|
|
|
|
|
* @Date: 2022-04-01 17:23:11
|
2022-07-07 18:22:54 +08:00
|
|
|
|
* @LastEditors: hisense.wuhongjian
|
2022-07-11 19:12:53 +08:00
|
|
|
|
* @LastEditTime: 2022-07-11 16:39:36
|
2022-06-14 09:32:49 +08:00
|
|
|
|
* @Description: 告诉大家这是什么
|
|
|
|
|
*/
|
|
|
|
|
/**
|
|
|
|
|
* @author chuzhixin 1204505056@qq.com
|
|
|
|
|
* @description 路由守卫,目前两种模式:all模式与intelligence模式
|
|
|
|
|
*/
|
2022-07-08 19:02:20 +08:00
|
|
|
|
import router from '@/router'
|
|
|
|
|
import store from '@/store'
|
|
|
|
|
import getPageTitle from '@/utils/pageTitle'
|
|
|
|
|
import { getUserInfo } from '@/api/user'
|
|
|
|
|
import {
|
|
|
|
|
// authentication,
|
|
|
|
|
loginInterception,
|
|
|
|
|
// recordRoute,
|
|
|
|
|
routesWhiteList,
|
|
|
|
|
} from '@/config'
|
|
|
|
|
import { setAccessToken, getAccessToken } from '@/utils/accessToken'
|
|
|
|
|
router.beforeEach(async (to, from, next) => {
|
|
|
|
|
// debugger
|
|
|
|
|
// const SSOTOKEN = to.query.SSOToken
|
|
|
|
|
// if (SSOTOKEN) {
|
|
|
|
|
// setAccessToken(SSOTOKEN)
|
|
|
|
|
// }
|
|
|
|
|
const token = getAccessToken()
|
|
|
|
|
console.log('token', token)
|
|
|
|
|
let hasToken = token || store.getters['user/accessToken']
|
|
|
|
|
// debugger
|
|
|
|
|
if (!loginInterception) hasToken = true
|
|
|
|
|
console.log('hasToken存在巨大问题', hasToken)
|
|
|
|
|
if (hasToken) {
|
2022-07-11 19:12:53 +08:00
|
|
|
|
// setAccessToken(hasToken)
|
2022-07-08 19:02:20 +08:00
|
|
|
|
await store.dispatch('user/getUserInfo')
|
2022-07-11 19:12:53 +08:00
|
|
|
|
debugger
|
2022-07-08 19:02:20 +08:00
|
|
|
|
next()
|
|
|
|
|
} else {
|
|
|
|
|
let accessRoutes = []
|
|
|
|
|
accessRoutes = await store.dispatch('routes/setRoutes')
|
|
|
|
|
accessRoutes.forEach((item) => {
|
|
|
|
|
router.addRoute(item)
|
|
|
|
|
})
|
|
|
|
|
if (routesWhiteList.indexOf(to.path) !== -1) {
|
|
|
|
|
next()
|
|
|
|
|
} else {
|
2022-07-11 19:12:53 +08:00
|
|
|
|
// 这里是一个单点登录的入口
|
2022-07-08 19:02:20 +08:00
|
|
|
|
getUserInfo().then(res=>{
|
|
|
|
|
console.log(res)
|
|
|
|
|
router.replace('/home')
|
2022-07-07 18:22:54 +08:00
|
|
|
|
})
|
2022-07-08 19:02:20 +08:00
|
|
|
|
// await store.dispatch('user/getUserInfo')
|
2022-07-07 18:22:54 +08:00
|
|
|
|
// next()
|
2022-07-08 19:02:20 +08:00
|
|
|
|
// if (recordRoute)
|
|
|
|
|
// next({ path: '/login', query: { redirect: to.path }, replace: true })
|
|
|
|
|
// else next({ path: '/login', replace: true })
|
|
|
|
|
// next()
|
|
|
|
|
// window.open('http://www.baidu.com', '_self')
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
router.afterEach((to) => {
|
|
|
|
|
document.title = getPageTitle(to.meta.title)
|
|
|
|
|
})
|