Browse Source

perf: 同步完整版代码

i18n
xiaoxian521 3 years ago
parent
commit
bc8a0f3b35
  1. 43
      build/plugins.ts
  2. 13
      package.json
  3. 415
      pnpm-lock.yaml
  4. 28
      src/layout/components/setting/index.vue
  5. 2
      src/layout/hooks/nav.ts
  6. 11
      src/layout/theme/auroraGreen-vars.scss
  7. 29
      src/layout/theme/default-vars.scss
  8. 11
      src/layout/theme/dusk-vars.scss
  9. 136
      src/layout/theme/index.ts
  10. 11
      src/layout/theme/light-vars.scss
  11. 11
      src/layout/theme/mingQing-vars.scss
  12. 11
      src/layout/theme/pink-vars.scss
  13. 11
      src/layout/theme/saucePurple-vars.scss
  14. 11
      src/layout/theme/volcano-vars.scss
  15. 11
      src/layout/theme/yellow-vars.scss
  16. 2
      src/layout/types.ts
  17. 39
      src/router/index.ts
  18. 30
      src/router/modules/index.ts
  19. 8
      src/store/modules/multiTags.ts
  20. 2
      src/store/modules/permission.ts
  21. 7
      src/style/element-plus.scss
  22. 2
      src/style/sidebar.scss
  23. 52
      src/utils/tree.ts

43
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以下属性有效

13
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",

