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() }});