2022-06-14 09:32:49 +08:00
|
|
|
|
/*
|
|
|
|
|
* @Author: hisense.wuhongjian
|
|
|
|
|
* @Date: 2022-04-01 17:23:11
|
2022-10-17 09:43:35 +08:00
|
|
|
|
* @LastEditors: Light
|
|
|
|
|
* @LastEditTime: 2022-10-17 09:25:32
|
2022-06-14 09:32:49 +08:00
|
|
|
|
* @Description: 告诉大家这是什么
|
|
|
|
|
*/
|
|
|
|
|
/**
|
|
|
|
|
* @author chuzhixin 1204505056@qq.com
|
|
|
|
|
* @description 路由守卫,目前两种模式:all模式与intelligence模式
|
|
|
|
|
*/
|
2022-07-15 21:35:22 +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'
|
2022-07-16 16:44:00 +08:00
|
|
|
|
import { setAccessToken, getAccessToken } from '@/utils/accessToken'
|
2022-07-15 21:35:22 +08:00
|
|
|
|
router.beforeEach(async (to, from, next) => {
|
|
|
|
|
// debugger
|
|
|
|
|
// const SSOTOKEN = to.query.SSOToken
|
|
|
|
|
// if (SSOTOKEN) {
|
|
|
|
|
// setAccessToken(SSOTOKEN)
|
|
|
|
|
// }
|
|
|
|
|
const token = getAccessToken()
|
|
|
|
|
console.log('token', token)
|
2022-07-16 16:44:00 +08:00
|
|
|
|
let hasToken = token
|
2022-07-15 21:35:22 +08:00
|
|
|
|
// debugger
|
|
|
|
|
if (!loginInterception) hasToken = true
|
|
|
|
|
console.log('hasToken存在巨大问题', hasToken)
|
|
|
|
|
if (hasToken) {
|
2022-07-11 19:12:53 +08:00
|
|
|
|
// setAccessToken(hasToken)
|
2022-07-15 21:35:22 +08:00
|
|
|
|
await store.dispatch('user/getUserInfo')
|
2022-07-16 16:44:00 +08:00
|
|
|
|
// debugger
|
2022-07-15 21:35:22 +08:00
|
|
|
|
next()
|
|
|
|
|
} else {
|
|
|
|
|
let accessRoutes = []
|
|
|
|
|
accessRoutes = await store.dispatch('routes/setRoutes')
|
|
|
|
|
accessRoutes.forEach((item) => {
|
|
|
|
|
router.addRoute(item)
|
|
|
|
|
})
|
2022-10-17 09:43:35 +08:00
|
|
|
|
console.log('验证白名单', routesWhiteList)
|
2022-07-15 21:35:22 +08:00
|
|
|
|
if (routesWhiteList.indexOf(to.path) !== -1) {
|
|
|
|
|
next()
|
|
|
|
|
} else {
|
2022-07-11 19:12:53 +08:00
|
|
|
|
// 这里是一个单点登录的入口
|
2022-07-16 16:44:00 +08:00
|
|
|
|
if (to.query.redict) getUserInfo(to.query.redict)
|
|
|
|
|
else {
|
|
|
|
|
getUserInfo()
|
|
|
|
|
}
|
2022-07-15 21:35:22 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
router.afterEach((to) => {
|
|
|
|
|
document.title = getPageTitle(to.meta.title)
|
|
|
|
|
})
|