import Vue from 'vue' import VueRouter from 'vue-router' import store from '@/store' Vue.use(VueRouter) const originalPush = VueRouter.prototype.push VueRouter.prototype.push = function push(location) { return originalPush.call(this, location).catch((err) => err) } import Layout from '@/layout' /** * hidden: true if set true, item will not show in the top menuModule(default is false) */ export const routes = [ { path: '/home', component: Layout, name: 'home', meta: { title: '首页' }, children: [ { path: 'introduce', name: 'introduce', meta: { title: '介绍' }, component: () => import('../views/home/introduce') } ] }, { path: '/table', component: Layout, name: 'table', meta: { title: '表格' }, children: [ { path: 'singleHead', name: 'singleHead', meta: { title: '单表头' }, component: () => import('../views/table/singleHead') }, { path: 'multiLevelHead', name: 'multiLevelHead', meta: { title: '多级表头' }, component: () => import('../views/table/multiLevelHead') }, { path: 'canBeEntered', name: 'canBeEntered', meta: { title: '可输入型' }, component: () => import('../views/table/canBeEntered') }, { path: 'paginationShow', name: 'paginationShow', meta: { title: '分页' }, component: () => import('../views/table/pagination') } ] }, { path: '/searchBar', component: Layout, name: 'searchBar', meta: { title: '搜索' }, children: [ { path: 'searchBar', name: 'searchBar', meta: { title: '搜索' }, component: () => import('../views/searchBar/searchBar') } ] }, { path: '/dialog', component: Layout, name: 'dialog', meta: { title: '对话框' }, children: [ { path: 'dialogPage', name: 'dialogPage', meta: { title: '对话框' }, component: () => import('../views/dialog/dialogPage') } ] }, { path: '*', redirect: '/home/introduce', hidden: true } ] const router = new VueRouter({ mode: 'hash', base: process.env.BASE_URL, routes }) router.beforeEach((to, from, next) => { if (to.path === '/login') { next() } else { if (to.matched[0]) { const activeBox = { activeModule: to.matched[0].name, activeMenu: to.matched[1].name } store.dispatch('menu/setActiveModule', activeBox) next() } } }) export default router