vue动态路由-后端接口
*通过获取后台用户信息的权限来进行路由的动态加载store.dispatch('GetInfo').then(res => { // 拉取用户信息let permissionData = tool.deepCopy(store.getters.permission)let getData = (obj) => {...
·
*通过获取后台用户信息的权限来进行路由的动态加载
store.dispatch('GetInfo').then(res => { // 拉取用户信息
let permissionData = tool.deepCopy(store.getters.permission)
let getData = (obj) => {
if(obj.children) {
obj.children.forEach((item) => {
item.component = _import(item.component)
getData(item)
})
}
}
//递归进行路由菜单添加
permissionData.forEach((item) => {
item.component = Layout
item.alwaysShow = true
getData(item)
})
permissionData.push({ path: '*', redirect: '/404', hidden: true })
router.options.routes = router.options.routes.concat(permissionData)
router.addRoutes(permissionData)
next({ ...to, replace: true })//确保addRoutes完成
}).catch((error) => {
store.dispatch('FedLogOut').then(() => {
Message.error('验证失败,请重新登录')
next({ path: '/login' })
})
NProgress.done() // 结束Progress
})
更多推荐
已为社区贡献1条内容
所有评论(0)