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
| import type { RouteRecordRaw } from 'vue-router';
|
| /**
| * 建议:路由 path 路径与文件夹名称相同,找文件可浏览器地址找,方便定位文件位置
| *
| * 路由meta对象参数说明
| * meta: {
| * title: 菜单栏及 tagsView 栏、菜单搜索名称(国际化)
| * isLink: 是否超链接菜单,开启外链条件,`1、isLink: 链接地址不为空 2、isIframe:false`
| * isHide: 是否隐藏此路由
| * isKeepAlive: 是否缓存组件状态
| * isAffix: 是否固定在 tagsView 栏上
| * isIframe: 是否内嵌窗口,开启条件,`1、isIframe:true 2、isLink:链接地址不为空`
| * roles: 当前路由权限标识,取角色管理。控制路由显示、隐藏。超级管理员:admin 普通角色:common
| * icon: 菜单、tagsView 图标,阿里:加 `iconfont xxx`,fontawesome:加 `fa xxx`
| * }
| */
|
| // 扩展 RouteMeta 接口
| declare module 'vue-router' {
| interface RouteMeta {
| title?: string;
| isLink?: string;
| isHide?: boolean;
| isKeepAlive?: boolean;
| isAffix?: boolean;
| isIframe?: boolean;
| roles?: string[];
| icon?: string;
| }
| }
|
| /**
| * 定义动态路由
| * 前端添加路由,请在顶级节点的 `children 数组` 里添加
| * @description 未开启 isRequestRoutes 为 true 时使用(前端控制路由),开启时第一个顶级 children 的路由将被替换成接口请求回来的路由数据
| * @description 各字段请查看 `/@/views/system/menu/component/addMenu.vue 下的 ruleForm`
| * @returns 返回路由菜单数据
| */
| export const dynamicRoutes: Array<RouteRecordRaw> = [
| {
| path: '/',
| name: '/',
| component: () => import('/@/layout/index.vue'),
| redirect: '/home',
| meta: {
| isKeepAlive: true,
| },
| children: [],
| },
| ];
|
| /**
| * 定义404、401界面
| * @link 参考:https://next.router.vuejs.org/zh/guide/essentials/history-mode.html#netlify
| */
| export const notFoundAndNoPower = [
| {
| path: '/:path(.*)*',
| name: 'notFound',
| component: () => import('/@/views/error/404.vue'),
| meta: {
| title: 'message.staticRoutes.notFound',
| isHide: true,
| },
| },
| {
| path: '/401',
| name: 'noPower',
| component: () => import('/@/views/error/401.vue'),
| meta: {
| title: 'message.staticRoutes.noPower',
| isHide: true,
| },
| },
| ];
|
| /**
| * 定义静态路由(默认路由)
| * 此路由不要动,前端添加路由的话,请在 `dynamicRoutes 数组` 中添加
| * @description 前端控制直接改 dynamicRoutes 中的路由,后端控制不需要修改,请求接口路由数据时,会覆盖 dynamicRoutes 第一个顶级 children 的内容(全屏,不包含 layout 中的路由出口)
| * @returns 返回路由菜单数据
| */
| export const staticRoutes: Array<RouteRecordRaw> = [
| {
| path: '/login',
| name: 'login',
| // 不同软件编码使用不同的登录页
| component: () => {
| switch (window.globalConfig.Auth.SoftWareCode) {
| case 'CH_web':
| return import('/@/views/login/index_ch.vue');
|
| default:
| return import('/@/views/login/index_ch.vue');
| }
| },
| meta: {
| title: '登录',
| },
| },
| ];
|
|