From da63d23fe98563afbe14f97852718e5347f23bba Mon Sep 17 00:00:00 2001 From: buqiyuan <1743369777@qq.com> Date: Fri, 22 Mar 2024 08:36:16 +0800 Subject: [PATCH] refactor: optimize menu and route code logic --- .gitignore | 3 +- package.json | 4 +- pnpm-lock.yaml | 298 ++++++++++-------- src/App.vue | 11 - .../header/components/breadcrumb/index.vue | 35 +- .../header/components/setting/constant.ts | 8 + .../header/components/setting/index.vue | 14 +- src/layout/header/index.vue | 5 +- src/layout/menu/menu.vue | 50 +-- src/layout/tabs/tabs-view.vue | 18 +- src/router/helper/routeHelper.tsx | 27 +- src/router/router-guards.ts | 24 +- src/router/routes/modules/demos.ts | 6 +- src/store/modules/layoutSetting.ts | 3 + src/views/account/about.vue | 8 - src/views/demos/nested-routes/index.vue | 28 +- src/views/demos/nested-routes/route-one.vue | 7 +- src/views/demos/nested-routes/route-three.vue | 7 +- src/views/demos/nested-routes/route-two.vue | 7 +- types/global.d.ts | 2 +- types/modules.d.ts | 4 +- types/shims/shims-tsx.d.ts | 3 +- types/vue-router.d.ts | 8 +- 23 files changed, 309 insertions(+), 271 deletions(-) diff --git a/.gitignore b/.gitignore index 142d1acfc..ee85ded84 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ dist .cache .turbo .nx +.nx/cache tests/server/static tests/server/static/upload @@ -33,5 +34,3 @@ yarn-error.log* types/auto-imports.d.ts types/components.d.ts - -.nx/cache \ No newline at end of file diff --git a/package.json b/package.json index 1d88dd9a5..6c743ab1d 100644 --- a/package.json +++ b/package.json @@ -101,7 +101,7 @@ "less": "~4.2.0", "lint-staged": "~15.2.2", "msw": "^2.2.9", - "postcss": "~8.4.37", + "postcss": "~8.4.38", "postcss-html": "~1.6.0", "postcss-less": "~6.0.0", "prettier": "~3.2.5", @@ -114,7 +114,7 @@ "stylelint-config-standard": "~36.0.0", "stylelint-order": "~6.0.4", "stylelint-prettier": "^5.0.0", - "typescript": "~5.4.2", + "typescript": "~5.4.3", "unocss": "^0.58.6", "unplugin-vue-components": "~0.26.0", "vite": "~5.2.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 17ac636b2..13d1d671c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -49,7 +49,7 @@ importers: version: 1.0.0-1 pinia: specifier: ~2.1.7 - version: 2.1.7(typescript@5.4.2)(vue@3.4.21) + version: 2.1.7(typescript@5.4.3)(vue@3.4.21) pinia-plugin-persistedstate: specifier: ^3.2.1 version: 3.2.1(pinia@2.1.7) @@ -67,7 +67,7 @@ importers: version: 6.8.3 vue: specifier: ~3.4.21 - version: 3.4.21(typescript@5.4.2) + version: 3.4.21(typescript@5.4.3) vue-echarts: specifier: ^6.6.9 version: 6.6.9(echarts@5.5.0)(vue@3.4.21) @@ -98,7 +98,7 @@ importers: version: link:packages/vite-plugin-tinymce-resource '@commitlint/cli': specifier: ~19.2.1 - version: 19.2.1(@types/node@20.11.30)(typescript@5.4.2) + version: 19.2.1(@types/node@20.11.30)(typescript@5.4.3) '@commitlint/config-conventional': specifier: ~19.1.0 version: 19.1.0 @@ -128,10 +128,10 @@ importers: version: 1.15.8 '@typescript-eslint/eslint-plugin': specifier: ~7.3.1 - version: 7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.2) + version: 7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.3) '@typescript-eslint/parser': specifier: ~7.3.1 - version: 7.3.1(eslint@8.57.0)(typescript@5.4.2) + version: 7.3.1(eslint@8.57.0)(typescript@5.4.3) '@umijs/openapi': specifier: ^1.11.1 version: 1.11.1 @@ -146,7 +146,7 @@ importers: version: 0.5.1 commitizen: specifier: ~4.3.0 - version: 4.3.0(@types/node@20.11.30)(typescript@5.4.2) + version: 4.3.0(@types/node@20.11.30)(typescript@5.4.3) conventional-changelog-cli: specifier: ~4.1.0 version: 4.1.0 @@ -188,19 +188,19 @@ importers: version: 15.2.2 msw: specifier: ^2.2.9 - version: 2.2.9(typescript@5.4.2) + version: 2.2.9(typescript@5.4.3) nx: specifier: 18.1.2 version: 18.1.2 postcss: - specifier: ~8.4.37 - version: 8.4.37 + specifier: ~8.4.38 + version: 8.4.38 postcss-html: specifier: ~1.6.0 version: 1.6.0 postcss-less: specifier: ~6.0.0 - version: 6.0.0(postcss@8.4.37) + version: 6.0.0(postcss@8.4.38) prettier: specifier: ~3.2.5 version: 3.2.5 @@ -212,7 +212,7 @@ importers: version: 5.0.5 stylelint: specifier: ~16.2.1 - version: 16.2.1(typescript@5.4.2) + version: 16.2.1(typescript@5.4.3) stylelint-config-property-sort-order-smacss: specifier: ^10.0.0 version: 10.0.0(stylelint@16.2.1) @@ -232,11 +232,11 @@ importers: specifier: ^5.0.0 version: 5.0.0(prettier@3.2.5)(stylelint@16.2.1) typescript: - specifier: ~5.4.2 - version: 5.4.2 + specifier: ~5.4.3 + version: 5.4.3 unocss: specifier: ^0.58.6 - version: 0.58.6(postcss@8.4.37)(vite@5.2.2) + version: 0.58.6(postcss@8.4.38)(vite@5.2.2) unplugin-vue-components: specifier: ~0.26.0 version: 0.26.0(vue@3.4.21) @@ -245,7 +245,7 @@ importers: version: 5.2.2(@types/node@20.11.30)(less@4.2.0) vite-plugin-checker: specifier: ~0.6.4 - version: 0.6.4(eslint@8.57.0)(stylelint@16.2.1)(typescript@5.4.2)(vite@5.2.2)(vue-tsc@1.8.27) + version: 0.6.4(eslint@8.57.0)(stylelint@16.2.1)(typescript@5.4.3)(vite@5.2.2)(vue-tsc@1.8.27) vite-plugin-inspect: specifier: ^0.8.3 version: 0.8.3(vite@5.2.2) @@ -260,7 +260,7 @@ importers: version: 9.4.2(eslint@8.57.0) vue-tsc: specifier: ~1.8.27 - version: 1.8.27(typescript@5.4.2) + version: 1.8.27(typescript@5.4.3) packages/components: dependencies: @@ -285,14 +285,14 @@ importers: version: 4.0.3 msw: specifier: ^2.0.0 - version: 2.2.9(typescript@5.4.2) + version: 2.2.9(typescript@5.4.3) strict-event-emitter: specifier: ^0.5.1 version: 0.5.1 devDependencies: tsup: specifier: ^8.0.2 - version: 8.0.2(postcss@8.4.37)(typescript@5.4.2) + version: 8.0.2(postcss@8.4.38)(typescript@5.4.3) packages/vite-plugin-tinymce-resource: dependencies: @@ -332,7 +332,7 @@ packages: dependencies: '@ant-design/colors': 6.0.0 '@ant-design/icons-svg': 4.4.2 - vue: 3.4.21(typescript@5.4.2) + vue: 3.4.21(typescript@5.4.3) dev: false /@antfu/install-pkg@0.1.1: @@ -1692,14 +1692,14 @@ packages: dependencies: statuses: 2.0.1 - /@commitlint/cli@19.2.1(@types/node@20.11.30)(typescript@5.4.2): + /@commitlint/cli@19.2.1(@types/node@20.11.30)(typescript@5.4.3): resolution: {integrity: sha512-cbkYUJsLqRomccNxvoJTyv5yn0bSy05BBizVyIcLACkRbVUqYorC351Diw/XFSWC/GtpwiwT2eOvQgFZa374bg==} engines: {node: '>=v18'} hasBin: true dependencies: '@commitlint/format': 19.0.3 '@commitlint/lint': 19.1.0 - '@commitlint/load': 19.2.0(@types/node@20.11.30)(typescript@5.4.2) + '@commitlint/load': 19.2.0(@types/node@20.11.30)(typescript@5.4.3) '@commitlint/read': 19.2.1 '@commitlint/types': 19.0.3 execa: 8.0.1 @@ -1768,7 +1768,7 @@ packages: '@commitlint/types': 19.0.3 dev: true - /@commitlint/load@19.2.0(@types/node@20.11.30)(typescript@5.4.2): + /@commitlint/load@19.2.0(@types/node@20.11.30)(typescript@5.4.3): resolution: {integrity: sha512-XvxxLJTKqZojCxaBQ7u92qQLFMMZc4+p9qrIq/9kJDy8DOrEa7P1yx7Tjdc2u2JxIalqT4KOGraVgCE7eCYJyQ==} engines: {node: '>=v18'} dependencies: @@ -1777,8 +1777,8 @@ packages: '@commitlint/resolve-extends': 19.1.0 '@commitlint/types': 19.0.3 chalk: 5.3.0 - cosmiconfig: 9.0.0(typescript@5.4.2) - cosmiconfig-typescript-loader: 5.0.0(@types/node@20.11.30)(cosmiconfig@9.0.0)(typescript@5.4.2) + cosmiconfig: 9.0.0(typescript@5.4.3) + cosmiconfig-typescript-loader: 5.0.0(@types/node@20.11.30)(cosmiconfig@9.0.0)(typescript@5.4.3) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 @@ -2448,7 +2448,7 @@ packages: vue: '>=3' dependencies: '@iconify/types': 2.0.0 - vue: 3.4.21(typescript@5.4.2) + vue: 3.4.21(typescript@5.4.3) dev: false /@inquirer/confirm@3.1.0: @@ -2971,7 +2971,7 @@ packages: dependencies: '@babel/core': 7.24.3 postcss: 7.0.39 - postcss-syntax: 0.36.2(postcss-html@1.6.0)(postcss-less@6.0.0)(postcss@8.4.37) + postcss-syntax: 0.36.2(postcss-html@1.6.0)(postcss-less@6.0.0)(postcss@8.4.38) transitivePeerDependencies: - supports-color dev: true @@ -2984,7 +2984,7 @@ packages: postcss-syntax: '>=0.36.2' dependencies: postcss: 7.0.39 - postcss-syntax: 0.36.2(postcss-html@1.6.0)(postcss-less@6.0.0)(postcss@8.4.37) + postcss-syntax: 0.36.2(postcss-html@1.6.0)(postcss-less@6.0.0)(postcss@8.4.38) remark: 13.0.0 unist-util-find-all-after: 3.0.2 transitivePeerDependencies: @@ -2997,7 +2997,7 @@ packages: vue: ^3.0.0 dependencies: tinymce: 6.8.3 - vue: 3.4.21(typescript@5.4.2) + vue: 3.4.21(typescript@5.4.3) dev: false /@trysound/sax@0.2.0: @@ -3141,7 +3141,7 @@ packages: - supports-color dev: true - /@typescript-eslint/eslint-plugin@7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.2): + /@typescript-eslint/eslint-plugin@7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.3): resolution: {integrity: sha512-STEDMVQGww5lhCuNXVSQfbfuNII5E08QWkvAw5Qwf+bj2WT+JkG1uc+5/vXA3AOYMDHVOSpL+9rcbEUiHIm2dw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -3153,10 +3153,10 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.3.1(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/parser': 7.3.1(eslint@8.57.0)(typescript@5.4.3) '@typescript-eslint/scope-manager': 7.3.1 - '@typescript-eslint/type-utils': 7.3.1(eslint@8.57.0)(typescript@5.4.2) - '@typescript-eslint/utils': 7.3.1(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/type-utils': 7.3.1(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/utils': 7.3.1(eslint@8.57.0)(typescript@5.4.3) '@typescript-eslint/visitor-keys': 7.3.1 debug: 4.3.4 eslint: 8.57.0 @@ -3164,8 +3164,8 @@ packages: ignore: 5.3.1 natural-compare: 1.4.0 semver: 7.6.0 - ts-api-utils: 1.3.0(typescript@5.4.2) - typescript: 5.4.2 + ts-api-utils: 1.3.0(typescript@5.4.3) + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true @@ -3208,7 +3208,7 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@7.3.1(eslint@8.57.0)(typescript@5.4.2): + /@typescript-eslint/parser@7.3.1(eslint@8.57.0)(typescript@5.4.3): resolution: {integrity: sha512-Rq49+pq7viTRCH48XAbTA+wdLRrB/3sRq4Lpk0oGDm0VmnjBrAOVXH/Laalmwsv2VpekiEfVFwJYVk6/e8uvQw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -3220,11 +3220,11 @@ packages: dependencies: '@typescript-eslint/scope-manager': 7.3.1 '@typescript-eslint/types': 7.3.1 - '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.2) + '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.3) '@typescript-eslint/visitor-keys': 7.3.1 debug: 4.3.4 eslint: 8.57.0 - typescript: 5.4.2 + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true @@ -3273,7 +3273,7 @@ packages: - supports-color dev: true - /@typescript-eslint/type-utils@7.3.1(eslint@8.57.0)(typescript@5.4.2): + /@typescript-eslint/type-utils@7.3.1(eslint@8.57.0)(typescript@5.4.3): resolution: {integrity: sha512-iFhaysxFsMDQlzJn+vr3OrxN8NmdQkHks4WaqD4QBnt5hsq234wcYdyQ9uquzJJIDAj5W4wQne3yEsYA6OmXGw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -3283,12 +3283,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.2) - '@typescript-eslint/utils': 7.3.1(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.3) + '@typescript-eslint/utils': 7.3.1(eslint@8.57.0)(typescript@5.4.3) debug: 4.3.4 eslint: 8.57.0 - ts-api-utils: 1.3.0(typescript@5.4.2) - typescript: 5.4.2 + ts-api-utils: 1.3.0(typescript@5.4.3) + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true @@ -3350,7 +3350,7 @@ packages: - supports-color dev: true - /@typescript-eslint/typescript-estree@7.3.1(typescript@5.4.2): + /@typescript-eslint/typescript-estree@7.3.1(typescript@5.4.3): resolution: {integrity: sha512-tLpuqM46LVkduWP7JO7yVoWshpJuJzxDOPYIVWUUZbW+4dBpgGeUdl/fQkhuV0A8eGnphYw3pp8d2EnvPOfxmQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -3366,8 +3366,8 @@ packages: is-glob: 4.0.3 minimatch: 9.0.3 semver: 7.6.0 - ts-api-utils: 1.3.0(typescript@5.4.2) - typescript: 5.4.2 + ts-api-utils: 1.3.0(typescript@5.4.3) + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true @@ -3392,7 +3392,7 @@ packages: - typescript dev: true - /@typescript-eslint/utils@7.3.1(eslint@8.57.0)(typescript@5.4.2): + /@typescript-eslint/utils@7.3.1(eslint@8.57.0)(typescript@5.4.3): resolution: {integrity: sha512-jIERm/6bYQ9HkynYlNZvXpzmXWZGhMbrOvq3jJzOSOlKXsVjrrolzWBjDW6/TvT5Q3WqaN4EkmcfdQwi9tDjBQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -3403,7 +3403,7 @@ packages: '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 7.3.1 '@typescript-eslint/types': 7.3.1 - '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.2) + '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.3) eslint: 8.57.0 semver: 7.6.0 transitivePeerDependencies: @@ -3571,7 +3571,7 @@ packages: sirv: 2.0.4 dev: true - /@unocss/postcss@0.58.6(postcss@8.4.37): + /@unocss/postcss@0.58.6(postcss@8.4.38): resolution: {integrity: sha512-jTwu7llhRm7luscsk0JekCeo6RS2W98CXiCJRE1H6IDQnjGQQ/9uRAqW4wuLsv7OQ1ThF8m9NKEj0wFJv7ePNg==} engines: {node: '>=14'} peerDependencies: @@ -3583,7 +3583,7 @@ packages: css-tree: 2.3.1 fast-glob: 3.3.2 magic-string: 0.30.8 - postcss: 8.4.37 + postcss: 8.4.38 dev: true /@unocss/preset-attributify@0.58.6: @@ -3731,7 +3731,7 @@ packages: '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.3) '@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.24.3) vite: 5.2.2(@types/node@20.11.30)(less@4.2.0) - vue: 3.4.21(typescript@5.4.2) + vue: 3.4.21(typescript@5.4.3) transitivePeerDependencies: - supports-color dev: true @@ -3744,7 +3744,7 @@ packages: vue: ^3.2.25 dependencies: vite: 5.2.2(@types/node@20.11.30)(less@4.2.0) - vue: 3.4.21(typescript@5.4.2) + vue: 3.4.21(typescript@5.4.3) dev: true /@volar/language-core@1.11.1: @@ -3832,7 +3832,7 @@ packages: '@vue/shared': 3.4.21 estree-walker: 2.0.2 magic-string: 0.30.8 - postcss: 8.4.37 + postcss: 8.4.38 source-map-js: 1.2.0 /@vue/compiler-ssr@3.4.21: @@ -3845,7 +3845,7 @@ packages: resolution: {integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==} dev: false - /@vue/language-core@1.8.27(typescript@5.4.2): + /@vue/language-core@1.8.27(typescript@5.4.3): resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==} peerDependencies: typescript: '*' @@ -3861,7 +3861,7 @@ packages: minimatch: 9.0.3 muggle-string: 0.3.1 path-browserify: 1.0.1 - typescript: 5.4.2 + typescript: 5.4.3 vue-template-compiler: 2.7.16 dev: true @@ -4096,7 +4096,7 @@ packages: shallow-equal: 1.2.1 stylis: 4.3.1 throttle-debounce: 5.0.0 - vue: 3.4.21(typescript@5.4.2) + vue: 3.4.21(typescript@5.4.3) vue-types: 3.0.2(vue@3.4.21) warning: 4.0.3 dev: false @@ -4785,13 +4785,13 @@ packages: engines: {node: '>= 12'} dev: true - /commitizen@4.3.0(@types/node@20.11.30)(typescript@5.4.2): + /commitizen@4.3.0(@types/node@20.11.30)(typescript@5.4.3): resolution: {integrity: sha512-H0iNtClNEhT0fotHvGV3E9tDejDeS04sN1veIebsKYGMuGscFaswRoYJKmT3eW85eIJAs0F28bG2+a/9wCOfPw==} engines: {node: '>= 12'} hasBin: true dependencies: cachedir: 2.3.0 - cz-conventional-changelog: 3.3.0(@types/node@20.11.30)(typescript@5.4.2) + cz-conventional-changelog: 3.3.0(@types/node@20.11.30)(typescript@5.4.3) dedent: 0.7.0 detect-indent: 6.1.0 find-node-modules: 2.1.3 @@ -5012,7 +5012,7 @@ packages: vary: 1.1.2 dev: true - /cosmiconfig-typescript-loader@5.0.0(@types/node@20.11.30)(cosmiconfig@9.0.0)(typescript@5.4.2): + /cosmiconfig-typescript-loader@5.0.0(@types/node@20.11.30)(cosmiconfig@9.0.0)(typescript@5.4.3): resolution: {integrity: sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA==} engines: {node: '>=v16'} peerDependencies: @@ -5021,9 +5021,9 @@ packages: typescript: '>=4' dependencies: '@types/node': 20.11.30 - cosmiconfig: 9.0.0(typescript@5.4.2) + cosmiconfig: 9.0.0(typescript@5.4.3) jiti: 1.21.0 - typescript: 5.4.2 + typescript: 5.4.3 dev: true /cosmiconfig@7.1.0: @@ -5037,7 +5037,7 @@ packages: yaml: 1.10.2 dev: true - /cosmiconfig@9.0.0(typescript@5.4.2): + /cosmiconfig@9.0.0(typescript@5.4.3): resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} engines: {node: '>=14'} peerDependencies: @@ -5050,7 +5050,7 @@ packages: import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 - typescript: 5.4.2 + typescript: 5.4.3 dev: true /crc-32@1.2.2: @@ -5136,18 +5136,18 @@ packages: /csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - /cz-conventional-changelog@3.3.0(@types/node@20.11.30)(typescript@5.4.2): + /cz-conventional-changelog@3.3.0(@types/node@20.11.30)(typescript@5.4.3): resolution: {integrity: sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==} engines: {node: '>= 10'} dependencies: chalk: 2.4.2 - commitizen: 4.3.0(@types/node@20.11.30)(typescript@5.4.2) + commitizen: 4.3.0(@types/node@20.11.30)(typescript@5.4.3) conventional-commit-types: 3.0.0 lodash.map: 4.6.0 longest: 2.0.1 word-wrap: 1.2.5 optionalDependencies: - '@commitlint/load': 19.2.0(@types/node@20.11.30)(typescript@5.4.2) + '@commitlint/load': 19.2.0(@types/node@20.11.30)(typescript@5.4.3) transitivePeerDependencies: - '@types/node' - typescript @@ -5924,7 +5924,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 7.3.1(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/parser': 7.3.1(eslint@8.57.0)(typescript@5.4.3) debug: 3.2.7 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 @@ -5952,7 +5952,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 7.3.1(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/parser': 7.3.1(eslint@8.57.0)(typescript@5.4.3) array-includes: 3.1.7 array.prototype.findlastindex: 1.2.5 array.prototype.flat: 1.3.2 @@ -6095,7 +6095,7 @@ packages: '@typescript-eslint/eslint-plugin': optional: true dependencies: - '@typescript-eslint/eslint-plugin': 7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/eslint-plugin': 7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.3) eslint: 8.57.0 eslint-rule-composer: 0.3.0 dev: true @@ -8501,7 +8501,7 @@ packages: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: true - /msw@2.2.9(typescript@5.4.2): + /msw@2.2.9(typescript@5.4.3): resolution: {integrity: sha512-MLIFufBe6m9c5rZKlmGl6jl1pjn7cTNiDGEgn5v2iVRs0mz+neE2r7lRyYNzvcp6FbdiUEIRp/Y2O2gRMjO8yQ==} engines: {node: '>=18'} hasBin: true @@ -8528,7 +8528,7 @@ packages: path-to-regexp: 6.2.1 strict-event-emitter: 0.5.1 type-fest: 4.13.1 - typescript: 5.4.2 + typescript: 5.4.3 yargs: 17.7.2 /muggle-string@0.3.1: @@ -9242,10 +9242,10 @@ packages: peerDependencies: pinia: ^2.0.0 dependencies: - pinia: 2.1.7(typescript@5.4.2)(vue@3.4.21) + pinia: 2.1.7(typescript@5.4.3)(vue@3.4.21) dev: false - /pinia@2.1.7(typescript@5.4.2)(vue@3.4.21): + /pinia@2.1.7(typescript@5.4.3)(vue@3.4.21): resolution: {integrity: sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==} peerDependencies: '@vue/composition-api': ^1.4.0 @@ -9258,8 +9258,8 @@ packages: optional: true dependencies: '@vue/devtools-api': 6.6.1 - typescript: 5.4.2 - vue: 3.4.21(typescript@5.4.2) + typescript: 5.4.3 + vue: 3.4.21(typescript@5.4.3) vue-demi: 0.14.7(vue@3.4.21) dev: false @@ -9306,7 +9306,7 @@ packages: dependencies: htmlparser2: 3.10.1 postcss: 7.0.39 - postcss-syntax: 0.36.2(postcss-html@1.6.0)(postcss-less@6.0.0)(postcss@8.4.37) + postcss-syntax: 0.36.2(postcss-html@1.6.0)(postcss-less@6.0.0)(postcss@8.4.38) dev: true /postcss-html@1.6.0: @@ -9315,8 +9315,8 @@ packages: dependencies: htmlparser2: 8.0.2 js-tokens: 8.0.3 - postcss: 8.4.37 - postcss-safe-parser: 6.0.0(postcss@8.4.37) + postcss: 8.4.38 + postcss-safe-parser: 6.0.0(postcss@8.4.38) dev: true /postcss-less@3.1.4: @@ -9330,19 +9330,19 @@ packages: resolution: {integrity: sha512-C92S4sHlbDpefJ2QQJjrucCcypq3+KZPstjfuvgOCNnGx0tF9h8hXgAlOIATGAxMXZXaF+nVp+/Mi8pCAWdSmw==} engines: {node: '>=10'} dependencies: - postcss: 8.4.37 + postcss: 8.4.38 dev: true - /postcss-less@6.0.0(postcss@8.4.37): + /postcss-less@6.0.0(postcss@8.4.38): resolution: {integrity: sha512-FPX16mQLyEjLzEuuJtxA8X3ejDLNGGEG503d2YGZR5Ask1SpDN8KmZUMpzCvyalWRywAn1n1VOA5dcqfCLo5rg==} engines: {node: '>=12'} peerDependencies: postcss: ^8.3.5 dependencies: - postcss: 8.4.37 + postcss: 8.4.38 dev: true - /postcss-load-config@4.0.2(postcss@8.4.37): + /postcss-load-config@4.0.2(postcss@8.4.38): resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} engines: {node: '>= 14'} peerDependencies: @@ -9355,7 +9355,7 @@ packages: optional: true dependencies: lilconfig: 3.1.1 - postcss: 8.4.37 + postcss: 8.4.38 yaml: 2.4.1 dev: true @@ -9382,22 +9382,22 @@ packages: postcss: 7.0.39 dev: true - /postcss-safe-parser@6.0.0(postcss@8.4.37): + /postcss-safe-parser@6.0.0(postcss@8.4.38): resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.3.3 dependencies: - postcss: 8.4.37 + postcss: 8.4.38 dev: true - /postcss-safe-parser@7.0.0(postcss@8.4.37): + /postcss-safe-parser@7.0.0(postcss@8.4.38): resolution: {integrity: sha512-ovehqRNVCpuFzbXoTb4qLtyzK3xn3t/CUBxOs8LsnQjQrShaB4lKiHoVqY8ANaC0hBMHq5QVWk77rwGklFUDrg==} engines: {node: '>=18.0'} peerDependencies: postcss: ^8.4.31 dependencies: - postcss: 8.4.37 + postcss: 8.4.38 dev: true /postcss-sass@0.4.4: @@ -9422,24 +9422,24 @@ packages: util-deprecate: 1.0.2 dev: true - /postcss-sorting@6.0.0(postcss@8.4.37): + /postcss-sorting@6.0.0(postcss@8.4.38): resolution: {integrity: sha512-bYJ0vgAiGbjCBKi7B07CzsBc9eM84nLEbavUmwNp8rAa+PNyrgdH+6PpnqTtciLuUs99c4rFQQmCaYgeBQYmSQ==} peerDependencies: postcss: ^8.0.4 dependencies: lodash: 4.17.21 - postcss: 8.4.37 + postcss: 8.4.38 dev: true - /postcss-sorting@8.0.2(postcss@8.4.37): + /postcss-sorting@8.0.2(postcss@8.4.38): resolution: {integrity: sha512-M9dkSrmU00t/jK7rF6BZSZauA5MAaBW4i5EnJXspMwt4iqTh/L9j6fgMnbElEOfyRyfLfVbIHj/R52zHzAPe1Q==} peerDependencies: postcss: ^8.4.20 dependencies: - postcss: 8.4.37 + postcss: 8.4.38 dev: true - /postcss-syntax@0.36.2(postcss-html@1.6.0)(postcss-less@6.0.0)(postcss@8.4.37): + /postcss-syntax@0.36.2(postcss-html@1.6.0)(postcss-less@6.0.0)(postcss@8.4.38): resolution: {integrity: sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==} peerDependencies: postcss: '>=5.0.0' @@ -9460,9 +9460,9 @@ packages: postcss-scss: optional: true dependencies: - postcss: 8.4.37 + postcss: 8.4.38 postcss-html: 1.6.0 - postcss-less: 6.0.0(postcss@8.4.37) + postcss-less: 6.0.0(postcss@8.4.38) dev: true /postcss-value-parser@4.2.0: @@ -9495,6 +9495,14 @@ packages: picocolors: 1.0.0 source-map-js: 1.2.0 + /postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.2.0 + /posthtml-parser@0.2.1: resolution: {integrity: sha512-nPC53YMqJnc/+1x4fRYFfm81KV2V+G9NZY+hTohpYg64Ay7NemWWcV4UWuy/SgMupqQ3kJ88M/iRfZmSnxT+pw==} dependencies: @@ -9559,9 +9567,9 @@ packages: peerDependencies: prettier: '>= 2.0.0' dependencies: - postcss: 8.4.37 + postcss: 8.4.38 postcss-less: 4.0.1 - postcss-sorting: 6.0.0(postcss@8.4.37) + postcss-sorting: 6.0.0(postcss@8.4.38) prettier: 2.8.8 dev: true @@ -10554,7 +10562,7 @@ packages: stylelint: '>=14.0.0' dependencies: postcss-html: 1.6.0 - stylelint: 16.2.1(typescript@5.4.2) + stylelint: 16.2.1(typescript@5.4.3) dev: true /stylelint-config-prettier@8.0.2(stylelint@13.13.1): @@ -10574,7 +10582,7 @@ packages: stylelint: ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: css-property-sort-order-smacss: 2.2.0 - stylelint: 16.2.1(typescript@5.4.2) + stylelint: 16.2.1(typescript@5.4.3) stylelint-order: 6.0.4(stylelint@16.2.1) dev: true @@ -10587,7 +10595,7 @@ packages: dependencies: postcss-html: 1.6.0 semver: 7.6.0 - stylelint: 16.2.1(typescript@5.4.2) + stylelint: 16.2.1(typescript@5.4.3) stylelint-config-html: 1.1.0(postcss-html@1.6.0)(stylelint@16.2.1) stylelint-config-recommended: 14.0.0(stylelint@16.2.1) dev: true @@ -10598,7 +10606,7 @@ packages: peerDependencies: stylelint: ^16.0.0 dependencies: - stylelint: 16.2.1(typescript@5.4.2) + stylelint: 16.2.1(typescript@5.4.3) dev: true /stylelint-config-recommended@3.0.0(stylelint@13.13.1): @@ -10624,7 +10632,7 @@ packages: peerDependencies: stylelint: ^16.1.0 dependencies: - stylelint: 16.2.1(typescript@5.4.2) + stylelint: 16.2.1(typescript@5.4.3) stylelint-config-recommended: 14.0.0(stylelint@16.2.1) dev: true @@ -10642,9 +10650,9 @@ packages: peerDependencies: stylelint: ^14.0.0 || ^15.0.0 || ^16.0.1 dependencies: - postcss: 8.4.37 - postcss-sorting: 8.0.2(postcss@8.4.37) - stylelint: 16.2.1(typescript@5.4.2) + postcss: 8.4.38 + postcss-sorting: 8.0.2(postcss@8.4.38) + stylelint: 16.2.1(typescript@5.4.3) dev: true /stylelint-prettier@5.0.0(prettier@3.2.5)(stylelint@16.2.1): @@ -10656,7 +10664,7 @@ packages: dependencies: prettier: 3.2.5 prettier-linter-helpers: 1.0.0 - stylelint: 16.2.1(typescript@5.4.2) + stylelint: 16.2.1(typescript@5.4.3) dev: true /stylelint@13.13.1: @@ -10699,7 +10707,7 @@ packages: postcss-sass: 0.4.4 postcss-scss: 2.1.1 postcss-selector-parser: 6.0.16 - postcss-syntax: 0.36.2(postcss-html@1.6.0)(postcss-less@6.0.0)(postcss@8.4.37) + postcss-syntax: 0.36.2(postcss-html@1.6.0)(postcss-less@6.0.0)(postcss@8.4.38) postcss-value-parser: 4.2.0 resolve-from: 5.0.0 slash: 3.0.0 @@ -10718,7 +10726,7 @@ packages: - supports-color dev: true - /stylelint@16.2.1(typescript@5.4.2): + /stylelint@16.2.1(typescript@5.4.3): resolution: {integrity: sha512-SfIMGFK+4n7XVAyv50CpVfcGYWG4v41y6xG7PqOgQSY8M/PgdK0SQbjWFblxjJZlN9jNq879mB4BCZHJRIJ1hA==} engines: {node: '>=18.12.0'} hasBin: true @@ -10729,7 +10737,7 @@ packages: '@csstools/selector-specificity': 3.0.2(postcss-selector-parser@6.0.16) balanced-match: 2.0.0 colord: 2.9.3 - cosmiconfig: 9.0.0(typescript@5.4.2) + cosmiconfig: 9.0.0(typescript@5.4.3) css-functions-list: 3.2.1 css-tree: 2.3.1 debug: 4.3.4 @@ -10749,9 +10757,9 @@ packages: micromatch: 4.0.5 normalize-path: 3.0.0 picocolors: 1.0.0 - postcss: 8.4.37 + postcss: 8.4.38 postcss-resolve-nested-selector: 0.1.1 - postcss-safe-parser: 7.0.0(postcss@8.4.37) + postcss-safe-parser: 7.0.0(postcss@8.4.38) postcss-selector-parser: 6.0.16 postcss-value-parser: 4.2.0 resolve-from: 5.0.0 @@ -11067,13 +11075,13 @@ packages: resolution: {integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==} dev: true - /ts-api-utils@1.3.0(typescript@5.4.2): + /ts-api-utils@1.3.0(typescript@5.4.3): resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} engines: {node: '>=16'} peerDependencies: typescript: '>=4.2.0' dependencies: - typescript: 5.4.2 + typescript: 5.4.3 dev: true /ts-interface-checker@0.1.13: @@ -11109,7 +11117,7 @@ packages: /tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - /tsup@8.0.2(postcss@8.4.37)(typescript@5.4.2): + /tsup@8.0.2(postcss@8.4.38)(typescript@5.4.3): resolution: {integrity: sha512-NY8xtQXdH7hDUAZwcQdY/Vzlw9johQsaqf7iwZ6g1DOUlFYQ5/AtVAjTvihhEyeRlGo4dLRVHtrRaL35M1daqQ==} engines: {node: '>=18'} hasBin: true @@ -11136,14 +11144,14 @@ packages: execa: 5.1.1 globby: 11.1.0 joycon: 3.1.1 - postcss: 8.4.37 - postcss-load-config: 4.0.2(postcss@8.4.37) + postcss: 8.4.38 + postcss-load-config: 4.0.2(postcss@8.4.38) resolve-from: 5.0.0 rollup: 4.13.0 source-map: 0.8.0-beta.0 sucrase: 3.35.0 tree-kill: 1.2.2 - typescript: 5.4.2 + typescript: 5.4.3 transitivePeerDependencies: - supports-color - ts-node @@ -11264,6 +11272,11 @@ packages: engines: {node: '>=14.17'} hasBin: true + /typescript@5.4.3: + resolution: {integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==} + engines: {node: '>=14.17'} + hasBin: true + /ufo@1.5.3: resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} dev: true @@ -11372,7 +11385,7 @@ packages: engines: {node: '>= 10.0.0'} dev: true - /unocss@0.58.6(postcss@8.4.37)(vite@5.2.2): + /unocss@0.58.6(postcss@8.4.38)(vite@5.2.2): resolution: {integrity: sha512-HBstDtC6KKD5yCYh5hHpPdHGZai0B/iLlDwkOIK+xfQYrvl8tNBvKfRz3xgiaI5MJ+fLmEOxbfXQIjleU1A0iA==} engines: {node: '>=14'} peerDependencies: @@ -11388,7 +11401,7 @@ packages: '@unocss/cli': 0.58.6 '@unocss/core': 0.58.6 '@unocss/extractor-arbitrary-variants': 0.58.6 - '@unocss/postcss': 0.58.6(postcss@8.4.37) + '@unocss/postcss': 0.58.6(postcss@8.4.38) '@unocss/preset-attributify': 0.58.6 '@unocss/preset-icons': 0.58.6 '@unocss/preset-mini': 0.58.6 @@ -11434,7 +11447,7 @@ packages: minimatch: 9.0.3 resolve: 1.22.8 unplugin: 1.10.0 - vue: 3.4.21(typescript@5.4.2) + vue: 3.4.21(typescript@5.4.3) transitivePeerDependencies: - rollup - supports-color @@ -11521,7 +11534,7 @@ packages: vfile-message: 2.0.4 dev: true - /vite-plugin-checker@0.6.4(eslint@8.57.0)(stylelint@16.2.1)(typescript@5.4.2)(vite@5.2.2)(vue-tsc@1.8.27): + /vite-plugin-checker@0.6.4(eslint@8.57.0)(stylelint@16.2.1)(typescript@5.4.3)(vite@5.2.2)(vue-tsc@1.8.27): resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} engines: {node: '>=14.16'} peerDependencies: @@ -11563,15 +11576,15 @@ packages: npm-run-path: 4.0.1 semver: 7.6.0 strip-ansi: 6.0.1 - stylelint: 16.2.1(typescript@5.4.2) + stylelint: 16.2.1(typescript@5.4.3) tiny-invariant: 1.3.3 - typescript: 5.4.2 + typescript: 5.4.3 vite: 5.2.2(@types/node@20.11.30)(less@4.2.0) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.11 vscode-uri: 3.0.8 - vue-tsc: 1.8.27(typescript@5.4.2) + vue-tsc: 1.8.27(typescript@5.4.3) dev: true /vite-plugin-inspect@0.8.3(vite@5.2.2): @@ -11720,7 +11733,7 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.4.21(typescript@5.4.2) + vue: 3.4.21(typescript@5.4.3) dev: false /vue-demi@0.14.7(vue@3.4.21): @@ -11735,7 +11748,7 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.4.21(typescript@5.4.2) + vue: 3.4.21(typescript@5.4.3) dev: false /vue-echarts@6.6.9(echarts@5.5.0)(vue@3.4.21): @@ -11754,7 +11767,7 @@ packages: dependencies: echarts: 5.5.0 resize-detector: 0.3.0 - vue: 3.4.21(typescript@5.4.2) + vue: 3.4.21(typescript@5.4.3) vue-demi: 0.13.11(vue@3.4.21) dev: false @@ -11785,7 +11798,7 @@ packages: '@intlify/core-base': 9.10.2 '@intlify/shared': 9.10.2 '@vue/devtools-api': 6.6.1 - vue: 3.4.21(typescript@5.4.2) + vue: 3.4.21(typescript@5.4.3) dev: false /vue-observe-visibility@2.0.0-alpha.1(vue@3.4.21): @@ -11793,7 +11806,7 @@ packages: peerDependencies: vue: ^3.0.0 dependencies: - vue: 3.4.21(typescript@5.4.2) + vue: 3.4.21(typescript@5.4.3) dev: false /vue-resize@2.0.0-alpha.1(vue@3.4.21): @@ -11801,7 +11814,7 @@ packages: peerDependencies: vue: ^3.0.0 dependencies: - vue: 3.4.21(typescript@5.4.2) + vue: 3.4.21(typescript@5.4.3) dev: false /vue-router@4.3.0(vue@3.4.21): @@ -11810,7 +11823,7 @@ packages: vue: ^3.2.0 dependencies: '@vue/devtools-api': 6.6.1 - vue: 3.4.21(typescript@5.4.2) + vue: 3.4.21(typescript@5.4.3) dev: false /vue-template-compiler@2.7.16: @@ -11820,16 +11833,16 @@ packages: he: 1.2.0 dev: true - /vue-tsc@1.8.27(typescript@5.4.2): + /vue-tsc@1.8.27(typescript@5.4.3): resolution: {integrity: sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==} hasBin: true peerDependencies: typescript: '*' dependencies: '@volar/typescript': 1.11.1 - '@vue/language-core': 1.8.27(typescript@5.4.2) + '@vue/language-core': 1.8.27(typescript@5.4.3) semver: 7.6.0 - typescript: 5.4.2 + typescript: 5.4.3 dev: true /vue-types@3.0.2(vue@3.4.21): @@ -11839,7 +11852,7 @@ packages: vue: ^3.0.0 dependencies: is-plain-object: 3.0.1 - vue: 3.4.21(typescript@5.4.2) + vue: 3.4.21(typescript@5.4.3) dev: false /vue-types@5.1.1(vue@3.4.21): @@ -11852,7 +11865,7 @@ packages: optional: true dependencies: is-plain-object: 5.0.0 - vue: 3.4.21(typescript@5.4.2) + vue: 3.4.21(typescript@5.4.3) dev: false /vue-virtual-scroller@2.0.0-beta.8(vue@3.4.21): @@ -11861,7 +11874,7 @@ packages: vue: ^3.2.0 dependencies: mitt: 2.1.0 - vue: 3.4.21(typescript@5.4.2) + vue: 3.4.21(typescript@5.4.3) vue-observe-visibility: 2.0.0-alpha.1(vue@3.4.21) vue-resize: 2.0.0-alpha.1(vue@3.4.21) dev: false @@ -11881,6 +11894,21 @@ packages: '@vue/shared': 3.4.21 typescript: 5.4.2 + /vue@3.4.21(typescript@5.4.3): + resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-sfc': 3.4.21 + '@vue/runtime-dom': 3.4.21 + '@vue/server-renderer': 3.4.21(vue@3.4.21) + '@vue/shared': 3.4.21 + typescript: 5.4.3 + /warning@4.0.3: resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==} dependencies: diff --git a/src/App.vue b/src/App.vue index c322889ce..f5ef810f4 100644 --- a/src/App.vue +++ b/src/App.vue @@ -8,16 +8,5 @@ diff --git a/src/layout/header/components/breadcrumb/index.vue b/src/layout/header/components/breadcrumb/index.vue index 7ddfe0ed4..abcccbe39 100644 --- a/src/layout/header/components/breadcrumb/index.vue +++ b/src/layout/header/components/breadcrumb/index.vue @@ -11,40 +11,15 @@ const route = useRoute(); const userStore = useUserStore(); - const findLastChild = (route?: RouteRecordRaw) => { - if (typeof route?.redirect === 'object') { - const redirectValues = Object.values(route.redirect); - if (route?.children?.length) { - const target = route.children.find((n) => - redirectValues.some((m) => [n.name, n.path, n.meta?.fullPath].some((v) => v === m)), - ); - return findLastChild(target); - } - return redirectValues.find((n) => typeof n === 'string'); - } else if (typeof route?.redirect === 'string') { - if (route?.children?.length) { - const target = route.children.find((n) => - [n.name, n.path, n.meta?.fullPath].some((m) => m === route?.redirect), - ); - return findLastChild(target); - } - return route?.redirect; - } - return route; - }; - const getRouteByName = (name: string) => router.getRoutes().find((n) => n.name === name); - // 点击菜单 const clickMenuItem = (menuItem: RouteRecordRaw) => { - const lastChild = findLastChild(menuItem); - console.log('lastChild', menuItem, lastChild); + if (!menuItem.redirect) return; - const targetRoute = getRouteByName(lastChild?.name); - const { isExt, extOpenMode } = targetRoute?.meta || {}; + const { isExt, extOpenMode } = menuItem?.meta || {}; if (isExt && extOpenMode === 1) { - window.open(lastChild?.path); + window.open(menuItem.path); } else { - router.push({ name: lastChild?.name }); + router.push({ name: menuItem.name }); } }; @@ -79,7 +54,7 @@