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

View File

@ -3,7 +3,7 @@ lockfileVersion: 5.3
specifiers: specifiers:
'@commitlint/cli': ^13.2.1 '@commitlint/cli': ^13.2.1
'@commitlint/config-conventional': ^13.2.0 '@commitlint/config-conventional': ^13.2.0
'@iconify/json': ^1.1.416 '@iconify/json': ^1.1.417
'@iconify/vue': ^3.0.0 '@iconify/vue': ^3.0.0
'@types/chroma-js': ^2.1.3 '@types/chroma-js': ^2.1.3
'@types/qs': ^6.9.7 '@types/qs': ^6.9.7
@ -35,14 +35,14 @@ specifiers:
eslint-config-prettier: ^8.3.0 eslint-config-prettier: ^8.3.0
eslint-plugin-import: ^2.25.2 eslint-plugin-import: ^2.25.2
eslint-plugin-prettier: ^4.0.0 eslint-plugin-prettier: ^4.0.0
eslint-plugin-vue: ^7.19.1 eslint-plugin-vue: ^7.20.0
form-data: ^4.0.0 form-data: ^4.0.0
husky: ^7.0.2 husky: ^7.0.2
lint-staged: ^11.2.3 lint-staged: ^11.2.3
makeit-captcha: ^1.2.5 makeit-captcha: ^1.2.5
naive-ui: ^2.19.9 naive-ui: ^2.19.9
patch-package: ^6.4.7 patch-package: ^6.4.7
pinia: ^2.0.0-rc.13 pinia: ^2.0.0-rc.14
postinstall-postinstall: ^2.1.0 postinstall-postinstall: ^2.1.0
prettier: ^2.4.1 prettier: ^2.4.1
qs: ^6.10.1 qs: ^6.10.1
@ -69,7 +69,7 @@ dependencies:
form-data: 4.0.0 form-data: 4.0.0
makeit-captcha: registry.npmmirror.com/makeit-captcha/1.2.5 makeit-captcha: registry.npmmirror.com/makeit-captcha/1.2.5
naive-ui: registry.npmmirror.com/naive-ui/2.19.9_vue@3.2.20 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 qs: 6.10.1
vue: registry.npmmirror.com/vue/3.2.20 vue: registry.npmmirror.com/vue/3.2.20
vue-router: registry.nlark.com/vue-router/4.0.11_vue@3.2.20 vue-router: registry.nlark.com/vue-router/4.0.11_vue@3.2.20
@ -77,7 +77,7 @@ dependencies:
devDependencies: devDependencies:
'@commitlint/cli': registry.npmmirror.com/@commitlint/cli/13.2.1 '@commitlint/cli': registry.npmmirror.com/@commitlint/cli/13.2.1
'@commitlint/config-conventional': registry.npmmirror.com/@commitlint/config-conventional/13.2.0 '@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 '@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/chroma-js': registry.nlark.com/@types/chroma-js/2.1.3
'@types/qs': registry.nlark.com/@types/qs/6.9.7 '@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 '@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/compiler-sfc': registry.npmmirror.com/@vue/compiler-sfc/3.2.20
'@vue/eslint-config-prettier': 6.0.0_25eba323c3088add261186b25106dbd0 '@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 commitizen: registry.nlark.com/commitizen/4.2.4
cz-conventional-changelog: registry.nlark.com/cz-conventional-changelog/3.3.0 cz-conventional-changelog: registry.nlark.com/cz-conventional-changelog/3.3.0
cz-customizable: registry.nlark.com/cz-customizable/6.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-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-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-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 husky: registry.nlark.com/husky/7.0.2
lint-staged: registry.npmmirror.com/lint-staged/11.2.3 lint-staged: registry.npmmirror.com/lint-staged/11.2.3
patch-package: registry.nlark.com/patch-package/6.4.7 patch-package: registry.nlark.com/patch-package/6.4.7
@ -199,7 +199,7 @@ packages:
dependencies: dependencies:
nice-try: 1.0.5 nice-try: 1.0.5
path-key: 2.0.1 path-key: 2.0.1
semver: 5.7.1 semver: registry.nlark.com/semver/5.7.1
shebang-command: 1.2.0 shebang-command: 1.2.0
which: 1.3.1 which: 1.3.1
dev: true dev: true
@ -1073,7 +1073,7 @@ packages:
dev: true dev: true
registry.nlark.com/acorn/7.4.1: 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 name: acorn
version: 7.4.1 version: 7.4.1
engines: {node: '>=0.4.0'} engines: {node: '>=0.4.0'}
@ -1714,10 +1714,31 @@ packages:
name: debug name: debug
version: 4.3.2 version: 4.3.2
engines: {node: '>=6.0'} engines: {node: '>=6.0'}
peerDependencies:
supports-color: '*'
peerDependenciesMeta:
supports-color:
optional: true
dependencies: dependencies:
ms: registry.npmmirror.com/ms/2.1.2 ms: registry.npmmirror.com/ms/2.1.2
dev: true 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: 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} 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 name: decamelize-keys
@ -4549,6 +4570,8 @@ packages:
esquery: 1.4.0 esquery: 1.4.0
lodash: 4.17.21 lodash: 4.17.21
semver: 6.3.0 semver: 6.3.0
transitivePeerDependencies:
- supports-color
dev: true dev: true
registry.nlark.com/vue-router/4.0.11_vue@3.2.20: 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 js-yaml: registry.nlark.com/js-yaml/3.14.1
minimatch: registry.nlark.com/minimatch/3.0.4 minimatch: registry.nlark.com/minimatch/3.0.4
strip-json-comments: registry.nlark.com/strip-json-comments/3.1.1 strip-json-comments: registry.nlark.com/strip-json-comments/3.1.1
transitivePeerDependencies:
- supports-color
dev: true dev: true
registry.npmmirror.com/@humanwhocodes/config-array/0.6.0: 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 '@humanwhocodes/object-schema': registry.nlark.com/@humanwhocodes/object-schema/1.2.0
debug: registry.nlark.com/debug/4.3.2 debug: registry.nlark.com/debug/4.3.2
minimatch: registry.nlark.com/minimatch/3.0.4 minimatch: registry.nlark.com/minimatch/3.0.4
transitivePeerDependencies:
- supports-color
dev: true dev: true
registry.npmmirror.com/@iconify/json/1.1.416: registry.npmmirror.com/@iconify/json/1.1.417:
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} 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' name: '@iconify/json'
version: 1.1.416 version: 1.1.417
dev: true dev: true
registry.npmmirror.com/@iconify/types/1.0.10: registry.npmmirror.com/@iconify/types/1.0.10:
@ -4989,6 +5016,8 @@ packages:
semver: registry.nlark.com/semver/7.3.5 semver: registry.nlark.com/semver/7.3.5
tsutils: registry.nlark.com/tsutils/3.21.0_typescript@4.4.4 tsutils: registry.nlark.com/tsutils/3.21.0_typescript@4.4.4
typescript: registry.npmmirror.com/typescript/4.4.4 typescript: registry.npmmirror.com/typescript/4.4.4
transitivePeerDependencies:
- supports-color
dev: true dev: true
registry.npmmirror.com/@typescript-eslint/experimental-utils/5.1.0_eslint@8.0.1+typescript@4.4.4: 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-scope: registry.nlark.com/eslint-scope/5.1.1
eslint-utils: registry.nlark.com/eslint-utils/3.0.0_eslint@8.0.1 eslint-utils: registry.nlark.com/eslint-utils/3.0.0_eslint@8.0.1
transitivePeerDependencies: transitivePeerDependencies:
- supports-color
- typescript - typescript
dev: true dev: true
@ -5030,6 +5060,8 @@ packages:
debug: registry.nlark.com/debug/4.3.2 debug: registry.nlark.com/debug/4.3.2
eslint: registry.npmmirror.com/eslint/8.0.1 eslint: registry.npmmirror.com/eslint/8.0.1
typescript: registry.npmmirror.com/typescript/4.4.4 typescript: registry.npmmirror.com/typescript/4.4.4
transitivePeerDependencies:
- supports-color
dev: true dev: true
registry.npmmirror.com/@typescript-eslint/scope-manager/5.1.0: registry.npmmirror.com/@typescript-eslint/scope-manager/5.1.0:
@ -5069,6 +5101,8 @@ packages:
semver: registry.nlark.com/semver/7.3.5 semver: registry.nlark.com/semver/7.3.5
tsutils: registry.nlark.com/tsutils/3.21.0_typescript@4.4.4 tsutils: registry.nlark.com/tsutils/3.21.0_typescript@4.4.4
typescript: registry.npmmirror.com/typescript/4.4.4 typescript: registry.npmmirror.com/typescript/4.4.4
transitivePeerDependencies:
- supports-color
dev: true dev: true
registry.npmmirror.com/@typescript-eslint/visitor-keys/5.1.0: registry.npmmirror.com/@typescript-eslint/visitor-keys/5.1.0:
@ -5201,7 +5235,7 @@ packages:
version: 6.0.0-beta.19 version: 6.0.0-beta.19
dev: false 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} 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 id: registry.npmmirror.com/@vue/eslint-config-typescript/8.0.0
name: '@vue/eslint-config-typescript' 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/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 '@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: 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 vue-eslint-parser: registry.nlark.com/vue-eslint-parser/7.10.0_eslint@8.0.1
transitivePeerDependencies:
- supports-color
dev: true dev: true
registry.npmmirror.com/@vue/reactivity/3.2.20: registry.npmmirror.com/@vue/reactivity/3.2.20:
@ -5320,6 +5356,8 @@ packages:
debug: registry.nlark.com/debug/4.3.2 debug: registry.nlark.com/debug/4.3.2
jiti: registry.npmmirror.com/jiti/1.12.9 jiti: registry.npmmirror.com/jiti/1.12.9
windicss: registry.npmmirror.com/windicss/3.1.9 windicss: registry.npmmirror.com/windicss/3.1.9
transitivePeerDependencies:
- supports-color
dev: true dev: true
registry.npmmirror.com/@windicss/plugin-utils/1.4.12: registry.npmmirror.com/@windicss/plugin-utils/1.4.12:
@ -5334,6 +5372,8 @@ packages:
magic-string: registry.nlark.com/magic-string/0.25.7 magic-string: registry.nlark.com/magic-string/0.25.7
micromatch: registry.nlark.com/micromatch/4.0.4 micromatch: registry.nlark.com/micromatch/4.0.4
windicss: registry.npmmirror.com/windicss/3.1.9 windicss: registry.npmmirror.com/windicss/3.1.9
transitivePeerDependencies:
- supports-color
dev: true dev: true
registry.npmmirror.com/array-includes/3.1.4: registry.npmmirror.com/array-includes/3.1.4:
@ -5690,20 +5730,22 @@ packages:
tsconfig-paths: registry.nlark.com/tsconfig-paths/3.11.0 tsconfig-paths: registry.nlark.com/tsconfig-paths/3.11.0
dev: true dev: true
registry.npmmirror.com/eslint-plugin-vue/7.19.1_eslint@8.0.1: registry.npmmirror.com/eslint-plugin-vue/7.20.0_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} 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.19.1 id: registry.npmmirror.com/eslint-plugin-vue/7.20.0
name: eslint-plugin-vue name: eslint-plugin-vue
version: 7.19.1 version: 7.20.0
engines: {node: '>=8.10'} engines: {node: '>=8.10'}
peerDependencies: peerDependencies:
eslint: ^6.2.0 || ^7.0.0 || ^8.0.0-0 eslint: ^6.2.0 || ^7.0.0 || ^8.0.0
dependencies: dependencies:
eslint: registry.npmmirror.com/eslint/8.0.1 eslint: registry.npmmirror.com/eslint/8.0.1
eslint-utils: registry.nlark.com/eslint-utils/2.1.0 eslint-utils: registry.nlark.com/eslint-utils/2.1.0
natural-compare: registry.nlark.com/natural-compare/1.4.0 natural-compare: registry.nlark.com/natural-compare/1.4.0
semver: registry.nlark.com/semver/6.3.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 dev: true
registry.npmmirror.com/eslint/8.0.1: registry.npmmirror.com/eslint/8.0.1:
@ -5751,6 +5793,8 @@ packages:
strip-json-comments: registry.nlark.com/strip-json-comments/3.1.1 strip-json-comments: registry.nlark.com/strip-json-comments/3.1.1
text-table: registry.nlark.com/text-table/0.2.0 text-table: registry.nlark.com/text-table/0.2.0
v8-compile-cache: registry.nlark.com/v8-compile-cache/2.3.0 v8-compile-cache: registry.nlark.com/v8-compile-cache/2.3.0
transitivePeerDependencies:
- supports-color
dev: true dev: true
registry.npmmirror.com/find-up/2.1.0: registry.npmmirror.com/find-up/2.1.0:
@ -5887,7 +5931,7 @@ packages:
colorette: registry.npmmirror.com/colorette/1.4.0 colorette: registry.npmmirror.com/colorette/1.4.0
commander: registry.nlark.com/commander/8.2.0 commander: registry.nlark.com/commander/8.2.0
cosmiconfig: registry.nlark.com/cosmiconfig/7.0.1 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 enquirer: registry.nlark.com/enquirer/2.3.6
execa: registry.nlark.com/execa/5.1.1 execa: registry.nlark.com/execa/5.1.1
listr2: registry.npmmirror.com/listr2/3.12.2_enquirer@2.3.6 listr2: registry.npmmirror.com/listr2/3.12.2_enquirer@2.3.6
@ -6081,11 +6125,11 @@ packages:
version: 0.2.1 version: 0.2.1
dev: true dev: true
registry.npmmirror.com/pinia/2.0.0-rc.13_typescript@4.4.4+vue@3.2.20: registry.npmmirror.com/pinia/2.0.0-rc.14_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} 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.13 id: registry.npmmirror.com/pinia/2.0.0-rc.14
name: pinia name: pinia
version: 2.0.0-rc.13 version: 2.0.0-rc.14
peerDependencies: peerDependencies:
'@vue/composition-api': ^1.2.4 '@vue/composition-api': ^1.2.4
typescript: ^4.4.3 typescript: ^4.4.3
@ -6272,6 +6316,7 @@ packages:
unplugin: registry.npmmirror.com/unplugin/0.2.16_vite@2.6.10 unplugin: registry.npmmirror.com/unplugin/0.2.16_vite@2.6.10
transitivePeerDependencies: transitivePeerDependencies:
- rollup - rollup
- supports-color
- vite - vite
- webpack - webpack
dev: true dev: true
@ -6298,6 +6343,7 @@ packages:
vue: registry.npmmirror.com/vue/3.2.20 vue: registry.npmmirror.com/vue/3.2.20
transitivePeerDependencies: transitivePeerDependencies:
- rollup - rollup
- supports-color
- vite - vite
- webpack - webpack
dev: true dev: true
@ -6311,6 +6357,13 @@ packages:
rollup: ^2.50.0 rollup: ^2.50.0
vite: ^2.3.0 vite: ^2.3.0
webpack: 4 || 5 webpack: 4 || 5
peerDependenciesMeta:
rollup:
optional: true
vite:
optional: true
webpack:
optional: true
dependencies: dependencies:
vite: registry.npmmirror.com/vite/2.6.10_sass@1.43.2 vite: registry.npmmirror.com/vite/2.6.10_sass@1.43.2
webpack-virtual-modules: registry.nlark.com/webpack-virtual-modules/0.4.3 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 debug: registry.nlark.com/debug/4.3.2
vite: registry.npmmirror.com/vite/2.6.10_sass@1.43.2 vite: registry.npmmirror.com/vite/2.6.10_sass@1.43.2
windicss: registry.npmmirror.com/windicss/3.1.9 windicss: registry.npmmirror.com/windicss/3.1.9
transitivePeerDependencies:
- supports-color
dev: true dev: true
registry.npmmirror.com/vite/2.6.10_sass@1.43.2: 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 vscode-typescript-languageservice: registry.npmmirror.com/vscode-typescript-languageservice/0.28.7
dev: true 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: 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} 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 id: registry.npmmirror.com/vue-tsc/0.28.7

