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

67 lines
1.9 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-07-07 18:22:54 +08:00
* @LastEditors: hisense.wuhongjian
* @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) {
// setAccessToken(hasToken)
2022-07-08 19:02:20 +08:00
await store.dispatch('user/getUserInfo')
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-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)
})