From bc8a0f3b359b8a260dde88c5fd557aff714053d1 Mon Sep 17 00:00:00 2001 From: xiaoxian521 <1923740402@qq.com> Date: Wed, 6 Apr 2022 13:42:49 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E5=90=8C=E6=AD=A5=E5=AE=8C=E6=95=B4?= =?UTF-8?q?=E7=89=88=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build/plugins.ts | 43 +--- package.json | 13 +- pnpm-lock.yaml | 415 ++++++++++++++++++-------------- src/layout/components/setting/index.vue | 28 +-- src/layout/hooks/nav.ts | 2 +- src/layout/theme/auroraGreen-vars.scss | 11 - src/layout/theme/default-vars.scss | 29 --- src/layout/theme/dusk-vars.scss | 11 - src/layout/theme/index.ts | 136 +++++++++++ src/layout/theme/light-vars.scss | 11 - src/layout/theme/mingQing-vars.scss | 11 - src/layout/theme/pink-vars.scss | 11 - src/layout/theme/saucePurple-vars.scss | 11 - src/layout/theme/volcano-vars.scss | 11 - src/layout/theme/yellow-vars.scss | 11 - src/layout/types.ts | 2 +- src/router/index.ts | 39 ++- src/router/modules/index.ts | 30 --- src/store/modules/multiTags.ts | 8 +- src/store/modules/permission.ts | 2 +- src/style/element-plus.scss | 7 +- src/style/sidebar.scss | 2 - src/utils/tree.ts | 52 ++++ 23 files changed, 496 insertions(+), 400 deletions(-) delete mode 100644 src/layout/theme/auroraGreen-vars.scss delete mode 100644 src/layout/theme/default-vars.scss delete mode 100644 src/layout/theme/dusk-vars.scss create mode 100644 src/layout/theme/index.ts delete mode 100644 src/layout/theme/light-vars.scss delete mode 100644 src/layout/theme/mingQing-vars.scss delete mode 100644 src/layout/theme/pink-vars.scss delete mode 100644 src/layout/theme/saucePurple-vars.scss delete mode 100644 src/layout/theme/volcano-vars.scss delete mode 100644 src/layout/theme/yellow-vars.scss delete mode 100644 src/router/modules/index.ts diff --git a/build/plugins.ts b/build/plugins.ts index d31031a..dbcb0bf 100644 --- a/build/plugins.ts +++ b/build/plugins.ts @@ -6,12 +6,12 @@ import legacy from "@vitejs/plugin-legacy"; import vueJsx from "@vitejs/plugin-vue-jsx"; import WindiCSS from "vite-plugin-windicss"; import { viteMockServe } from "vite-plugin-mock"; -import liveReload from "vite-plugin-live-reload"; import VueI18n from "@intlify/vite-plugin-vue-i18n"; import ElementPlus from "unplugin-element-plus/vite"; import { visualizer } from "rollup-plugin-visualizer"; import removeConsole from "vite-plugin-remove-console"; import themePreprocessorPlugin from "@pureadmin/theme"; +import { genScssMultipleScopeVars } from "/@/layout/theme"; export function getPluginsList(command, VITE_LEGACY) { const prodMock = true; @@ -30,49 +30,10 @@ export function getPluginsList(command, VITE_LEGACY) { // 线上环境删除console removeConsole(), viteBuildInfo(), - // 修改layout文件夹下的文件时自动重载浏览器 解决 https://github.com/xiaoxian521/vue-pure-admin/issues/170 - liveReload(["src/layout/**/*", "src/router/**/*"]), // 自定义主题 themePreprocessorPlugin({ scss: { - multipleScopeVars: [ - { - scopeName: "layout-theme-default", - path: "src/layout/theme/default-vars.scss" - }, - { - scopeName: "layout-theme-light", - path: "src/layout/theme/light-vars.scss" - }, - { - scopeName: "layout-theme-dusk", - path: "src/layout/theme/dusk-vars.scss" - }, - { - scopeName: "layout-theme-volcano", - path: "src/layout/theme/volcano-vars.scss" - }, - { - scopeName: "layout-theme-yellow", - path: "src/layout/theme/yellow-vars.scss" - }, - { - scopeName: "layout-theme-mingQing", - path: "src/layout/theme/mingQing-vars.scss" - }, - { - scopeName: "layout-theme-auroraGreen", - path: "src/layout/theme/auroraGreen-vars.scss" - }, - { - scopeName: "layout-theme-pink", - path: "src/layout/theme/pink-vars.scss" - }, - { - scopeName: "layout-theme-saucePurple", - path: "src/layout/theme/saucePurple-vars.scss" - } - ], + multipleScopeVars: genScssMultipleScopeVars(), // 默认取 multipleScopeVars[0].scopeName defaultScopeName: "", // 在生产模式是否抽取独立的主题css文件,extract为true以下属性有效 diff --git a/package.json b/package.json index 7c3ff5f..6a5f65a 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "axios": "^0.26.1", "css-color-function": "^1.3.3", "dayjs": "^1.11.0", - "element-plus": "^2.1.7", + "element-plus": "^2.1.8", "element-resize-detector": "^1.2.3", "js-cookie": "^3.0.1", "lodash": "^4.17.21", @@ -44,7 +44,7 @@ "mockjs": "^1.1.0", "nprogress": "^0.2.0", "path": "^0.12.7", - "pinia": "^2.0.12", + "pinia": "^2.0.13", "qs": "^6.10.2", "resize-observer-polyfill": "^1.5.1", "responsive-storage": "^1.0.11", @@ -74,9 +74,9 @@ "@types/qs": "^6.9.7", "@typescript-eslint/eslint-plugin": "^5.10.2", "@typescript-eslint/parser": "^5.10.2", - "@vitejs/plugin-legacy": "^1.7.1", - "@vitejs/plugin-vue": "^2.2.4", - "@vitejs/plugin-vue-jsx": "^1.3.8", + "@vitejs/plugin-legacy": "^1.8.0", + "@vitejs/plugin-vue": "^2.3.1", + "@vitejs/plugin-vue-jsx": "^1.3.9", "@vue/eslint-config-prettier": "^7.0.0", "@vue/eslint-config-typescript": "^10.0.0", "autoprefixer": "^10.4.2", @@ -105,8 +105,7 @@ "stylelint-order": "^5.0.0", "typescript": "^4.6.3", "unplugin-element-plus": "^0.3.2", - "vite": "^2.9.0-beta.10", - "vite-plugin-live-reload": "^2.1.0", + "vite": "^2.9.1", "vite-plugin-mock": "^2.9.6", "vite-plugin-remove-console": "^0.0.7", "vite-plugin-style-import": "1.4.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad36249..1297e7a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -22,9 +22,9 @@ specifiers: "@types/qs": ^6.9.7 "@typescript-eslint/eslint-plugin": ^5.10.2 "@typescript-eslint/parser": ^5.10.2 - "@vitejs/plugin-legacy": ^1.7.1 - "@vitejs/plugin-vue": ^2.2.4 - "@vitejs/plugin-vue-jsx": ^1.3.8 + "@vitejs/plugin-legacy": ^1.8.0 + "@vitejs/plugin-vue": ^2.3.1 + "@vitejs/plugin-vue-jsx": ^1.3.9 "@vue/eslint-config-prettier": ^7.0.0 "@vue/eslint-config-typescript": ^10.0.0 "@vueuse/core": ^8.2.0 @@ -36,7 +36,7 @@ specifiers: cross-env: 7.0.3 css-color-function: ^1.3.3 dayjs: ^1.11.0 - element-plus: ^2.1.7 + element-plus: ^2.1.8 element-resize-detector: ^1.2.3 eslint: ^8.8.0 eslint-plugin-prettier: ^4.0.0 @@ -52,7 +52,7 @@ specifiers: nprogress: ^0.2.0 path: ^0.12.7 picocolors: ^1.0.0 - pinia: ^2.0.12 + pinia: ^2.0.13 postcss: ^8.4.6 postcss-html: ^1.3.0 postcss-import: 14.0.0 @@ -75,8 +75,7 @@ specifiers: stylelint-order: ^5.0.0 typescript: ^4.6.3 unplugin-element-plus: ^0.3.2 - vite: ^2.9.0-beta.10 - vite-plugin-live-reload: ^2.1.0 + vite: ^2.9.1 vite-plugin-mock: ^2.9.6 vite-plugin-remove-console: ^0.0.7 vite-plugin-style-import: 1.4.1 @@ -99,7 +98,7 @@ dependencies: axios: 0.26.1 css-color-function: 1.3.3 dayjs: 1.11.0 - element-plus: 2.1.7_1a412d14def5ff5ca1122000e4bee666 + element-plus: 2.1.8_1a412d14def5ff5ca1122000e4bee666 element-resize-detector: 1.2.4 js-cookie: 3.0.1 lodash: 4.17.21 @@ -109,7 +108,7 @@ dependencies: mockjs: 1.1.0 nprogress: 0.2.0 path: 0.12.7 - pinia: 2.0.12_typescript@4.6.3+vue@3.2.31 + pinia: 2.0.13_typescript@4.6.3+vue@3.2.31 qs: 6.10.3 resize-observer-polyfill: 1.5.1 responsive-storage: 1.0.11_vue@3.2.31 @@ -127,7 +126,7 @@ devDependencies: "@iconify-icons/fa-solid": 1.2.2 "@iconify-icons/ri": 1.2.1 "@iconify/vue": 3.2.0_vue@3.2.31 - "@intlify/vite-plugin-vue-i18n": 3.3.1_d85b7878c756a0dafc9a31d02a659e34 + "@intlify/vite-plugin-vue-i18n": 3.3.1_5e55492be6688dd52c71c76ed1867e7f "@pureadmin/theme": 0.0.1 "@types/element-resize-detector": 1.1.3 "@types/js-cookie": 3.0.1 @@ -139,9 +138,9 @@ devDependencies: "@types/qs": 6.9.7 "@typescript-eslint/eslint-plugin": 5.15.0_8deb5df5f68df203b82d505eb95b6b75 "@typescript-eslint/parser": 5.15.0_eslint@8.11.0+typescript@4.6.3 - "@vitejs/plugin-legacy": 1.7.1_vite@2.9.0-beta.10 - "@vitejs/plugin-vue": 2.2.4_vite@2.9.0-beta.10+vue@3.2.31 - "@vitejs/plugin-vue-jsx": 1.3.8 + "@vitejs/plugin-legacy": 1.8.0_vite@2.9.1 + "@vitejs/plugin-vue": 2.3.1_vite@2.9.1+vue@3.2.31 + "@vitejs/plugin-vue-jsx": 1.3.9 "@vue/eslint-config-prettier": 7.0.0_eslint@8.11.0+prettier@2.6.0 "@vue/eslint-config-typescript": 10.0.0_67e26bb50fed2173443e3fe1262a69b2 autoprefixer: 10.4.4_postcss@8.4.12 @@ -169,13 +168,12 @@ devDependencies: stylelint-config-standard: 24.0.0_stylelint@14.6.0 stylelint-order: 5.0.0_stylelint@14.6.0 typescript: 4.6.3 - unplugin-element-plus: 0.3.2_rollup@2.70.1+vite@2.9.0-beta.10 - vite: 2.9.0-beta.10_sass@1.49.9 - vite-plugin-live-reload: 2.1.0 - vite-plugin-mock: 2.9.6_9f12a304f5d96f739756818b56e7825f + unplugin-element-plus: 0.3.2_rollup@2.70.1+vite@2.9.1 + vite: 2.9.1_sass@1.49.9 + vite-plugin-mock: 2.9.6_9cb7b45a435b0b365a3d11bf7a7969b0 vite-plugin-remove-console: 0.0.7 - vite-plugin-style-import: 1.4.1_vite@2.9.0-beta.10 - vite-plugin-windicss: 1.8.3_vite@2.9.0-beta.10 + vite-plugin-style-import: 1.4.1_vite@2.9.1 + vite-plugin-windicss: 1.8.3_vite@2.9.1 vite-svg-loader: 2.2.0 vue-eslint-parser: 8.3.0_eslint@8.11.0 windicss: 3.5.1 @@ -245,27 +243,27 @@ packages: engines: { node: ">=6.9.0" } dev: true - /@babel/core/7.17.7: + /@babel/core/7.17.8: resolution: { - integrity: sha512-djHlEfFHnSnTAcPb7dATbiM5HxGOP98+3JLBZtjRb5I7RXrw7kFRoG2dXM8cm3H+o11A8IFH/uprmJpwFynRNQ== + integrity: sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ== } engines: { node: ">=6.9.0" } dependencies: "@ampproject/remapping": 2.1.2 "@babel/code-frame": 7.16.7 "@babel/generator": 7.17.7 - "@babel/helper-compilation-targets": 7.17.7_@babel+core@7.17.7 + "@babel/helper-compilation-targets": 7.17.7_@babel+core@7.17.8 "@babel/helper-module-transforms": 7.17.7 - "@babel/helpers": 7.17.7 - "@babel/parser": 7.17.7 + "@babel/helpers": 7.17.8 + "@babel/parser": 7.17.8 "@babel/template": 7.16.7 "@babel/traverse": 7.17.3 "@babel/types": 7.17.0 convert-source-map: 1.8.0 debug: 4.3.3 gensync: 1.0.0-beta.2 - json5: 2.2.0 + json5: 2.2.1 semver: 6.3.0 transitivePeerDependencies: - supports-color @@ -293,7 +291,7 @@ packages: "@babel/types": 7.17.0 dev: true - /@babel/helper-compilation-targets/7.17.7_@babel+core@7.17.7: + /@babel/helper-compilation-targets/7.17.7_@babel+core@7.17.8: resolution: { integrity: sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w== @@ -303,13 +301,13 @@ packages: "@babel/core": ^7.0.0 dependencies: "@babel/compat-data": 7.17.7 - "@babel/core": 7.17.7 + "@babel/core": 7.17.8 "@babel/helper-validator-option": 7.16.7 browserslist: 4.20.2 semver: 6.3.0 dev: true - /@babel/helper-create-class-features-plugin/7.17.6_@babel+core@7.17.7: + /@babel/helper-create-class-features-plugin/7.17.6_@babel+core@7.17.8: resolution: { integrity: sha512-SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg== @@ -318,7 +316,7 @@ packages: peerDependencies: "@babel/core": ^7.0.0 dependencies: - "@babel/core": 7.17.7 + "@babel/core": 7.17.8 "@babel/helper-annotate-as-pure": 7.16.7 "@babel/helper-environment-visitor": 7.16.7 "@babel/helper-function-name": 7.16.7 @@ -481,10 +479,10 @@ packages: engines: { node: ">=6.9.0" } dev: true - /@babel/helpers/7.17.7: + /@babel/helpers/7.17.8: resolution: { - integrity: sha512-TKsj9NkjJfTBxM7Phfy7kv6yYc4ZcOo+AaWGqQOKTPDOmcGkIFb5xNA746eKisQkm4yavUYh4InYM9S+VnO01w== + integrity: sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw== } engines: { node: ">=6.9.0" } dependencies: @@ -515,7 +513,16 @@ packages: engines: { node: ">=6.0.0" } hasBin: true - /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.17.7: + /@babel/parser/7.17.8: + resolution: + { + integrity: sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ== + } + engines: { node: ">=6.0.0" } + hasBin: true + dev: true + + /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.17.8: resolution: { integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== @@ -523,11 +530,11 @@ packages: peerDependencies: "@babel/core": ^7.0.0-0 dependencies: - "@babel/core": 7.17.7 + "@babel/core": 7.17.8 "@babel/helper-plugin-utils": 7.16.7 dev: true - /@babel/plugin-syntax-jsx/7.16.7_@babel+core@7.17.7: + /@babel/plugin-syntax-jsx/7.16.7_@babel+core@7.17.8: resolution: { integrity: sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q== @@ -536,11 +543,11 @@ packages: peerDependencies: "@babel/core": ^7.0.0-0 dependencies: - "@babel/core": 7.17.7 + "@babel/core": 7.17.8 "@babel/helper-plugin-utils": 7.16.7 dev: true - /@babel/plugin-syntax-typescript/7.16.7_@babel+core@7.17.7: + /@babel/plugin-syntax-typescript/7.16.7_@babel+core@7.17.8: resolution: { integrity: sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A== @@ -549,11 +556,11 @@ packages: peerDependencies: "@babel/core": ^7.0.0-0 dependencies: - "@babel/core": 7.17.7 + "@babel/core": 7.17.8 "@babel/helper-plugin-utils": 7.16.7 dev: true - /@babel/plugin-transform-typescript/7.16.8_@babel+core@7.17.7: + /@babel/plugin-transform-typescript/7.16.8_@babel+core@7.17.8: resolution: { integrity: sha512-bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ== @@ -562,18 +569,18 @@ packages: peerDependencies: "@babel/core": ^7.0.0-0 dependencies: - "@babel/core": 7.17.7 - "@babel/helper-create-class-features-plugin": 7.17.6_@babel+core@7.17.7 + "@babel/core": 7.17.8 + "@babel/helper-create-class-features-plugin": 7.17.6_@babel+core@7.17.8 "@babel/helper-plugin-utils": 7.16.7 - "@babel/plugin-syntax-typescript": 7.16.7_@babel+core@7.17.7 + "@babel/plugin-syntax-typescript": 7.16.7_@babel+core@7.17.8 transitivePeerDependencies: - supports-color dev: true - /@babel/standalone/7.17.7: + /@babel/standalone/7.17.8: resolution: { - integrity: sha512-461jrYyk7g4bRQoOROABqErtygmZrx1cZXWONIPCQzVTynT5VL83btu1PJIaXNgl4JtHXjzaYT7j3IOlVhnC1Q== + integrity: sha512-tr3SDpVnxR/fzrxyG+HZPAyEA9eTHZIAjy4eqrc7m+KBwsdo1YvTbUfJ6teWHQ177mk6GmdmltsIiOYCcvRPWA== } engines: { node: ">=6.9.0" } dev: true @@ -586,7 +593,7 @@ packages: engines: { node: ">=6.9.0" } dependencies: "@babel/code-frame": 7.16.7 - "@babel/parser": 7.17.7 + "@babel/parser": 7.17.8 "@babel/types": 7.17.0 dev: true @@ -603,7 +610,7 @@ packages: "@babel/helper-function-name": 7.16.7 "@babel/helper-hoist-variables": 7.16.7 "@babel/helper-split-export-declaration": 7.16.7 - "@babel/parser": 7.17.7 + "@babel/parser": 7.17.8 "@babel/types": 7.17.0 debug: 4.3.3 globals: 11.12.0 @@ -875,10 +882,10 @@ packages: } dev: false - /@floating-ui/dom/0.4.2: + /@floating-ui/dom/0.4.4: resolution: { - integrity: sha512-2/4vOhMAujkMmGqGX1Gut84phe5MNfk1kGeM+RSTJCpeR0SWR2/RR+/f1r1msOvTQa28wn7HEhxGe71CjYY/vw== + integrity: sha512-0Ulu3B/dqQplUUSqnTx0foSrlYuMN+GTtlJWvNJwt6Fr7/PqmlR/Y08o6/+bxDWr6p3roBJRaQ51MDZsNmEhhw== } dependencies: "@floating-ui/core": 0.6.1 @@ -959,10 +966,10 @@ packages: vue: 3.2.31 dev: true - /@intlify/bundle-utils/2.2.1_vue-i18n@9.2.0-beta.33: + /@intlify/bundle-utils/3.0.0_vue-i18n@9.2.0-beta.33: resolution: { - integrity: sha512-8n8zhYEKypS+KP22KUAC6BnQifJDDWUGcn3OVPqsThqMMucU22MShGvOuiKqQ4AeT7XQ5O4pudlJmxv3L91JrQ== + integrity: sha512-y43Z5Q3ZJvxqtD8xUH6U3yrlZeay7ZTqkzv1GQ4b0mGQtk5uptOT9Ra4qvGuUv8QyPQsortrA/OHWUD5ax5ZNQ== } engines: { node: ">= 12" } peerDependencies: @@ -974,8 +981,8 @@ packages: vue-i18n: optional: true dependencies: - "@intlify/message-compiler": 9.2.0-beta.33 - "@intlify/shared": 9.2.0-beta.33 + "@intlify/message-compiler": 9.2.0-beta.34 + "@intlify/shared": 9.2.0-beta.34 jsonc-eslint-parser: 1.4.1 source-map: 0.6.1 vue-i18n: 9.2.0-beta.33_vue@3.2.31 @@ -1014,6 +1021,18 @@ packages: dependencies: "@intlify/shared": 9.2.0-beta.33 source-map: 0.6.1 + dev: false + + /@intlify/message-compiler/9.2.0-beta.34: + resolution: + { + integrity: sha512-l7JjkXJBW2l6cFZqPvI6oWU6QZn/i70agU6QB02W1O+6quFCFNpsiPswgYyQrmfHt4F4qYhLJUMZltIW/cqcbw== + } + engines: { node: ">= 12" } + dependencies: + "@intlify/shared": 9.2.0-beta.34 + source-map: 0.6.1 + dev: true /@intlify/shared/9.2.0-beta.33: resolution: @@ -1021,8 +1040,17 @@ packages: integrity: sha512-HldlkV66vMt1vQsuUz4zjQ202C5KW6aHeIQhx7RxBO11i3E8V84dp5MG9epr9GZXVsrCAR56Ekj0HaTqksIRJA== } engines: { node: ">= 12" } + dev: false - /@intlify/vite-plugin-vue-i18n/3.3.1_d85b7878c756a0dafc9a31d02a659e34: + /@intlify/shared/9.2.0-beta.34: + resolution: + { + integrity: sha512-hbUKcVbTOkLVpnlSeZE1OPgEI7FpvhuZF/gb84xECTjXEImIa3u0fIcJKUUffv3dlAx8fMOE5xKgDzngidm0tw== + } + engines: { node: ">= 12" } + dev: true + + /@intlify/vite-plugin-vue-i18n/3.3.1_5e55492be6688dd52c71c76ed1867e7f: resolution: { integrity: sha512-b9HIUANzL4/LmrA5RqeiPabZl2/RiWNAJ90TVZ8kSi3APRZ4BbmwUAclKe8ip+1jCDhqaGO/qfAI7SbQ0Y76Uw== @@ -1038,13 +1066,13 @@ packages: vue-i18n: optional: true dependencies: - "@intlify/bundle-utils": 2.2.1_vue-i18n@9.2.0-beta.33 - "@intlify/shared": 9.2.0-beta.33 + "@intlify/bundle-utils": 3.0.0_vue-i18n@9.2.0-beta.33 + "@intlify/shared": 9.2.0-beta.34 "@rollup/pluginutils": 4.2.0 debug: 4.3.3 fast-glob: 3.2.11 source-map: 0.6.1 - vite: 2.9.0-beta.10_sass@1.49.9 + vite: 2.9.1_sass@1.49.9 vue-i18n: 9.2.0-beta.33_vue@3.2.31 transitivePeerDependencies: - supports-color @@ -1116,10 +1144,10 @@ packages: fastq: 1.13.0 dev: true - /@popperjs/core/2.11.4: + /@popperjs/core/2.11.5: resolution: { - integrity: sha512-q/ytXxO5NKvyT37pmisQAItCFqA7FD/vNb8dgaJy3/630Fsc+Mz9/9f2SziBoIZ30TJooXyTwZmhi1zjXmObYg== + integrity: sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw== } dev: false @@ -1467,51 +1495,51 @@ packages: eslint-visitor-keys: 3.3.0 dev: true - /@vitejs/plugin-legacy/1.7.1_vite@2.9.0-beta.10: + /@vitejs/plugin-legacy/1.8.0_vite@2.9.1: resolution: { - integrity: sha512-RqgILXsGpfV7NHodVCdBVau8ss5+ynMXp6JGF/F7nhSy0bnwSQPlMS3KFqh7twfifXK8VuMriqfU4CxOiqmNnA== + integrity: sha512-S3+uL1zp8GLUbmJAQk2wQbZLTyISKRFSMBwCFI3XQVRD3OZshqkiPyOKdRiSPlP9HoGz+q90kk+1qPm1tJRqCg== } engines: { node: ">=12.0.0" } peerDependencies: vite: ^2.8.0 dependencies: - "@babel/standalone": 7.17.7 + "@babel/standalone": 7.17.8 core-js: 3.21.1 - magic-string: 0.25.9 + magic-string: 0.26.1 regenerator-runtime: 0.13.9 systemjs: 6.12.1 - vite: 2.9.0-beta.10_sass@1.49.9 + vite: 2.9.1_sass@1.49.9 dev: true - /@vitejs/plugin-vue-jsx/1.3.8: + /@vitejs/plugin-vue-jsx/1.3.9: resolution: { - integrity: sha512-gPtie8IM7G5OI2O2/Xwk/oYjnw2gKBzayVuEOM5Jx65KmpVcW444F+H7IsIMduvAgwLQPEYMGiO1V8dBgk7qog== + integrity: sha512-aJpmBpAXM9jbVWaf7UR22/c0v/wfNPqOj0nBibuOndnrM8YmPAj4NnHEasguXxf0wVH00DinWqyzgZV8CZqEOQ== } engines: { node: ">=12.0.0" } dependencies: - "@babel/core": 7.17.7 - "@babel/plugin-syntax-import-meta": 7.10.4_@babel+core@7.17.7 - "@babel/plugin-transform-typescript": 7.16.8_@babel+core@7.17.7 + "@babel/core": 7.17.8 + "@babel/plugin-syntax-import-meta": 7.10.4_@babel+core@7.17.8 + "@babel/plugin-transform-typescript": 7.16.8_@babel+core@7.17.8 "@rollup/pluginutils": 4.2.0 - "@vue/babel-plugin-jsx": 1.1.1_@babel+core@7.17.7 + "@vue/babel-plugin-jsx": 1.1.1_@babel+core@7.17.8 hash-sum: 2.0.0 transitivePeerDependencies: - supports-color dev: true - /@vitejs/plugin-vue/2.2.4_vite@2.9.0-beta.10+vue@3.2.31: + /@vitejs/plugin-vue/2.3.1_vite@2.9.1+vue@3.2.31: resolution: { - integrity: sha512-ev9AOlp0ljCaDkFZF3JwC/pD2N4Hh+r5srl5JHM6BKg5+99jiiK0rE/XaRs3pVm1wzyKkjUy/StBSoXX5fFzcw== + integrity: sha512-YNzBt8+jt6bSwpt7LP890U1UcTOIZZxfpE5WOJ638PNxSEKOqAi0+FSKS0nVeukfdZ0Ai/H7AFd6k3hayfGZqQ== } engines: { node: ">=12.0.0" } peerDependencies: vite: ^2.5.10 vue: ^3.2.25 dependencies: - vite: 2.9.0-beta.10_sass@1.49.9 + vite: 2.9.1_sass@1.49.9 vue: 3.2.31 dev: true @@ -1522,14 +1550,14 @@ packages: } dev: true - /@vue/babel-plugin-jsx/1.1.1_@babel+core@7.17.7: + /@vue/babel-plugin-jsx/1.1.1_@babel+core@7.17.8: resolution: { integrity: sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w== } dependencies: "@babel/helper-module-imports": 7.16.7 - "@babel/plugin-syntax-jsx": 7.16.7_@babel+core@7.17.7 + "@babel/plugin-syntax-jsx": 7.16.7_@babel+core@7.17.8 "@babel/template": 7.16.7 "@babel/traverse": 7.17.3 "@babel/types": 7.17.0 @@ -1595,6 +1623,13 @@ packages: } dev: false + /@vue/devtools-api/6.1.4: + resolution: + { + integrity: sha512-IiA0SvDrJEgXvVxjNkHPFfDx6SXw0b/TUkqMcDZWNg9fnCAHbTpoo59YfJ9QLFkwa3raau5vSlRVzMSLDnfdtQ== + } + dev: false + /@vue/eslint-config-prettier/7.0.0_eslint@8.11.0+prettier@2.6.0: resolution: { @@ -1711,6 +1746,26 @@ packages: vue-demi: 0.12.4_vue@3.2.31 dev: false + /@vueuse/core/8.2.4_vue@3.2.31: + resolution: + { + integrity: sha512-K8DbVLErlHMnEOqy67BrRbDmWCd4Z9X0a1dL6fQdhABLXBydy69Tm7uF5ZUotAqib9sskItYFsAnLhvGSue6bg== + } + peerDependencies: + "@vue/composition-api": ^1.1.0 + vue: ^2.6.0 || ^3.2.0 + peerDependenciesMeta: + "@vue/composition-api": + optional: true + vue: + optional: true + dependencies: + "@vueuse/metadata": 8.2.4 + "@vueuse/shared": 8.2.4_vue@3.2.31 + vue: 3.2.31 + vue-demi: 0.12.4_vue@3.2.31 + dev: false + /@vueuse/metadata/8.2.0: resolution: { @@ -1718,6 +1773,13 @@ packages: } dev: false + /@vueuse/metadata/8.2.4: + resolution: + { + integrity: sha512-mn4FLULZAHd6r6vo5hLz+99xzwlVDP9qeVtZGV2Ik40m0zETe2okUr3O1Yoz6FReUoc7KAPrf0/GFpWEXVDAnQ== + } + dev: false + /@vueuse/motion/2.0.0-beta.12_vue@3.2.31: resolution: { @@ -1757,6 +1819,24 @@ packages: vue-demi: 0.12.4_vue@3.2.31 dev: false + /@vueuse/shared/8.2.4_vue@3.2.31: + resolution: + { + integrity: sha512-sLkuZMEumsmEDYie3m6/nrk7SrLGlyUgtVn/0EJZ8Chaj1YfSmBQuLxNE0ruQ/6VZlqkx44jEZxcgbU7qPyAiw== + } + peerDependencies: + "@vue/composition-api": ^1.1.0 + vue: ^2.6.0 || ^3.2.0 + peerDependenciesMeta: + "@vue/composition-api": + optional: true + vue: + optional: true + dependencies: + vue: 3.2.31 + vue-demi: 0.12.4_vue@3.2.31 + dev: false + /@windicss/config/1.8.3: resolution: { @@ -2944,19 +3024,19 @@ packages: } dev: true - /element-plus/2.1.7_1a412d14def5ff5ca1122000e4bee666: + /element-plus/2.1.8_1a412d14def5ff5ca1122000e4bee666: resolution: { - integrity: sha512-jamE9F/a2rfAQJwf3kLaDfWXxhjXuAJAvrto76SLJsJfr3iIUAzC849RHdn6h7tNJy9Yanq8GlQAsdBe5lJmrA== + integrity: sha512-hwFtzw0R5lKMhWf3oVvSU/ucfN8RiY8DRaRWo6LktX4RlWWA2QjKfDXtISBi5Rb303Ny4I0Sgz0CA1Fd4Z2GGg== } peerDependencies: vue: ^3.2.0 dependencies: "@ctrl/tinycolor": 3.4.0 "@element-plus/icons-vue": 1.1.4_vue@3.2.31 - "@floating-ui/dom": 0.4.2 - "@popperjs/core": 2.11.4 - "@vueuse/core": 8.2.0_vue@3.2.31 + "@floating-ui/dom": 0.4.4 + "@popperjs/core": 2.11.5 + "@vueuse/core": 8.2.4_vue@3.2.31 async-validator: 4.0.7 dayjs: 1.11.0 escape-html: 1.0.3 @@ -3049,10 +3129,10 @@ packages: } dev: true - /esbuild-android-64/0.14.28: + /esbuild-android-64/0.14.29: resolution: { - integrity: sha512-A52C3zq+9tNwCqZ+4kVLBxnk/WnrYM8P2+QNvNE9B6d2OVPs214lp3g6UyO+dKDhUdefhfPCuwkP8j2A/+szNA== + integrity: sha512-tJuaN33SVZyiHxRaVTo1pwW+rn3qetJX/SRuc/83rrKYtyZG0XfsQ1ao1nEudIt9w37ZSNXR236xEfm2C43sbw== } engines: { node: ">=12" } cpu: [x64] @@ -3061,10 +3141,10 @@ packages: dev: true optional: true - /esbuild-android-arm64/0.14.28: + /esbuild-android-arm64/0.14.29: resolution: { - integrity: sha512-sm0fDEGElZhMC3HLZeECI2juE4aG7uPfMBMqNUhy9CeX399Pz8rC6e78OXMXInGjSdEAwQmCOHmfsP7uv3Q8rA== + integrity: sha512-D74dCv6yYnMTlofVy1JKiLM5JdVSQd60/rQfJSDP9qvRAI0laPXIG/IXY1RG6jobmFMUfL38PbFnCqyI/6fPXg== } engines: { node: ">=12" } cpu: [arm64] @@ -3073,10 +3153,10 @@ packages: dev: true optional: true - /esbuild-darwin-64/0.14.28: + /esbuild-darwin-64/0.14.29: resolution: { - integrity: sha512-nzDd7mQ44FvsFHtOafZdBgn3Li5SMsnMnoz1J2MM37xJmR3wGNTFph88KypjHgWqwbxCI7MXS1U+sN4qDeeW6Q== + integrity: sha512-+CJaRvfTkzs9t+CjGa0Oa28WoXa7EeLutQhxus+fFcu0MHhsBhlmeWHac3Cc/Sf/xPi1b2ccDFfzGYJCfV0RrA== } engines: { node: ">=12" } cpu: [x64] @@ -3085,10 +3165,10 @@ packages: dev: true optional: true - /esbuild-darwin-arm64/0.14.28: + /esbuild-darwin-arm64/0.14.29: resolution: { - integrity: sha512-XEq/bLR/glsUl+uGrBimQzOVs/CmwI833fXUhP9xrLI3IJ+rKyrZ5IA8u+1crOEf1LoTn8tV+hInmX6rGjbScw== + integrity: sha512-5Wgz/+zK+8X2ZW7vIbwoZ613Vfr4A8HmIs1XdzRmdC1kG0n5EG5fvKk/jUxhNlrYPx1gSY7XadQ3l4xAManPSw== } engines: { node: ">=12" } cpu: [arm64] @@ -3097,10 +3177,10 @@ packages: dev: true optional: true - /esbuild-freebsd-64/0.14.28: + /esbuild-freebsd-64/0.14.29: resolution: { - integrity: sha512-rTKLgUj/HEcPeE5XZ7IZwWpFx7IWMfprN7QRk/TUJE1s1Ipb58esboIesUpjirJz/BwrgHq+FDG9ChAI8dZAtQ== + integrity: sha512-VTfS7Bm9QA12JK1YXF8+WyYOfvD7WMpbArtDj6bGJ5Sy5xp01c/q70Arkn596aGcGj0TvQRplaaCIrfBG1Wdtg== } engines: { node: ">=12" } cpu: [x64] @@ -3109,10 +3189,10 @@ packages: dev: true optional: true - /esbuild-freebsd-arm64/0.14.28: + /esbuild-freebsd-arm64/0.14.29: resolution: { - integrity: sha512-sBffxD1UMOsB7aWMoExmipycjcy3HJGwmqE4GQZUTZvdiH4GhjgUiVdtPyt7kSCdL40JqnWQJ4b1l8Y51oCF4Q== + integrity: sha512-WP5L4ejwLWWvd3Fo2J5mlXvG3zQHaw5N1KxFGnUc4+2ZFZknP0ST63i0IQhpJLgEJwnQpXv2uZlU1iWZjFqEIg== } engines: { node: ">=12" } cpu: [arm64] @@ -3121,10 +3201,10 @@ packages: dev: true optional: true - /esbuild-linux-32/0.14.28: + /esbuild-linux-32/0.14.29: resolution: { - integrity: sha512-+Wxidh3fBEQ9kHcCsD4etlBTMb1n6QY2uXv3rFhVn88CY/JP782MhA57/ipLMY4kOLeSKEuFGN4rtjHuhmRMig== + integrity: sha512-4myeOvFmQBWdI2U1dEBe2DCSpaZyjdQtmjUY11Zu2eQg4ynqLb8Y5mNjNU9UN063aVsCYYfbs8jbken/PjyidA== } engines: { node: ">=12" } cpu: [ia32] @@ -3133,10 +3213,10 @@ packages: dev: true optional: true - /esbuild-linux-64/0.14.28: + /esbuild-linux-64/0.14.29: resolution: { - integrity: sha512-7+xgsC4LvR6cnzaBdiljNnPDjbkwzahogN+S9uy9AoYw7ZjPnnXc6sjQAVCbqGb7MEgrWdpa6u/Tao79i4lWxg== + integrity: sha512-iaEuLhssReAKE7HMwxwFJFn7D/EXEs43fFy5CJeA4DGmU6JHh0qVJD2p/UP46DvUXLRKXsXw0i+kv5TdJ1w5pg== } engines: { node: ">=12" } cpu: [x64] @@ -3145,10 +3225,10 @@ packages: dev: true optional: true - /esbuild-linux-arm/0.14.28: + /esbuild-linux-arm/0.14.29: resolution: { - integrity: sha512-L5isjmlLbh9E0WVllXiVETbScgMbth/+XkXQii1WwgO1RvLIfaGrVFz8d2n6EH/ImtgYxPYGx+OcvIKQBc91Rg== + integrity: sha512-OXa9D9QL1hwrAnYYAHt/cXAuSCmoSqYfTW/0CEY0LgJNyTxJKtqc5mlwjAZAvgyjmha0auS/sQ0bXfGf2wAokQ== } engines: { node: ">=12" } cpu: [arm] @@ -3157,10 +3237,10 @@ packages: dev: true optional: true - /esbuild-linux-arm64/0.14.28: + /esbuild-linux-arm64/0.14.29: resolution: { - integrity: sha512-EjRHgwg+kgXABzyoPGPOPg4d5wZqRnZ/ZAxBDzLY+i6DS8OUfTSlZHWIOZzU4XF7125WxRBg9ULbrFJBl+57Eg== + integrity: sha512-KYf7s8wDfUy+kjKymW3twyGT14OABjGHRkm9gPJ0z4BuvqljfOOUbq9qT3JYFnZJHOgkr29atT//hcdD0Pi7Mw== } engines: { node: ">=12" } cpu: [arm64] @@ -3169,10 +3249,10 @@ packages: dev: true optional: true - /esbuild-linux-mips64le/0.14.28: + /esbuild-linux-mips64le/0.14.29: resolution: { - integrity: sha512-krx9SSg7yfiUKk64EmjefOyiEF6nv2bRE4um/LiTaQ6Y/6FP4UF3/Ou/AxZVyR154uSRq63xejcAsmswXAYRsw== + integrity: sha512-05jPtWQMsZ1aMGfHOvnR5KrTvigPbU35BtuItSSWLI2sJu5VrM8Pr9Owym4wPvA4153DFcOJ1EPN/2ujcDt54g== } engines: { node: ">=12" } cpu: [mips64el] @@ -3181,10 +3261,10 @@ packages: dev: true optional: true - /esbuild-linux-ppc64le/0.14.28: + /esbuild-linux-ppc64le/0.14.29: resolution: { - integrity: sha512-LD0Xxu9g+DNuhsEBV5QuVZ4uKVBMup0xPIruLweuAf9/mHXFnaCuNXUBF5t0DxKl7GQ5MSioKtnb92oMo+QXEw== + integrity: sha512-FYhBqn4Ir9xG+f6B5VIQVbRuM4S6qwy29dDNYFPoxLRnwTEKToIYIUESN1qHyUmIbfO0YB4phG2JDV2JDN9Kgw== } engines: { node: ">=12" } cpu: [ppc64] @@ -3193,10 +3273,10 @@ packages: dev: true optional: true - /esbuild-linux-riscv64/0.14.28: + /esbuild-linux-riscv64/0.14.29: resolution: { - integrity: sha512-L/DWfRh2P0vxq4Y+qieSNXKGdMg+e9Qe8jkbN2/8XSGYDTPzO2OcAxSujob4qIh7iSl+cknbXV+BvH0YFR0jbg== + integrity: sha512-eqZMqPehkb4nZcffnuOpXJQdGURGd6GXQ4ZsDHSWyIUaA+V4FpMBe+5zMPtXRD2N4BtyzVvnBko6K8IWWr36ew== } engines: { node: ">=12" } cpu: [riscv64] @@ -3205,10 +3285,10 @@ packages: dev: true optional: true - /esbuild-linux-s390x/0.14.28: + /esbuild-linux-s390x/0.14.29: resolution: { - integrity: sha512-rrgxmsbmL8QQknWGnAL9bGJRQYLOi2AzXy5OTwfhxnj9eqjo5mSVbJXjgiq5LPUAMQZGdPH5yaNK0obAXS81Zw== + integrity: sha512-o7EYajF1rC/4ho7kpSG3gENVx0o2SsHm7cJ5fvewWB/TEczWU7teDgusGSujxCYcMottE3zqa423VTglNTYhjg== } engines: { node: ">=12" } cpu: [s390x] @@ -3217,10 +3297,10 @@ packages: dev: true optional: true - /esbuild-netbsd-64/0.14.28: + /esbuild-netbsd-64/0.14.29: resolution: { - integrity: sha512-h8wntIyOR8/xMVVM6TvJxxWKh4AjmLK87IPKpuVi8Pq0kyk0RMA+eo4PFGk5j2XK0D7dj8PcSF5NSlP9kN/j0A== + integrity: sha512-/esN6tb6OBSot6+JxgeOZeBk6P8V/WdR3GKBFeFpSqhgw4wx7xWUqPrdx4XNpBVO7X4Ipw9SAqgBrWHlXfddww== } engines: { node: ">=12" } cpu: [x64] @@ -3229,10 +3309,10 @@ packages: dev: true optional: true - /esbuild-openbsd-64/0.14.28: + /esbuild-openbsd-64/0.14.29: resolution: { - integrity: sha512-HBv18rVapbuDx52/fhZ/c/w6TXyaQAvRxiDDn5Hz/pBcwOs3cdd2WxeIKlWmDoqm2JMx5EVlq4IWgoaRX9mVkw== + integrity: sha512-jUTdDzhEKrD0pLpjmk0UxwlfNJNg/D50vdwhrVcW/D26Vg0hVbthMfb19PJMatzclbK7cmgk1Nu0eNS+abzoHw== } engines: { node: ">=12" } cpu: [x64] @@ -3241,10 +3321,10 @@ packages: dev: true optional: true - /esbuild-sunos-64/0.14.28: + /esbuild-sunos-64/0.14.29: resolution: { - integrity: sha512-zlIxePhZxKYheR2vBCgPVvTixgo/ozOfOMoP6RZj8dxzquU1NgeyhjkcRXucbLCtmoNJ+i4PtWwPZTLuDd3bGg== + integrity: sha512-EfhQN/XO+TBHTbkxwsxwA7EfiTHFe+MNDfxcf0nj97moCppD9JHPq48MLtOaDcuvrTYOcrMdJVeqmmeQ7doTcg== } engines: { node: ">=12" } cpu: [x64] @@ -3253,10 +3333,10 @@ packages: dev: true optional: true - /esbuild-windows-32/0.14.28: + /esbuild-windows-32/0.14.29: resolution: { - integrity: sha512-am9DIJxXlld1BOAY/VlvBQHMUCPL7S3gB/lnXIY3M4ys0gfuRqPf4EvMwZMzYUbFKBY+/Qb8SRgPRRGhwnJ8Kg== + integrity: sha512-uoyb0YAJ6uWH4PYuYjfGNjvgLlb5t6b3zIaGmpWPOjgpr1Nb3SJtQiK4YCPGhONgfg2v6DcJgSbOteuKXhwqAw== } engines: { node: ">=12" } cpu: [ia32] @@ -3265,10 +3345,10 @@ packages: dev: true optional: true - /esbuild-windows-64/0.14.28: + /esbuild-windows-64/0.14.29: resolution: { - integrity: sha512-78PhySDnmRZlsPNp/W/5Fim8iivlBQQxfhBFIqR7xwvfDmCFUSByyMKP7LCHgNtb04yNdop8nJJkJaQ8Xnwgiw== + integrity: sha512-X9cW/Wl95QjsH8WUyr3NqbmfdU72jCp71cH3pwPvI4CgBM2IeOUDdbt6oIGljPu2bf5eGDIo8K3Y3vvXCCTd8A== } engines: { node: ">=12" } cpu: [x64] @@ -3277,10 +3357,10 @@ packages: dev: true optional: true - /esbuild-windows-arm64/0.14.28: + /esbuild-windows-arm64/0.14.29: resolution: { - integrity: sha512-VhXGBTo6HELD8zyHXynV6+L2jWx0zkKnGx4TmEdSBK7UVFACtOyfUqpToG0EtnYyRZ0HESBhzPSVpP781ovmvA== + integrity: sha512-+O/PI+68fbUZPpl3eXhqGHTGK7DjLcexNnyJqtLZXOFwoAjaXlS5UBCvVcR3o2va+AqZTj8o6URaz8D2K+yfQQ== } engines: { node: ">=12" } cpu: [arm64] @@ -3298,35 +3378,35 @@ packages: requiresBuild: true dev: true - /esbuild/0.14.28: + /esbuild/0.14.29: resolution: { - integrity: sha512-YLNprkCcMVKQ5sekmCKEQ3Obu/L7s6+iij38xNKyBeSmSsTWur4Ky/9zB3XIGT8SCJITG/bZwAR2l7YOAXch4Q== + integrity: sha512-SQS8cO8xFEqevYlrHt6exIhK853Me4nZ4aMW6ieysInLa0FMAL+AKs87HYNRtR2YWRcEIqoXAHh+Ytt5/66qpg== } engines: { node: ">=12" } hasBin: true requiresBuild: true optionalDependencies: - esbuild-android-64: 0.14.28 - esbuild-android-arm64: 0.14.28 - esbuild-darwin-64: 0.14.28 - esbuild-darwin-arm64: 0.14.28 - esbuild-freebsd-64: 0.14.28 - esbuild-freebsd-arm64: 0.14.28 - esbuild-linux-32: 0.14.28 - esbuild-linux-64: 0.14.28 - esbuild-linux-arm: 0.14.28 - esbuild-linux-arm64: 0.14.28 - esbuild-linux-mips64le: 0.14.28 - esbuild-linux-ppc64le: 0.14.28 - esbuild-linux-riscv64: 0.14.28 - esbuild-linux-s390x: 0.14.28 - esbuild-netbsd-64: 0.14.28 - esbuild-openbsd-64: 0.14.28 - esbuild-sunos-64: 0.14.28 - esbuild-windows-32: 0.14.28 - esbuild-windows-64: 0.14.28 - esbuild-windows-arm64: 0.14.28 + esbuild-android-64: 0.14.29 + esbuild-android-arm64: 0.14.29 + esbuild-darwin-64: 0.14.29 + esbuild-darwin-arm64: 0.14.29 + esbuild-freebsd-64: 0.14.29 + esbuild-freebsd-arm64: 0.14.29 + esbuild-linux-32: 0.14.29 + esbuild-linux-64: 0.14.29 + esbuild-linux-arm: 0.14.29 + esbuild-linux-arm64: 0.14.29 + esbuild-linux-mips64le: 0.14.29 + esbuild-linux-ppc64le: 0.14.29 + esbuild-linux-riscv64: 0.14.29 + esbuild-linux-s390x: 0.14.29 + esbuild-netbsd-64: 0.14.29 + esbuild-openbsd-64: 0.14.29 + esbuild-sunos-64: 0.14.29 + esbuild-windows-32: 0.14.29 + esbuild-windows-64: 0.14.29 + esbuild-windows-arm64: 0.14.29 dev: true /escalade/3.1.1: @@ -4465,15 +4545,13 @@ packages: resolution: { integrity: sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= } dev: true - /json5/2.2.0: + /json5/2.2.1: resolution: { - integrity: sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== + integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== } engines: { node: ">=6" } hasBin: true - dependencies: - minimist: 1.2.5 dev: true /jsonc-eslint-parser/1.4.1: @@ -4879,13 +4957,6 @@ packages: kind-of: 6.0.3 dev: true - /minimist/1.2.5: - resolution: - { - integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - } - dev: true - /mitt/3.0.0: resolution: { @@ -5297,10 +5368,10 @@ packages: engines: { node: ">=0.10.0" } dev: true - /pinia/2.0.12_typescript@4.6.3+vue@3.2.31: + /pinia/2.0.13_typescript@4.6.3+vue@3.2.31: resolution: { - integrity: sha512-tUeuYGFrLU5irmGyRAIxp35q1OTcZ8sKpGT4XkPeVcG35W4R6cfXDbCGexzmVqH5lTQJJTXXbNGutIu9yS5yew== + integrity: sha512-B7rSqm1xNpwcPMnqns8/gVBfbbi7lWTByzS6aPZ4JOXSJD4Y531rZHDCoYWBwLyHY/8hWnXljgiXp6rRyrofcw== } peerDependencies: "@vue/composition-api": ^1.4.0 @@ -5312,7 +5383,7 @@ packages: typescript: optional: true dependencies: - "@vue/devtools-api": 6.1.3 + "@vue/devtools-api": 6.1.4 typescript: 4.6.3 vue: 3.2.31 vue-demi: 0.12.4_vue@3.2.31 @@ -6886,7 +6957,7 @@ packages: engines: { node: ">= 0.8" } dev: true - /unplugin-element-plus/0.3.2_rollup@2.70.1+vite@2.9.0-beta.10: + /unplugin-element-plus/0.3.2_rollup@2.70.1+vite@2.9.1: resolution: { integrity: sha512-/oPbLA1ByrZ3VvN3jrVtVZcGJ147+ccyrL1w9d8wNLTTMH+buxdtiMQQv9R7Muz22ocJvebXZzlRVlA/JeeVPA== @@ -6896,7 +6967,7 @@ packages: "@rollup/pluginutils": 4.2.0 es-module-lexer: 0.10.4 magic-string: 0.26.1 - unplugin: 0.3.3_rollup@2.70.1+vite@2.9.0-beta.10 + unplugin: 0.3.3_rollup@2.70.1+vite@2.9.1 transitivePeerDependencies: - esbuild - rollup @@ -6904,7 +6975,7 @@ packages: - webpack dev: true - /unplugin/0.3.3_rollup@2.70.1+vite@2.9.0-beta.10: + /unplugin/0.3.3_rollup@2.70.1+vite@2.9.1: resolution: { integrity: sha512-WjZWpUqqcYPQ/efR00Zm2m1+J1LitwoZ4uhHV4VdZ+IpW0Nh/qnDYtVf+nLhozXdGxslMPecOshVR7NiWFl4gA== @@ -6925,7 +6996,7 @@ packages: optional: true dependencies: rollup: 2.70.1 - vite: 2.9.0-beta.10_sass@1.49.9 + vite: 2.9.1_sass@1.49.9 webpack-virtual-modules: 0.4.3 dev: true @@ -6999,17 +7070,7 @@ packages: spdx-expression-parse: 3.0.1 dev: true - /vite-plugin-live-reload/2.1.0: - resolution: - { - integrity: sha512-NKIcVqrraPUZbsUKCKs+0StqKAmbAh2csbFxMWTXGDUeOoHAFni9H0CxtQelrYT5bQCV9FT/RveAM8q8bMdnQQ== - } - dependencies: - chalk: 4.1.2 - chokidar: 3.5.3 - dev: true - - /vite-plugin-mock/2.9.6_9f12a304f5d96f739756818b56e7825f: + /vite-plugin-mock/2.9.6_9cb7b45a435b0b365a3d11bf7a7969b0: resolution: { integrity: sha512-/Rm59oPppe/ncbkSrUuAxIQihlI2YcBmnbR4ST1RA2VzM1C0tEQc1KlbQvnUGhXECAGTaQN2JyasiwXP6EtKgg== @@ -7029,7 +7090,7 @@ packages: fast-glob: 3.2.11 mockjs: 1.1.0 path-to-regexp: 6.2.0 - vite: 2.9.0-beta.10_sass@1.49.9 + vite: 2.9.1_sass@1.49.9 transitivePeerDependencies: - rollup - supports-color @@ -7042,7 +7103,7 @@ packages: } dev: true - /vite-plugin-style-import/1.4.1_vite@2.9.0-beta.10: + /vite-plugin-style-import/1.4.1_vite@2.9.1: resolution: { integrity: sha512-lJCRvm7+So0hHdnSJiJPg9gD5mxtL6YY0jmhEph+k7ArpsyvqOh6han2kG5htbWWDZxHkUN9d1BuTFL//yCLLQ== @@ -7056,12 +7117,12 @@ packages: es-module-lexer: 0.9.3 fs-extra: 10.0.1 magic-string: 0.25.9 - vite: 2.9.0-beta.10_sass@1.49.9 + vite: 2.9.1_sass@1.49.9 transitivePeerDependencies: - supports-color dev: true - /vite-plugin-windicss/1.8.3_vite@2.9.0-beta.10: + /vite-plugin-windicss/1.8.3_vite@2.9.1: resolution: { integrity: sha512-RIw2GD6H6cKNE8wZXVOBs4L1uTicVS0FaAkeqXvy1oyuXLC4SXmvnzEuoK0+qFuWJjW0ECNwE8eU+ZZhzNQKUg== @@ -7072,7 +7133,7 @@ packages: "@windicss/plugin-utils": 1.8.3 debug: 4.3.3 kolorist: 1.5.1 - vite: 2.9.0-beta.10_sass@1.49.9 + vite: 2.9.1_sass@1.49.9 windicss: 3.5.1 transitivePeerDependencies: - supports-color @@ -7088,10 +7149,10 @@ packages: svgo: 2.8.0 dev: true - /vite/2.9.0-beta.10_sass@1.49.9: + /vite/2.9.1_sass@1.49.9: resolution: { - integrity: sha512-CvAssYHcjWHGyxEUG+lt5KHWwL0VdUI9DlXnNnxkZqWlNpzcqxuU4V/mxOh83Eg71R8ya2BjA5yX1RwPijoKZA== + integrity: sha512-vSlsSdOYGcYEJfkQ/NeLXgnRv5zZfpAsdztkIrs7AZHV8RCMZQkwjo4DS5BnrYTqoWqLoUe1Cah4aVO4oNNqCQ== } engines: { node: ">=12.2.0" } hasBin: true @@ -7107,7 +7168,7 @@ packages: stylus: optional: true dependencies: - esbuild: 0.14.28 + esbuild: 0.14.29 postcss: 8.4.12 resolve: 1.22.0 rollup: 2.70.1 diff --git a/src/layout/components/setting/index.vue b/src/layout/components/setting/index.vue index fed0ea0..45480f9 100644 --- a/src/layout/components/setting/index.vue +++ b/src/layout/components/setting/index.vue @@ -9,7 +9,6 @@ import { useCssModule, getCurrentInstance } from "vue"; -import rgbHex from "rgb-hex"; import { find } from "lodash-unified"; import { getConfig } from "/@/config"; import { useRouter } from "vue-router"; @@ -40,23 +39,23 @@ const instanceConfig = let themeColors = ref>([ // 道奇蓝(默认) - { rgb: "27, 42, 71", themeColor: "default" }, + { color: "#1b2a47", themeColor: "default" }, // 亮白色 - { rgb: "255, 255, 255", themeColor: "light" }, + { color: "#ffffff", themeColor: "light" }, // 猩红色 - { rgb: "245, 34, 45", themeColor: "dusk" }, + { color: "#f5222d", themeColor: "dusk" }, // 橙红色 - { rgb: "250, 84, 28", themeColor: "volcano" }, + { color: "#fa541c", themeColor: "volcano" }, // 金色 - { rgb: "250, 219, 20", themeColor: "yellow" }, + { color: "#fadb14", themeColor: "yellow" }, // 绿宝石 - { rgb: "19, 194, 194", themeColor: "mingQing" }, + { color: "#13c2c2", themeColor: "mingQing" }, // 酸橙绿 - { rgb: "82, 196, 26", themeColor: "auroraGreen" }, + { color: "#52c41a", themeColor: "auroraGreen" }, // 深粉色 - { rgb: "235, 47, 150", themeColor: "pink" }, + { color: "#eb2f96", themeColor: "pink" }, // 深紫罗兰色 - { rgb: "114, 46, 209", themeColor: "saucePurple" } + { color: "#722ed1", themeColor: "saucePurple" } ]); const verticalRef = templateRef("verticalRef", null); @@ -97,8 +96,8 @@ const settings = reactive({ }); const getThemeColorStyle = computed(() => { - return rgb => { - return { background: `rgb(${rgb})` }; + return color => { + return { background: color }; }; }); @@ -261,8 +260,7 @@ function setLayoutThemeColor(theme: string) { setEpThemeColor(getConfig().EpThemeColor); } else { const colors = find(themeColors.value, { themeColor: theme }); - const color = "#" + rgbHex(colors.rgb); - setEpThemeColor(color); + setEpThemeColor(colors.color); } } @@ -359,7 +357,7 @@ nextTick(() => {
  • { + result.push({ + scopeName: `layout-theme-${key}`, + varsContent: `$primary-color: ${themeColors[key].color} !default;$vxe-primary-color: $primary-color;$subMenuActiveText: ${themeColors[key].subMenuActiveText} !default;$menuBg: ${themeColors[key].menuBg} !default;$menuHover: ${themeColors[key].menuHover} !default;$subMenuBg: ${themeColors[key].subMenuBg} !default;$subMenuActiveBg: ${themeColors[key].subMenuActiveBg} !default;$navTextColor: ${themeColors[key].navTextColor} !default;$menuText: ${themeColors[key].menuText} !default;$sidebarLogo: ${themeColors[key].sidebarLogo} !default;$menuTitleHover: ${themeColors[key].menuTitleHover} !default;$menuActiveBefore: ${themeColors[key].menuActiveBefore} !default;` + } as MultipleScopeVarsItem); + }); + return result; +} diff --git a/src/layout/theme/light-vars.scss b/src/layout/theme/light-vars.scss deleted file mode 100644 index b33aa01..0000000 --- a/src/layout/theme/light-vars.scss +++ /dev/null @@ -1,11 +0,0 @@ -/* 亮白色 */ -$subMenuActiveText: #409eff; -$menuBg: #fff; -$menuHover: #e0ebf6; -$subMenuBg: #fff; -$subMenuActiveBg: #e0ebf6; -$navTextColor: #7a80b4; -$menuText: #7a80b4; -$sidebarLogo: #fff; -$menuTitleHover: #000; -$menuActiveBefore: #4091f7; diff --git a/src/layout/theme/mingQing-vars.scss b/src/layout/theme/mingQing-vars.scss deleted file mode 100644 index 59ead9f..0000000 --- a/src/layout/theme/mingQing-vars.scss +++ /dev/null @@ -1,11 +0,0 @@ -/* 绿宝石 */ -$subMenuActiveText: #fff; -$menuBg: #032121; -$menuHover: #59bfc1; -$subMenuBg: #000; -$subMenuActiveBg: #59bfc1; -$navTextColor: #7a80b4; -$menuText: #7a80b4; -$sidebarLogo: #053434; -$menuTitleHover: #fff; -$menuActiveBefore: #59bfc1; diff --git a/src/layout/theme/pink-vars.scss b/src/layout/theme/pink-vars.scss deleted file mode 100644 index 3d39a3a..0000000 --- a/src/layout/theme/pink-vars.scss +++ /dev/null @@ -1,11 +0,0 @@ -/* 深粉色 */ -$subMenuActiveText: #fff; -$menuBg: #28081a; -$menuHover: #d84493; -$subMenuBg: #000; -$subMenuActiveBg: #d84493; -$navTextColor: #7a80b4; -$menuText: #7a80b4; -$sidebarLogo: #3f0d29; -$menuTitleHover: #fff; -$menuActiveBefore: #d84493; diff --git a/src/layout/theme/saucePurple-vars.scss b/src/layout/theme/saucePurple-vars.scss deleted file mode 100644 index 0ead258..0000000 --- a/src/layout/theme/saucePurple-vars.scss +++ /dev/null @@ -1,11 +0,0 @@ -/* 深紫罗兰色 */ -$subMenuActiveText: #fff; -$menuBg: #130824; -$menuHover: #693ac9; -$subMenuBg: #000; -$subMenuActiveBg: #693ac9; -$navTextColor: #7a80b4; -$menuText: #7a80b4; -$sidebarLogo: #1f0c38; -$menuTitleHover: #fff; -$menuActiveBefore: #693ac9; diff --git a/src/layout/theme/volcano-vars.scss b/src/layout/theme/volcano-vars.scss deleted file mode 100644 index 65dd0dd..0000000 --- a/src/layout/theme/volcano-vars.scss +++ /dev/null @@ -1,11 +0,0 @@ -/* 橙红色 */ -$subMenuActiveText: #fff; -$menuBg: #2b0e05; -$menuHover: #e85f33; -$subMenuBg: #0f0603; -$subMenuActiveBg: #e85f33; -$navTextColor: #fff; -$menuText: rgb(254 254 254 / 65%); -$sidebarLogo: #441708; -$menuTitleHover: #fff; -$menuActiveBefore: #e85f33; diff --git a/src/layout/theme/yellow-vars.scss b/src/layout/theme/yellow-vars.scss deleted file mode 100644 index 1023153..0000000 --- a/src/layout/theme/yellow-vars.scss +++ /dev/null @@ -1,11 +0,0 @@ -/* 金色 */ -$subMenuActiveText: #d25f00; -$menuBg: #2b2503; -$menuHover: #f6da4d; -$subMenuBg: #0f0603; -$subMenuActiveBg: #f6da4d; -$navTextColor: #fff; -$menuText: rgb(254 254 254 / 65%); -$sidebarLogo: #443b05; -$menuTitleHover: #fff; -$menuActiveBefore: #f6da4d; diff --git a/src/layout/types.ts b/src/layout/types.ts index 405f8d8..afd665e 100644 --- a/src/layout/types.ts +++ b/src/layout/types.ts @@ -79,7 +79,7 @@ export type childrenType = { }; export type themeColorsType = { - rgb: string; + color: string; themeColor: string; }; diff --git a/src/router/index.ts b/src/router/index.ts index 7245abb..a8ecf8a 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -3,22 +3,53 @@ import { getConfig } from "/@/config"; import { toRouteType } from "./types"; import { openLink } from "/@/utils/link"; import NProgress from "/@/utils/progress"; -import { constantRoutes } from "./modules"; import { findIndex } from "lodash-unified"; import { transformI18n } from "/@/plugins/i18n"; -import remainingRouter from "./modules/remaining"; import { storageSession } from "/@/utils/storage"; +import { buildHierarchyTree } from "/@/utils/tree"; import { useMultiTagsStoreHook } from "/@/store/modules/multiTags"; import { usePermissionStoreHook } from "/@/store/modules/permission"; -import { Router, RouteMeta, createRouter, RouteRecordName } from "vue-router"; import { + Router, + RouteMeta, + createRouter, + RouteRecordRaw, + RouteComponent, + RouteRecordName +} from "vue-router"; +import { + ascending, initRouter, getHistoryMode, getParentPaths, findRouteByPath, - handleAliveRoute + handleAliveRoute, + formatTwoStageRoutes, + formatFlatteningRoutes } from "./utils"; +import homeRouter from "./modules/home"; +import errorRouter from "./modules/error"; +import remainingRouter from "./modules/remaining"; + +// 原始静态路由(未做任何处理) +const routes = [homeRouter, errorRouter]; + +// 导出处理后的静态路由(三级及以上的路由全部拍成二级) +export const constantRoutes: Array = formatTwoStageRoutes( + formatFlatteningRoutes(buildHierarchyTree(ascending(routes))) +); + +// 用于渲染菜单,保持原始层级 +export const constantMenus: Array = ascending(routes).concat( + ...remainingRouter +); + +// 不参与菜单的路由 +export const remainingPaths = Object.keys(remainingRouter).map(v => { + return remainingRouter[v].path; +}); + // 创建路由实例 export const router: Router = createRouter({ history: getHistoryMode(), diff --git a/src/router/modules/index.ts b/src/router/modules/index.ts deleted file mode 100644 index d97847c..0000000 --- a/src/router/modules/index.ts +++ /dev/null @@ -1,30 +0,0 @@ -// 静态路由 -import homeRouter from "./home"; -import errorRouter from "./error"; -import remainingRouter from "./remaining"; -import { RouteRecordRaw, RouteComponent } from "vue-router"; - -import { - ascending, - formatTwoStageRoutes, - formatFlatteningRoutes -} from "../utils"; -import { buildHierarchyTree } from "/@/utils/tree"; - -// 原始静态路由(未做任何处理) -const routes = [homeRouter, errorRouter]; - -// 导出处理后的静态路由(三级及以上的路由全部拍成二级) -export const constantRoutes: Array = formatTwoStageRoutes( - formatFlatteningRoutes(buildHierarchyTree(ascending(routes))) -); - -// 用于渲染菜单,保持原始层级 -export const constantMenus: Array = ascending(routes).concat( - ...remainingRouter -); - -// 不参与菜单的路由 -export const remainingPaths = Object.keys(remainingRouter).map(v => { - return remainingRouter[v].path; -}); diff --git a/src/store/modules/multiTags.ts b/src/store/modules/multiTags.ts index 406e4e0..528a7e3 100644 --- a/src/store/modules/multiTags.ts +++ b/src/store/modules/multiTags.ts @@ -89,7 +89,13 @@ export const useMultiTagsStore = defineStore({ } break; case "splice": - this.multiTags.splice(position?.startIndex, position?.length); + if (!position) { + const index = this.multiTags.findIndex(v => v.path === value); + if (index === -1) return; + this.multiTags.splice(index, 1); + } else { + this.multiTags.splice(position?.startIndex, position?.length); + } this.tagsCache(this.multiTags); return this.multiTags; case "slice": diff --git a/src/store/modules/permission.ts b/src/store/modules/permission.ts index 49b9ea2..f2aa691 100644 --- a/src/store/modules/permission.ts +++ b/src/store/modules/permission.ts @@ -1,9 +1,9 @@ import { defineStore } from "pinia"; import { store } from "/@/store"; import { cacheType } from "./types"; +import { constantMenus } from "/@/router"; import { cloneDeep } from "lodash-unified"; import { RouteConfigs } from "/@/layout/types"; -import { constantMenus } from "/@/router/modules"; import { ascending, filterTree } from "/@/router/utils"; export const usePermissionStore = defineStore({ diff --git a/src/style/element-plus.scss b/src/style/element-plus.scss index c14fa40..c547450 100644 --- a/src/style/element-plus.scss +++ b/src/style/element-plus.scss @@ -42,9 +42,10 @@ } /* 动态改变cssvar 用于主题切换 https://github.com/element-plus/element-plus/issues/4856#issuecomment-1000174357 */ -.el-button--primary { - --el-button-active-bg-color: var(--el-color-primary-active) !important; - --el-button-active-border-color: var(--el-color-primary-active) !important; +.el-button--primary, +.el-button--primary.is-plain { + --el-button-active-bg-color: var(--el-color-primary) !important; + --el-button-active-border-color: var(--el-color-primary) !important; } /* button--primary plain */ diff --git a/src/style/sidebar.scss b/src/style/sidebar.scss index 19fa14b..f94a53d 100644 --- a/src/style/sidebar.scss +++ b/src/style/sidebar.scss @@ -1,5 +1,3 @@ -@import "../layout/theme/default-vars.scss"; - @mixin merge-style( /* vertical模式下主体内容距离网页文档左侧的距离 */ $sideBarWidth ) { diff --git a/src/utils/tree.ts b/src/utils/tree.ts index efc059a..37a0fe8 100644 --- a/src/utils/tree.ts +++ b/src/utils/tree.ts @@ -65,3 +65,55 @@ export function buildHierarchyTree(menuTree, pathList = []) { } return menuTree; } + +/** + * 广度优先遍历算法,找当前节点 + * @param {Array} tree 原始树,数组 + * @param {Number|String} uniqueId 唯一uniqueId + * @return {Object} node + */ +export function getNodeByUniqueId(menuTree, uniqueId) { + if (!Array.isArray(menuTree)) { + console.warn("menuTree must be an array"); + return; + } + if (!menuTree || menuTree.length === 0) return; + const item = menuTree.find(node => node.uniqueId === uniqueId); + if (item) return item; + const childrenList = menuTree + .filter(node => node.children) + .map(i => i.children) + .flat(1); + return getNodeByUniqueId(childrenList, uniqueId); +} + +/** + * 向当前唯一uniqueId节点追加字段 + * @param {Array} {menuTree 菜单树} + * @param {Number|String} uniqueId 唯一uniqueId + * @param {Object} fields 唯一uniqueId + * @return {menuTree} 追加字段后的树 + */ +export function appendFieldByUniqueId( + menuTree: Array, + uniqueId: Number | String, + fields: Object +) { + if (!Array.isArray(menuTree)) { + console.warn("menuTree must be an array"); + return; + } + if (!menuTree || menuTree.length === 0) return {}; + for (const node of menuTree) { + const hasChildren = node.children && node.children.length > 0; + if ( + node.uniqueId === uniqueId && + Object.prototype.toString.call(fields) === "[object Object]" + ) + Object.assign(node, fields); + if (hasChildren) { + appendFieldByUniqueId(node.children, uniqueId, fields); + } + } + return menuTree; +}