路由404页问题修复
问题:如果我们刷新浏览器,会发现跳到了404页面
原因:现在我们的404页处在中间位置而不是所有路由的末尾了,改到末尾就可以了
切换路由刷新白屏bug修复
问题:手动切换路由,刷新浏览器,出现白屏问题
if (!store.state.user.userInfo.userId) { // 优化 ,vuex里没有userId的时候才执行下面
const res = await store.dispatch('user/asyncGetUserInfo')
// console.log('看下结果', res)
const menus = res.roles.menus
const filterRoutes = asyncRoutes.filter(item => {
return menus.includes(item.children[0].name)
})
// console.log('根据权限过滤后的路由表为:', filterRoutes)
store.commit('menu/setMenuList', filterRoutes)
// 路由404页问题修复 //把动态路由添加到应用的路由系统里
router.addRoutes([...filterRoutes, { path: '*', redirect: '/404', hidden: true }])
// 修复白屏
next({
...to, // next({ ...to })的目的,是保证路由添加完了再进入页面 (可以理解为重进一次)
replace: true // 覆盖上一次的记录
})
return
}