1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
| import Vue from 'vue'
| import Router from 'vue-router'
|
| Vue.use(Router)
|
| /* Layout */
| import Layout from '@/layout'
|
| /**
| * Note: 路由配置项
| *
| * hidden: true // 当设置 true 的时候该路由不会再侧边栏出现 如401,login等页面,或者如一些编辑页面/edit/1
| * alwaysShow: true // 当你一个路由下面的 children 声明的路由大于1个时,自动会变成嵌套的模式--如组件页面
| * // 只有一个时,会将那个子路由当做根路由显示在侧边栏--如引导页面
| * // 若你想不管路由下面的 children 声明的个数都显示你的根路由
| * // 你可以设置 alwaysShow: true,这样它就会忽略之前定义的规则,一直显示根路由
| * redirect: noRedirect // 当设置 noRedirect 的时候该路由在面包屑导航中不可被点击
| * name:'router-name' // 设定路由的名字,一定要填写不然使用<keep-alive>时会出现各种问题
| * meta : {
| noCache: true // 如果设置为true,则不会被 <keep-alive> 缓存(默认 false)
| title: 'title' // 设置该路由在侧边栏和面包屑中展示的名字
| icon: 'svg-name' // 设置该路由的图标,对应路径src/assets/icons/svg
| breadcrumb: false // 如果设置为false,则不会在breadcrumb面包屑中显示
| }
| */
|
| // 公共路由
| export const constantRoutes = [
| {
| path: '/redirect',
| component: Layout,
| hidden: true,
| children: [
| {
| path: '/redirect/:path(.*)',
| component: (resolve) => require(['@/views/redirect'], resolve)
| }
| ]
| },
| {
| path: '/login',
| component: (resolve) => require(['@/views/login'], resolve),
| hidden: true
| },
| {
| path: '/404',
| component: (resolve) => require(['@/views/error/404'], resolve),
| hidden: true
| },
| {
| path: '/401',
| component: (resolve) => require(['@/views/error/401'], resolve),
| hidden: true
| },
| {
| path: '',
| component: Layout,
| redirect: 'index',
| children: [
| {
| path: 'index',
| component: (resolve) => require(['@/views/index'], resolve),
| name: '首页',
| meta: { title: '首页', icon: 'dashboard', noCache: true, affix: true }
| }
| ]
| },
| {
| path: '/user',
| component: Layout,
| hidden: true,
| redirect: 'noredirect',
| children: [
| {
| path: 'profile',
| component: (resolve) => require(['@/views/system/user/profile/index'], resolve),
| name: 'Profile',
| meta: { title: '个人中心', icon: 'user' }
| }
| ]
| },
| {
| path: '/dict',
| component: Layout,
| hidden: true,
| children: [
| {
| path: 'type/data/:dictId(\\d+)',
| component: (resolve) => require(['@/views/system/dict/data'], resolve),
| name: 'Data',
| meta: { title: '字典数据', icon: '' }
| }
| ]
| },
| {
| path: '/job',
| component: Layout,
| hidden: true,
| children: [
| {
| path: 'log',
| component: (resolve) => require(['@/views/monitor/job/log'], resolve),
| name: 'JobLog',
| meta: { title: '调度日志' }
| }
| ]
| },
| {
| path: '/gen',
| component: Layout,
| hidden: true,
| children: [
| {
| path: 'edit/:tableId(\\d+)',
| component: (resolve) => require(['@/views/tool/gen/editTable'], resolve),
| name: 'GenEdit',
| meta: { title: '修改生成配置' }
| }
| ]
| }
| ]
|
| export default new Router({
| mode: 'history', // 去掉url中的#
| scrollBehavior: () => ({ y: 0 }),
| routes: constantRoutes
| })
|
|