if (!store.getters.userId) {
// 有token,要去的不是login,就直接放行
// 获取用户信息
const menus = await store.dispatch('user/getUserInfo')
const filterRoutes = asyncRoutes.filter(route => {
const routeName = route.children[0].name
return menus.includes(routeName)
})
// 将404push到路由的最后面 解决跳转到404问题
filterRoutes.push( // 404 page must be placed at the end !!!
{ path: '*', redirect: '/404', hidden: true })
// addRoutes用来动态添加路由配置
router.addRoutes(filterRoutes)
// 把它们保存在vuex中,在src\layout\components\Sidebar\index.vue
// 生成左侧菜单时,去vuex中拿数据
store.commit('menu/setMenuList', filterRoutes)
// 解决白屏问题
next(to)
}else{
next()
}
对于addRoute添加的路由,点击跳转进入404,在刷新时会白屏
最新推荐文章于 2023-12-22 17:44:22 发布