import Vue from 'vue' import VueRouter from 'vue-router' import cookies from "js-cookie"; import Layout from '@/components/Layout.vue' Vue.use(VueRouter) const routes = [ { path: '/', //name: 'layout', component: Layout, children: [ { path: '/login', name: 'login', meta: { title: '系统登录', showMenu: false, }, component: () => import('@/views/login/index.vue') },{ path: '/home', // name: 'home', meta: { title: '首页' }, component: () => import('@/views/home/index.vue'), },{ path: '/flow/device', // name: 'flow', meta: { title: '车检器' }, component: () => import('@/views/flow/device.vue'), },{ path: '/flow/planHistory', // name: 'planHistory', meta: { title: '预案历史' }, component: () => import('@/views/flow/planHistory.vue'), },/*{ path: '/', // name: 'control', meta: { title: '控制中心' }, component: () => import('@/views/control/index.vue'), },*/{ path: '/device/management', // name: 'device', meta: { title: '设备管理' }, component: () => import('@/views/device/index.vue'), },{ path: '/device/view', // name: 'device', meta: { title: '设备可视化' }, component: () => import('@/views/device/deviceView.vue'), },{ path: '/config/devicePlan', // name: 'devicePlan', meta: { title: '设备联动预案' }, component: () => import('@/views/config/devicePlan.vue'), },{ path: '/user/userManagement', name: '用户管理', meta: { title: '用户管理' }, component: () => import('@/views/systemManagement/userManagement.vue'), },{ path: '/role/roleManagement', name: '角色管理', meta: { title: '角色管理' }, component: () => import('@/views/systemManagement/roleManagement.vue'), },{ path: '/depart/departManagement', name: '部门管理', meta: { title: '部门管理' }, component: () => import('@/views/systemManagement/departManagement.vue'), },{ path: '/log/logManagement', name: '日志管理', meta: { title: '部门管理' }, component: () => import('@/views/systemManagement/logManagement.vue'), },{ path: '/', name: 'view', meta: { title: '可视化' }, component: () => import('@/views/view/index.vue'), }] },{ path: '/test2', name: '首页', meta: { title: '首页' }, component: () => import('@/views/test2.vue'), } ] //以下代码解决路由地址重复点击的报错问题 /*const originalPush = VueRouter.prototype.push VueRouter.prototype.push = function push(location) { return originalPush.call(this, location).catch(err => err) }*/ const router = new VueRouter({ mode: 'hash', base: '/dist/', routes }) router.beforeEach((to, from, next) => { let myCookie = cookies.get('PORTAL_TOKEN'); /*if(to.path == '/'){ next(); }else*/ if (!myCookie && to.path != '/login') { router.push({path: '/login'}); } else { next(); } }); export default router