415
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[email protected][email protected]
pinia: 2.0.13[email protected][email protected]
qs: 6.10.3
resize-observer-polyfill: 1.5.1
responsive-storage: 1.0[email protected]
@ -127,7 +126,7 @@ devDependencies:
"@iconify-icons/fa-solid": 1.2.2
"@iconify-icons/ri": 1.2.1
"@iconify/vue": 3.2[email protected]
"@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[email protected][email protected]
"@vitejs/plugin-legacy": 1.7[email protected]
"@vitejs/plugin-vue": 2.2[email protected][email protected]
"@vitejs/plugin-vue-jsx": 1.3.8
"@vitejs/plugin-legacy": 1.8[email protected]
"@vitejs/plugin-vue": 2.3[email protected][email protected]
"@vitejs/plugin-vue-jsx": 1.3.9
"@vue/eslint-config-prettier": 7.0[email protected][email protected]
"@vue/eslint-config-typescript": 10.0.0_67e26bb50fed2173443e3fe1262a69b2
autoprefixer: 10.4[email protected]
@ -169,13 +168,12 @@ devDependencies:
stylelint-config-standard: 24.0[email protected]
stylelint-order: 5.0[email protected]
typescript: 4.6.3
unplugin-element-plus: 0.3[email protected][email protected]
vite: 2.9.0-[email protected]
vite-plugin-live-reload: 2.1.0
vite-plugin-mock: 2.9.6_9f12a304f5d96f739756818b56e7825f
unplugin-element-plus: 0.3[email protected][email protected]
vite: 2.9[email protected]
vite-plugin-mock: 2.9.6_9cb7b45a435b0b365a3d11bf7a7969b0
vite-plugin-remove-console: 0.0.7
vite-plugin-style-import: 1.4[email protected].0-beta.10
vite-plugin-windicss: 1.8[email protected].0-beta.10
vite-plugin-style-import: 1.4[email protected]
vite-plugin-windicss: 1.8[email protected]
vite-svg-loader: 2.2.0
vue-eslint-parser: 8.3[email protected]
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_@[email protected].7
"@babel/helper-compilation-targets": 7.17.7_@[email protected].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_@[email protected].7:
/@babel/helper-compilation-targets/7.17.7_@[email protected].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_@[email protected].7:
/@babel/helper-create-class-features-plugin/7.17.6_@[email protected].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_@[email protected]:
/@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_@[email protected]:
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_@[email protected].7:
/@babel/plugin-syntax-jsx/7.16.7_@[email protected].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_@[email protected].7:
/@babel/plugin-syntax-typescript/7.16.7_@[email protected].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_@[email protected].7:
/@babel/plugin-transform-typescript/7.16.8_@[email protected].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_@[email protected].7
"@babel/core": 7.17.8
"@babel/helper-create-class-features-plugin": 7.17.6_@[email protected].8
"@babel/helper-plugin-utils": 7.16.7
"@babel/plugin-syntax-typescript": 7.16.7_@[email protected].7
"@babel/plugin-syntax-typescript": 7.16.7_@[email protected].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[email protected]:
/@intlify/bundle-utils/3.0.0[email protected]:
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-[email protected]
@ -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[email protected]
"@intlify/shared": 9.2.0-beta.33
"@intlify/bundle-utils": 3.0.0[email protected]
"@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[email protected]
vite: 2.9[email protected]
vue-i18n: 9.2.0-[email protected]
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.[email protected]:
/@vitejs/plugin-legacy/1.[email protected]:
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[email protected]
vite: 2.9[email protected]
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_@[email protected].7
"@babel/plugin-transform-typescript": 7.16.8_@[email protected].7
"@babel/core": 7.17.8
"@babel/plugin-syntax-import-meta": 7.10.4_@[email protected].8
"@babel/plugin-transform-typescript": 7.16.8_@[email protected].8
"@rollup/pluginutils": 4.2.0
"@vue/babel-plugin-jsx": 1.1.1_@[email protected].7
"@vue/babel-plugin-jsx": 1.1.1_@[email protected].8
hash-sum: 2.0.0
transitivePeerDependencies:
- supports-color
dev: true
/@vitejs/plugin-vue/2.[email protected][email protected]:
/@vitejs/plugin-vue/2.[email protected][email protected]:
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[email protected]
vite: 2.9[email protected]
vue: 3.2.31
dev: true
@ -1522,14 +1550,14 @@ packages:
}
dev: true
/@vue/babel-plugin-jsx/1.1.1_@[email protected].7:
/@vue/babel-plugin-jsx/1.1.1_@[email protected].8:
resolution:
{
integrity: sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==
}
dependencies:
"@babel/helper-module-imports": 7.16.7
"@babel/plugin-syntax-jsx": 7.16.7_@[email protected].7
"@babel/plugin-syntax-jsx": 7.16.7_@[email protected].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/[email protected][email protected]:
resolution:
{
@ -1711,6 +1746,26 @@ packages:
vue-demi: 0.12[email protected]
dev: false
/@vueuse/core/[email protected]:
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[email protected]
vue: 3.2.31
vue-demi: 0.12[email protected]
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/[email protected]:
resolution:
{
@ -1757,6 +1819,24 @@ packages:
vue-demi: 0.12[email protected]
dev: false
/@vueuse/shared/[email protected]:
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[email protected]
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[email protected]
"@floating-ui/dom": 0.4.2
"@popperjs/core": 2.11.4
"@vueuse/core": 8.2.0[email protected]
"@floating-ui/dom": 0.4.4
"@popperjs/core": 2.11.5
"@vueuse/core": 8.2.4[email protected]
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[email protected][email protected]:
/pinia/2.0.13[email protected][email protected]:
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[email protected]
@ -6886,7 +6957,7 @@ packages:
engines: { node: ">= 0.8" }
dev: true
/unplugin-element-plus/[email protected][email protected].0-beta.10:
/unplugin-element-plus/[email protected][email protected]:
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[email protected][email protected].0-beta.10
unplugin: 0.3[email protected][email protected]
transitivePeerDependencies:
- esbuild
- rollup
@ -6904,7 +6975,7 @@ packages:
- webpack
dev: true
/unplugin/[email protected][email protected].0-beta.10:
/unplugin/[email protected][email protected]:
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[email protected]
vite: 2.9[email protected]
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[email protected]
vite: 2.9[email protected]
transitivePeerDependencies:
- rollup
- supports-color
@ -7042,7 +7103,7 @@ packages:
}
dev: true
/vite-plugin-style-import/[email protected].0-beta.10:
/vite-plugin-style-import/[email protected]:
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[email protected]
vite: 2.9[email protected]
transitivePeerDependencies:
- supports-color
dev: true
/vite-plugin-windicss/[email protected].0-beta.10:
/vite-plugin-windicss/[email protected]:
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[email protected]
vite: 2.9[email protected]
windicss: 3.5.1
transitivePeerDependencies:
- supports-color
@ -7088,10 +7149,10 @@ packages:
svgo: 2.8.0
dev: true
/vite/2.9.0-beta.10[email protected]:
/vite/[email protected]:
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

28
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<Array<themeColorsType>>([
//
{ 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<HTMLElement | null>("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(() => {
<li
v-for="(item, index) in themeColors"
:key="index"
:style="getThemeColorStyle(item.rgb)"
:style="getThemeColorStyle(item.color)"
@click="setLayoutThemeColor(item.themeColor)"
>
<el-icon

2
src/layout/hooks/nav.ts

@ -3,10 +3,10 @@ import { router } from "/@/router";
import { getConfig } from "/@/config";
import { emitter } from "/@/utils/mitt";
import { routeMetaType } from "../types";
import { remainingPaths } from "/@/router";
import { transformI18n } from "/@/plugins/i18n";
import { storageSession } from "/@/utils/storage";
import { useAppStoreHook } from "/@/store/modules/app";
import { remainingPaths } from "/@/router/modules/index";
import { useEpThemeStoreHook } from "/@/store/modules/epTheme";
export function useNav() {

11
src/layout/theme/auroraGreen-vars.scss

@ -1,11 +0,0 @@
/* 酸橙绿 */
$subMenuActiveText: #fff;
$menuBg: #0b1e15;
$menuHover: #60ac80;
$subMenuBg: #000;
$subMenuActiveBg: #60ac80;
$navTextColor: #7a80b4;
$menuText: #7a80b4;
$sidebarLogo: #112f21;
$menuTitleHover: #fff;
$menuActiveBefore: #60ac80;

29
src/layout/theme/default-vars.scss

@ -1,29 +0,0 @@
/**
* 道奇蓝默认
* 此scss变量文件作为multipleScopeVars去编译时会自动移除!default以达到变量提升
* 同时此scss变量文件作为默认主题变量文件被其他.scss通过 @import 必需 !default
*/
/* 菜单选中后字体样式 */
$subMenuActiveText: #fff !default;
/* 菜单背景 */
$menuBg: #001529 !default;
/* 鼠标覆盖到菜单时的背景 */
$menuHover: #4091f7 !default;
/* 子菜单背景 */
$subMenuBg: #0f0303 !default;
/* 有无子集的激活菜单背景 */
$subMenuActiveBg: #4091f7 !default;
$navTextColor: #fff !default;
$menuText: rgb(254 254 254 / 65%) !default;
/* logo背景颜色 */
$sidebarLogo: #002140 !default;
/* 鼠标覆盖到菜单时的字体颜色 */
$menuTitleHover: #fff !default;
$menuActiveBefore: #4091f7 !default;

11
src/layout/theme/dusk-vars.scss

@ -1,11 +0,0 @@
/* 猩红色 */
$subMenuActiveText: #fff;
$menuBg: #2a0608;
$menuHover: #e13c39;
$subMenuBg: #000;
$subMenuActiveBg: #e13c39;
$navTextColor: red;
$menuText: rgb(254 254 254 / 65.1%);
$sidebarLogo: #42090c;
$menuTitleHover: #fff;
$menuActiveBefore: #e13c39;

136
src/layout/theme/index.ts

@ -0,0 +1,136 @@
const themeColors = {
default: {
color: "#409EFF",
subMenuActiveText: "#fff",
menuBg: "#001529",
menuHover: "#4091f7",
subMenuBg: "#0f0303",
subMenuActiveBg: "#4091f7",
navTextColor: "#fff",
menuText: "rgb(254 254 254 / 65%)",
sidebarLogo: "#002140",
menuTitleHover: "#fff",
menuActiveBefore: "#4091f7"
},
light: {
color: "#409EFF",
subMenuActiveText: "#409eff",
menuBg: "#fff",
menuHover: "#e0ebf6",
subMenuBg: "#fff",
subMenuActiveBg: "#e0ebf6",
navTextColor: "#7a80b4",
menuText: "#7a80b4",
sidebarLogo: "#fff",
menuTitleHover: "#000",
menuActiveBefore: "#4091f7"
},
dusk: {
color: "#f5222d",
subMenuActiveText: "#fff",
menuBg: "#2a0608",
menuHover: "#e13c39",
subMenuBg: "#000",
subMenuActiveBg: "#e13c39",
navTextColor: "#red",
menuText: "rgb(254 254 254 / 65.1%)",
sidebarLogo: "#42090c",
menuTitleHover: "#fff",
menuActiveBefore: "#e13c39"
},
volcano: {
color: "#fa541c",
subMenuActiveText: "#fff",
menuBg: "#2b0e05",
menuHover: "#e85f33",
subMenuBg: "#0f0603",
subMenuActiveBg: "#e85f33",
navTextColor: "#fff",
menuText: "rgb(254 254 254 / 65%)",
sidebarLogo: "#441708",
menuTitleHover: "#fff",
menuActiveBefore: "#e85f33"
},
yellow: {
color: "#fadb14",
subMenuActiveText: "#d25f00",
menuBg: "#2b2503",
menuHover: "#f6da4d",
subMenuBg: "#0f0603",
subMenuActiveBg: "#f6da4d",
navTextColor: "#fff",
menuText: "rgb(254 254 254 / 65%)",
sidebarLogo: "#443b05",
menuTitleHover: "#fff",
menuActiveBefore: "#f6da4d"
},
mingQing: {
color: "#13c2c2",
subMenuActiveText: "#fff",
menuBg: "#032121",
menuHover: "#59bfc1",
subMenuBg: "#000",
subMenuActiveBg: "#59bfc1",
navTextColor: "#7a80b4",
menuText: "#7a80b4",
sidebarLogo: "#053434",
menuTitleHover: "#fff",
menuActiveBefore: "#59bfc1"
},
auroraGreen: {
color: "#52c41a",
subMenuActiveText: "#fff",
menuBg: "#0b1e15",
menuHover: "#60ac80",
subMenuBg: "#000",
subMenuActiveBg: "#60ac80",
navTextColor: "#7a80b4",
menuText: "#7a80b4",
sidebarLogo: "#112f21",
menuTitleHover: "#fff",
menuActiveBefore: "#60ac80"
},
pink: {
color: "#eb2f96",
subMenuActiveText: "#fff",
menuBg: "#28081a",
menuHover: "#d84493",
subMenuBg: "#000",
subMenuActiveBg: "#d84493",
navTextColor: "#7a80b4",
menuText: "#7a80b4",
sidebarLogo: "#3f0d29",
menuTitleHover: "#fff",
menuActiveBefore: "#d84493"
},
saucePurple: {
color: "#722ed1",
subMenuActiveText: "#fff",
menuBg: "#130824",
menuHover: "#693ac9",
subMenuBg: "#000",
subMenuActiveBg: "#693ac9",
navTextColor: "#7a80b4",
menuText: "#7a80b4",
sidebarLogo: "#1f0c38",
menuTitleHover: "#fff",
menuActiveBefore: "#693ac9"
}
};
type MultipleScopeVarsItem = {
scopeName: string;
path: string;
varsContent: string;
};
export function genScssMultipleScopeVars(): MultipleScopeVarsItem[] {
const result = [] as MultipleScopeVarsItem[];
Object.keys(themeColors).forEach(key => {
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;
}

11
src/layout/theme/light-vars.scss

@ -1,11 +0,0 @@
/* 亮白色 */
$subMenuActiveText: #409eff;
$menuBg: #fff;
$menuHover: #e0ebf6;
$subMenuBg: #fff;
$subMenuActiveBg: #e0ebf6;
$navTextColor: #7a80b4;
$menuText: #7a80b4;
$sidebarLogo: #fff;
$menuTitleHover: #000;
$menuActiveBefore: #4091f7;

11
src/layout/theme/mingQing-vars.scss

@ -1,11 +0,0 @@
/* 绿宝石 */
$subMenuActiveText: #fff;
$menuBg: #032121;
$menuHover: #59bfc1;
$subMenuBg: #000;
$subMenuActiveBg: #59bfc1;
$navTextColor: #7a80b4;
$menuText: #7a80b4;
$sidebarLogo: #053434;
$menuTitleHover: #fff;
$menuActiveBefore: #59bfc1;

11
src/layout/theme/pink-vars.scss

@ -1,11 +0,0 @@
/* 深粉色 */
$subMenuActiveText: #fff;
$menuBg: #28081a;
$menuHover: #d84493;
$subMenuBg: #000;
$subMenuActiveBg: #d84493;
$navTextColor: #7a80b4;
$menuText: #7a80b4;
$sidebarLogo: #3f0d29;
$menuTitleHover: #fff;
$menuActiveBefore: #d84493;

11
src/layout/theme/saucePurple-vars.scss

@ -1,11 +0,0 @@
/* 深紫罗兰色 */
$subMenuActiveText: #fff;
$menuBg: #130824;
$menuHover: #693ac9;
$subMenuBg: #000;
$subMenuActiveBg: #693ac9;
$navTextColor: #7a80b4;
$menuText: #7a80b4;
$sidebarLogo: #1f0c38;
$menuTitleHover: #fff;
$menuActiveBefore: #693ac9;

11
src/layout/theme/volcano-vars.scss

@ -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;

11
src/layout/theme/yellow-vars.scss

@ -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;

2
src/layout/types.ts

@ -79,7 +79,7 @@ export type childrenType = {
};
export type themeColorsType = {
rgb: string;
color: string;
themeColor: string;
};

39
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<RouteRecordRaw> = formatTwoStageRoutes(
formatFlatteningRoutes(buildHierarchyTree(ascending(routes)))
);
// 用于渲染菜单,保持原始层级
export const constantMenus: Array<RouteComponent> = ascending(routes).concat(
...remainingRouter
);
// 不参与菜单的路由
export const remainingPaths = Object.keys(remainingRouter).map(v => {
return remainingRouter[v].path;
});
// 创建路由实例
export const router: Router = createRouter({
history: getHistoryMode(),

30
src/router/modules/index.ts

@ -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<RouteRecordRaw> = formatTwoStageRoutes(
formatFlatteningRoutes(buildHierarchyTree(ascending(routes)))
);
// 用于渲染菜单,保持原始层级
export const constantMenus: Array<RouteComponent> = ascending(routes).concat(
...remainingRouter
);
// 不参与菜单的路由
export const remainingPaths = Object.keys(remainingRouter).map(v => {
return remainingRouter[v].path;
});

8
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":

2
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({

7
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 */

2
src/style/sidebar.scss

@ -1,5 +1,3 @@
@import "../layout/theme/default-vars.scss";
@mixin merge-style(
/* vertical模式下主体内容距离网页文档左侧的距离 */ $sideBarWidth
) {

52
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<any>,
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;
}
Loading…
Cancel
Save