fix(projects): 修复没有子页面的路由写法问题

This commit is contained in:
Soybean 2021-10-20 18:45:02 +08:00
parent 358d4e8a19
commit b80c224664
10 changed files with 154 additions and 71 deletions

View File

@ -26,7 +26,7 @@
"form-data": "^4.0.0",
"makeit-captcha": "^1.2.5",
"naive-ui": "^2.19.9",
"pinia": "^2.0.0-rc.13",
"pinia": "^2.0.0-rc.14",
"qs": "^6.10.1",
"vue": "^3.2.20",
"vue-router": "^4.0.11"
@ -34,7 +34,7 @@
"devDependencies": {
"@commitlint/cli": "^13.2.1",
"@commitlint/config-conventional": "^13.2.0",
"@iconify/json": "^1.1.416",
"@iconify/json": "^1.1.417",
"@iconify/vue": "^3.0.0",
"@types/chroma-js": "^2.1.3",
"@types/qs": "^6.9.7",
@ -61,7 +61,7 @@
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-import": "^2.25.2",
"eslint-plugin-prettier": "^4.0.0",
"eslint-plugin-vue": "^7.19.1",
"eslint-plugin-vue": "^7.20.0",
"husky": "^7.0.2",
"lint-staged": "^11.2.3",
"patch-package": "^6.4.7",

View File

@ -3,7 +3,7 @@ lockfileVersion: 5.3
specifiers:
'@commitlint/cli': ^13.2.1
'@commitlint/config-conventional': ^13.2.0
'@iconify/json': ^1.1.416
'@iconify/json': ^1.1.417
'@iconify/vue': ^3.0.0
'@types/chroma-js': ^2.1.3
'@types/qs': ^6.9.7
@ -35,14 +35,14 @@ specifiers:
eslint-config-prettier: ^8.3.0
eslint-plugin-import: ^2.25.2
eslint-plugin-prettier: ^4.0.0
eslint-plugin-vue: ^7.19.1
eslint-plugin-vue: ^7.20.0
form-data: ^4.0.0
husky: ^7.0.2
lint-staged: ^11.2.3
makeit-captcha: ^1.2.5
naive-ui: ^2.19.9
patch-package: ^6.4.7
pinia: ^2.0.0-rc.13
pinia: ^2.0.0-rc.14
postinstall-postinstall: ^2.1.0
prettier: ^2.4.1
qs: ^6.10.1
@ -69,7 +69,7 @@ dependencies:
form-data: 4.0.0
makeit-captcha: registry.npmmirror.com/makeit-captcha/1.2.5
naive-ui: registry.npmmirror.com/naive-ui/2.19.9_vue@3.2.20
pinia: registry.npmmirror.com/pinia/2.0.0-rc.13_typescript@4.4.4+vue@3.2.20
pinia: registry.npmmirror.com/pinia/2.0.0-rc.14_typescript@4.4.4+vue@3.2.20
qs: 6.10.1
vue: registry.npmmirror.com/vue/3.2.20
vue-router: registry.nlark.com/vue-router/4.0.11_vue@3.2.20
@ -77,7 +77,7 @@ dependencies:
devDependencies:
'@commitlint/cli': registry.npmmirror.com/@commitlint/cli/13.2.1
'@commitlint/config-conventional': registry.npmmirror.com/@commitlint/config-conventional/13.2.0
'@iconify/json': registry.npmmirror.com/@iconify/json/1.1.416
'@iconify/json': registry.npmmirror.com/@iconify/json/1.1.417
'@iconify/vue': registry.nlark.com/@iconify/vue/3.0.0_vue@3.2.20
'@types/chroma-js': registry.nlark.com/@types/chroma-js/2.1.3
'@types/qs': registry.nlark.com/@types/qs/6.9.7
@ -94,7 +94,7 @@ devDependencies:
'@vitejs/plugin-vue': registry.npmmirror.com/@vitejs/plugin-vue/1.9.3_vite@2.6.10
'@vue/compiler-sfc': registry.npmmirror.com/@vue/compiler-sfc/3.2.20
'@vue/eslint-config-prettier': 6.0.0_25eba323c3088add261186b25106dbd0
'@vue/eslint-config-typescript': registry.npmmirror.com/@vue/eslint-config-typescript/8.0.0_e85d40dbf1f7b4357afc93f9c6690188
'@vue/eslint-config-typescript': registry.npmmirror.com/@vue/eslint-config-typescript/8.0.0_f0343b52b3e342de154fde57f59f8fba
commitizen: registry.nlark.com/commitizen/4.2.4
cz-conventional-changelog: registry.nlark.com/cz-conventional-changelog/3.3.0
cz-customizable: registry.nlark.com/cz-customizable/6.3.0
@ -104,7 +104,7 @@ devDependencies:
eslint-config-prettier: registry.nlark.com/eslint-config-prettier/8.3.0_eslint@8.0.1
eslint-plugin-import: registry.npmmirror.com/eslint-plugin-import/2.25.2_eslint@8.0.1
eslint-plugin-prettier: registry.nlark.com/eslint-plugin-prettier/4.0.0_15313026b01cdd263118061498e273ac
eslint-plugin-vue: registry.npmmirror.com/eslint-plugin-vue/7.19.1_eslint@8.0.1
eslint-plugin-vue: registry.npmmirror.com/eslint-plugin-vue/7.20.0_eslint@8.0.1
husky: registry.nlark.com/husky/7.0.2
lint-staged: registry.npmmirror.com/lint-staged/11.2.3
patch-package: registry.nlark.com/patch-package/6.4.7
@ -199,7 +199,7 @@ packages:
dependencies:
nice-try: 1.0.5
path-key: 2.0.1
semver: 5.7.1
semver: registry.nlark.com/semver/5.7.1
shebang-command: 1.2.0
which: 1.3.1
dev: true
@ -1073,7 +1073,7 @@ packages:
dev: true
registry.nlark.com/acorn/7.4.1:
resolution: {integrity: sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/acorn/download/acorn-7.4.1.tgz}
resolution: {integrity: sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/acorn/download/acorn-7.4.1.tgz}
name: acorn
version: 7.4.1
engines: {node: '>=0.4.0'}
@ -1714,10 +1714,31 @@ packages:
name: debug
version: 4.3.2
engines: {node: '>=6.0'}
peerDependencies:
supports-color: '*'
peerDependenciesMeta:
supports-color:
optional: true
dependencies:
ms: registry.npmmirror.com/ms/2.1.2
dev: true
registry.nlark.com/debug/4.3.2_supports-color@8.1.1:
resolution: {integrity: sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/debug/download/debug-4.3.2.tgz}
id: registry.nlark.com/debug/4.3.2
name: debug
version: 4.3.2
engines: {node: '>=6.0'}
peerDependencies:
supports-color: '*'
peerDependenciesMeta:
supports-color:
optional: true
dependencies:
ms: registry.npmmirror.com/ms/2.1.2
supports-color: registry.nlark.com/supports-color/8.1.1
dev: true
registry.nlark.com/decamelize-keys/1.1.0:
resolution: {integrity: sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/decamelize-keys/download/decamelize-keys-1.1.0.tgz}
name: decamelize-keys
@ -4549,6 +4570,8 @@ packages:
esquery: 1.4.0
lodash: 4.17.21
semver: 6.3.0
transitivePeerDependencies:
- supports-color
dev: true
registry.nlark.com/vue-router/4.0.11_vue@3.2.20:
@ -4898,6 +4921,8 @@ packages:
js-yaml: registry.nlark.com/js-yaml/3.14.1
minimatch: registry.nlark.com/minimatch/3.0.4
strip-json-comments: registry.nlark.com/strip-json-comments/3.1.1
transitivePeerDependencies:
- supports-color
dev: true
registry.npmmirror.com/@humanwhocodes/config-array/0.6.0:
@ -4909,12 +4934,14 @@ packages:
'@humanwhocodes/object-schema': registry.nlark.com/@humanwhocodes/object-schema/1.2.0
debug: registry.nlark.com/debug/4.3.2
minimatch: registry.nlark.com/minimatch/3.0.4
transitivePeerDependencies:
- supports-color
dev: true
registry.npmmirror.com/@iconify/json/1.1.416:
resolution: {integrity: sha1-ADZZd8htoUoI9qOxqKKTOT1+Vfk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@iconify/json/download/@iconify/json-1.1.416.tgz}
registry.npmmirror.com/@iconify/json/1.1.417:
resolution: {integrity: sha1-SFH/ZbsXkUULG7uXabSZNPLAVDI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@iconify/json/download/@iconify/json-1.1.417.tgz}
name: '@iconify/json'
version: 1.1.416
version: 1.1.417
dev: true
registry.npmmirror.com/@iconify/types/1.0.10:
@ -4989,6 +5016,8 @@ packages:
semver: registry.nlark.com/semver/7.3.5
tsutils: registry.nlark.com/tsutils/3.21.0_typescript@4.4.4
typescript: registry.npmmirror.com/typescript/4.4.4
transitivePeerDependencies:
- supports-color
dev: true
registry.npmmirror.com/@typescript-eslint/experimental-utils/5.1.0_eslint@8.0.1+typescript@4.4.4:
@ -5008,6 +5037,7 @@ packages:
eslint-scope: registry.nlark.com/eslint-scope/5.1.1
eslint-utils: registry.nlark.com/eslint-utils/3.0.0_eslint@8.0.1
transitivePeerDependencies:
- supports-color
- typescript
dev: true
@ -5030,6 +5060,8 @@ packages:
debug: registry.nlark.com/debug/4.3.2
eslint: registry.npmmirror.com/eslint/8.0.1
typescript: registry.npmmirror.com/typescript/4.4.4
transitivePeerDependencies:
- supports-color
dev: true
registry.npmmirror.com/@typescript-eslint/scope-manager/5.1.0:
@ -5069,6 +5101,8 @@ packages:
semver: registry.nlark.com/semver/7.3.5
tsutils: registry.nlark.com/tsutils/3.21.0_typescript@4.4.4
typescript: registry.npmmirror.com/typescript/4.4.4
transitivePeerDependencies:
- supports-color
dev: true
registry.npmmirror.com/@typescript-eslint/visitor-keys/5.1.0:
@ -5201,7 +5235,7 @@ packages:
version: 6.0.0-beta.19
dev: false
registry.npmmirror.com/@vue/eslint-config-typescript/8.0.0_e85d40dbf1f7b4357afc93f9c6690188:
registry.npmmirror.com/@vue/eslint-config-typescript/8.0.0_f0343b52b3e342de154fde57f59f8fba:
resolution: {integrity: sha1-56WqDN9fXVngX36jEOiVSkm4/EE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/eslint-config-typescript/download/@vue/eslint-config-typescript-8.0.0.tgz?cache=0&sync_timestamp=1634109955383&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40vue%2Feslint-config-typescript%2Fdownload%2F%40vue%2Feslint-config-typescript-8.0.0.tgz}
id: registry.npmmirror.com/@vue/eslint-config-typescript/8.0.0
name: '@vue/eslint-config-typescript'
@ -5216,8 +5250,10 @@ packages:
'@typescript-eslint/eslint-plugin': registry.npmmirror.com/@typescript-eslint/eslint-plugin/5.1.0_5c3e9dad3ab5199adbc8541e4d2d5a4f
'@typescript-eslint/parser': registry.npmmirror.com/@typescript-eslint/parser/5.1.0_eslint@8.0.1+typescript@4.4.4
eslint: registry.npmmirror.com/eslint/8.0.1
eslint-plugin-vue: registry.npmmirror.com/eslint-plugin-vue/7.19.1_eslint@8.0.1
eslint-plugin-vue: registry.npmmirror.com/eslint-plugin-vue/7.20.0_eslint@8.0.1
vue-eslint-parser: registry.nlark.com/vue-eslint-parser/7.10.0_eslint@8.0.1
transitivePeerDependencies:
- supports-color
dev: true
registry.npmmirror.com/@vue/reactivity/3.2.20:
@ -5320,6 +5356,8 @@ packages:
debug: registry.nlark.com/debug/4.3.2
jiti: registry.npmmirror.com/jiti/1.12.9
windicss: registry.npmmirror.com/windicss/3.1.9
transitivePeerDependencies:
- supports-color
dev: true
registry.npmmirror.com/@windicss/plugin-utils/1.4.12:
@ -5334,6 +5372,8 @@ packages:
magic-string: registry.nlark.com/magic-string/0.25.7
micromatch: registry.nlark.com/micromatch/4.0.4
windicss: registry.npmmirror.com/windicss/3.1.9
transitivePeerDependencies:
- supports-color
dev: true
registry.npmmirror.com/array-includes/3.1.4:
@ -5690,20 +5730,22 @@ packages:
tsconfig-paths: registry.nlark.com/tsconfig-paths/3.11.0
dev: true
registry.npmmirror.com/eslint-plugin-vue/7.19.1_eslint@8.0.1:
resolution: {integrity: sha1-Q1+yznEoQqlTCyjqy4g2gOjqpPM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eslint-plugin-vue/download/eslint-plugin-vue-7.19.1.tgz?cache=0&sync_timestamp=1633513913072&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-plugin-vue%2Fdownload%2Feslint-plugin-vue-7.19.1.tgz}
id: registry.npmmirror.com/eslint-plugin-vue/7.19.1
registry.npmmirror.com/eslint-plugin-vue/7.20.0_eslint@8.0.1:
resolution: {integrity: sha1-mMIYhaa/3wcTw6kpV6Wv6q7tklM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eslint-plugin-vue/download/eslint-plugin-vue-7.20.0.tgz}
id: registry.npmmirror.com/eslint-plugin-vue/7.20.0
name: eslint-plugin-vue
version: 7.19.1
version: 7.20.0
engines: {node: '>=8.10'}
peerDependencies:
eslint: ^6.2.0 || ^7.0.0 || ^8.0.0-0
eslint: ^6.2.0 || ^7.0.0 || ^8.0.0
dependencies:
eslint: registry.npmmirror.com/eslint/8.0.1
eslint-utils: registry.nlark.com/eslint-utils/2.1.0
natural-compare: registry.nlark.com/natural-compare/1.4.0
semver: registry.nlark.com/semver/6.3.0
vue-eslint-parser: registry.nlark.com/vue-eslint-parser/7.10.0_eslint@8.0.1
vue-eslint-parser: registry.npmmirror.com/vue-eslint-parser/7.10.0_eslint@8.0.1
transitivePeerDependencies:
- supports-color
dev: true
registry.npmmirror.com/eslint/8.0.1:
@ -5751,6 +5793,8 @@ packages:
strip-json-comments: registry.nlark.com/strip-json-comments/3.1.1
text-table: registry.nlark.com/text-table/0.2.0
v8-compile-cache: registry.nlark.com/v8-compile-cache/2.3.0
transitivePeerDependencies:
- supports-color
dev: true
registry.npmmirror.com/find-up/2.1.0:
@ -5887,7 +5931,7 @@ packages:
colorette: registry.npmmirror.com/colorette/1.4.0
commander: registry.nlark.com/commander/8.2.0
cosmiconfig: registry.nlark.com/cosmiconfig/7.0.1
debug: registry.nlark.com/debug/4.3.2
debug: registry.nlark.com/debug/4.3.2_supports-color@8.1.1
enquirer: registry.nlark.com/enquirer/2.3.6
execa: registry.nlark.com/execa/5.1.1
listr2: registry.npmmirror.com/listr2/3.12.2_enquirer@2.3.6
@ -6081,11 +6125,11 @@ packages:
version: 0.2.1
dev: true
registry.npmmirror.com/pinia/2.0.0-rc.13_typescript@4.4.4+vue@3.2.20:
resolution: {integrity: sha1-ufhY2ieBMEae2N2J+DSN5U8hZUE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pinia/download/pinia-2.0.0-rc.13.tgz}
id: registry.npmmirror.com/pinia/2.0.0-rc.13
registry.npmmirror.com/pinia/2.0.0-rc.14_typescript@4.4.4+vue@3.2.20:
resolution: {integrity: sha1-xcAExgtWgG9GXK4brM45Is8xY6w=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pinia/download/pinia-2.0.0-rc.14.tgz}
id: registry.npmmirror.com/pinia/2.0.0-rc.14
name: pinia
version: 2.0.0-rc.13
version: 2.0.0-rc.14
peerDependencies:
'@vue/composition-api': ^1.2.4
typescript: ^4.4.3
@ -6272,6 +6316,7 @@ packages:
unplugin: registry.npmmirror.com/unplugin/0.2.16_vite@2.6.10
transitivePeerDependencies:
- rollup
- supports-color
- vite
- webpack
dev: true
@ -6298,6 +6343,7 @@ packages:
vue: registry.npmmirror.com/vue/3.2.20
transitivePeerDependencies:
- rollup
- supports-color
- vite
- webpack
dev: true
@ -6311,6 +6357,13 @@ packages:
rollup: ^2.50.0
vite: ^2.3.0
webpack: 4 || 5
peerDependenciesMeta:
rollup:
optional: true
vite:
optional: true
webpack:
optional: true
dependencies:
vite: registry.npmmirror.com/vite/2.6.10_sass@1.43.2
webpack-virtual-modules: registry.nlark.com/webpack-virtual-modules/0.4.3
@ -6346,6 +6399,8 @@ packages:
debug: registry.nlark.com/debug/4.3.2
vite: registry.npmmirror.com/vite/2.6.10_sass@1.43.2
windicss: registry.npmmirror.com/windicss/3.1.9
transitivePeerDependencies:
- supports-color
dev: true
registry.npmmirror.com/vite/2.6.10_sass@1.43.2:
@ -6528,6 +6583,27 @@ packages:
vscode-typescript-languageservice: registry.npmmirror.com/vscode-typescript-languageservice/0.28.7
dev: true
registry.npmmirror.com/vue-eslint-parser/7.10.0_eslint@8.0.1:
resolution: {integrity: sha1-6k5LEP0QqjXIp5rHg0iNirzSm+g=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vue-eslint-parser/download/vue-eslint-parser-7.10.0.tgz?cache=0&sync_timestamp=1634606837435&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fvue-eslint-parser%2Fdownload%2Fvue-eslint-parser-7.10.0.tgz}
id: registry.npmmirror.com/vue-eslint-parser/7.10.0
name: vue-eslint-parser
version: 7.10.0
engines: {node: '>=8.10'}
peerDependencies:
eslint: '>=5.0.0'
dependencies:
debug: registry.nlark.com/debug/4.3.2
eslint: registry.npmmirror.com/eslint/8.0.1
eslint-scope: registry.nlark.com/eslint-scope/5.1.1
eslint-visitor-keys: registry.nlark.com/eslint-visitor-keys/1.3.0
espree: registry.nlark.com/espree/6.2.1
esquery: registry.nlark.com/esquery/1.4.0
lodash: registry.nlark.com/lodash/4.17.21
semver: registry.nlark.com/semver/6.3.0
transitivePeerDependencies:
- supports-color
dev: true
registry.npmmirror.com/vue-tsc/0.28.7_typescript@4.4.4:
resolution: {integrity: sha1-pvp0bdDK/BrqBs3nTSKz5x7XJm8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vue-tsc/download/vue-tsc-0.28.7.tgz}
id: registry.npmmirror.com/vue-tsc/0.28.7

View File

@ -15,6 +15,8 @@ interface RouteMeta {
isNotMenu?: boolean;
/** 菜单和面包屑对应的图标 */
icon?: Component;
/** 路由作为菜单时的排序 */
order?: number;
}
export type CustomRoute = RouteRecordRaw & { meta: RouteMeta };

View File

@ -1,5 +1,7 @@
import type { Component } from 'vue';
import { getRouteNameMap } from '@/utils';
import { BasicLayout, BlankLayout } from '@/layouts';
import type { CustomRoute } from '@/interface';
import getCacheRoutes from './cache';
import transformRouteToMenu from './menus';
@ -13,4 +15,26 @@ export function setCacheName(component: Component, name?: string) {
/** 路由name map */
export const RouteNameMap = getRouteNameMap();
function getSingleRoute(route: CustomRoute, container: Component) {
const routeItem: CustomRoute = {
name: `${route.name as string}_`,
path: `${route.path}_`,
component: container,
redirect: { name: route.name },
meta: {
isNotMenu: true
},
children: [route]
};
return routeItem;
}
export function getSingleBasicLayoutRoute(route: CustomRoute) {
return getSingleRoute(route, BasicLayout);
}
export function getSingleBlankLayoutRoute(route: CustomRoute) {
return getSingleRoute(route, BlankLayout);
}
export { getCacheRoutes, transformRouteToMenu };

View File

@ -22,24 +22,26 @@ function addPartialProps(menuItem: GlobalMenuOption, icon?: Component, children?
export default function transformRouteToMenu(routes: CustomRoute[]) {
const globalMenu: GlobalMenuOption[] = [];
routes.forEach(route => {
const { name, path, meta } = route;
const routeName = name as string;
let menuChildren: GlobalMenuOption[] | undefined;
if (route.children) {
menuChildren = transformRouteToMenu(route.children as CustomRoute[]);
}
const menuItem: GlobalMenuOption = addPartialProps(
{
key: routeName,
label: meta?.title ?? routeName,
routeName,
routePath: path
},
meta?.icon,
menuChildren
);
if (asMenu(route)) {
const { name, path, meta } = route;
const routeName = name as string;
let menuChildren: GlobalMenuOption[] | undefined;
if (route.children) {
menuChildren = transformRouteToMenu(route.children as CustomRoute[]);
}
const menuItem: GlobalMenuOption = addPartialProps(
{
key: routeName,
label: meta?.title ?? routeName,
routeName,
routePath: path
},
meta?.icon,
menuChildren
);
globalMenu.push(menuItem);
} else if (menuChildren) {
globalMenu.push(...menuChildren);
}
});
return globalMenu;

View File

@ -1,19 +0,0 @@
import type { CustomRoute } from '@/interface';
import { EnumRoutePath } from '@/enum';
import { BasicLayout } from '@/layouts';
import { RouteNameMap } from '../helpers';
import { ROUTE_HOME } from '../routes';
import ABOUT from './about';
const SINGLE: CustomRoute = {
name: RouteNameMap.get('root'),
path: EnumRoutePath.root,
component: BasicLayout,
redirect: { name: ROUTE_HOME.name },
meta: {
isNotMenu: true
},
children: [ABOUT]
};
export default SINGLE;

View File

@ -1,10 +1,10 @@
import { BookInformation24Regular } from '@vicons/fluent';
import type { CustomRoute } from '@/interface';
import { EnumRoutePath, EnumRouteTitle } from '@/enum';
import { RouteNameMap } from '../helpers';
import { RouteNameMap, getSingleBasicLayoutRoute } from '../helpers';
import { About } from '../components';
const ABOUT: CustomRoute = {
const ABOUT: CustomRoute = getSingleBasicLayoutRoute({
name: RouteNameMap.get('about'),
path: EnumRoutePath.about,
component: About,
@ -13,6 +13,5 @@ const ABOUT: CustomRoute = {
title: EnumRouteTitle.about,
icon: BookInformation24Regular
}
};
});
export default ABOUT;

View File

@ -1,4 +1,4 @@
import SIGNLE from './_single'; // 没有子菜单的单独页面
import ROOT from './root'; // 没有子菜单的单独页面
import DASHBOARD from './dashboard';
import DOCUMENT from './document';
import COMPONENT from './component';
@ -6,4 +6,4 @@ import EXCEPTION from './exception';
import MULTI_MENU from './multiMenu';
import ABOUT from './about';
export default [SIGNLE, DASHBOARD, DOCUMENT, COMPONENT, EXCEPTION, MULTI_MENU, ABOUT];
export default [ROOT, DASHBOARD, DOCUMENT, COMPONENT, EXCEPTION, MULTI_MENU, ABOUT];

View File

@ -1,13 +1,11 @@
import type { CustomRoute } from '@/interface';
import { EnumRoutePath } from '@/enum';
import { BasicLayout } from '@/layouts';
import { RouteNameMap } from '../helpers';
import { ROUTE_HOME } from '../routes';
const ROOT: CustomRoute = {
name: RouteNameMap.get('root'),
path: EnumRoutePath.root,
component: BasicLayout,
redirect: { name: ROUTE_HOME.name },
meta: {
isNotMenu: true

View File

@ -15,6 +15,7 @@ export function setRouterCacheName(component: Component, name?: string) {
}
}
// 获取登录后的重定向地址
export function getLoginRedirectUrl() {
const path = router.currentRoute.value.fullPath as EnumRoutePath;
const redirectUrl = path === EnumRoutePath.root ? undefined : path;