vue 动态路由配置

router.beforeEach((to, from, next) => {
if (localStorage.getItem("userRole") !== 'operator') {
if (router.options.routes.length < 14) {
let auditRoute = {
path: '/audit',
component: Layout,
name: 'Audit',
children: [
{
path: 'index',
name: 'AuditIndex',
component: () => import('./views/audit/index'),
meta: {title: '内容审核', icon: 'eye'}
},
{
path: 'detail/:type/:id',
name: 'AuditDetail',
component: () => import('./views/audit/detail/index'),
meta: { title: '内容详情' },
hidden: true
}
]
};

router.options.routes.push(auditRoute);
router.options.routes.push({ path: '*', redirect: '/404', hidden: true });

let lastRoutes = [];
lastRoutes.push(auditRoute);
lastRoutes.push({ path: '*', redirect: '/404', hidden: true });
router.addRoutes(lastRoutes);
}
checkToken();

if(!to.name && to.path){
next({path:to.path})
}else{
next()
}
} else {
if (router.options.routes.length !== 12) {
router.options.routes.pop();
router.options.routes.pop();
router.options.routes.push({ path: '*', redirect: '/404', hidden: true });

let lastRoutes = [];
lastRoutes.push({path: '*', redirect: '/404', hidden: true });
router.addRoutes(lastRoutes);
}
checkToken();
next()
}
});

猜你喜欢

转载自www.cnblogs.com/lovemiao/p/9927197.html