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
128
129
| import type { RouteRecordRaw } from 'vue-router';
|
| import { LOGIN_PATH } from '..\..\packages\constants\src';
| import { preferences } from '..\..\packages\preferences\src';
|
| import { $t } from '#/locales';
|
| const BasicLayout = () => import('#/layouts/basic.vue');
| const AuthPageLayout = () => import('#/layouts/auth.vue');
| /** 全局404页面 */
| const fallbackNotFoundRoute: RouteRecordRaw = {
| component: () => import('#/views/_core/fallback/not-found.vue'),
| meta: {
| hideInBreadcrumb: true,
| hideInMenu: true,
| hideInTab: true,
| title: '404',
| },
| name: 'FallbackNotFound',
| path: '/:path(.*)*',
| };
|
| /** 基本路由,这些路由是必须存在的 */
| const coreRoutes: RouteRecordRaw[] = [
| /**
| * 根路由
| * 使用基础布局,作为所有页面的父级容器,子级就不必配置BasicLayout。
| * 此路由必须存在,且不应修改
| */
| {
| component: BasicLayout,
| meta: {
| hideInBreadcrumb: true,
| title: 'Root',
| },
| name: 'Root',
| path: '/',
| redirect: preferences.app.defaultHomePath,
| children: [],
| },
| {
| component: AuthPageLayout,
| meta: {
| hideInTab: true,
| title: 'Authentication',
| },
| name: 'Authentication',
| path: '/auth',
| redirect: LOGIN_PATH,
| children: [
| {
| name: 'Login',
| path: 'login',
| component: () => import('#/views/_core/authentication/login.vue'),
| meta: {
| title: $t('page.auth.login'),
| },
| },
| {
| name: 'CodeLogin',
| path: 'code-login',
| component: () => import('#/views/_core/authentication/code-login.vue'),
| meta: {
| title: $t('page.auth.codeLogin'),
| },
| },
| {
| name: 'QrCodeLogin',
| path: 'qrcode-login',
| component: () =>
| import('#/views/_core/authentication/qrcode-login.vue'),
| meta: {
| title: $t('page.auth.qrcodeLogin'),
| },
| },
| {
| name: 'ForgetPassword',
| path: 'forget-password',
| component: () =>
| import('#/views/_core/authentication/forget-password.vue'),
| meta: {
| title: $t('page.auth.forgetPassword'),
| },
| },
| {
| name: 'Register',
| path: 'register',
| component: () => import('#/views/_core/authentication/register.vue'),
| meta: {
| title: $t('page.auth.register'),
| },
| },
| {
| name: 'SocialLogin',
| path: 'social-login',
| component: () =>
| import('#/views/_core/authentication/social-login.vue'),
| meta: {
| title: $t('page.auth.login'),
| },
| },
| {
| name: 'SSOLogin',
| path: 'sso-login',
| component: () => import('#/views/_core/authentication/sso-login.vue'),
| meta: {
| title: $t('page.auth.login'),
| },
| },
| ],
| },
| /**
| * 用于 bpm 移动端流程表单 web-view 的嵌入
| */
| {
| component: () => import('#/views/bpm/form/mobile/index.vue'),
| meta: {
| hideInBreadcrumb: true,
| hideInMenu: true,
| hideInTab: true,
| ignoreAccess: true,
| title: '移动端流程表单展示',
| },
| name: 'BpmMobileFormPreview',
| path: '/bpm/mobile/form-preview',
| },
| ];
|
| export { coreRoutes, fallbackNotFoundRoute };
|
|