View File

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

View File

@ -1,5 +1,7 @@
import type { Component } from 'vue'; import type { Component } from 'vue';
import { getRouteNameMap } from '@/utils'; import { getRouteNameMap } from '@/utils';
import { BasicLayout, BlankLayout } from '@/layouts';
import type { CustomRoute } from '@/interface';
import getCacheRoutes from './cache'; import getCacheRoutes from './cache';
import transformRouteToMenu from './menus'; import transformRouteToMenu from './menus';
@ -13,4 +15,26 @@ export function setCacheName(component: Component, name?: string) {
/** 路由name map */ /** 路由name map */
export const RouteNameMap = getRouteNameMap(); 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 }; export { getCacheRoutes, transformRouteToMenu };

View File

@ -22,7 +22,6 @@ function addPartialProps(menuItem: GlobalMenuOption, icon?: Component, children?
export default function transformRouteToMenu(routes: CustomRoute[]) { export default function transformRouteToMenu(routes: CustomRoute[]) {
const globalMenu: GlobalMenuOption[] = []; const globalMenu: GlobalMenuOption[] = [];
routes.forEach(route => { routes.forEach(route => {
if (asMenu(route)) {
const { name, path, meta } = route; const { name, path, meta } = route;
const routeName = name as string; const routeName = name as string;
let menuChildren: GlobalMenuOption[] | undefined; let menuChildren: GlobalMenuOption[] | undefined;
@ -39,7 +38,10 @@ export default function transformRouteToMenu(routes: CustomRoute[]) {
meta?.icon, meta?.icon,
menuChildren menuChildren
); );
if (asMenu(route)) {
globalMenu.push(menuItem); globalMenu.push(menuItem);
} else if (menuChildren) {
globalMenu.push(...menuChildren);
} }
}); });
return globalMenu; 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 { BookInformation24Regular } from '@vicons/fluent';
import type { CustomRoute } from '@/interface'; import type { CustomRoute } from '@/interface';
import { EnumRoutePath, EnumRouteTitle } from '@/enum'; import { EnumRoutePath, EnumRouteTitle } from '@/enum';
import { RouteNameMap } from '../helpers'; import { RouteNameMap, getSingleBasicLayoutRoute } from '../helpers';
import { About } from '../components'; import { About } from '../components';
const ABOUT: CustomRoute = { const ABOUT: CustomRoute = getSingleBasicLayoutRoute({
name: RouteNameMap.get('about'), name: RouteNameMap.get('about'),
path: EnumRoutePath.about, path: EnumRoutePath.about,
component: About, component: About,
@ -13,6 +13,5 @@ const ABOUT: CustomRoute = {
title: EnumRouteTitle.about, title: EnumRouteTitle.about,
icon: BookInformation24Regular icon: BookInformation24Regular
} }
}; });
export default ABOUT; export default ABOUT;

View File

@ -1,4 +1,4 @@
import SIGNLE from './_single'; // 没有子菜单的单独页面 import ROOT from './root'; // 没有子菜单的单独页面
import DASHBOARD from './dashboard'; import DASHBOARD from './dashboard';
import DOCUMENT from './document'; import DOCUMENT from './document';
import COMPONENT from './component'; import COMPONENT from './component';
@ -6,4 +6,4 @@ import EXCEPTION from './exception';
import MULTI_MENU from './multiMenu'; import MULTI_MENU from './multiMenu';
import ABOUT from './about'; 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 type { CustomRoute } from '@/interface';
import { EnumRoutePath } from '@/enum'; import { EnumRoutePath } from '@/enum';
import { BasicLayout } from '@/layouts';
import { RouteNameMap } from '../helpers'; import { RouteNameMap } from '../helpers';
import { ROUTE_HOME } from '../routes'; import { ROUTE_HOME } from '../routes';
const ROOT: CustomRoute = { const ROOT: CustomRoute = {
name: RouteNameMap.get('root'), name: RouteNameMap.get('root'),
path: EnumRoutePath.root, path: EnumRoutePath.root,
component: BasicLayout,
redirect: { name: ROUTE_HOME.name }, redirect: { name: ROUTE_HOME.name },
meta: { meta: {
isNotMenu: true isNotMenu: true

View File

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