hi-ucs/front/src/vab/plugins/permissions.js

61 lines
1.6 KiB
Vue
Raw Normal View History

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) {
// 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-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)
})