【类 型】:fix 路由守卫bug 问题提
【原 因】:next() 并不返回一个 Promise 所以它后面调用 catch()会导致错误 【过 程】: 【影 响】: # 类型 包含: # feat:新功能(feature) # fix:修补bug # docs:文档(documentation) # style: 格式(不影响代码运行的变动) # refactor:重构(即不是新增功能,也不是修改bug的代码变动) # test:增加测试 # chore:构建过程或辅助工具的变动
This commit is contained in:
parent
b8285a322c
commit
22249b4ca3
@ -13,31 +13,30 @@ router.beforeEach((to, from, next) => {
|
||||
NProgress.start()
|
||||
// 设置title
|
||||
document.title = getPageTitle(to.meta.title)
|
||||
// 路由
|
||||
store.commit('user/initUser')// 用户信息初始化 PS:token不存在 执行且执行一次
|
||||
|
||||
store.commit('user/initUser') // 用户信息初始化
|
||||
const power = store.state.user.power
|
||||
const token = store.state.user.token
|
||||
if (token === null) {
|
||||
|
||||
if (!token) {
|
||||
if (to.path === '/login') {
|
||||
next()
|
||||
NProgress.done()
|
||||
} else {
|
||||
next('/login')
|
||||
NProgress.done()
|
||||
next('/login') // 直接调用 next('/login')
|
||||
}
|
||||
} else {
|
||||
if (to.path === '/login') {
|
||||
next('/')
|
||||
NProgress.done()
|
||||
} else {
|
||||
if (to.meta.roles.indexOf(power) >= 0) { // 判断 roles权限 有权限打开页面 没权限跳转到首页
|
||||
if (to.meta.roles && to.meta.roles.indexOf(power) >= 0) { // 确保 roles 存在
|
||||
next()
|
||||
} else {
|
||||
next('/')
|
||||
}
|
||||
NProgress.done()
|
||||
}
|
||||
}
|
||||
|
||||
NProgress.done()
|
||||
})
|
||||
|
||||
/**
|
||||
@ -53,9 +52,5 @@ router.afterEach(() => {
|
||||
* @param {*} pageTitle 路由mate.tiele
|
||||
*/
|
||||
function getPageTitle (pageTitle) {
|
||||
if (pageTitle) {
|
||||
return `${pageTitle} - ${store.state.settings.title}`
|
||||
} else {
|
||||
return store.state.settings.title
|
||||
}
|
||||
return pageTitle ? `${pageTitle} - ${store.state.settings.title}` : store.state.settings.title
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user