123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175 |
- import Vue from 'vue'
- import VueRouter, { RouteConfig,RouteRecord } from 'vue-router'
- // import HomeView from '../views/HomeView.vue'
- import Layout from '@/layout/index.vue'
- Vue.use(VueRouter)
- export const constantRoutes: Array<any> = [
- // {
- // path: '/',
- // name: 'home',
- // component: HomeView
- // },
- // {
- // path: '/about',
- // name: 'about',
- // // route level code-splitting
- // // this generates a separate chunk (about.[hash].js) for this route
- // // which is lazy-loaded when the route is visited.
- // component: () => import(/* webpackChunkName: "about" */ '../views/AboutView.vue')
- // },
- {
- path: '/login',
- component: () => import('../views/login.vue'),
- hidden: true
- },
- {
- path: '/register',
- component: () => import('@/views/register.vue'),
- hidden: true
- },
- {
- path: '',
- component: Layout,
- redirect: 'index',
- children: [
- {
- path: 'index',
- component: () => import('@/views/index.vue'),
- name: 'Index',
- meta: { title: '首页', icon: 'dashboard', affix: true }
- }
- ]
- },
- {
- path:'/demo',
- name:'Demo',
- hidden: true,
- component:() => import('@/views/demo/index.vue'),
- // redirect: 'form',
- children:[
- {
- path:'form',
- component:()=> import('@/views/demo/form.vue'),
- name:'Form',
- meta: {
- title: '表单',
- activeMenu: '/system/user'
- }
- },
- {
- path:'table',
- component:()=> import('@/views/demo/table.vue'),
- name:'Table',
- meta: {
- title: '表格',
- activeMenu: '/system/user'
- }
- },
- {
- path:'moduleView',
- component:()=> import('@/views/demo/moduleView.vue'),
- name:'ModuleView',
- meta: {
- title: 'view封装'
- }
- }
- ]
- }
- ]
- // 动态路由,基于用户权限动态去加载
- export const dynamicRoutes = [
-
- // {
- // path: '/system/user-auth',
- // component: Layout,
- // hidden: true,
- // permissions: ['system:user:edit'],
- // children: [{
- // path: 'role/:userId(\\d+)',
- // component: () => import('@/views/system/user/authRole'),
- // name: 'AuthRole',
- // meta: {
- // title: '分配角色',
- // activeMenu: '/system/user'
- // }
- // }]
- // },
- // {
- // path: '/system/role-auth',
- // component: Layout,
- // hidden: true,
- // permissions: ['system:role:edit'],
- // children: [{
- // path: 'user/:roleId(\\d+)',
- // component: () => import('@/views/system/role/authUser'),
- // name: 'AuthUser',
- // meta: {
- // title: '分配用户',
- // activeMenu: '/system/role'
- // }
- // }]
- // },
- // {
- // path: '/system/dict-data',
- // component: Layout,
- // hidden: true,
- // permissions: ['system:dict:list'],
- // children: [{
- // path: 'index/:dictId(\\d+)',
- // component: () => import('@/views/system/dict/data'),
- // name: 'Data',
- // meta: {
- // title: '字典数据',
- // activeMenu: '/system/dict'
- // }
- // }]
- // },
- // {
- // path: '/monitor/job-log',
- // component: Layout,
- // hidden: true,
- // permissions: ['monitor:job:list'],
- // children: [{
- // path: 'index/:jobId(\\d+)',
- // component: () => import('@/views/monitor/job/log'),
- // name: 'JobLog',
- // meta: {
- // title: '调度日志',
- // activeMenu: '/monitor/job'
- // }
- // }]
- // },
- // {
- // path: '/tool/gen-edit',
- // component: Layout,
- // hidden: true,
- // permissions: ['tool:gen:edit'],
- // children: [{
- // path: 'index/:tableId(\\d+)',
- // component: () => import('@/views/tool/gen/editTable'),
- // name: 'GenEdit',
- // meta: {
- // title: '修改生成配置',
- // activeMenu: '/tool/gen'
- // }
- // }]
- // }
- ]
- // 防止连续点击多次路由报错
- let routerPush:any = VueRouter.prototype.push;
- VueRouter.prototype.push = function push(location) {
- return routerPush.call(this, location).catch((err:any) => err)
- }
- const router = new VueRouter({
- mode: 'history',
- base: process.env.BASE_URL,
- routes: constantRoutes
- })
- export default router
|