From b2a4ddf5e305d63ceb4f1a2ccce5afcc45656040 Mon Sep 17 00:00:00 2001 From: Soybean Date: Sun, 16 Jan 2022 20:13:11 +0800 Subject: [PATCH] =?UTF-8?q?refactor(projects):=20=E6=81=A2=E5=A4=8Dpinia?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E5=86=99=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build/plugins/iconify.ts | 1 + package.json | 14 +- pnpm-lock.yaml | 872 +++++++++--------- src/App.vue | 9 + src/composables/common/index.ts | 1 + src/composables/common/theme.ts | 37 + src/config/common/service.ts | 2 +- src/hooks/common/index.ts | 3 +- src/hooks/common/useBodyScroll.ts | 47 + src/hooks/common/useModalVisible.ts | 54 +- src/interface/system.ts | 9 +- .../GlobalHeader/components/ThemeMode.vue | 3 +- .../GlobalHeader/components/UserAvatar.vue | 2 +- src/layouts/common/GlobalLogo/index.vue | 4 +- .../GlobalSider/components/SiderMenu.vue | 2 +- .../components/DrawerButton/index.vue | 3 +- .../components/PageFunc/index.vue | 32 +- .../components/PageView/index.vue | 20 +- src/router/guard/permission.ts | 3 +- src/service/request/helpers.ts | 4 +- src/store/index.ts | 1 + src/store/modules/app/index.ts | 115 ++- src/store/modules/auth/index.ts | 160 ++-- src/store/modules/route/index.ts | 57 +- src/store/modules/theme-old/helpers.ts | 102 ++ .../modules/{theme => theme-old}/hooks.ts | 0 src/store/modules/theme-old/index.ts | 229 +++++ src/store/modules/theme/helpers.ts | 17 +- src/store/modules/theme/index.ts | 353 +++---- src/store/subscribe/app.ts | 13 + src/store/subscribe/index.ts | 6 + src/store/subscribe/theme.ts | 31 + src/utils/router/menu.ts | 2 +- src/views/system/login/index.vue | 3 +- 34 files changed, 1244 insertions(+), 967 deletions(-) create mode 100644 src/composables/common/theme.ts create mode 100644 src/hooks/common/useBodyScroll.ts create mode 100644 src/store/modules/theme-old/helpers.ts rename src/store/modules/{theme => theme-old}/hooks.ts (100%) create mode 100644 src/store/modules/theme-old/index.ts create mode 100644 src/store/subscribe/app.ts create mode 100644 src/store/subscribe/index.ts create mode 100644 src/store/subscribe/theme.ts diff --git a/build/plugins/iconify.ts b/build/plugins/iconify.ts index 34eae366c..7f5a3fa2d 100644 --- a/build/plugins/iconify.ts +++ b/build/plugins/iconify.ts @@ -4,6 +4,7 @@ import Components from 'unplugin-vue-components/vite'; // 从指定目录自动 export default [ Components({ + dts: false, resolvers: [IconsResolver({ componentPrefix: 'icon' })] }), Icons({ scale: 1, defaultClass: 'inline-block' }) diff --git a/package.json b/package.json index 3c2bf5f23..b7b653f58 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ } }, "dependencies": { - "@antv/g2plot": "^2.4.5", + "@antv/g2plot": "^2.4.7", "@vueuse/core": "^7.5.3", "axios": "^0.24.0", "clipboard": "^2.0.8", @@ -40,7 +40,7 @@ "devDependencies": { "@commitlint/cli": "^16.0.2", "@commitlint/config-conventional": "^16.0.0", - "@iconify/json": "^1.1.455", + "@iconify/json": "^1.1.457", "@iconify/vue": "^3.1.2", "@types/crypto-js": "^4.1.0", "@types/node": "^17.0.8", @@ -54,7 +54,7 @@ "cross-env": "^7.0.3", "cz-conventional-changelog": "^3.3.0", "cz-customizable": "^6.3.0", - "eslint": "^8.6.0", + "eslint": "^8.7.0", "eslint-config-airbnb-base": "^15.0.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-import": "^2.25.4", @@ -66,17 +66,17 @@ "patch-package": "^6.4.7", "postinstall-postinstall": "^2.1.0", "prettier": "^2.5.1", - "rollup-plugin-visualizer": "^5.5.2", + "rollup-plugin-visualizer": "^5.5.4", "sass": "^1.48.0", "typescript": "^4.5.4", "unplugin-icons": "^0.13.0", - "unplugin-vue-components": "^0.17.11", + "unplugin-vue-components": "^0.17.13", "vite": "^2.7.12", "vite-plugin-html": "^2.1.2", "vite-plugin-mock": "^2.9.6", "vite-plugin-windicss": "^1.6.2", - "vue-tsc": "^0.30.2", - "vueuc": "^0.4.22", + "vue-tsc": "^0.30.4", + "vueuc": "^0.4.23", "windicss": "^3.4.2" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8b4a3a8ce..1e395a8e9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,10 +1,10 @@ lockfileVersion: 5.3 specifiers: - '@antv/g2plot': ^2.4.5 + '@antv/g2plot': ^2.4.7 '@commitlint/cli': ^16.0.2 '@commitlint/config-conventional': ^16.0.0 - '@iconify/json': ^1.1.455 + '@iconify/json': ^1.1.457 '@iconify/vue': ^3.1.2 '@types/crypto-js': ^4.1.0 '@types/node': ^17.0.8 @@ -24,7 +24,7 @@ specifiers: cz-conventional-changelog: ^3.3.0 cz-customizable: ^6.3.0 dayjs: ^1.10.7 - eslint: ^8.6.0 + eslint: ^8.7.0 eslint-config-airbnb-base: ^15.0.0 eslint-config-prettier: ^8.3.0 eslint-plugin-import: ^2.25.4 @@ -41,23 +41,23 @@ specifiers: postinstall-postinstall: ^2.1.0 prettier: ^2.5.1 qs: ^6.10.3 - rollup-plugin-visualizer: ^5.5.2 + rollup-plugin-visualizer: ^5.5.4 sass: ^1.48.0 typescript: ^4.5.4 unplugin-icons: ^0.13.0 - unplugin-vue-components: ^0.17.11 + unplugin-vue-components: ^0.17.13 vite: ^2.7.12 vite-plugin-html: ^2.1.2 vite-plugin-mock: ^2.9.6 vite-plugin-windicss: ^1.6.2 vue: ^3.2.26 vue-router: ^4.0.12 - vue-tsc: ^0.30.2 - vueuc: ^0.4.22 + vue-tsc: ^0.30.4 + vueuc: ^0.4.23 windicss: ^3.4.2 dependencies: - '@antv/g2plot': registry.npmmirror.com/@antv/g2plot/2.4.5 + '@antv/g2plot': registry.npmmirror.com/@antv/g2plot/2.4.7 '@vueuse/core': registry.npmmirror.com/@vueuse/core/7.5.3_vue@3.2.26 axios: registry.npmmirror.com/axios/0.24.0 clipboard: registry.npmmirror.com/clipboard/2.0.8 @@ -75,43 +75,43 @@ dependencies: devDependencies: '@commitlint/cli': registry.npmmirror.com/@commitlint/cli/16.0.2_@types+node@17.0.8 '@commitlint/config-conventional': registry.npmmirror.com/@commitlint/config-conventional/16.0.0 - '@iconify/json': registry.npmmirror.com/@iconify/json/1.1.455 + '@iconify/json': registry.npmmirror.com/@iconify/json/1.1.457 '@iconify/vue': registry.npmmirror.com/@iconify/vue/3.1.2_vue@3.2.26 '@types/crypto-js': registry.npmmirror.com/@types/crypto-js/4.1.0 '@types/node': registry.npmmirror.com/@types/node/17.0.8 '@types/qs': registry.npmmirror.com/@types/qs/6.9.7 - '@typescript-eslint/eslint-plugin': registry.npmmirror.com/@typescript-eslint/eslint-plugin/5.9.1_b7b2e42b32ee097737cd3e626b10847b - '@typescript-eslint/parser': registry.npmmirror.com/@typescript-eslint/parser/5.9.1_eslint@8.6.0+typescript@4.5.4 + '@typescript-eslint/eslint-plugin': registry.npmmirror.com/@typescript-eslint/eslint-plugin/5.9.1_bbe74534e31a8c21f1b3522447c55341 + '@typescript-eslint/parser': registry.npmmirror.com/@typescript-eslint/parser/5.9.1_eslint@8.7.0+typescript@4.5.4 '@vitejs/plugin-vue': registry.npmmirror.com/@vitejs/plugin-vue/2.0.1_vite@2.7.12+vue@3.2.26 - '@vue/eslint-config-prettier': registry.npmmirror.com/@vue/eslint-config-prettier/7.0.0_eslint@8.6.0+prettier@2.5.1 - '@vue/eslint-config-typescript': registry.npmmirror.com/@vue/eslint-config-typescript/10.0.0_e5275a3381928a55897f97722d1207a6 + '@vue/eslint-config-prettier': registry.npmmirror.com/@vue/eslint-config-prettier/7.0.0_eslint@8.7.0+prettier@2.5.1 + '@vue/eslint-config-typescript': registry.npmmirror.com/@vue/eslint-config-typescript/10.0.0_3bd88b78ccaf1b54747cae8c2dba8166 commitizen: registry.npmmirror.com/commitizen/4.2.4_@types+node@17.0.8 cross-env: registry.nlark.com/cross-env/7.0.3 cz-conventional-changelog: registry.nlark.com/cz-conventional-changelog/3.3.0_@types+node@17.0.8 cz-customizable: registry.npmmirror.com/cz-customizable/6.3.0 - eslint: registry.npmmirror.com/eslint/8.6.0 - eslint-config-airbnb-base: registry.npmmirror.com/eslint-config-airbnb-base/15.0.0_b5a36b8c1535387c8dd00eff7ec6b551 - eslint-config-prettier: registry.nlark.com/eslint-config-prettier/8.3.0_eslint@8.6.0 - eslint-plugin-import: registry.npmmirror.com/eslint-plugin-import/2.25.4_eslint@8.6.0 - eslint-plugin-prettier: registry.npmmirror.com/eslint-plugin-prettier/4.0.0_1c588f61426b1faf18812943f1678311 - eslint-plugin-vue: registry.npmmirror.com/eslint-plugin-vue/8.3.0_eslint@8.6.0 + eslint: registry.npmmirror.com/eslint/8.7.0 + eslint-config-airbnb-base: registry.npmmirror.com/eslint-config-airbnb-base/15.0.0_9ff7dbcc486b497d34e34a545c49272a + eslint-config-prettier: registry.nlark.com/eslint-config-prettier/8.3.0_eslint@8.7.0 + eslint-plugin-import: registry.npmmirror.com/eslint-plugin-import/2.25.4_eslint@8.7.0 + eslint-plugin-prettier: registry.npmmirror.com/eslint-plugin-prettier/4.0.0_4660519532e4c3b0a9e5bb6623cfedf6 + eslint-plugin-vue: registry.npmmirror.com/eslint-plugin-vue/8.3.0_eslint@8.7.0 husky: registry.npmmirror.com/husky/7.0.4 lint-staged: registry.npmmirror.com/lint-staged/12.1.7 mockjs: registry.npmmirror.com/mockjs/1.1.0 patch-package: registry.nlark.com/patch-package/6.4.7 postinstall-postinstall: registry.npmmirror.com/postinstall-postinstall/2.1.0 prettier: registry.npmmirror.com/prettier/2.5.1 - rollup-plugin-visualizer: registry.nlark.com/rollup-plugin-visualizer/5.5.2 + rollup-plugin-visualizer: registry.npmmirror.com/rollup-plugin-visualizer/5.5.4 sass: registry.npmmirror.com/sass/1.48.0 typescript: registry.npmmirror.com/typescript/4.5.4 unplugin-icons: registry.npmmirror.com/unplugin-icons/0.13.0_vite@2.7.12 - unplugin-vue-components: registry.npmmirror.com/unplugin-vue-components/0.17.11_vite@2.7.12+vue@3.2.26 + unplugin-vue-components: registry.npmmirror.com/unplugin-vue-components/0.17.13_vite@2.7.12+vue@3.2.26 vite: registry.npmmirror.com/vite/2.7.12_sass@1.48.0 vite-plugin-html: registry.npmmirror.com/vite-plugin-html/2.1.2_vite@2.7.12 vite-plugin-mock: registry.npmmirror.com/vite-plugin-mock/2.9.6_mockjs@1.1.0+vite@2.7.12 vite-plugin-windicss: registry.npmmirror.com/vite-plugin-windicss/1.6.2_vite@2.7.12 - vue-tsc: registry.npmmirror.com/vue-tsc/0.30.2_typescript@4.5.4 - vueuc: registry.npmmirror.com/vueuc/0.4.22_vue@3.2.26 + vue-tsc: registry.npmmirror.com/vue-tsc/0.30.4_typescript@4.5.4 + vueuc: registry.npmmirror.com/vueuc/0.4.23_vue@3.2.26 windicss: registry.npmmirror.com/windicss/3.4.2 packages: @@ -282,13 +282,6 @@ packages: engines: {node: '>=0.4.2'} dev: false - registry.nlark.com/ansi-colors/4.1.1: - resolution: {integrity: sha1-y7muJWv3UK8eqzRPIpqif+lLo0g=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ansi-colors/download/ansi-colors-4.1.1.tgz} - name: ansi-colors - version: 4.1.1 - engines: {node: '>=6'} - dev: true - registry.nlark.com/ansi-escapes/3.2.0: resolution: {integrity: sha1-h4C5j/nb9WOBUtHx/lwde0RCl2s=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ansi-escapes/download/ansi-escapes-3.2.0.tgz} name: ansi-escapes @@ -306,34 +299,34 @@ packages: dev: true registry.nlark.com/ansi-regex/2.1.1: - resolution: {integrity: sha1-w7M6te42DYbg5ijwRorn7yfWVN8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ansi-regex/download/ansi-regex-2.1.1.tgz} + resolution: {integrity: sha1-w7M6te42DYbg5ijwRorn7yfWVN8=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ansi-regex/download/ansi-regex-2.1.1.tgz} name: ansi-regex version: 2.1.1 engines: {node: '>=0.10.0'} dev: false registry.nlark.com/ansi-regex/3.0.0: - resolution: {integrity: sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ansi-regex/download/ansi-regex-3.0.0.tgz} + resolution: {integrity: sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ansi-regex/download/ansi-regex-3.0.0.tgz} name: ansi-regex version: 3.0.0 engines: {node: '>=4'} dev: true registry.nlark.com/ansi-regex/4.1.0: - resolution: {integrity: sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ansi-regex/download/ansi-regex-4.1.0.tgz} + resolution: {integrity: sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ansi-regex/download/ansi-regex-4.1.0.tgz} name: ansi-regex version: 4.1.0 engines: {node: '>=6'} dev: true registry.nlark.com/ansi-regex/5.0.1: - resolution: {integrity: sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ansi-regex/download/ansi-regex-5.0.1.tgz} + resolution: {integrity: sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ansi-regex/download/ansi-regex-5.0.1.tgz} name: ansi-regex version: 5.0.1 engines: {node: '>=8'} registry.nlark.com/ansi-regex/6.0.1: - resolution: {integrity: sha1-MYPjj66aZdfLXlOUXNWJfQJgoGo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ansi-regex/download/ansi-regex-6.0.1.tgz} + resolution: {integrity: sha1-MYPjj66aZdfLXlOUXNWJfQJgoGo=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ansi-regex/download/ansi-regex-6.0.1.tgz} name: ansi-regex version: 6.0.1 engines: {node: '>=12'} @@ -348,16 +341,8 @@ packages: color-convert: registry.npmmirror.com/color-convert/1.9.3 dev: true - registry.nlark.com/ansi-styles/4.3.0: - resolution: {integrity: sha1-7dgDYornHATIWuegkG7a00tkiTc=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz} - name: ansi-styles - version: 4.3.0 - engines: {node: '>=8'} - dependencies: - color-convert: registry.npmmirror.com/color-convert/2.0.1 - registry.nlark.com/anymatch/3.1.2: - resolution: {integrity: sha1-wFV8CWrzLxBhmPT04qODU343hxY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/anymatch/download/anymatch-3.1.2.tgz} + resolution: {integrity: sha1-wFV8CWrzLxBhmPT04qODU343hxY=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/anymatch/download/anymatch-3.1.2.tgz} name: anymatch version: 3.1.2 engines: {node: '>= 8'} @@ -425,22 +410,14 @@ packages: version: 1.0.2 registry.nlark.com/binary-extensions/2.2.0: - resolution: {integrity: sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/binary-extensions/download/binary-extensions-2.2.0.tgz} + resolution: {integrity: sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/binary-extensions/download/binary-extensions-2.2.0.tgz} name: binary-extensions version: 2.2.0 engines: {node: '>=8'} dev: true - registry.nlark.com/brace-expansion/1.1.11: - resolution: {integrity: sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/brace-expansion/download/brace-expansion-1.1.11.tgz} - name: brace-expansion - version: 1.1.11 - dependencies: - balanced-match: registry.nlark.com/balanced-match/1.0.2 - concat-map: registry.nlark.com/concat-map/0.0.1 - registry.nlark.com/braces/3.0.2: - resolution: {integrity: sha1-NFThpGLujVmeI23zNs2epPiv4Qc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/braces/download/braces-3.0.2.tgz} + resolution: {integrity: sha1-NFThpGLujVmeI23zNs2epPiv4Qc=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/braces/download/braces-3.0.2.tgz} name: braces version: 3.0.2 engines: {node: '>=8'} @@ -477,7 +454,7 @@ packages: dev: true registry.nlark.com/call-bind/1.0.2: - resolution: {integrity: sha1-sdTonmiBGcPJqQOtMKuy9qkZvjw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/call-bind/download/call-bind-1.0.2.tgz} + resolution: {integrity: sha1-sdTonmiBGcPJqQOtMKuy9qkZvjw=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/call-bind/download/call-bind-1.0.2.tgz} name: call-bind version: 1.0.2 dependencies: @@ -687,7 +664,7 @@ packages: engines: {node: '>= 8'} dependencies: path-key: registry.nlark.com/path-key/3.1.1 - shebang-command: registry.nlark.com/shebang-command/2.0.0 + shebang-command: registry.npmmirror.com/shebang-command/2.0.0 which: registry.nlark.com/which/2.0.2 dev: true @@ -739,6 +716,12 @@ packages: version: 1.4.1 dev: false + registry.nlark.com/d3-ease/1.0.7: + resolution: {integrity: sha1-moNIkO+LiujFWLL+Vb1X9Zk7heI=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/d3-ease/download/d3-ease-1.0.7.tgz} + name: d3-ease + version: 1.0.7 + dev: false + registry.nlark.com/d3-interpolate/1.4.0: resolution: {integrity: sha1-Um554tgNqjg/ngwcHH3MDwWD6Yc=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/d3-interpolate/download/d3-interpolate-1.4.0.tgz} name: d3-interpolate @@ -785,7 +768,7 @@ packages: is-regex: registry.nlark.com/is-regex/1.1.4 object-is: registry.nlark.com/object-is/1.1.5 object-keys: registry.nlark.com/object-keys/1.1.1 - regexp.prototype.flags: registry.nlark.com/regexp.prototype.flags/1.3.1 + regexp.prototype.flags: registry.npmmirror.com/regexp.prototype.flags/1.3.1 dev: false registry.nlark.com/deep-is/0.1.4: @@ -873,7 +856,7 @@ packages: version: 3.0.0 engines: {node: '>=6.0.0'} dependencies: - esutils: registry.nlark.com/esutils/2.0.3 + esutils: registry.npmmirror.com/esutils/2.0.3 dev: true registry.nlark.com/doctypes/1.1.0: @@ -967,15 +950,6 @@ packages: engines: {node: '>= 0.8'} dev: true - registry.nlark.com/enquirer/2.3.6: - resolution: {integrity: sha1-Kn/l3WNKHkElqXXsmU/1RW3Dc00=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/enquirer/download/enquirer-2.3.6.tgz} - name: enquirer - version: 2.3.6 - engines: {node: '>=8.6'} - dependencies: - ansi-colors: registry.nlark.com/ansi-colors/4.1.1 - dev: true - registry.nlark.com/entities/2.2.0: resolution: {integrity: sha1-CY3JDruD2N/6CJ1VJWs1HTTE2lU=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/entities/download/entities-2.2.0.tgz} name: entities @@ -1013,19 +987,19 @@ packages: dev: true registry.nlark.com/escape-string-regexp/1.0.5: - resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz?cache=0&sync_timestamp=1631501921416&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-1.0.5.tgz} + resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz} name: escape-string-regexp version: 1.0.5 engines: {node: '>=0.8.0'} registry.nlark.com/escape-string-regexp/4.0.0: - resolution: {integrity: sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/escape-string-regexp/download/escape-string-regexp-4.0.0.tgz?cache=0&sync_timestamp=1631501921416&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-4.0.0.tgz} + resolution: {integrity: sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/escape-string-regexp/download/escape-string-regexp-4.0.0.tgz} name: escape-string-regexp version: 4.0.0 engines: {node: '>=10'} dev: true - registry.nlark.com/eslint-config-prettier/8.3.0_eslint@8.6.0: + registry.nlark.com/eslint-config-prettier/8.3.0_eslint@8.7.0: resolution: {integrity: sha1-90cbILb+ipqSVMxoRFQgKIai3Xo=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/eslint-config-prettier/download/eslint-config-prettier-8.3.0.tgz} id: registry.nlark.com/eslint-config-prettier/8.3.0 name: eslint-config-prettier @@ -1034,7 +1008,7 @@ packages: peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: registry.npmmirror.com/eslint/8.6.0 + eslint: registry.npmmirror.com/eslint/8.7.0 dev: true registry.nlark.com/eslint-import-resolver-node/0.3.6: @@ -1046,7 +1020,7 @@ packages: resolve: registry.npmmirror.com/resolve/1.20.0 dev: true - registry.nlark.com/eslint-utils/3.0.0_eslint@8.6.0: + registry.nlark.com/eslint-utils/3.0.0_eslint@8.7.0: resolution: {integrity: sha1-iuuvrOc0W7M1WdsKHxOh0tSMNnI=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/eslint-utils/download/eslint-utils-3.0.0.tgz} id: registry.nlark.com/eslint-utils/3.0.0 name: eslint-utils @@ -1055,7 +1029,7 @@ packages: peerDependencies: eslint: '>=5' dependencies: - eslint: registry.npmmirror.com/eslint/8.6.0 + eslint: registry.npmmirror.com/eslint/8.7.0 eslint-visitor-keys: registry.npmmirror.com/eslint-visitor-keys/2.1.0 dev: true @@ -1142,11 +1116,11 @@ packages: dev: true registry.nlark.com/fastq/1.13.0: - resolution: {integrity: sha1-YWdg+Ip1Jr38WWt8q4wYk4w2uYw=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/fastq/download/fastq-1.13.0.tgz?cache=0&sync_timestamp=1631616062226&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffastq%2Fdownload%2Ffastq-1.13.0.tgz} + resolution: {integrity: sha1-YWdg+Ip1Jr38WWt8q4wYk4w2uYw=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/fastq/download/fastq-1.13.0.tgz} name: fastq version: 1.13.0 dependencies: - reusify: registry.npmmirror.com/reusify/1.0.4 + reusify: registry.nlark.com/reusify/1.0.4 dev: true registry.nlark.com/fecha/4.2.1: @@ -1170,7 +1144,7 @@ packages: version: 6.0.1 engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flat-cache: registry.nlark.com/flat-cache/3.0.4 + flat-cache: registry.npmmirror.com/flat-cache/3.0.4 dev: true registry.nlark.com/filelist/1.0.2: @@ -1182,7 +1156,7 @@ packages: dev: true registry.nlark.com/fill-range/7.0.1: - resolution: {integrity: sha1-GRmmp8df44ssfHflGYU12prN2kA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/fill-range/download/fill-range-7.0.1.tgz} + resolution: {integrity: sha1-GRmmp8df44ssfHflGYU12prN2kA=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/fill-range/download/fill-range-7.0.1.tgz} name: fill-range version: 7.0.1 engines: {node: '>=8'} @@ -1237,16 +1211,6 @@ packages: micromatch: registry.nlark.com/micromatch/4.0.4 dev: true - registry.nlark.com/flat-cache/3.0.4: - resolution: {integrity: sha1-YbAzgwKy/p+Vfcwy/CqH8cMEixE=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/flat-cache/download/flat-cache-3.0.4.tgz} - name: flat-cache - version: 3.0.4 - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - flatted: registry.npmmirror.com/flatted/3.2.4 - rimraf: registry.npmmirror.com/rimraf/3.0.2 - dev: true - registry.nlark.com/fmin/0.0.2: resolution: {integrity: sha1-Wbu0DUP/3ByUzQClaMQflfGXMBc=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/fmin/download/fmin-0.0.2.tgz} name: fmin @@ -1317,7 +1281,7 @@ packages: version: 1.0.0 registry.nlark.com/function-bind/1.1.1: - resolution: {integrity: sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/function-bind/download/function-bind-1.1.1.tgz} + resolution: {integrity: sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/function-bind/download/function-bind-1.1.1.tgz} name: function-bind version: 1.1.1 @@ -1335,7 +1299,7 @@ packages: dev: true registry.nlark.com/get-intrinsic/1.1.1: - resolution: {integrity: sha1-FfWfN2+FXERpY5SPDSTNNje0q8Y=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/get-intrinsic/download/get-intrinsic-1.1.1.tgz} + resolution: {integrity: sha1-FfWfN2+FXERpY5SPDSTNNje0q8Y=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/get-intrinsic/download/get-intrinsic-1.1.1.tgz} name: get-intrinsic version: 1.1.1 dependencies: @@ -1407,15 +1371,6 @@ packages: engines: {node: '>=6'} dev: true - registry.nlark.com/has-ansi/2.0.0: - resolution: {integrity: sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/has-ansi/download/has-ansi-2.0.0.tgz} - name: has-ansi - version: 2.0.0 - engines: {node: '>=0.10.0'} - dependencies: - ansi-regex: registry.nlark.com/ansi-regex/2.1.1 - dev: false - registry.nlark.com/has-bigints/1.0.1: resolution: {integrity: sha1-ZP5qywIGc+O3jbA1pa9pqp0HsRM=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/has-bigints/download/has-bigints-1.0.1.tgz} name: has-bigints @@ -1556,7 +1511,7 @@ packages: has-bigints: registry.nlark.com/has-bigints/1.0.1 registry.nlark.com/is-binary-path/2.1.0: - resolution: {integrity: sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-binary-path/download/is-binary-path-2.1.0.tgz} + resolution: {integrity: sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-binary-path/download/is-binary-path-2.1.0.tgz} name: is-binary-path version: 2.1.0 engines: {node: '>=8'} @@ -1641,7 +1596,7 @@ packages: has-tostringtag: registry.nlark.com/has-tostringtag/1.0.0 registry.nlark.com/is-number/7.0.0: - resolution: {integrity: sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-number/download/is-number-7.0.0.tgz} + resolution: {integrity: sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-number/download/is-number-7.0.0.tgz} name: is-number version: 7.0.0 engines: {node: '>=0.12.0'} @@ -2011,11 +1966,11 @@ packages: dev: true registry.nlark.com/minimatch/3.0.4: - resolution: {integrity: sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/minimatch/download/minimatch-3.0.4.tgz} + resolution: {integrity: sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/minimatch/download/minimatch-3.0.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fminimatch%2Fdownload%2Fminimatch-3.0.4.tgz} name: minimatch version: 3.0.4 dependencies: - brace-expansion: registry.nlark.com/brace-expansion/1.1.11 + brace-expansion: registry.npmmirror.com/brace-expansion/1.1.11 registry.nlark.com/minimist-options/4.1.0: resolution: {integrity: sha1-wGVXE8U6ii69d/+iR9NCxA8BBhk=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/minimist-options/download/minimist-options-4.1.0.tgz} @@ -2066,7 +2021,7 @@ packages: version: 2.5.0 dependencies: hosted-git-info: registry.npmmirror.com/hosted-git-info/2.8.9 - resolve: registry.npmmirror.com/resolve/1.20.0 + resolve: registry.npmmirror.com/resolve/1.21.0 semver: registry.nlark.com/semver/5.7.1 validate-npm-package-license: registry.nlark.com/validate-npm-package-license/3.0.4 dev: true @@ -2402,7 +2357,7 @@ packages: jstransformer: registry.nlark.com/jstransformer/1.0.0 pug-error: registry.npmmirror.com/pug-error/2.0.0 pug-walk: registry.nlark.com/pug-walk/2.0.0 - resolve: registry.npmmirror.com/resolve/1.20.0 + resolve: registry.npmmirror.com/resolve/1.21.0 dev: true registry.nlark.com/pug-lexer/5.0.1: @@ -2505,15 +2460,6 @@ packages: util-deprecate: registry.nlark.com/util-deprecate/1.0.2 dev: true - registry.nlark.com/readdirp/3.6.0: - resolution: {integrity: sha1-dKNwvYVxFuJFspzJc0DNQxoCpsc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/readdirp/download/readdirp-3.6.0.tgz} - name: readdirp - version: 3.6.0 - engines: {node: '>=8.10.0'} - dependencies: - picomatch: registry.npmmirror.com/picomatch/2.3.0 - dev: true - registry.nlark.com/redent/3.0.0: resolution: {integrity: sha1-5Ve3mYMWu1PJ8fVvpiY1LGljBZ8=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/redent/download/redent-3.0.0.tgz} name: redent @@ -2524,16 +2470,6 @@ packages: strip-indent: registry.nlark.com/strip-indent/3.0.0 dev: true - registry.nlark.com/regexp.prototype.flags/1.3.1: - resolution: {integrity: sha1-fvNSro0VnnWMDq3Kb4/LTu8HviY=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/regexp.prototype.flags/download/regexp.prototype.flags-1.3.1.tgz} - name: regexp.prototype.flags - version: 1.3.1 - engines: {node: '>= 0.4'} - dependencies: - call-bind: registry.nlark.com/call-bind/1.0.2 - define-properties: registry.nlark.com/define-properties/1.1.3 - dev: false - registry.nlark.com/regexpp/3.2.0: resolution: {integrity: sha1-BCWido2PI7rXDKS5BGH6LxIT4bI=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/regexpp/download/regexpp-3.2.0.tgz} name: regexpp @@ -2563,7 +2499,7 @@ packages: dev: true registry.nlark.com/resize-observer-polyfill/1.5.1: - resolution: {integrity: sha1-DpAg3T0hAkRY1OvSfiPkAmmBBGQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/resize-observer-polyfill/download/resize-observer-polyfill-1.5.1.tgz} + resolution: {integrity: sha1-DpAg3T0hAkRY1OvSfiPkAmmBBGQ=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/resize-observer-polyfill/download/resize-observer-polyfill-1.5.1.tgz} name: resize-observer-polyfill version: 1.5.1 @@ -2600,15 +2536,6 @@ packages: global-dirs: registry.nlark.com/global-dirs/0.1.1 dev: true - registry.nlark.com/resolve/1.20.0: - resolution: {integrity: sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/resolve/download/resolve-1.20.0.tgz?cache=0&sync_timestamp=1631501917799&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fresolve%2Fdownload%2Fresolve-1.20.0.tgz} - name: resolve - version: 1.20.0 - dependencies: - is-core-module: registry.npmmirror.com/is-core-module/2.8.0 - path-parse: registry.nlark.com/path-parse/1.0.7 - dev: true - registry.nlark.com/restore-cursor/2.0.0: resolution: {integrity: sha1-n37ih/gv0ybU/RYpI9YhKe7g368=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/restore-cursor/download/restore-cursor-2.0.0.tgz} name: restore-cursor @@ -2629,13 +2556,12 @@ packages: signal-exit: registry.npmmirror.com/signal-exit/3.0.6 dev: true - registry.nlark.com/resumer/0.0.0: - resolution: {integrity: sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/resumer/download/resumer-0.0.0.tgz} - name: resumer - version: 0.0.0 - dependencies: - through: registry.nlark.com/through/2.3.8 - dev: false + registry.nlark.com/reusify/1.0.4: + resolution: {integrity: sha1-kNo4Kx4SbvwCFG6QhFqI2xKSXXY=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/reusify/download/reusify-1.0.4.tgz} + name: reusify + version: 1.0.4 + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true registry.nlark.com/rfdc/1.3.0: resolution: {integrity: sha1-0LfEQasnINBdxM8m4ByJYx2doIs=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/rfdc/download/rfdc-1.3.0.tgz} @@ -2652,21 +2578,6 @@ packages: align-text: registry.nlark.com/align-text/0.1.4 dev: false - registry.nlark.com/rollup-plugin-visualizer/5.5.2: - resolution: {integrity: sha1-riEw7lrkotkB52TkkrcTV8uV7tc=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/rollup-plugin-visualizer/download/rollup-plugin-visualizer-5.5.2.tgz} - name: rollup-plugin-visualizer - version: 5.5.2 - engines: {node: '>=10.16'} - hasBin: true - peerDependencies: - rollup: ^2.0.0 - dependencies: - nanoid: registry.npmmirror.com/nanoid/3.1.30 - open: registry.npmmirror.com/open/7.4.2 - source-map: registry.nlark.com/source-map/0.7.3 - yargs: registry.npmmirror.com/yargs/16.2.0 - dev: true - registry.nlark.com/run-async/2.4.1: resolution: {integrity: sha1-hEDsz5nqPnC9QJ1JqriOEMGJpFU=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/run-async/download/run-async-2.4.1.tgz} name: run-async @@ -2730,30 +2641,7 @@ packages: version: 1.2.0 engines: {node: '>=0.10.0'} dependencies: - shebang-regex: registry.nlark.com/shebang-regex/1.0.0 - dev: true - - registry.nlark.com/shebang-command/2.0.0: - resolution: {integrity: sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/shebang-command/download/shebang-command-2.0.0.tgz} - name: shebang-command - version: 2.0.0 - engines: {node: '>=8'} - dependencies: - shebang-regex: registry.nlark.com/shebang-regex/3.0.0 - dev: true - - registry.nlark.com/shebang-regex/1.0.0: - resolution: {integrity: sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/shebang-regex/download/shebang-regex-1.0.0.tgz} - name: shebang-regex - version: 1.0.0 - engines: {node: '>=0.10.0'} - dev: true - - registry.nlark.com/shebang-regex/3.0.0: - resolution: {integrity: sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/shebang-regex/download/shebang-regex-3.0.0.tgz} - name: shebang-regex - version: 3.0.0 - engines: {node: '>=8'} + shebang-regex: registry.npmmirror.com/shebang-regex/1.0.0 dev: true registry.nlark.com/side-channel/1.0.4: @@ -3016,7 +2904,7 @@ packages: dev: true registry.nlark.com/to-regex-range/5.0.1: - resolution: {integrity: sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/to-regex-range/download/to-regex-range-5.0.1.tgz} + resolution: {integrity: sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/to-regex-range/download/to-regex-range-5.0.1.tgz} name: to-regex-range version: 5.0.1 engines: {node: '>=8.0'} @@ -3060,7 +2948,7 @@ packages: dev: true registry.nlark.com/uglify-to-browserify/1.0.2: - resolution: {integrity: sha1-bgkk1r2mta/jSeOabWMoUKD4grc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/uglify-to-browserify/download/uglify-to-browserify-1.0.2.tgz} + resolution: {integrity: sha1-bgkk1r2mta/jSeOabWMoUKD4grc=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/uglify-to-browserify/download/uglify-to-browserify-1.0.2.tgz} name: uglify-to-browserify version: 1.0.2 requiresBuild: true @@ -3280,14 +3168,6 @@ packages: find-up: registry.npmmirror.com/find-up/5.0.0 dev: true - registry.npmmirror.com/@antfu/utils/0.3.0: - resolution: {integrity: sha1-YwbEO1Kog72Olz4+2N1kJIQYvMQ=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@antfu/utils/download/@antfu/utils-0.3.0.tgz} - name: '@antfu/utils' - version: 0.3.0 - dependencies: - '@types/throttle-debounce': registry.npmmirror.com/@types/throttle-debounce/2.1.0 - dev: true - registry.npmmirror.com/@antfu/utils/0.4.0: resolution: {integrity: sha512-gqkpvjkgFUu+s3kP+Ly33OKpo5zvVY3FDFhv5BIb98SncS3KD6DNxPfNDjwHIoyXbz1leWo1j8DtRLZ1D2Jv+Q==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@antfu/utils/download/@antfu/utils-0.4.0.tgz} name: '@antfu/utils' @@ -3340,7 +3220,7 @@ packages: '@antv/path-util': registry.npmmirror.com/@antv/path-util/2.0.15 '@antv/util': registry.npmmirror.com/@antv/util/2.0.17 '@types/d3-timer': registry.npmmirror.com/@types/d3-timer/2.0.1 - d3-ease: registry.npmmirror.com/d3-ease/1.0.7 + d3-ease: registry.nlark.com/d3-ease/1.0.7 d3-interpolate: registry.nlark.com/d3-interpolate/1.4.0 d3-timer: registry.nlark.com/d3-timer/1.0.10 detect-browser: registry.npmmirror.com/detect-browser/5.3.0 @@ -3358,7 +3238,7 @@ packages: '@antv/path-util': registry.npmmirror.com/@antv/path-util/2.0.15 '@antv/util': registry.npmmirror.com/@antv/util/2.0.17 '@types/d3-timer': registry.npmmirror.com/@types/d3-timer/2.0.1 - d3-ease: registry.npmmirror.com/d3-ease/1.0.7 + d3-ease: registry.nlark.com/d3-ease/1.0.7 d3-interpolate: registry.nlark.com/d3-interpolate/1.4.0 d3-timer: registry.nlark.com/d3-timer/1.0.10 detect-browser: registry.npmmirror.com/detect-browser/5.3.0 @@ -3422,10 +3302,10 @@ packages: tslib: registry.npmmirror.com/tslib/2.3.1 dev: false - registry.npmmirror.com/@antv/g2plot/2.4.5: - resolution: {integrity: sha512-djEmNqpJgDI3d06igBoCEzS8sr/Hp8mII2SXrhHn+Fuo8VtwkVIlDSzqIPbKea6CR5KfAynKYa3FoR9lsdzDSw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@antv/g2plot/download/@antv/g2plot-2.4.5.tgz} + registry.npmmirror.com/@antv/g2plot/2.4.7: + resolution: {integrity: sha512-eICPXazX1xTXSu/46z1URTyRCchmZV4FO2LJx20SYGRbgaYM1NFTAqR5lp20KpgQTBnZR1NiiCgUkDqK3LNATw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@antv/g2plot/download/@antv/g2plot-2.4.7.tgz} name: '@antv/g2plot' - version: 2.4.5 + version: 2.4.7 dependencies: '@antv/event-emitter': registry.nlark.com/@antv/event-emitter/0.1.2 '@antv/g2': registry.npmmirror.com/@antv/g2/4.1.37 @@ -3765,7 +3645,7 @@ packages: dev: false registry.npmmirror.com/@emotion/hash/0.8.0: - resolution: {integrity: sha1-u7/2iXj+/b5ozLUzvIy+HRr7VBM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@emotion/hash/download/@emotion/hash-0.8.0.tgz} + resolution: {integrity: sha1-u7/2iXj+/b5ozLUzvIy+HRr7VBM=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@emotion/hash/download/@emotion/hash-0.8.0.tgz} name: '@emotion/hash' version: 0.8.0 @@ -3807,10 +3687,10 @@ packages: version: 1.2.1 dev: true - registry.npmmirror.com/@iconify/json/1.1.455: - resolution: {integrity: sha512-F57EnMYBm+59XKvmuI3fCXrsgss8JCAHZcseUW4Hui7RpSTYN4YMuJPbrwdu3SiFgFp2l1aaB+iQO0Gh1VUGIQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@iconify/json/download/@iconify/json-1.1.455.tgz} + registry.npmmirror.com/@iconify/json/1.1.457: + resolution: {integrity: sha512-5KQALvjWwNnmU+JJTLKdLxmltPYDrsSE7rkSJDnuSRCQboN26MwQRW6bjip1P7aF4Z7pkIr+ZsDY/uEd+8wXaQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@iconify/json/download/@iconify/json-1.1.457.tgz} name: '@iconify/json' - version: 1.1.455 + version: 1.1.457 dev: true registry.npmmirror.com/@iconify/types/1.0.12: @@ -3840,7 +3720,7 @@ packages: dev: true registry.npmmirror.com/@jest/types/27.4.2: - resolution: {integrity: sha512-j35yw0PMTPpZsUoOBiuHzr1zTYoad1cVIE0ajEjcrJONxxrko/IRGKkXx3os0Nsi4Hu3+5VmDbVfq5WhG/pWAg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@jest/types/download/@jest/types-27.4.2.tgz} + resolution: {integrity: sha512-j35yw0PMTPpZsUoOBiuHzr1zTYoad1cVIE0ajEjcrJONxxrko/IRGKkXx3os0Nsi4Hu3+5VmDbVfq5WhG/pWAg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@jest/types/download/@jest/types-27.4.2.tgz} name: '@jest/types' version: 27.4.2 engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -3871,7 +3751,7 @@ packages: builtin-modules: registry.nlark.com/builtin-modules/3.2.0 deepmerge: registry.nlark.com/deepmerge/4.2.2 is-module: registry.npmmirror.com/is-module/1.0.0 - resolve: registry.npmmirror.com/resolve/1.20.0 + resolve: registry.npmmirror.com/resolve/1.21.0 dev: true registry.npmmirror.com/@rollup/pluginutils/3.1.0: @@ -3916,26 +3796,26 @@ packages: dev: true registry.npmmirror.com/@types/istanbul-lib-coverage/2.0.4: - resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/istanbul-lib-coverage/download/@types/istanbul-lib-coverage-2.0.4.tgz} + resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/istanbul-lib-coverage/download/@types/istanbul-lib-coverage-2.0.4.tgz} name: '@types/istanbul-lib-coverage' version: 2.0.4 registry.npmmirror.com/@types/istanbul-lib-report/3.0.0: - resolution: {integrity: sha1-wUwk8Y6oGQwRjudWK3/5mjZVJoY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/istanbul-lib-report/download/@types/istanbul-lib-report-3.0.0.tgz} + resolution: {integrity: sha1-wUwk8Y6oGQwRjudWK3/5mjZVJoY=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/istanbul-lib-report/download/@types/istanbul-lib-report-3.0.0.tgz} name: '@types/istanbul-lib-report' version: 3.0.0 dependencies: '@types/istanbul-lib-coverage': registry.npmmirror.com/@types/istanbul-lib-coverage/2.0.4 registry.npmmirror.com/@types/istanbul-reports/3.0.1: - resolution: {integrity: sha1-kVP+mLuivVZaY63ZQ21vDX+EaP8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/istanbul-reports/download/@types/istanbul-reports-3.0.1.tgz} + resolution: {integrity: sha1-kVP+mLuivVZaY63ZQ21vDX+EaP8=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/istanbul-reports/download/@types/istanbul-reports-3.0.1.tgz} name: '@types/istanbul-reports' version: 3.0.1 dependencies: '@types/istanbul-lib-report': registry.npmmirror.com/@types/istanbul-lib-report/3.0.0 registry.npmmirror.com/@types/jest/27.4.0: - resolution: {integrity: sha512-gHl8XuC1RZ8H2j5sHv/JqsaxXkDDM9iDOgu0Wp8sjs4u/snb2PVehyWXJPr+ORA0RPpgw231mnutWI1+0hgjIQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/jest/download/@types/jest-27.4.0.tgz} + resolution: {integrity: sha512-gHl8XuC1RZ8H2j5sHv/JqsaxXkDDM9iDOgu0Wp8sjs4u/snb2PVehyWXJPr+ORA0RPpgw231mnutWI1+0hgjIQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/jest/download/@types/jest-27.4.0.tgz} name: '@types/jest' version: 27.4.0 dependencies: @@ -3975,7 +3855,7 @@ packages: dev: true registry.npmmirror.com/@types/node/14.14.45: - resolution: {integrity: sha512-DssMqTV9UnnoxDWu959sDLZzfvqCF0qDNRjaWeYSui9xkFe61kKo4l1TWNTQONpuXEm+gLMRvdlzvNHBamzmEw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/node/download/@types/node-14.14.45.tgz} + resolution: {integrity: sha512-DssMqTV9UnnoxDWu959sDLZzfvqCF0qDNRjaWeYSui9xkFe61kKo4l1TWNTQONpuXEm+gLMRvdlzvNHBamzmEw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/node/download/@types/node-14.14.45.tgz} name: '@types/node' version: 14.14.45 @@ -4017,18 +3897,18 @@ packages: dev: true registry.npmmirror.com/@types/yargs-parser/20.2.1: - resolution: {integrity: sha1-O5ziSJkZ2eT+pDm3aRarw0st8Sk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/yargs-parser/download/@types/yargs-parser-20.2.1.tgz} + resolution: {integrity: sha1-O5ziSJkZ2eT+pDm3aRarw0st8Sk=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/yargs-parser/download/@types/yargs-parser-20.2.1.tgz} name: '@types/yargs-parser' version: 20.2.1 registry.npmmirror.com/@types/yargs/16.0.4: - resolution: {integrity: sha1-JqrZjdLCo45CEIbqmtQrnlFkKXc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/yargs/download/@types/yargs-16.0.4.tgz} + resolution: {integrity: sha1-JqrZjdLCo45CEIbqmtQrnlFkKXc=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/yargs/download/@types/yargs-16.0.4.tgz} name: '@types/yargs' version: 16.0.4 dependencies: '@types/yargs-parser': registry.npmmirror.com/@types/yargs-parser/20.2.1 - registry.npmmirror.com/@typescript-eslint/eslint-plugin/5.9.1_b7b2e42b32ee097737cd3e626b10847b: + registry.npmmirror.com/@typescript-eslint/eslint-plugin/5.9.1_bbe74534e31a8c21f1b3522447c55341: resolution: {integrity: sha512-Xv9tkFlyD4MQGpJgTo6wqDqGvHIRmRgah/2Sjz1PUnJTawjHWIwBivUE9x0QtU2WVii9baYgavo/bHjrZJkqTw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@typescript-eslint/eslint-plugin/download/@typescript-eslint/eslint-plugin-5.9.1.tgz} id: registry.npmmirror.com/@typescript-eslint/eslint-plugin/5.9.1 name: '@typescript-eslint/eslint-plugin' @@ -4042,12 +3922,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/experimental-utils': registry.npmmirror.com/@typescript-eslint/experimental-utils/5.9.1_eslint@8.6.0+typescript@4.5.4 - '@typescript-eslint/parser': registry.npmmirror.com/@typescript-eslint/parser/5.9.1_eslint@8.6.0+typescript@4.5.4 + '@typescript-eslint/experimental-utils': registry.npmmirror.com/@typescript-eslint/experimental-utils/5.9.1_eslint@8.7.0+typescript@4.5.4 + '@typescript-eslint/parser': registry.npmmirror.com/@typescript-eslint/parser/5.9.1_eslint@8.7.0+typescript@4.5.4 '@typescript-eslint/scope-manager': registry.npmmirror.com/@typescript-eslint/scope-manager/5.9.1 - '@typescript-eslint/type-utils': registry.npmmirror.com/@typescript-eslint/type-utils/5.9.1_eslint@8.6.0+typescript@4.5.4 + '@typescript-eslint/type-utils': registry.npmmirror.com/@typescript-eslint/type-utils/5.9.1_eslint@8.7.0+typescript@4.5.4 debug: registry.npmmirror.com/debug/4.3.3 - eslint: registry.npmmirror.com/eslint/8.6.0 + eslint: registry.npmmirror.com/eslint/8.7.0 functional-red-black-tree: registry.nlark.com/functional-red-black-tree/1.0.1 ignore: registry.npmmirror.com/ignore/5.2.0 regexpp: registry.nlark.com/regexpp/3.2.0 @@ -4058,7 +3938,7 @@ packages: - supports-color dev: true - registry.npmmirror.com/@typescript-eslint/experimental-utils/5.9.1_eslint@8.6.0+typescript@4.5.4: + registry.npmmirror.com/@typescript-eslint/experimental-utils/5.9.1_eslint@8.7.0+typescript@4.5.4: resolution: {integrity: sha512-cb1Njyss0mLL9kLXgS/eEY53SZQ9sT519wpX3i+U457l2UXRDuo87hgKfgRazmu9/tQb0x2sr3Y0yrU+Zz0y+w==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@typescript-eslint/experimental-utils/download/@typescript-eslint/experimental-utils-5.9.1.tgz} id: registry.npmmirror.com/@typescript-eslint/experimental-utils/5.9.1 name: '@typescript-eslint/experimental-utils' @@ -4071,15 +3951,15 @@ packages: '@typescript-eslint/scope-manager': registry.npmmirror.com/@typescript-eslint/scope-manager/5.9.1 '@typescript-eslint/types': registry.npmmirror.com/@typescript-eslint/types/5.9.1 '@typescript-eslint/typescript-estree': registry.npmmirror.com/@typescript-eslint/typescript-estree/5.9.1_typescript@4.5.4 - eslint: registry.npmmirror.com/eslint/8.6.0 + eslint: registry.npmmirror.com/eslint/8.7.0 eslint-scope: registry.npmmirror.com/eslint-scope/5.1.1 - eslint-utils: registry.nlark.com/eslint-utils/3.0.0_eslint@8.6.0 + eslint-utils: registry.nlark.com/eslint-utils/3.0.0_eslint@8.7.0 transitivePeerDependencies: - supports-color - typescript dev: true - registry.npmmirror.com/@typescript-eslint/parser/5.9.1_eslint@8.6.0+typescript@4.5.4: + registry.npmmirror.com/@typescript-eslint/parser/5.9.1_eslint@8.7.0+typescript@4.5.4: resolution: {integrity: sha512-PLYO0AmwD6s6n0ZQB5kqPgfvh73p0+VqopQQLuNfi7Lm0EpfKyDalchpVwkE+81k5HeiRrTV/9w1aNHzjD7C4g==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@typescript-eslint/parser/download/@typescript-eslint/parser-5.9.1.tgz} id: registry.npmmirror.com/@typescript-eslint/parser/5.9.1 name: '@typescript-eslint/parser' @@ -4096,7 +3976,7 @@ packages: '@typescript-eslint/types': registry.npmmirror.com/@typescript-eslint/types/5.9.1 '@typescript-eslint/typescript-estree': registry.npmmirror.com/@typescript-eslint/typescript-estree/5.9.1_typescript@4.5.4 debug: registry.npmmirror.com/debug/4.3.3 - eslint: registry.npmmirror.com/eslint/8.6.0 + eslint: registry.npmmirror.com/eslint/8.7.0 typescript: registry.npmmirror.com/typescript/4.5.4 transitivePeerDependencies: - supports-color @@ -4112,7 +3992,7 @@ packages: '@typescript-eslint/visitor-keys': registry.npmmirror.com/@typescript-eslint/visitor-keys/5.9.1 dev: true - registry.npmmirror.com/@typescript-eslint/type-utils/5.9.1_eslint@8.6.0+typescript@4.5.4: + registry.npmmirror.com/@typescript-eslint/type-utils/5.9.1_eslint@8.7.0+typescript@4.5.4: resolution: {integrity: sha512-tRSpdBnPRssjlUh35rE9ug5HrUvaB9ntREy7gPXXKwmIx61TNN7+l5YKgi1hMKxo5NvqZCfYhA5FvyuJG6X6vg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@typescript-eslint/type-utils/download/@typescript-eslint/type-utils-5.9.1.tgz} id: registry.npmmirror.com/@typescript-eslint/type-utils/5.9.1 name: '@typescript-eslint/type-utils' @@ -4125,9 +4005,9 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/experimental-utils': registry.npmmirror.com/@typescript-eslint/experimental-utils/5.9.1_eslint@8.6.0+typescript@4.5.4 + '@typescript-eslint/experimental-utils': registry.npmmirror.com/@typescript-eslint/experimental-utils/5.9.1_eslint@8.7.0+typescript@4.5.4 debug: registry.npmmirror.com/debug/4.3.3 - eslint: registry.npmmirror.com/eslint/8.6.0 + eslint: registry.npmmirror.com/eslint/8.7.0 tsutils: registry.nlark.com/tsutils/3.21.0_typescript@4.5.4 typescript: registry.npmmirror.com/typescript/4.5.4 transitivePeerDependencies: @@ -4172,7 +4052,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: '@typescript-eslint/types': registry.npmmirror.com/@typescript-eslint/types/5.9.1 - eslint-visitor-keys: registry.npmmirror.com/eslint-visitor-keys/3.1.0 + eslint-visitor-keys: registry.npmmirror.com/eslint-visitor-keys/3.2.0 dev: true registry.npmmirror.com/@vitejs/plugin-vue/2.0.1_vite@2.7.12+vue@3.2.26: @@ -4189,19 +4069,19 @@ packages: vue: registry.npmmirror.com/vue/3.2.26 dev: true - registry.npmmirror.com/@volar/code-gen/0.30.2: - resolution: {integrity: sha512-75rlb3rw/O/HiXxrOsVJ8JhEssqtN4dJ0i6oG4kL0udr+QM0TwN0PqaEhoMRyMFV6kBPPSunBBJQ3XNAb0PtGA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@volar/code-gen/download/@volar/code-gen-0.30.2.tgz} + registry.npmmirror.com/@volar/code-gen/0.30.4: + resolution: {integrity: sha512-osezZO69tIQ8AlFeNEzD7p4is8txJzY/CTQo0kFJ+7dKeeIboRhv7K0jalfUAdQHi9vONmfkX9kUc9J+dk4UgQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@volar/code-gen/download/@volar/code-gen-0.30.4.tgz} name: '@volar/code-gen' - version: 0.30.2 + version: 0.30.4 dependencies: - '@volar/shared': registry.npmmirror.com/@volar/shared/0.30.2 - '@volar/source-map': registry.npmmirror.com/@volar/source-map/0.30.2 + '@volar/shared': registry.npmmirror.com/@volar/shared/0.30.4 + '@volar/source-map': registry.npmmirror.com/@volar/source-map/0.30.4 dev: true - registry.npmmirror.com/@volar/html2pug/0.30.2: - resolution: {integrity: sha512-k/DLGoXALaQgnacP1MoJ77AwnCHlKcsQKJJug8Qdou3+yOrzYjSSEP6uwG8BS0Fv1h4d4JYmlXsxW8gJPGXSQQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@volar/html2pug/download/@volar/html2pug-0.30.2.tgz} + registry.npmmirror.com/@volar/html2pug/0.30.4: + resolution: {integrity: sha512-Em/2eUiKnwvYoLSzk1bKpvPxGAqz/05LyBF+odr3DXTw4ujGNVbH07rkQSp7CzhpiwD7NzGzbFTQOzDUzuEbPA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@volar/html2pug/download/@volar/html2pug-0.30.4.tgz} name: '@volar/html2pug' - version: 0.30.2 + version: 0.30.4 dependencies: domelementtype: registry.nlark.com/domelementtype/2.2.0 domhandler: registry.npmmirror.com/domhandler/4.3.0 @@ -4209,42 +4089,43 @@ packages: pug: registry.npmmirror.com/pug/3.0.2 dev: true - registry.npmmirror.com/@volar/shared/0.30.2: - resolution: {integrity: sha512-93Q7i758WjScg4ptvDcpk66r4Paz9StVMH/M5RCsU4/9F5a1xSCUJbkbpwE0zESkVzcuBatDqk79PaZ8TZKqRg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@volar/shared/download/@volar/shared-0.30.2.tgz} + registry.npmmirror.com/@volar/shared/0.30.4: + resolution: {integrity: sha512-dutVNA3OUgFwcs7LzVJu4DgJhFAGHBmJOCwpEnzxxDcgeCH7Tb0tbqes3Lxo0kKPTT0xPd49xsjXV+bSp0m5lQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@volar/shared/download/@volar/shared-0.30.4.tgz} name: '@volar/shared' - version: 0.30.2 + version: 0.30.4 dependencies: upath: registry.nlark.com/upath/2.0.1 + vscode-html-languageservice: registry.npmmirror.com/vscode-html-languageservice/4.2.1 vscode-jsonrpc: registry.npmmirror.com/vscode-jsonrpc/8.0.0-next.4 vscode-uri: registry.npmmirror.com/vscode-uri/3.0.3 dev: true - registry.npmmirror.com/@volar/source-map/0.30.2: - resolution: {integrity: sha512-gwa9OiSjUOZWYutJX53m/KDU/zaF0yN3RP2B8J0aMVyT5dE/VaIfknSxPAW5QFC6AT79Ea1HKGtChuSBgqHCfA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@volar/source-map/download/@volar/source-map-0.30.2.tgz} + registry.npmmirror.com/@volar/source-map/0.30.4: + resolution: {integrity: sha512-+gxpxBC/IfgHA+JvpbQil7hV6cZ9zUlHNGKo7H3yu5418ikzKZOuJNVN+81IWg2mQhKBMeZISI9oFfmzkMtDaw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@volar/source-map/download/@volar/source-map-0.30.4.tgz} name: '@volar/source-map' - version: 0.30.2 + version: 0.30.4 dependencies: - '@volar/shared': registry.npmmirror.com/@volar/shared/0.30.2 + '@volar/shared': registry.npmmirror.com/@volar/shared/0.30.4 vscode-languageserver-textdocument: registry.npmmirror.com/vscode-languageserver-textdocument/1.0.3 dev: true - registry.npmmirror.com/@volar/transforms/0.30.2: - resolution: {integrity: sha512-bc+55NGlBbMLHkpChqAEgsblYJxjNHiKVMbVUMi52xKa2l9gOWXNbn5WRsHfz4AR+Cq/Zm0AvVJ10ehLQsGsow==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@volar/transforms/download/@volar/transforms-0.30.2.tgz} + registry.npmmirror.com/@volar/transforms/0.30.4: + resolution: {integrity: sha512-jNHe5hAp+7MHAkWKKETB9wxOGEDHXVuCm3eY65/7eTtE0c1eH2ukcWY4d9t21GuFSXmXzFxqrxWeSGbQJSJztw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@volar/transforms/download/@volar/transforms-0.30.4.tgz} name: '@volar/transforms' - version: 0.30.2 + version: 0.30.4 dependencies: - '@volar/shared': registry.npmmirror.com/@volar/shared/0.30.2 + '@volar/shared': registry.npmmirror.com/@volar/shared/0.30.4 vscode-languageserver-types: registry.npmmirror.com/vscode-languageserver-types/3.17.0-next.5 dev: true - registry.npmmirror.com/@volar/vue-code-gen/0.30.2: - resolution: {integrity: sha512-kJyVkQFhMvVQ32aDaC6h5DdXG1GJbJjeeAkCnjfCJfMmuYjM5R4QNZHDz1TI0dETgF9vP+kbAukQKNWecHK3qg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@volar/vue-code-gen/download/@volar/vue-code-gen-0.30.2.tgz} + registry.npmmirror.com/@volar/vue-code-gen/0.30.4: + resolution: {integrity: sha512-mLDZ6/YfE3+E/8SnPEFz1mkXldXfsoboYniSqAjliWN2W6x8CslQTcv5luhBvJChzzLPzZxvQEtpnx/G3iP3yA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@volar/vue-code-gen/download/@volar/vue-code-gen-0.30.4.tgz} name: '@volar/vue-code-gen' - version: 0.30.2 + version: 0.30.4 dependencies: - '@volar/code-gen': registry.npmmirror.com/@volar/code-gen/0.30.2 - '@volar/shared': registry.npmmirror.com/@volar/shared/0.30.2 - '@volar/source-map': registry.npmmirror.com/@volar/source-map/0.30.2 + '@volar/code-gen': registry.npmmirror.com/@volar/code-gen/0.30.4 + '@volar/shared': registry.npmmirror.com/@volar/shared/0.30.4 + '@volar/source-map': registry.npmmirror.com/@volar/source-map/0.30.4 '@vue/compiler-core': registry.npmmirror.com/@vue/compiler-core/3.2.26 '@vue/compiler-dom': registry.npmmirror.com/@vue/compiler-dom/3.2.26 '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.26 @@ -4314,7 +4195,7 @@ packages: version: 6.0.0-beta.21.1 dev: false - registry.npmmirror.com/@vue/eslint-config-prettier/7.0.0_eslint@8.6.0+prettier@2.5.1: + registry.npmmirror.com/@vue/eslint-config-prettier/7.0.0_eslint@8.7.0+prettier@2.5.1: resolution: {integrity: sha512-/CTc6ML3Wta1tCe1gUeO0EYnVXfo3nJXsIhZ8WJr3sov+cGASr6yuiibJTL6lmIBm7GobopToOuB3B6AWyV0Iw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/eslint-config-prettier/download/@vue/eslint-config-prettier-7.0.0.tgz} id: registry.npmmirror.com/@vue/eslint-config-prettier/7.0.0 name: '@vue/eslint-config-prettier' @@ -4323,13 +4204,13 @@ packages: eslint: '>= 7.28.0' prettier: '>= 2.0.0' dependencies: - eslint: registry.npmmirror.com/eslint/8.6.0 - eslint-config-prettier: registry.nlark.com/eslint-config-prettier/8.3.0_eslint@8.6.0 - eslint-plugin-prettier: registry.npmmirror.com/eslint-plugin-prettier/4.0.0_1c588f61426b1faf18812943f1678311 + eslint: registry.npmmirror.com/eslint/8.7.0 + eslint-config-prettier: registry.nlark.com/eslint-config-prettier/8.3.0_eslint@8.7.0 + eslint-plugin-prettier: registry.npmmirror.com/eslint-plugin-prettier/4.0.0_4660519532e4c3b0a9e5bb6623cfedf6 prettier: registry.npmmirror.com/prettier/2.5.1 dev: true - registry.npmmirror.com/@vue/eslint-config-typescript/10.0.0_e5275a3381928a55897f97722d1207a6: + registry.npmmirror.com/@vue/eslint-config-typescript/10.0.0_3bd88b78ccaf1b54747cae8c2dba8166: resolution: {integrity: sha512-F94cL8ug3FaYXlCfU5/wiGjk1qeadmoBpRGAOBq+qre3Smdupa59dd6ZJrsfRODpsMPyTG7330juMDsUvpZ3Rw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/eslint-config-typescript/download/@vue/eslint-config-typescript-10.0.0.tgz} id: registry.npmmirror.com/@vue/eslint-config-typescript/10.0.0 name: '@vue/eslint-config-typescript' @@ -4339,11 +4220,11 @@ packages: eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 eslint-plugin-vue: ^8.0.1 dependencies: - '@typescript-eslint/eslint-plugin': registry.npmmirror.com/@typescript-eslint/eslint-plugin/5.9.1_b7b2e42b32ee097737cd3e626b10847b - '@typescript-eslint/parser': registry.npmmirror.com/@typescript-eslint/parser/5.9.1_eslint@8.6.0+typescript@4.5.4 - eslint: registry.npmmirror.com/eslint/8.6.0 - eslint-plugin-vue: registry.npmmirror.com/eslint-plugin-vue/8.3.0_eslint@8.6.0 - vue-eslint-parser: registry.npmmirror.com/vue-eslint-parser/8.0.1_eslint@8.6.0 + '@typescript-eslint/eslint-plugin': registry.npmmirror.com/@typescript-eslint/eslint-plugin/5.9.1_bbe74534e31a8c21f1b3522447c55341 + '@typescript-eslint/parser': registry.npmmirror.com/@typescript-eslint/parser/5.9.1_eslint@8.7.0+typescript@4.5.4 + eslint: registry.npmmirror.com/eslint/8.7.0 + eslint-plugin-vue: registry.npmmirror.com/eslint-plugin-vue/8.3.0_eslint@8.7.0 + vue-eslint-parser: registry.npmmirror.com/vue-eslint-parser/8.0.1_eslint@8.7.0 transitivePeerDependencies: - supports-color - typescript @@ -4462,7 +4343,7 @@ packages: '@antfu/utils': registry.npmmirror.com/@antfu/utils/0.4.0 '@windicss/config': registry.npmmirror.com/@windicss/config/1.6.2 debug: registry.npmmirror.com/debug/4.3.3 - fast-glob: registry.npmmirror.com/fast-glob/3.2.10 + fast-glob: registry.npmmirror.com/fast-glob/3.2.11 magic-string: registry.nlark.com/magic-string/0.25.7 micromatch: registry.nlark.com/micromatch/4.0.4 windicss: registry.npmmirror.com/windicss/3.4.2 @@ -4508,29 +4389,28 @@ packages: dev: true registry.npmmirror.com/ansi-styles/2.2.1: - resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ansi-styles/download/ansi-styles-2.2.1.tgz} + resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ansi-styles/download/ansi-styles-2.2.1.tgz} name: ansi-styles version: 2.2.1 engines: {node: '>=0.10.0'} dev: false registry.npmmirror.com/ansi-styles/4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ansi-styles/download/ansi-styles-4.3.0.tgz} + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ansi-styles/download/ansi-styles-4.3.0.tgz} name: ansi-styles version: 4.3.0 engines: {node: '>=8'} dependencies: color-convert: registry.npmmirror.com/color-convert/2.0.1 - dev: true registry.npmmirror.com/ansi-styles/5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ansi-styles/download/ansi-styles-5.2.0.tgz} + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ansi-styles/download/ansi-styles-5.2.0.tgz} name: ansi-styles version: 5.2.0 engines: {node: '>=10'} registry.npmmirror.com/ansi-styles/6.1.0: - resolution: {integrity: sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ansi-styles/download/ansi-styles-6.1.0.tgz} + resolution: {integrity: sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ansi-styles/download/ansi-styles-6.1.0.tgz} name: ansi-styles version: 6.1.0 engines: {node: '>=12'} @@ -4595,6 +4475,14 @@ packages: - debug dev: false + registry.npmmirror.com/brace-expansion/1.1.11: + resolution: {integrity: sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/brace-expansion/download/brace-expansion-1.1.11.tgz} + name: brace-expansion + version: 1.1.11 + dependencies: + balanced-match: registry.nlark.com/balanced-match/1.0.2 + concat-map: registry.nlark.com/concat-map/0.0.1 + registry.npmmirror.com/camelcase-keys/6.2.2: resolution: {integrity: sha1-XnVda6UaoiPsfT1S8ld4IQ+dw8A=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/camelcase-keys/download/camelcase-keys-6.2.2.tgz} name: camelcase-keys @@ -4621,14 +4509,14 @@ packages: dev: true registry.npmmirror.com/chalk/1.1.3: - resolution: {integrity: sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/chalk/download/chalk-1.1.3.tgz} + resolution: {integrity: sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/chalk/download/chalk-1.1.3.tgz} name: chalk version: 1.1.3 engines: {node: '>=0.10.0'} dependencies: ansi-styles: registry.npmmirror.com/ansi-styles/2.2.1 escape-string-regexp: registry.nlark.com/escape-string-regexp/1.0.5 - has-ansi: registry.nlark.com/has-ansi/2.0.0 + has-ansi: registry.npmmirror.com/has-ansi/2.0.0 strip-ansi: registry.npmmirror.com/strip-ansi/3.0.1 supports-color: registry.npmmirror.com/supports-color/2.0.0 dev: false @@ -4650,7 +4538,7 @@ packages: version: 4.1.2 engines: {node: '>=10'} dependencies: - ansi-styles: registry.nlark.com/ansi-styles/4.3.0 + ansi-styles: registry.npmmirror.com/ansi-styles/4.3.0 supports-color: registry.npmmirror.com/supports-color/7.2.0 registry.npmmirror.com/character-parser/2.2.0: @@ -4668,7 +4556,7 @@ packages: dev: true registry.npmmirror.com/chokidar/3.5.2: - resolution: {integrity: sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/chokidar/download/chokidar-3.5.2.tgz} + resolution: {integrity: sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/chokidar/download/chokidar-3.5.2.tgz} name: chokidar version: 3.5.2 engines: {node: '>= 8.10.0'} @@ -4679,7 +4567,7 @@ packages: is-binary-path: registry.nlark.com/is-binary-path/2.1.0 is-glob: registry.npmmirror.com/is-glob/4.0.3 normalize-path: registry.nlark.com/normalize-path/3.0.0 - readdirp: registry.nlark.com/readdirp/3.6.0 + readdirp: registry.npmmirror.com/readdirp/3.6.0 optionalDependencies: fsevents: registry.npmmirror.com/fsevents/2.3.2 dev: true @@ -4887,7 +4775,7 @@ packages: dev: false registry.npmmirror.com/css-render/0.15.8: - resolution: {integrity: sha512-k1gp1MgYDPrFZhzheQkSwm6dmP6nPe2XE6WYpJBPwEc3GbMANPJZfxl7ofZlTl8/+tpMRiGTTgUkTlXaVbLxog==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/css-render/download/css-render-0.15.8.tgz} + resolution: {integrity: sha512-k1gp1MgYDPrFZhzheQkSwm6dmP6nPe2XE6WYpJBPwEc3GbMANPJZfxl7ofZlTl8/+tpMRiGTTgUkTlXaVbLxog==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/css-render/download/css-render-0.15.8.tgz} name: css-render version: 0.15.8 dependencies: @@ -4896,13 +4784,13 @@ packages: csstype: registry.npmmirror.com/csstype/3.0.10 registry.npmmirror.com/csstype/2.6.19: - resolution: {integrity: sha512-ZVxXaNy28/k3kJg0Fou5MiYpp88j7H9hLZp8PDC3jV0WFjfH5E9xHb56L0W59cPbKbcHXeP4qyT8PrHp8t6LcQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/csstype/download/csstype-2.6.19.tgz?cache=0&sync_timestamp=1637226973684&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcsstype%2Fdownload%2Fcsstype-2.6.19.tgz} + resolution: {integrity: sha512-ZVxXaNy28/k3kJg0Fou5MiYpp88j7H9hLZp8PDC3jV0WFjfH5E9xHb56L0W59cPbKbcHXeP4qyT8PrHp8t6LcQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/csstype/download/csstype-2.6.19.tgz?cache=0&sync_timestamp=1637226973684&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcsstype%2Fdownload%2Fcsstype-2.6.19.tgz} name: csstype version: 2.6.19 dev: false registry.npmmirror.com/csstype/3.0.10: - resolution: {integrity: sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/csstype/download/csstype-3.0.10.tgz?cache=0&sync_timestamp=1637226973684&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcsstype%2Fdownload%2Fcsstype-3.0.10.tgz} + resolution: {integrity: sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/csstype/download/csstype-3.0.10.tgz?cache=0&sync_timestamp=1637226973684&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcsstype%2Fdownload%2Fcsstype-3.0.10.tgz} name: csstype version: 3.0.10 @@ -4920,12 +4808,6 @@ packages: word-wrap: registry.nlark.com/word-wrap/1.2.3 dev: true - registry.npmmirror.com/d3-ease/1.0.7: - resolution: {integrity: sha1-moNIkO+LiujFWLL+Vb1X9Zk7heI=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-ease/download/d3-ease-1.0.7.tgz} - name: d3-ease - version: 1.0.7 - dev: false - registry.npmmirror.com/d3-hierarchy/2.0.0: resolution: {integrity: sha1-2riKWMo+ehvGyrOQ6JZn/MbSAhg=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/d3-hierarchy/download/d3-hierarchy-2.0.0.tgz} name: d3-hierarchy @@ -5015,6 +4897,13 @@ packages: version: 1.2.0 engines: {node: '>=0.10.0'} + registry.npmmirror.com/define-lazy-prop/2.0.0: + resolution: {integrity: sha1-P3rkIRKbyqrJvHSQXJigAJ7J7n8=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/define-lazy-prop/download/define-lazy-prop-2.0.0.tgz} + name: define-lazy-prop + version: 2.0.0 + engines: {node: '>=8'} + dev: true + registry.npmmirror.com/detect-browser/5.3.0: resolution: {integrity: sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/detect-browser/download/detect-browser-5.3.0.tgz} name: detect-browser @@ -5022,7 +4911,7 @@ packages: dev: false registry.npmmirror.com/diff-sequences/27.4.0: - resolution: {integrity: sha512-YqiQzkrsmHMH5uuh8OdQFU9/ZpADnwzml8z0O5HvRNda+5UZsaX/xN+AAxfR2hWq1Y7HZnAzO9J5lJXOuDz2Ww==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/diff-sequences/download/diff-sequences-27.4.0.tgz} + resolution: {integrity: sha512-YqiQzkrsmHMH5uuh8OdQFU9/ZpADnwzml8z0O5HvRNda+5UZsaX/xN+AAxfR2hWq1Y7HZnAzO9J5lJXOuDz2Ww==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/diff-sequences/download/diff-sequences-27.4.0.tgz} name: diff-sequences version: 27.4.0 engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -5103,7 +4992,7 @@ packages: unbox-primitive: registry.nlark.com/unbox-primitive/1.0.1 registry.npmmirror.com/esbuild-android-arm64/0.13.15: - resolution: {integrity: sha512-m602nft/XXeO8YQPUDVoHfjyRVPdPgjyyXOxZ44MK/agewFFkPa8tUo6lAzSWh5Ui5PB4KR9UIFTSBKh/RrCmg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-android-arm64/download/esbuild-android-arm64-0.13.15.tgz} + resolution: {integrity: sha512-m602nft/XXeO8YQPUDVoHfjyRVPdPgjyyXOxZ44MK/agewFFkPa8tUo6lAzSWh5Ui5PB4KR9UIFTSBKh/RrCmg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-android-arm64/download/esbuild-android-arm64-0.13.15.tgz} name: esbuild-android-arm64 version: 0.13.15 cpu: [arm64] @@ -5113,7 +5002,7 @@ packages: optional: true registry.npmmirror.com/esbuild-darwin-64/0.13.15: - resolution: {integrity: sha512-ihOQRGs2yyp7t5bArCwnvn2Atr6X4axqPpEdCFPVp7iUj4cVSdisgvEKdNR7yH3JDjW6aQDw40iQFoTqejqxvQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-darwin-64/download/esbuild-darwin-64-0.13.15.tgz} + resolution: {integrity: sha512-ihOQRGs2yyp7t5bArCwnvn2Atr6X4axqPpEdCFPVp7iUj4cVSdisgvEKdNR7yH3JDjW6aQDw40iQFoTqejqxvQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-darwin-64/download/esbuild-darwin-64-0.13.15.tgz} name: esbuild-darwin-64 version: 0.13.15 cpu: [x64] @@ -5123,7 +5012,7 @@ packages: optional: true registry.npmmirror.com/esbuild-darwin-arm64/0.13.15: - resolution: {integrity: sha512-i1FZssTVxUqNlJ6cBTj5YQj4imWy3m49RZRnHhLpefFIh0To05ow9DTrXROTE1urGTQCloFUXTX8QfGJy1P8dQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-darwin-arm64/download/esbuild-darwin-arm64-0.13.15.tgz} + resolution: {integrity: sha512-i1FZssTVxUqNlJ6cBTj5YQj4imWy3m49RZRnHhLpefFIh0To05ow9DTrXROTE1urGTQCloFUXTX8QfGJy1P8dQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-darwin-arm64/download/esbuild-darwin-arm64-0.13.15.tgz} name: esbuild-darwin-arm64 version: 0.13.15 cpu: [arm64] @@ -5133,7 +5022,7 @@ packages: optional: true registry.npmmirror.com/esbuild-freebsd-64/0.13.15: - resolution: {integrity: sha512-G3dLBXUI6lC6Z09/x+WtXBXbOYQZ0E8TDBqvn7aMaOCzryJs8LyVXKY4CPnHFXZAbSwkCbqiPuSQ1+HhrNk7EA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-freebsd-64/download/esbuild-freebsd-64-0.13.15.tgz} + resolution: {integrity: sha512-G3dLBXUI6lC6Z09/x+WtXBXbOYQZ0E8TDBqvn7aMaOCzryJs8LyVXKY4CPnHFXZAbSwkCbqiPuSQ1+HhrNk7EA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-freebsd-64/download/esbuild-freebsd-64-0.13.15.tgz} name: esbuild-freebsd-64 version: 0.13.15 cpu: [x64] @@ -5143,7 +5032,7 @@ packages: optional: true registry.npmmirror.com/esbuild-freebsd-arm64/0.13.15: - resolution: {integrity: sha512-KJx0fzEDf1uhNOZQStV4ujg30WlnwqUASaGSFPhznLM/bbheu9HhqZ6mJJZM32lkyfGJikw0jg7v3S0oAvtvQQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-freebsd-arm64/download/esbuild-freebsd-arm64-0.13.15.tgz} + resolution: {integrity: sha512-KJx0fzEDf1uhNOZQStV4ujg30WlnwqUASaGSFPhznLM/bbheu9HhqZ6mJJZM32lkyfGJikw0jg7v3S0oAvtvQQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-freebsd-arm64/download/esbuild-freebsd-arm64-0.13.15.tgz} name: esbuild-freebsd-arm64 version: 0.13.15 cpu: [arm64] @@ -5153,7 +5042,7 @@ packages: optional: true registry.npmmirror.com/esbuild-linux-32/0.13.15: - resolution: {integrity: sha512-ZvTBPk0YWCLMCXiFmD5EUtB30zIPvC5Itxz0mdTu/xZBbbHJftQgLWY49wEPSn2T/TxahYCRDWun5smRa0Tu+g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-32/download/esbuild-linux-32-0.13.15.tgz} + resolution: {integrity: sha512-ZvTBPk0YWCLMCXiFmD5EUtB30zIPvC5Itxz0mdTu/xZBbbHJftQgLWY49wEPSn2T/TxahYCRDWun5smRa0Tu+g==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-32/download/esbuild-linux-32-0.13.15.tgz} name: esbuild-linux-32 version: 0.13.15 cpu: [ia32] @@ -5163,7 +5052,7 @@ packages: optional: true registry.npmmirror.com/esbuild-linux-64/0.13.15: - resolution: {integrity: sha512-eCKzkNSLywNeQTRBxJRQ0jxRCl2YWdMB3+PkWFo2BBQYC5mISLIVIjThNtn6HUNqua1pnvgP5xX0nHbZbPj5oA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-64/download/esbuild-linux-64-0.13.15.tgz} + resolution: {integrity: sha512-eCKzkNSLywNeQTRBxJRQ0jxRCl2YWdMB3+PkWFo2BBQYC5mISLIVIjThNtn6HUNqua1pnvgP5xX0nHbZbPj5oA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-64/download/esbuild-linux-64-0.13.15.tgz} name: esbuild-linux-64 version: 0.13.15 cpu: [x64] @@ -5173,7 +5062,7 @@ packages: optional: true registry.npmmirror.com/esbuild-linux-arm/0.13.15: - resolution: {integrity: sha512-wUHttDi/ol0tD8ZgUMDH8Ef7IbDX+/UsWJOXaAyTdkT7Yy9ZBqPg8bgB/Dn3CZ9SBpNieozrPRHm0BGww7W/jA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-arm/download/esbuild-linux-arm-0.13.15.tgz} + resolution: {integrity: sha512-wUHttDi/ol0tD8ZgUMDH8Ef7IbDX+/UsWJOXaAyTdkT7Yy9ZBqPg8bgB/Dn3CZ9SBpNieozrPRHm0BGww7W/jA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-arm/download/esbuild-linux-arm-0.13.15.tgz} name: esbuild-linux-arm version: 0.13.15 cpu: [arm] @@ -5183,7 +5072,7 @@ packages: optional: true registry.npmmirror.com/esbuild-linux-arm64/0.13.15: - resolution: {integrity: sha512-bYpuUlN6qYU9slzr/ltyLTR9YTBS7qUDymO8SV7kjeNext61OdmqFAzuVZom+OLW1HPHseBfJ/JfdSlx8oTUoA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-arm64/download/esbuild-linux-arm64-0.13.15.tgz} + resolution: {integrity: sha512-bYpuUlN6qYU9slzr/ltyLTR9YTBS7qUDymO8SV7kjeNext61OdmqFAzuVZom+OLW1HPHseBfJ/JfdSlx8oTUoA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-arm64/download/esbuild-linux-arm64-0.13.15.tgz} name: esbuild-linux-arm64 version: 0.13.15 cpu: [arm64] @@ -5193,7 +5082,7 @@ packages: optional: true registry.npmmirror.com/esbuild-linux-mips64le/0.13.15: - resolution: {integrity: sha512-KlVjIG828uFPyJkO/8gKwy9RbXhCEUeFsCGOJBepUlpa7G8/SeZgncUEz/tOOUJTcWMTmFMtdd3GElGyAtbSWg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-mips64le/download/esbuild-linux-mips64le-0.13.15.tgz} + resolution: {integrity: sha512-KlVjIG828uFPyJkO/8gKwy9RbXhCEUeFsCGOJBepUlpa7G8/SeZgncUEz/tOOUJTcWMTmFMtdd3GElGyAtbSWg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-mips64le/download/esbuild-linux-mips64le-0.13.15.tgz} name: esbuild-linux-mips64le version: 0.13.15 cpu: [mips64el] @@ -5203,7 +5092,7 @@ packages: optional: true registry.npmmirror.com/esbuild-linux-ppc64le/0.13.15: - resolution: {integrity: sha512-h6gYF+OsaqEuBjeesTBtUPw0bmiDu7eAeuc2OEH9S6mV9/jPhPdhOWzdeshb0BskRZxPhxPOjqZ+/OqLcxQwEQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-ppc64le/download/esbuild-linux-ppc64le-0.13.15.tgz} + resolution: {integrity: sha512-h6gYF+OsaqEuBjeesTBtUPw0bmiDu7eAeuc2OEH9S6mV9/jPhPdhOWzdeshb0BskRZxPhxPOjqZ+/OqLcxQwEQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-ppc64le/download/esbuild-linux-ppc64le-0.13.15.tgz} name: esbuild-linux-ppc64le version: 0.13.15 cpu: [ppc64] @@ -5213,7 +5102,7 @@ packages: optional: true registry.npmmirror.com/esbuild-netbsd-64/0.13.15: - resolution: {integrity: sha512-3+yE9emwoevLMyvu+iR3rsa+Xwhie7ZEHMGDQ6dkqP/ndFzRHkobHUKTe+NCApSqG5ce2z4rFu+NX/UHnxlh3w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-netbsd-64/download/esbuild-netbsd-64-0.13.15.tgz} + resolution: {integrity: sha512-3+yE9emwoevLMyvu+iR3rsa+Xwhie7ZEHMGDQ6dkqP/ndFzRHkobHUKTe+NCApSqG5ce2z4rFu+NX/UHnxlh3w==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-netbsd-64/download/esbuild-netbsd-64-0.13.15.tgz} name: esbuild-netbsd-64 version: 0.13.15 cpu: [x64] @@ -5223,7 +5112,7 @@ packages: optional: true registry.npmmirror.com/esbuild-openbsd-64/0.13.15: - resolution: {integrity: sha512-wTfvtwYJYAFL1fSs8yHIdf5GEE4NkbtbXtjLWjM3Cw8mmQKqsg8kTiqJ9NJQe5NX/5Qlo7Xd9r1yKMMkHllp5g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-openbsd-64/download/esbuild-openbsd-64-0.13.15.tgz} + resolution: {integrity: sha512-wTfvtwYJYAFL1fSs8yHIdf5GEE4NkbtbXtjLWjM3Cw8mmQKqsg8kTiqJ9NJQe5NX/5Qlo7Xd9r1yKMMkHllp5g==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-openbsd-64/download/esbuild-openbsd-64-0.13.15.tgz} name: esbuild-openbsd-64 version: 0.13.15 cpu: [x64] @@ -5233,7 +5122,7 @@ packages: optional: true registry.npmmirror.com/esbuild-sunos-64/0.13.15: - resolution: {integrity: sha512-lbivT9Bx3t1iWWrSnGyBP9ODriEvWDRiweAs69vI+miJoeKwHWOComSRukttbuzjZ8r1q0mQJ8Z7yUsDJ3hKdw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-sunos-64/download/esbuild-sunos-64-0.13.15.tgz} + resolution: {integrity: sha512-lbivT9Bx3t1iWWrSnGyBP9ODriEvWDRiweAs69vI+miJoeKwHWOComSRukttbuzjZ8r1q0mQJ8Z7yUsDJ3hKdw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-sunos-64/download/esbuild-sunos-64-0.13.15.tgz} name: esbuild-sunos-64 version: 0.13.15 cpu: [x64] @@ -5243,7 +5132,7 @@ packages: optional: true registry.npmmirror.com/esbuild-windows-32/0.13.15: - resolution: {integrity: sha512-fDMEf2g3SsJ599MBr50cY5ve5lP1wyVwTe6aLJsM01KtxyKkB4UT+fc5MXQFn3RLrAIAZOG+tHC+yXObpSn7Nw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-windows-32/download/esbuild-windows-32-0.13.15.tgz} + resolution: {integrity: sha512-fDMEf2g3SsJ599MBr50cY5ve5lP1wyVwTe6aLJsM01KtxyKkB4UT+fc5MXQFn3RLrAIAZOG+tHC+yXObpSn7Nw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-windows-32/download/esbuild-windows-32-0.13.15.tgz} name: esbuild-windows-32 version: 0.13.15 cpu: [ia32] @@ -5253,7 +5142,7 @@ packages: optional: true registry.npmmirror.com/esbuild-windows-64/0.13.15: - resolution: {integrity: sha512-9aMsPRGDWCd3bGjUIKG/ZOJPKsiztlxl/Q3C1XDswO6eNX/Jtwu4M+jb6YDH9hRSUflQWX0XKAfWzgy5Wk54JQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-windows-64/download/esbuild-windows-64-0.13.15.tgz} + resolution: {integrity: sha512-9aMsPRGDWCd3bGjUIKG/ZOJPKsiztlxl/Q3C1XDswO6eNX/Jtwu4M+jb6YDH9hRSUflQWX0XKAfWzgy5Wk54JQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-windows-64/download/esbuild-windows-64-0.13.15.tgz} name: esbuild-windows-64 version: 0.13.15 cpu: [x64] @@ -5263,7 +5152,7 @@ packages: optional: true registry.npmmirror.com/esbuild-windows-arm64/0.13.15: - resolution: {integrity: sha512-zzvyCVVpbwQQATaf3IG8mu1IwGEiDxKkYUdA4FpoCHi1KtPa13jeScYDjlW0Qh+ebWzpKfR2ZwvqAQkSWNcKjA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-windows-arm64/download/esbuild-windows-arm64-0.13.15.tgz} + resolution: {integrity: sha512-zzvyCVVpbwQQATaf3IG8mu1IwGEiDxKkYUdA4FpoCHi1KtPa13jeScYDjlW0Qh+ebWzpKfR2ZwvqAQkSWNcKjA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-windows-arm64/download/esbuild-windows-arm64-0.13.15.tgz} name: esbuild-windows-arm64 version: 0.13.15 cpu: [arm64] @@ -5306,7 +5195,7 @@ packages: esbuild-windows-arm64: registry.npmmirror.com/esbuild-windows-arm64/0.13.15 dev: true - registry.npmmirror.com/eslint-config-airbnb-base/15.0.0_b5a36b8c1535387c8dd00eff7ec6b551: + registry.npmmirror.com/eslint-config-airbnb-base/15.0.0_9ff7dbcc486b497d34e34a545c49272a: resolution: {integrity: sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eslint-config-airbnb-base/download/eslint-config-airbnb-base-15.0.0.tgz} id: registry.npmmirror.com/eslint-config-airbnb-base/15.0.0 name: eslint-config-airbnb-base @@ -5317,8 +5206,8 @@ packages: eslint-plugin-import: ^2.25.2 dependencies: confusing-browser-globals: registry.npmmirror.com/confusing-browser-globals/1.0.11 - eslint: registry.npmmirror.com/eslint/8.6.0 - eslint-plugin-import: registry.npmmirror.com/eslint-plugin-import/2.25.4_eslint@8.6.0 + eslint: registry.npmmirror.com/eslint/8.7.0 + eslint-plugin-import: registry.npmmirror.com/eslint-plugin-import/2.25.4_eslint@8.7.0 object.assign: registry.nlark.com/object.assign/4.1.2 object.entries: registry.npmmirror.com/object.entries/1.1.5 semver: registry.nlark.com/semver/6.3.0 @@ -5334,7 +5223,7 @@ packages: find-up: registry.npmmirror.com/find-up/2.1.0 dev: true - registry.npmmirror.com/eslint-plugin-import/2.25.4_eslint@8.6.0: + registry.npmmirror.com/eslint-plugin-import/2.25.4_eslint@8.7.0: resolution: {integrity: sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eslint-plugin-import/download/eslint-plugin-import-2.25.4.tgz} id: registry.npmmirror.com/eslint-plugin-import/2.25.4 name: eslint-plugin-import @@ -5347,7 +5236,7 @@ packages: array.prototype.flat: registry.npmmirror.com/array.prototype.flat/1.2.5 debug: registry.npmmirror.com/debug/2.6.9 doctrine: registry.nlark.com/doctrine/2.1.0 - eslint: registry.npmmirror.com/eslint/8.6.0 + eslint: registry.npmmirror.com/eslint/8.7.0 eslint-import-resolver-node: registry.nlark.com/eslint-import-resolver-node/0.3.6 eslint-module-utils: registry.npmmirror.com/eslint-module-utils/2.7.2 has: registry.nlark.com/has/1.0.3 @@ -5359,7 +5248,7 @@ packages: tsconfig-paths: registry.npmmirror.com/tsconfig-paths/3.12.0 dev: true - registry.npmmirror.com/eslint-plugin-prettier/4.0.0_1c588f61426b1faf18812943f1678311: + registry.npmmirror.com/eslint-plugin-prettier/4.0.0_4660519532e4c3b0a9e5bb6623cfedf6: resolution: {integrity: sha1-i5nR5LiySnYkcrRWeZICNhnLmOA=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eslint-plugin-prettier/download/eslint-plugin-prettier-4.0.0.tgz} id: registry.npmmirror.com/eslint-plugin-prettier/4.0.0 name: eslint-plugin-prettier @@ -5373,13 +5262,13 @@ packages: eslint-config-prettier: optional: true dependencies: - eslint: registry.npmmirror.com/eslint/8.6.0 - eslint-config-prettier: registry.nlark.com/eslint-config-prettier/8.3.0_eslint@8.6.0 + eslint: registry.npmmirror.com/eslint/8.7.0 + eslint-config-prettier: registry.nlark.com/eslint-config-prettier/8.3.0_eslint@8.7.0 prettier: registry.npmmirror.com/prettier/2.5.1 prettier-linter-helpers: registry.nlark.com/prettier-linter-helpers/1.0.0 dev: true - registry.npmmirror.com/eslint-plugin-vue/8.3.0_eslint@8.6.0: + registry.npmmirror.com/eslint-plugin-vue/8.3.0_eslint@8.7.0: resolution: {integrity: sha512-IIuLHw4vQxGlHcoP2dG6t/2OVdQf2qoyAzEGAxreU1afZOHGA7y3TWq8I+r3ZA6Wjs6xpeUWGHlT31QGr9Rb5g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eslint-plugin-vue/download/eslint-plugin-vue-8.3.0.tgz} id: registry.npmmirror.com/eslint-plugin-vue/8.3.0 name: eslint-plugin-vue @@ -5388,11 +5277,11 @@ packages: peerDependencies: eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 dependencies: - eslint: registry.npmmirror.com/eslint/8.6.0 - eslint-utils: registry.nlark.com/eslint-utils/3.0.0_eslint@8.6.0 + eslint: registry.npmmirror.com/eslint/8.7.0 + eslint-utils: registry.nlark.com/eslint-utils/3.0.0_eslint@8.7.0 natural-compare: registry.nlark.com/natural-compare/1.4.0 semver: registry.nlark.com/semver/7.3.5 - vue-eslint-parser: registry.npmmirror.com/vue-eslint-parser/8.0.1_eslint@8.6.0 + vue-eslint-parser: registry.npmmirror.com/vue-eslint-parser/8.0.1_eslint@8.7.0 transitivePeerDependencies: - supports-color dev: true @@ -5441,10 +5330,17 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - registry.npmmirror.com/eslint/8.6.0: - resolution: {integrity: sha512-UvxdOJ7mXFlw7iuHZA4jmzPaUqIw54mZrv+XPYKNbKdLR0et4rf60lIZUU9kiNtnzzMzGWxMV+tQ7uG7JG8DPw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eslint/download/eslint-8.6.0.tgz} + registry.npmmirror.com/eslint-visitor-keys/3.2.0: + resolution: {integrity: sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eslint-visitor-keys/download/eslint-visitor-keys-3.2.0.tgz} + name: eslint-visitor-keys + version: 3.2.0 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + registry.npmmirror.com/eslint/8.7.0: + resolution: {integrity: sha512-ifHYzkBGrzS2iDU7KjhCAVMGCvF6M3Xfs8X8b37cgrUlDt6bWRTpRh6T/gtSXv1HJ/BUGgmjvNvOEGu85Iif7w==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eslint/download/eslint-8.7.0.tgz} name: eslint - version: 8.6.0 + version: 8.7.0 engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: @@ -5455,20 +5351,19 @@ packages: cross-spawn: registry.nlark.com/cross-spawn/7.0.3 debug: registry.npmmirror.com/debug/4.3.3 doctrine: registry.nlark.com/doctrine/3.0.0 - enquirer: registry.nlark.com/enquirer/2.3.6 escape-string-regexp: registry.nlark.com/escape-string-regexp/4.0.0 eslint-scope: registry.npmmirror.com/eslint-scope/7.1.0 - eslint-utils: registry.nlark.com/eslint-utils/3.0.0_eslint@8.6.0 - eslint-visitor-keys: registry.npmmirror.com/eslint-visitor-keys/3.1.0 + eslint-utils: registry.nlark.com/eslint-utils/3.0.0_eslint@8.7.0 + eslint-visitor-keys: registry.npmmirror.com/eslint-visitor-keys/3.2.0 espree: registry.npmmirror.com/espree/9.3.0 esquery: registry.nlark.com/esquery/1.4.0 - esutils: registry.nlark.com/esutils/2.0.3 + esutils: registry.npmmirror.com/esutils/2.0.3 fast-deep-equal: registry.nlark.com/fast-deep-equal/3.1.3 file-entry-cache: registry.nlark.com/file-entry-cache/6.0.1 functional-red-black-tree: registry.nlark.com/functional-red-black-tree/1.0.1 glob-parent: registry.npmmirror.com/glob-parent/6.0.2 globals: registry.npmmirror.com/globals/13.12.0 - ignore: registry.npmmirror.com/ignore/4.0.6 + ignore: registry.npmmirror.com/ignore/5.2.0 import-fresh: registry.nlark.com/import-fresh/3.3.0 imurmurhash: registry.nlark.com/imurmurhash/0.1.4 is-glob: registry.npmmirror.com/is-glob/4.0.3 @@ -5479,9 +5374,7 @@ packages: minimatch: registry.nlark.com/minimatch/3.0.4 natural-compare: registry.nlark.com/natural-compare/1.4.0 optionator: registry.nlark.com/optionator/0.9.1 - progress: registry.npmmirror.com/progress/2.0.3 regexpp: registry.nlark.com/regexpp/3.2.0 - semver: registry.nlark.com/semver/7.3.5 strip-ansi: registry.npmmirror.com/strip-ansi/6.0.1 strip-json-comments: registry.nlark.com/strip-json-comments/3.1.1 text-table: registry.nlark.com/text-table/0.2.0 @@ -5498,7 +5391,7 @@ packages: dependencies: acorn: registry.npmmirror.com/acorn/8.7.0 acorn-jsx: registry.nlark.com/acorn-jsx/5.3.2_acorn@8.7.0 - eslint-visitor-keys: registry.npmmirror.com/eslint-visitor-keys/3.1.0 + eslint-visitor-keys: registry.npmmirror.com/eslint-visitor-keys/3.2.0 dev: true registry.npmmirror.com/estraverse/4.3.0: @@ -5526,8 +5419,15 @@ packages: name: estree-walker version: 2.0.2 + registry.npmmirror.com/esutils/2.0.3: + resolution: {integrity: sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esutils/download/esutils-2.0.3.tgz} + name: esutils + version: 2.0.3 + engines: {node: '>=0.10.0'} + dev: true + registry.npmmirror.com/evtd/0.2.3: - resolution: {integrity: sha512-tmiT1YUVqFjTY+BSBOAskL83xNx41iUfpvKP6Gcd/xMHjg3mnER98jXGXJyKnxCG19uPc6EhZiUC+MUyvoqCtw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/evtd/download/evtd-0.2.3.tgz} + resolution: {integrity: sha512-tmiT1YUVqFjTY+BSBOAskL83xNx41iUfpvKP6Gcd/xMHjg3mnER98jXGXJyKnxCG19uPc6EhZiUC+MUyvoqCtw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/evtd/download/evtd-0.2.3.tgz} name: evtd version: 0.2.3 @@ -5548,10 +5448,10 @@ packages: strip-final-newline: registry.nlark.com/strip-final-newline/2.0.0 dev: true - registry.npmmirror.com/fast-glob/3.2.10: - resolution: {integrity: sha512-s9nFhFnvR63wls6/kM88kQqDhMu0AfdjqouE2l5GVQPbqLgyFjjU5ry/r2yKsJxpb9Py1EYNqieFrmMaX4v++A==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fast-glob/download/fast-glob-3.2.10.tgz} + registry.npmmirror.com/fast-glob/3.2.11: + resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fast-glob/download/fast-glob-3.2.11.tgz} name: fast-glob - version: 3.2.10 + version: 3.2.11 engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': registry.npmmirror.com/@nodelib/fs.stat/2.0.5 @@ -5602,6 +5502,16 @@ packages: resolve-dir: registry.nlark.com/resolve-dir/1.0.1 dev: true + registry.npmmirror.com/flat-cache/3.0.4: + resolution: {integrity: sha1-YbAzgwKy/p+Vfcwy/CqH8cMEixE=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/flat-cache/download/flat-cache-3.0.4.tgz} + name: flat-cache + version: 3.0.4 + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flatted: registry.npmmirror.com/flatted/3.2.4 + rimraf: registry.npmmirror.com/rimraf/3.0.2 + dev: true + registry.npmmirror.com/flatted/3.2.4: resolution: {integrity: sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/flatted/download/flatted-3.2.4.tgz} name: flatted @@ -5621,7 +5531,7 @@ packages: dev: false registry.npmmirror.com/fsevents/2.3.2: - resolution: {integrity: sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fsevents/download/fsevents-2.3.2.tgz} + resolution: {integrity: sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fsevents/download/fsevents-2.3.2.tgz} name: fsevents version: 2.3.2 engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -5651,7 +5561,7 @@ packages: dev: false registry.npmmirror.com/glob-parent/5.1.2: - resolution: {integrity: sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/glob-parent/download/glob-parent-5.1.2.tgz} + resolution: {integrity: sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/glob-parent/download/glob-parent-5.1.2.tgz} name: glob-parent version: 5.1.2 engines: {node: '>= 6'} @@ -5724,7 +5634,7 @@ packages: dependencies: array-union: registry.nlark.com/array-union/2.1.0 dir-glob: registry.nlark.com/dir-glob/3.0.1 - fast-glob: registry.npmmirror.com/fast-glob/3.2.10 + fast-glob: registry.npmmirror.com/fast-glob/3.2.11 ignore: registry.npmmirror.com/ignore/5.2.0 merge2: registry.nlark.com/merge2/1.4.1 slash: registry.nlark.com/slash/3.0.0 @@ -5736,6 +5646,15 @@ packages: version: 4.2.8 dev: true + registry.npmmirror.com/has-ansi/2.0.0: + resolution: {integrity: sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/has-ansi/download/has-ansi-2.0.0.tgz} + name: has-ansi + version: 2.0.0 + engines: {node: '>=0.10.0'} + dependencies: + ansi-regex: registry.nlark.com/ansi-regex/2.1.1 + dev: false + registry.npmmirror.com/highlight.js/11.3.1: resolution: {integrity: sha512-PUhCRnPjLtiLHZAQ5A/Dt5F8cWZeMyj9KRsACsWT+OD6OP0x6dp5OmT5jdx0JgEyPxPZZIPQpRN2TciUT7occw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/highlight.js/download/highlight.js-11.3.1.tgz} name: highlight.js @@ -5805,7 +5724,7 @@ packages: dev: true registry.npmmirror.com/ignore/4.0.6: - resolution: {integrity: sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ignore/download/ignore-4.0.6.tgz} + resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ignore/download/ignore-4.0.6.tgz} name: ignore version: 4.0.6 engines: {node: '>= 4'} @@ -5909,7 +5828,7 @@ packages: call-bind: registry.nlark.com/call-bind/1.0.2 registry.npmmirror.com/jest-diff/27.4.2: - resolution: {integrity: sha512-ujc9ToyUZDh9KcqvQDkk/gkbf6zSaeEg9AiBxtttXW59H/AcqEYp1ciXAtJp+jXWva5nAf/ePtSsgWwE5mqp4Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jest-diff/download/jest-diff-27.4.2.tgz} + resolution: {integrity: sha512-ujc9ToyUZDh9KcqvQDkk/gkbf6zSaeEg9AiBxtttXW59H/AcqEYp1ciXAtJp+jXWva5nAf/ePtSsgWwE5mqp4Q==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jest-diff/download/jest-diff-27.4.2.tgz} name: jest-diff version: 27.4.2 engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -5920,7 +5839,7 @@ packages: pretty-format: registry.npmmirror.com/pretty-format/27.4.2 registry.npmmirror.com/jest-get-type/27.4.0: - resolution: {integrity: sha512-tk9o+ld5TWq41DkK14L4wox4s2D9MtTpKaAVzXfr5CUKm5ZK2ExcaFE0qls2W71zE/6R2TxxrK9w2r6svAFDBQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jest-get-type/download/jest-get-type-27.4.0.tgz} + resolution: {integrity: sha512-tk9o+ld5TWq41DkK14L4wox4s2D9MtTpKaAVzXfr5CUKm5ZK2ExcaFE0qls2W71zE/6R2TxxrK9w2r6svAFDBQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jest-get-type/download/jest-get-type-27.4.0.tgz} name: jest-get-type version: 27.4.0 engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -6021,6 +5940,13 @@ packages: mlly: registry.npmmirror.com/mlly/0.2.10 dev: true + registry.npmmirror.com/local-pkg/0.4.1: + resolution: {integrity: sha512-lL87ytIGP2FU5PWwNDo0w3WhIo2gopIAxPg9RxDYF7m4rr5ahuZxP22xnJHIvaLTe4Z9P6uKKY2UHiwyB4pcrw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/local-pkg/download/local-pkg-0.4.1.tgz} + name: local-pkg + version: 0.4.1 + engines: {node: '>=14'} + dev: true + registry.npmmirror.com/lodash-es/4.17.21: resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/lodash-es/download/lodash-es-4.17.21.tgz} name: lodash-es @@ -6163,13 +6089,13 @@ packages: vfonts: registry.npmmirror.com/vfonts/0.0.3 vooks: registry.npmmirror.com/vooks/0.2.12_vue@3.2.26 vue: registry.npmmirror.com/vue/3.2.26 - vueuc: registry.npmmirror.com/vueuc/0.4.22_7fea039e05dc0d0bb67319189a00d1ad + vueuc: registry.npmmirror.com/vueuc/0.4.23_7fea039e05dc0d0bb67319189a00d1ad dev: false - registry.npmmirror.com/nanoid/3.1.30: - resolution: {integrity: sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/nanoid/download/nanoid-3.1.30.tgz} + registry.npmmirror.com/nanoid/3.1.32: + resolution: {integrity: sha512-F8mf7R3iT9bvThBoW4tGXhXFHCctyCiUUPrWF8WaTqa3h96d9QybkSeba43XVOOE3oiLfkVDe4bT8MeGmkrTxw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/nanoid/download/nanoid-3.1.32.tgz} name: nanoid - version: 3.1.30 + version: 3.1.32 engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true @@ -6186,11 +6112,11 @@ packages: version: 4.0.1 engines: {node: '>=8'} dependencies: - path-key: registry.npmmirror.com/path-key/3.1.1 + path-key: registry.nlark.com/path-key/3.1.1 dev: true registry.npmmirror.com/object-inspect/1.11.1: - resolution: {integrity: sha512-If7BjFlpkzzBeV1cqgT3OSWT3azyoxDGajR+iGnFBfVV2EWyDyWaZZW2ERDjUaY2QM8i5jI3Sj7mhsM4DDAqWA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/object-inspect/download/object-inspect-1.11.1.tgz} + resolution: {integrity: sha512-If7BjFlpkzzBeV1cqgT3OSWT3azyoxDGajR+iGnFBfVV2EWyDyWaZZW2ERDjUaY2QM8i5jI3Sj7mhsM4DDAqWA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/object-inspect/download/object-inspect-1.11.1.tgz} name: object-inspect version: 1.11.1 dev: false @@ -6232,6 +6158,17 @@ packages: is-wsl: registry.nlark.com/is-wsl/2.2.0 dev: true + registry.npmmirror.com/open/8.4.0: + resolution: {integrity: sha1-NFMhrhj4E4+CVlqRD9xrOejCRPg=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/open/download/open-8.4.0.tgz} + name: open + version: 8.4.0 + engines: {node: '>=12'} + dependencies: + define-lazy-prop: registry.npmmirror.com/define-lazy-prop/2.0.0 + is-docker: registry.nlark.com/is-docker/2.2.1 + is-wsl: registry.nlark.com/is-wsl/2.2.0 + dev: true + registry.npmmirror.com/p-map/4.0.0: resolution: {integrity: sha1-uy+Vpe2i7BaOySdOBqdHw+KQTSs=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/p-map/download/p-map-4.0.0.tgz?cache=0&sync_timestamp=1635932063287&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fp-map%2Fdownload%2Fp-map-4.0.0.tgz} name: p-map @@ -6256,7 +6193,7 @@ packages: dev: true registry.npmmirror.com/parent-module/1.0.1: - resolution: {integrity: sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/parent-module/download/parent-module-1.0.1.tgz?cache=0&sync_timestamp=1633337707726&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fparent-module%2Fdownload%2Fparent-module-1.0.1.tgz} + resolution: {integrity: sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/parent-module/download/parent-module-1.0.1.tgz} name: parent-module version: 1.0.1 engines: {node: '>=6'} @@ -6276,20 +6213,13 @@ packages: lines-and-columns: registry.npmmirror.com/lines-and-columns/1.2.4 dev: true - registry.npmmirror.com/path-key/3.1.1: - resolution: {integrity: sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/path-key/download/path-key-3.1.1.tgz} - name: path-key - version: 3.1.1 - engines: {node: '>=8'} - dev: true - registry.npmmirror.com/picocolors/1.0.0: resolution: {integrity: sha1-y1vcdP8/UYkiNur3nWi8RFZKuBw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/picocolors/download/picocolors-1.0.0.tgz} name: picocolors version: 1.0.0 registry.npmmirror.com/picomatch/2.3.0: - resolution: {integrity: sha1-8fBh3o9qS/AiiS4tEoI0+5gwKXI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/picomatch/download/picomatch-2.3.0.tgz} + resolution: {integrity: sha1-8fBh3o9qS/AiiS4tEoI0+5gwKXI=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/picomatch/download/picomatch-2.3.0.tgz} name: picomatch version: 2.3.0 engines: {node: '>=8.6'} @@ -6322,7 +6252,7 @@ packages: version: 8.4.5 engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: registry.npmmirror.com/nanoid/3.1.30 + nanoid: registry.npmmirror.com/nanoid/3.1.32 picocolors: registry.npmmirror.com/picocolors/1.0.0 source-map-js: registry.npmmirror.com/source-map-js/1.0.1 @@ -6342,7 +6272,7 @@ packages: dev: true registry.npmmirror.com/pretty-format/27.4.2: - resolution: {integrity: sha512-p0wNtJ9oLuvgOQDEIZ9zQjZffK7KtyR6Si0jnXULIDwrlNF8Cuir3AZP0hHv0jmKuNN/edOnbMjnzd4uTcmWiw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pretty-format/download/pretty-format-27.4.2.tgz} + resolution: {integrity: sha512-p0wNtJ9oLuvgOQDEIZ9zQjZffK7KtyR6Si0jnXULIDwrlNF8Cuir3AZP0hHv0jmKuNN/edOnbMjnzd4uTcmWiw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pretty-format/download/pretty-format-27.4.2.tgz} name: pretty-format version: 27.4.2 engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -6352,13 +6282,6 @@ packages: ansi-styles: registry.npmmirror.com/ansi-styles/5.2.0 react-is: registry.npmmirror.com/react-is/17.0.2 - registry.npmmirror.com/progress/2.0.3: - resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/progress/download/progress-2.0.3.tgz} - name: progress - version: 2.0.3 - engines: {node: '>=0.4.0'} - dev: true - registry.npmmirror.com/promise/7.3.1: resolution: {integrity: sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/promise/download/promise-7.3.1.tgz} name: promise @@ -6405,7 +6328,7 @@ packages: dev: true registry.npmmirror.com/react-is/17.0.2: - resolution: {integrity: sha1-5pHUqOnHiTZWVVOas3J2Kw77VPA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/react-is/download/react-is-17.0.2.tgz} + resolution: {integrity: sha1-5pHUqOnHiTZWVVOas3J2Kw77VPA=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/react-is/download/react-is-17.0.2.tgz} name: react-is version: 17.0.2 @@ -6420,12 +6343,25 @@ packages: type-fest: registry.npmmirror.com/type-fest/0.8.1 dev: true - registry.npmmirror.com/request-light/0.5.6: - resolution: {integrity: sha512-mIfRkYujBF6qQQi+uJGHFzYD2P7WwfIMyJ3/DcTtOFB3iypwIVOXmsr3RMnFwTJRVcYLLZdjkIx43E8Zn2hRng==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/request-light/download/request-light-0.5.6.tgz} - name: request-light - version: 0.5.6 + registry.npmmirror.com/readdirp/3.6.0: + resolution: {integrity: sha1-dKNwvYVxFuJFspzJc0DNQxoCpsc=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/readdirp/download/readdirp-3.6.0.tgz} + name: readdirp + version: 3.6.0 + engines: {node: '>=8.10.0'} + dependencies: + picomatch: registry.npmmirror.com/picomatch/2.3.0 dev: true + registry.npmmirror.com/regexp.prototype.flags/1.3.1: + resolution: {integrity: sha1-fvNSro0VnnWMDq3Kb4/LTu8HviY=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/regexp.prototype.flags/download/regexp.prototype.flags-1.3.1.tgz} + name: regexp.prototype.flags + version: 1.3.1 + engines: {node: '>= 0.4'} + dependencies: + call-bind: registry.nlark.com/call-bind/1.0.2 + define-properties: registry.nlark.com/define-properties/1.1.3 + dev: false + registry.npmmirror.com/resolve/1.20.0: resolution: {integrity: sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/resolve/download/resolve-1.20.0.tgz} name: resolve @@ -6434,13 +6370,25 @@ packages: is-core-module: registry.npmmirror.com/is-core-module/2.8.0 path-parse: registry.nlark.com/path-parse/1.0.7 - registry.npmmirror.com/reusify/1.0.4: - resolution: {integrity: sha1-kNo4Kx4SbvwCFG6QhFqI2xKSXXY=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/reusify/download/reusify-1.0.4.tgz} - name: reusify - version: 1.0.4 - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + registry.npmmirror.com/resolve/1.21.0: + resolution: {integrity: sha512-3wCbTpk5WJlyE4mSOtDLhqQmGFi0/TD9VPwmiolnk8U0wRgMEktqCXd3vy5buTO3tljvalNvKrjHEfrd2WpEKA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/resolve/download/resolve-1.21.0.tgz} + name: resolve + version: 1.21.0 + hasBin: true + dependencies: + is-core-module: registry.npmmirror.com/is-core-module/2.8.0 + path-parse: registry.nlark.com/path-parse/1.0.7 + supports-preserve-symlinks-flag: registry.npmmirror.com/supports-preserve-symlinks-flag/1.0.0 dev: true + registry.npmmirror.com/resumer/0.0.0: + resolution: {integrity: sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/resumer/download/resumer-0.0.0.tgz} + name: resumer + version: 0.0.0 + dependencies: + through: registry.nlark.com/through/2.3.8 + dev: false + registry.npmmirror.com/rimraf/2.6.3: resolution: {integrity: sha1-stEE/g2Psnz54KHNqCYt04M8bKs=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rimraf/download/rimraf-2.6.3.tgz} name: rimraf @@ -6468,8 +6416,23 @@ packages: glob: registry.npmmirror.com/glob/7.2.0 dev: true + registry.npmmirror.com/rollup-plugin-visualizer/5.5.4: + resolution: {integrity: sha512-CJQFUuZ75S1daGEkk62UH7lL6UFCoP86Sn/iz4gXBdamdwFeD5nPGCHHXfXCrly/wNgQOYTH7cdcxk4+OG3Xjw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rollup-plugin-visualizer/download/rollup-plugin-visualizer-5.5.4.tgz} + name: rollup-plugin-visualizer + version: 5.5.4 + engines: {node: '>=12'} + hasBin: true + peerDependencies: + rollup: ^2.0.0 + dependencies: + nanoid: registry.npmmirror.com/nanoid/3.1.32 + open: registry.npmmirror.com/open/8.4.0 + source-map: registry.nlark.com/source-map/0.7.3 + yargs: registry.npmmirror.com/yargs/17.3.1 + dev: true + registry.npmmirror.com/rollup/0.25.8: - resolution: {integrity: sha1-v2zoO4dRDRY0Ru6qV37WpvxYNeA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rollup/download/rollup-0.25.8.tgz} + resolution: {integrity: sha1-v2zoO4dRDRY0Ru6qV37WpvxYNeA=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rollup/download/rollup-0.25.8.tgz} name: rollup version: 0.25.8 hasBin: true @@ -6525,12 +6488,35 @@ packages: dev: true registry.npmmirror.com/seemly/0.3.3: - resolution: {integrity: sha512-mAyqemz41e9HiZPMXAn7NtTExJgztwco5cdZjrt/iViU/oFeav+Q8K1c93M/tIZZ00QkT65JMr4xXQk7Vv5hWQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/seemly/download/seemly-0.3.3.tgz} + resolution: {integrity: sha512-mAyqemz41e9HiZPMXAn7NtTExJgztwco5cdZjrt/iViU/oFeav+Q8K1c93M/tIZZ00QkT65JMr4xXQk7Vv5hWQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/seemly/download/seemly-0.3.3.tgz} name: seemly version: 0.3.3 dependencies: '@types/jest': registry.npmmirror.com/@types/jest/27.4.0 + registry.npmmirror.com/shebang-command/2.0.0: + resolution: {integrity: sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/shebang-command/download/shebang-command-2.0.0.tgz} + name: shebang-command + version: 2.0.0 + engines: {node: '>=8'} + dependencies: + shebang-regex: registry.npmmirror.com/shebang-regex/3.0.0 + dev: true + + registry.npmmirror.com/shebang-regex/1.0.0: + resolution: {integrity: sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/shebang-regex/download/shebang-regex-1.0.0.tgz} + name: shebang-regex + version: 1.0.0 + engines: {node: '>=0.10.0'} + dev: true + + registry.npmmirror.com/shebang-regex/3.0.0: + resolution: {integrity: sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/shebang-regex/download/shebang-regex-3.0.0.tgz} + name: shebang-regex + version: 3.0.0 + engines: {node: '>=8'} + dev: true + registry.npmmirror.com/signal-exit/3.0.6: resolution: {integrity: sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/signal-exit/download/signal-exit-3.0.6.tgz} name: signal-exit @@ -6693,6 +6679,13 @@ packages: engines: {node: '>=12'} dev: true + registry.npmmirror.com/supports-preserve-symlinks-flag/1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/supports-preserve-symlinks-flag/download/supports-preserve-symlinks-flag-1.0.0.tgz} + name: supports-preserve-symlinks-flag + version: 1.0.0 + engines: {node: '>= 0.4'} + dev: true + registry.npmmirror.com/tape/4.14.0: resolution: {integrity: sha1-5NRgl+EpgXF1uQkl8jhfaxvPqCY=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tape/download/tape-4.14.0.tgz} name: tape @@ -6711,7 +6704,7 @@ packages: minimist: registry.nlark.com/minimist/1.2.5 object-inspect: registry.npmmirror.com/object-inspect/1.11.1 resolve: registry.npmmirror.com/resolve/1.20.0 - resumer: registry.nlark.com/resumer/0.0.0 + resumer: registry.npmmirror.com/resumer/0.0.0 string.prototype.trim: registry.npmmirror.com/string.prototype.trim/1.2.5 through: registry.nlark.com/through/2.3.8 dev: false @@ -6883,11 +6876,11 @@ packages: - webpack dev: true - registry.npmmirror.com/unplugin-vue-components/0.17.11_vite@2.7.12+vue@3.2.26: - resolution: {integrity: sha512-u5MQ0TbikszRelCt6EA/HskGtGkGLDxi7tQ4/4tcEPWkH3yXSZRJCOeLF5MSdxN1SiGjaJ0I9zeHjoZFC3FvRw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/unplugin-vue-components/download/unplugin-vue-components-0.17.11.tgz} - id: registry.npmmirror.com/unplugin-vue-components/0.17.11 + registry.npmmirror.com/unplugin-vue-components/0.17.13_vite@2.7.12+vue@3.2.26: + resolution: {integrity: sha512-WII6hAW+HSvlXDx4t0LqcAvLg4ESsoBz1nuUDMPx6ZGuKBPjSRP4Wmnk559nZ6qpaOW41iY48cBeUpWSPjH7WA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/unplugin-vue-components/download/unplugin-vue-components-0.17.13.tgz} + id: registry.npmmirror.com/unplugin-vue-components/0.17.13 name: unplugin-vue-components - version: 0.17.11 + version: 0.17.13 engines: {node: '>=14'} peerDependencies: '@babel/parser': ^7.15.8 @@ -6899,18 +6892,19 @@ packages: '@babel/traverse': optional: true dependencies: - '@antfu/utils': registry.npmmirror.com/@antfu/utils/0.3.0 + '@antfu/utils': registry.npmmirror.com/@antfu/utils/0.4.0 '@rollup/pluginutils': registry.npmmirror.com/@rollup/pluginutils/4.1.2 chokidar: registry.npmmirror.com/chokidar/3.5.2 debug: registry.npmmirror.com/debug/4.3.3 - fast-glob: registry.nlark.com/fast-glob/3.2.7 - local-pkg: registry.npmmirror.com/local-pkg/0.4.0 + fast-glob: registry.npmmirror.com/fast-glob/3.2.11 + local-pkg: registry.npmmirror.com/local-pkg/0.4.1 magic-string: registry.nlark.com/magic-string/0.25.7 minimatch: registry.nlark.com/minimatch/3.0.4 - resolve: registry.nlark.com/resolve/1.20.0 - unplugin: registry.npmmirror.com/unplugin/0.2.21_vite@2.7.12 + resolve: registry.npmmirror.com/resolve/1.21.0 + unplugin: registry.npmmirror.com/unplugin/0.3.0_vite@2.7.12 vue: registry.npmmirror.com/vue/3.2.26 transitivePeerDependencies: + - esbuild - rollup - supports-color - vite @@ -6938,6 +6932,30 @@ packages: webpack-virtual-modules: registry.nlark.com/webpack-virtual-modules/0.4.3 dev: true + registry.npmmirror.com/unplugin/0.3.0_vite@2.7.12: + resolution: {integrity: sha512-9yLlOo+XC4NdIRgpkDSHOAHkQDq2x4mbuVNO/eKVa3C8WTn5wWGfzEFfRJFL8euqnX3Gf7hEur0AhXxy+WSwkg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/unplugin/download/unplugin-0.3.0.tgz} + id: registry.npmmirror.com/unplugin/0.3.0 + name: unplugin + version: 0.3.0 + peerDependencies: + esbuild: '>=0.13' + rollup: ^2.50.0 + vite: ^2.3.0 + webpack: 4 || 5 + peerDependenciesMeta: + esbuild: + optional: true + rollup: + optional: true + vite: + optional: true + webpack: + optional: true + dependencies: + vite: registry.npmmirror.com/vite/2.7.12_sass@1.48.0 + webpack-virtual-modules: registry.nlark.com/webpack-virtual-modules/0.4.3 + dev: true + registry.npmmirror.com/user-home/2.0.0: resolution: {integrity: sha1-nHC/2Babwdy/SGBODwS4tJzenp8=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/user-home/download/user-home-2.0.0.tgz} name: user-home @@ -6948,7 +6966,7 @@ packages: dev: true registry.npmmirror.com/vdirs/0.1.7_vue@3.2.26: - resolution: {integrity: sha512-MEUaLhV1jJyUqA2Ar4DfvlQx8jWs+PpCZ2dbM0ILelpMWGOybzt8ddL456VxeIbY/tkuDGT/Wzb8GG4LCuLuHw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vdirs/download/vdirs-0.1.7.tgz} + resolution: {integrity: sha512-MEUaLhV1jJyUqA2Ar4DfvlQx8jWs+PpCZ2dbM0ILelpMWGOybzt8ddL456VxeIbY/tkuDGT/Wzb8GG4LCuLuHw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vdirs/download/vdirs-0.1.7.tgz} id: registry.npmmirror.com/vdirs/0.1.7 name: vdirs version: 0.1.7 @@ -7055,7 +7073,7 @@ packages: dev: true registry.npmmirror.com/vooks/0.2.12_vue@3.2.26: - resolution: {integrity: sha512-iox0I3RZzxtKlcgYaStQYKEzWWGAduMmq+jS7OrNdQo1FgGfPMubGL3uGHOU9n97NIvfFDBGnpSvkWyb/NSn/Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vooks/download/vooks-0.2.12.tgz} + resolution: {integrity: sha512-iox0I3RZzxtKlcgYaStQYKEzWWGAduMmq+jS7OrNdQo1FgGfPMubGL3uGHOU9n97NIvfFDBGnpSvkWyb/NSn/Q==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vooks/download/vooks-0.2.12.tgz} id: registry.npmmirror.com/vooks/0.2.12 name: vooks version: 0.2.12 @@ -7133,42 +7151,33 @@ packages: version: 3.17.0-next.5 dev: true - registry.npmmirror.com/vscode-languageserver/8.0.0-next.5: - resolution: {integrity: sha512-3E2W0eWtGKb6QAJqspOnD0thrBRRo8IGUMV5jpDNMcMKvmtkcxMwsBh0VxdvuWaZ51PiNyR4L+B+GUvkYsyFEg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vscode-languageserver/download/vscode-languageserver-8.0.0-next.5.tgz} - name: vscode-languageserver - version: 8.0.0-next.5 - hasBin: true - dependencies: - vscode-languageserver-protocol: registry.npmmirror.com/vscode-languageserver-protocol/3.17.0-next.11 - dev: true - registry.npmmirror.com/vscode-nls/5.0.0: resolution: {integrity: sha1-mfDaC9nqfNpE5WWnTFSx8rwleEA=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vscode-nls/download/vscode-nls-5.0.0.tgz} name: vscode-nls version: 5.0.0 dev: true - registry.npmmirror.com/vscode-pug-languageservice/0.30.2: - resolution: {integrity: sha512-YkrBodqSzNrtLaEIeMnRJAcnqCWysIiOdkzxF6XHuOc+wDvbZ1U4XgxoLvNNjQdzNQIEYKbsLW0ldq5TYphjiA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vscode-pug-languageservice/download/vscode-pug-languageservice-0.30.2.tgz} + registry.npmmirror.com/vscode-pug-languageservice/0.30.4: + resolution: {integrity: sha512-YICdZ3u+Ww+/tKgzwlV6GmE0A0IHMoYaPyxbtvAXOfRkRHs7K3Pxr9a4vwXVa12jwaIzGDAxHAtMK9ATy+BXBg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vscode-pug-languageservice/download/vscode-pug-languageservice-0.30.4.tgz} name: vscode-pug-languageservice - version: 0.30.2 + version: 0.30.4 dependencies: - '@volar/code-gen': registry.npmmirror.com/@volar/code-gen/0.30.2 - '@volar/shared': registry.npmmirror.com/@volar/shared/0.30.2 - '@volar/source-map': registry.npmmirror.com/@volar/source-map/0.30.2 - '@volar/transforms': registry.npmmirror.com/@volar/transforms/0.30.2 + '@volar/code-gen': registry.npmmirror.com/@volar/code-gen/0.30.4 + '@volar/shared': registry.npmmirror.com/@volar/shared/0.30.4 + '@volar/source-map': registry.npmmirror.com/@volar/source-map/0.30.4 + '@volar/transforms': registry.npmmirror.com/@volar/transforms/0.30.4 pug-lexer: registry.nlark.com/pug-lexer/5.0.1 pug-parser: registry.nlark.com/pug-parser/6.0.0 vscode-languageserver-textdocument: registry.npmmirror.com/vscode-languageserver-textdocument/1.0.3 vscode-languageserver-types: registry.npmmirror.com/vscode-languageserver-types/3.17.0-next.5 dev: true - registry.npmmirror.com/vscode-typescript-languageservice/0.30.2: - resolution: {integrity: sha512-5l+gMfbHTZnJy7V7xdH78ai1ViR/scrIVQT5KFraDWLKTYHjGBkHDZ1E9fF+jbeyEizyy2ayldTQ7kCz8jWqVA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vscode-typescript-languageservice/download/vscode-typescript-languageservice-0.30.2.tgz} + registry.npmmirror.com/vscode-typescript-languageservice/0.30.4: + resolution: {integrity: sha512-fWIE6VqU1zuMU99sPNGZiUBPBD5VLf8MDMo9fLh1nFm8udUjvHeDeWEFfNPWKU894RqqL6CCKOo0Y6SOJsi12A==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vscode-typescript-languageservice/download/vscode-typescript-languageservice-0.30.4.tgz} name: vscode-typescript-languageservice - version: 0.30.2 + version: 0.30.4 dependencies: - '@volar/shared': registry.npmmirror.com/@volar/shared/0.30.2 + '@volar/shared': registry.npmmirror.com/@volar/shared/0.30.4 semver: registry.nlark.com/semver/7.3.5 upath: registry.nlark.com/upath/2.0.1 vscode-languageserver-protocol: registry.npmmirror.com/vscode-languageserver-protocol/3.17.0-next.11 @@ -7188,30 +7197,28 @@ packages: version: 3.0.3 dev: true - registry.npmmirror.com/vscode-vue-languageservice/0.30.2: - resolution: {integrity: sha512-P0g92JmnVkV2zrWhDbT2zxuOUp0X2kMM9VHlrT7ALZq8wAhPOW0B4nhhb9a6jKBh6qqFBDquNeQRvTEZp4NJMA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vscode-vue-languageservice/download/vscode-vue-languageservice-0.30.2.tgz} + registry.npmmirror.com/vscode-vue-languageservice/0.30.4: + resolution: {integrity: sha512-YBZwAjulR9gbPDVXp/BZsw3rNK0eDLQaheafsNsxIYrGJglHRKWLezv3az8/Qf99itsLGQauOzekyI7SKKyNfg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vscode-vue-languageservice/download/vscode-vue-languageservice-0.30.4.tgz} name: vscode-vue-languageservice - version: 0.30.2 - dependencies: - '@volar/code-gen': registry.npmmirror.com/@volar/code-gen/0.30.2 - '@volar/html2pug': registry.npmmirror.com/@volar/html2pug/0.30.2 - '@volar/shared': registry.npmmirror.com/@volar/shared/0.30.2 - '@volar/source-map': registry.npmmirror.com/@volar/source-map/0.30.2 - '@volar/transforms': registry.npmmirror.com/@volar/transforms/0.30.2 - '@volar/vue-code-gen': registry.npmmirror.com/@volar/vue-code-gen/0.30.2 + version: 0.30.4 + dependencies: + '@volar/code-gen': registry.npmmirror.com/@volar/code-gen/0.30.4 + '@volar/html2pug': registry.npmmirror.com/@volar/html2pug/0.30.4 + '@volar/shared': registry.npmmirror.com/@volar/shared/0.30.4 + '@volar/source-map': registry.npmmirror.com/@volar/source-map/0.30.4 + '@volar/transforms': registry.npmmirror.com/@volar/transforms/0.30.4 + '@volar/vue-code-gen': registry.npmmirror.com/@volar/vue-code-gen/0.30.4 '@vscode/emmet-helper': registry.npmmirror.com/@vscode/emmet-helper/2.8.3 '@vue/reactivity': registry.npmmirror.com/@vue/reactivity/3.2.26 '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.26 - request-light: registry.npmmirror.com/request-light/0.5.6 upath: registry.nlark.com/upath/2.0.1 vscode-css-languageservice: registry.npmmirror.com/vscode-css-languageservice/5.1.9 vscode-html-languageservice: registry.npmmirror.com/vscode-html-languageservice/4.2.1 vscode-json-languageservice: registry.npmmirror.com/vscode-json-languageservice/4.1.10 - vscode-languageserver: registry.npmmirror.com/vscode-languageserver/8.0.0-next.5 vscode-languageserver-protocol: registry.npmmirror.com/vscode-languageserver-protocol/3.17.0-next.11 vscode-languageserver-textdocument: registry.npmmirror.com/vscode-languageserver-textdocument/1.0.3 - vscode-pug-languageservice: registry.npmmirror.com/vscode-pug-languageservice/0.30.2 - vscode-typescript-languageservice: registry.npmmirror.com/vscode-typescript-languageservice/0.30.2 + vscode-pug-languageservice: registry.npmmirror.com/vscode-pug-languageservice/0.30.4 + vscode-typescript-languageservice: registry.npmmirror.com/vscode-typescript-languageservice/0.30.4 dev: true registry.npmmirror.com/vue-demi/0.12.1_vue@3.2.26: @@ -7232,7 +7239,7 @@ packages: vue: registry.npmmirror.com/vue/3.2.26 dev: false - registry.npmmirror.com/vue-eslint-parser/8.0.1_eslint@8.6.0: + registry.npmmirror.com/vue-eslint-parser/8.0.1_eslint@8.7.0: resolution: {integrity: sha1-JeCLIKQUVRUx8+GfmZkC4ez0XxM=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vue-eslint-parser/download/vue-eslint-parser-8.0.1.tgz} id: registry.npmmirror.com/vue-eslint-parser/8.0.1 name: vue-eslint-parser @@ -7242,7 +7249,7 @@ packages: eslint: '>=6.0.0' dependencies: debug: registry.npmmirror.com/debug/4.3.3 - eslint: registry.npmmirror.com/eslint/8.6.0 + eslint: registry.npmmirror.com/eslint/8.7.0 eslint-scope: registry.npmmirror.com/eslint-scope/6.0.0 eslint-visitor-keys: registry.npmmirror.com/eslint-visitor-keys/3.1.0 espree: registry.npmmirror.com/espree/9.3.0 @@ -7265,18 +7272,18 @@ packages: vue: registry.npmmirror.com/vue/3.2.26 dev: false - registry.npmmirror.com/vue-tsc/0.30.2_typescript@4.5.4: - resolution: {integrity: sha512-A8KIk5KwQTbSdsrDxwJkFYLPqDJ1zM86w3X8cgpi6rveozKUGDMPt300awEz61sTuBM9fAfUhNRcsWbsJ1I+TQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vue-tsc/download/vue-tsc-0.30.2.tgz} - id: registry.npmmirror.com/vue-tsc/0.30.2 + registry.npmmirror.com/vue-tsc/0.30.4_typescript@4.5.4: + resolution: {integrity: sha512-JSgBKy/V5n1cGWr4+rtXr+f04FBIJl3tX4u24SLDvUJhVMXKvMMyygjHKs9mg0w8vhdLPvv+/JK3qHi9V7MR5w==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vue-tsc/download/vue-tsc-0.30.4.tgz} + id: registry.npmmirror.com/vue-tsc/0.30.4 name: vue-tsc - version: 0.30.2 + version: 0.30.4 hasBin: true peerDependencies: typescript: '*' dependencies: - '@volar/shared': registry.npmmirror.com/@volar/shared/0.30.2 + '@volar/shared': registry.npmmirror.com/@volar/shared/0.30.4 typescript: registry.npmmirror.com/typescript/4.5.4 - vscode-vue-languageservice: registry.npmmirror.com/vscode-vue-languageservice/0.30.2 + vscode-vue-languageservice: registry.npmmirror.com/vscode-vue-languageservice/0.30.4 dev: true registry.npmmirror.com/vue/3.2.26: @@ -7291,11 +7298,11 @@ packages: '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.26 dev: false - registry.npmmirror.com/vueuc/0.4.22_7fea039e05dc0d0bb67319189a00d1ad: - resolution: {integrity: sha512-NqyBnS46+Fiuk9nEVqNocchRZ4PjVIzREA7lFOn/RrzpAjaX/3Srlee8BmIkNGhVcvrd7oCOgOl/vv12ls1C+Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vueuc/download/vueuc-0.4.22.tgz} - id: registry.npmmirror.com/vueuc/0.4.22 + registry.npmmirror.com/vueuc/0.4.23_7fea039e05dc0d0bb67319189a00d1ad: + resolution: {integrity: sha512-8I5FFBwcgnMDFQBWVOg2uJPrk7vh+CeaRNEuiKtnn2QWKr5dqYs6+A93pQfErEIugc8nq61slj2siw0JAcxYeQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vueuc/download/vueuc-0.4.23.tgz} + id: registry.npmmirror.com/vueuc/0.4.23 name: vueuc - version: 0.4.22 + version: 0.4.23 peerDependencies: '@css-render/vue3-ssr': ^0.15.7 vue: ^3.0.11 @@ -7310,11 +7317,11 @@ packages: vue: registry.npmmirror.com/vue/3.2.26 dev: false - registry.npmmirror.com/vueuc/0.4.22_vue@3.2.26: - resolution: {integrity: sha512-NqyBnS46+Fiuk9nEVqNocchRZ4PjVIzREA7lFOn/RrzpAjaX/3Srlee8BmIkNGhVcvrd7oCOgOl/vv12ls1C+Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vueuc/download/vueuc-0.4.22.tgz} - id: registry.npmmirror.com/vueuc/0.4.22 + registry.npmmirror.com/vueuc/0.4.23_vue@3.2.26: + resolution: {integrity: sha512-8I5FFBwcgnMDFQBWVOg2uJPrk7vh+CeaRNEuiKtnn2QWKr5dqYs6+A93pQfErEIugc8nq61slj2siw0JAcxYeQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vueuc/download/vueuc-0.4.23.tgz} + id: registry.npmmirror.com/vueuc/0.4.23 name: vueuc - version: 0.4.22 + version: 0.4.23 peerDependencies: '@css-render/vue3-ssr': ^0.15.7 vue: ^3.0.11 @@ -7357,21 +7364,6 @@ packages: engines: {node: '>=12'} dev: true - registry.npmmirror.com/yargs/16.2.0: - resolution: {integrity: sha1-HIK/D2tqZur85+8w43b0mhJHf2Y=, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/yargs/download/yargs-16.2.0.tgz} - name: yargs - version: 16.2.0 - engines: {node: '>=10'} - dependencies: - cliui: registry.nlark.com/cliui/7.0.4 - escalade: registry.nlark.com/escalade/3.1.1 - get-caller-file: registry.nlark.com/get-caller-file/2.0.5 - require-directory: registry.nlark.com/require-directory/2.1.1 - string-width: registry.npmmirror.com/string-width/4.2.3 - y18n: registry.nlark.com/y18n/5.0.8 - yargs-parser: registry.npmmirror.com/yargs-parser/20.2.9 - dev: true - registry.npmmirror.com/yargs/17.3.1: resolution: {integrity: sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/yargs/download/yargs-17.3.1.tgz} name: yargs diff --git a/src/App.vue b/src/App.vue index 32af11c23..3675bcbd8 100644 --- a/src/App.vue +++ b/src/App.vue @@ -5,6 +5,15 @@ diff --git a/src/composables/common/index.ts b/src/composables/common/index.ts index 2d2a11c3c..ad404928b 100644 --- a/src/composables/common/index.ts +++ b/src/composables/common/index.ts @@ -1,3 +1,4 @@ export * from './system'; export * from './router'; +export * from './theme'; export * from './layout'; diff --git a/src/composables/common/theme.ts b/src/composables/common/theme.ts new file mode 100644 index 000000000..ef23e6460 --- /dev/null +++ b/src/composables/common/theme.ts @@ -0,0 +1,37 @@ +import { watch, onUnmounted } from 'vue'; +import { useOsTheme } from 'naive-ui'; +import { useElementSize } from '@vueuse/core'; +import { useThemeStore } from '@/store'; + +export function useTheme() { + const osTheme = useOsTheme(); + const theme = useThemeStore(); + const { width } = useElementSize(document.documentElement); + + /** 监听操作系统主题模式 */ + const stopHandle = watch( + osTheme, + newValue => { + const isDark = newValue === 'dark'; + theme.setDarkMode(isDark); + }, + { immediate: true } + ); + + /** + * 禁用横向滚动 + * @description 页面切换时,过渡动画会产生水平方向的滚动条, 小于最小宽度时,不禁止 + */ + const anotherStopHandle = watch(width, newValue => { + if (newValue < theme.layout.minWidth) { + document.documentElement.style.overflowX = 'auto'; + } else { + document.documentElement.style.overflowX = 'hidden'; + } + }); + + onUnmounted(() => { + stopHandle(); + anotherStopHandle(); + }); +} diff --git a/src/config/common/service.ts b/src/config/common/service.ts index 9eeec4096..07f0d9267 100644 --- a/src/config/common/service.ts +++ b/src/config/common/service.ts @@ -42,5 +42,5 @@ export const ERROR_STATUS = { /** 不弹出错误信息的code */ export const NO_ERROR_MSG_CODE: (string | number)[] = []; -/** token失效需要刷新token的接口 */ +/** token失效需要刷新token的code */ export const REFRESH_TOKEN_CODE: (string | number)[] = [66666]; diff --git a/src/hooks/common/index.ts b/src/hooks/common/index.ts index 4b5fa7300..540bc1e8c 100644 --- a/src/hooks/common/index.ts +++ b/src/hooks/common/index.ts @@ -3,6 +3,7 @@ import useBoolean from './useBoolean'; import useLoading from './useLoading'; import useLoadingEmpty from './useLoadingEmpty'; import useReload from './useReload'; +import useBodyScroll from './useBodyScroll'; import useModalVisible from './useModalVisible'; -export { useContext, useBoolean, useLoading, useLoadingEmpty, useReload, useModalVisible }; +export { useContext, useBoolean, useLoading, useLoadingEmpty, useReload, useBodyScroll, useModalVisible }; diff --git a/src/hooks/common/useBodyScroll.ts b/src/hooks/common/useBodyScroll.ts new file mode 100644 index 000000000..64a0adbf8 --- /dev/null +++ b/src/hooks/common/useBodyScroll.ts @@ -0,0 +1,47 @@ +interface ScrollBodyStyle { + overflow: string; + paddingRight: string; +} + +/** + * body标签滚动 + * @param duration - 显示滚动条的延迟时间 + */ +export default function useBodyScroll(duration = 300) { + const defaultStyle: ScrollBodyStyle = { + overflow: '', + paddingRight: '' + }; + function getInitBodyStyle() { + const { overflow, paddingRight } = document.body.style; + Object.assign(defaultStyle, { overflow, paddingRight }); + } + function setScrollBodyStyle() { + document.body.style.paddingRight = `${window.innerWidth - document.body.clientWidth}px`; + document.body.style.overflow = 'hidden'; + } + function resetScrollBodyStyle() { + document.body.style.overflow = defaultStyle.overflow; + document.body.style.paddingRight = defaultStyle.paddingRight; + } + + /** + * 处理body的滚动条 + * @param hideScroll - 禁止滚动 + */ + function scrollBodyHandler(hideScroll: boolean) { + if (hideScroll) { + setScrollBodyStyle(); + } else { + setTimeout(() => { + resetScrollBodyStyle(); + }, duration); + } + } + + getInitBodyStyle(); + + return { + scrollBodyHandler + }; +} diff --git a/src/hooks/common/useModalVisible.ts b/src/hooks/common/useModalVisible.ts index 95159e0b3..66b76e88a 100644 --- a/src/hooks/common/useModalVisible.ts +++ b/src/hooks/common/useModalVisible.ts @@ -1,50 +1,18 @@ -import { computed, watch, onUnmounted } from 'vue'; -import type { ComputedRef } from 'vue'; +import { watch, onUnmounted } from 'vue'; import useBoolean from './useBoolean'; - -interface ScrollBodyStyle { - overflow: string; - paddingRight: string; -} +import useBodyScroll from './useBodyScroll'; /** * 使用弹窗 * @param hideScroll - 关闭html滚动条 - * @param duration - 显示滚动条的延迟时间 */ -export default function useModalVisible(hideScroll = true, duration = 300) { +export default function useModalVisible(hideScroll = true) { const { bool: visible, setTrue: openModal, setFalse: closeModal, toggle: toggleModal } = useBoolean(); + const { scrollBodyHandler } = useBodyScroll(); - const defaultStyle: ScrollBodyStyle = { - overflow: '', - paddingRight: '' - }; - function getInitBodyStyle() { - if (hideScroll) { - const { overflow, paddingRight } = document.body.style; - Object.assign(defaultStyle, { overflow, paddingRight }); - } - } - function setScrollBodyStyle() { - document.body.style.paddingRight = `${window.innerWidth - document.body.clientWidth}px`; - document.body.style.overflow = 'hidden'; - } - function resetScrollBodyStyle() { - document.body.style.overflow = defaultStyle.overflow; - document.body.style.paddingRight = defaultStyle.paddingRight; - } - - function modalVisibleWatcher(visible: ComputedRef) { + function modalVisibleWatcher() { const stopHandle = watch(visible, async newValue => { - if (hideScroll) { - if (newValue) { - setScrollBodyStyle(); - } else { - setTimeout(() => { - resetScrollBodyStyle(); - }, duration); - } - } + scrollBodyHandler(newValue); }); onUnmounted(() => { @@ -52,18 +20,14 @@ export default function useModalVisible(hideScroll = true, duration = 300) { }); } - function init() { - getInitBodyStyle(); - modalVisibleWatcher(computed(() => visible.value)); + if (hideScroll) { + modalVisibleWatcher(); } - init(); - return { visible, openModal, closeModal, - toggleModal, - modalVisibleWatcher + toggleModal }; } diff --git a/src/interface/system.ts b/src/interface/system.ts index d2faf2875..550b37b4d 100644 --- a/src/interface/system.ts +++ b/src/interface/system.ts @@ -1,9 +1,14 @@ -import type { MenuOption, DropdownOption } from 'naive-ui'; +import type { VNodeChild } from 'vue'; +import type { DropdownOption } from 'naive-ui'; /** 菜单项配置 */ -export type GlobalMenuOption = MenuOption & { +export type GlobalMenuOption = { + key: string; + label: string; routeName: string; routePath: string; + icon?: () => VNodeChild; + children?: GlobalMenuOption[]; }; /** 面包屑 */ diff --git a/src/layouts/common/GlobalHeader/components/ThemeMode.vue b/src/layouts/common/GlobalHeader/components/ThemeMode.vue index 1e61475ff..04429940c 100644 --- a/src/layouts/common/GlobalHeader/components/ThemeMode.vue +++ b/src/layouts/common/GlobalHeader/components/ThemeMode.vue @@ -1,6 +1,6 @@ @@ -9,6 +9,5 @@ import { HoverContainer, DarkModeSwitch } from '@/components'; import { useThemeStore } from '@/store'; const theme = useThemeStore(); -const { setDarkMode } = useThemeStore(); diff --git a/src/layouts/common/GlobalHeader/components/UserAvatar.vue b/src/layouts/common/GlobalHeader/components/UserAvatar.vue index a256980d8..88e386b2d 100644 --- a/src/layouts/common/GlobalHeader/components/UserAvatar.vue +++ b/src/layouts/common/GlobalHeader/components/UserAvatar.vue @@ -45,7 +45,7 @@ function handleDropdown(optionKey: string) { positiveText: '确定', negativeText: '取消', onPositiveClick: () => { - auth.resetAuthStore(true); + auth.resetAuthStore(); } }); } diff --git a/src/layouts/common/GlobalLogo/index.vue b/src/layouts/common/GlobalLogo/index.vue index a7dcda7e1..36c88224b 100644 --- a/src/layouts/common/GlobalLogo/index.vue +++ b/src/layouts/common/GlobalLogo/index.vue @@ -1,7 +1,9 @@ diff --git a/src/layouts/common/GlobalSider/components/SiderMenu.vue b/src/layouts/common/GlobalSider/components/SiderMenu.vue index 13ed9d352..0f203de7d 100644 --- a/src/layouts/common/GlobalSider/components/SiderMenu.vue +++ b/src/layouts/common/GlobalSider/components/SiderMenu.vue @@ -44,7 +44,7 @@ function getActiveKeysInMenus(menu: GlobalMenuOption) { keys.push(menu.routeName); } if (menu.children) { - keys.push(...menu.children.map(item => getActiveKeysInMenus(item as GlobalMenuOption)).flat()); + keys.push(...menu.children.map(item => getActiveKeysInMenus(item as GlobalMenuOption)).flat(1)); } return keys; } diff --git a/src/layouts/common/SettingDrawer/components/DrawerButton/index.vue b/src/layouts/common/SettingDrawer/components/DrawerButton/index.vue index 2cd2ecdf3..c289edf62 100644 --- a/src/layouts/common/SettingDrawer/components/DrawerButton/index.vue +++ b/src/layouts/common/SettingDrawer/components/DrawerButton/index.vue @@ -3,7 +3,7 @@ type="primary" :class="[{ '!right-330px': app.settingDrawerVisible }, app.settingDrawerVisible ? 'ease-out' : 'ease-in']" class="fixed top-240px right-14px z-10000 w-42px h-42px !p-0 transition-all duration-300" - @click="toggleSettingdrawerVisible" + @click="app.toggleSettingdrawerVisible" > @@ -15,6 +15,5 @@ import { NButton } from 'naive-ui'; import { useAppStore } from '@/store'; const app = useAppStore(); -const { toggleSettingdrawerVisible } = useAppStore(); diff --git a/src/layouts/common/SettingDrawer/components/PageFunc/index.vue b/src/layouts/common/SettingDrawer/components/PageFunc/index.vue index 04e6ca5da..22eadf0ab 100644 --- a/src/layouts/common/SettingDrawer/components/PageFunc/index.vue +++ b/src/layouts/common/SettingDrawer/components/PageFunc/index.vue @@ -2,7 +2,7 @@ 界面功能 - + @@ -19,7 +19,7 @@ size="small" :value="theme.header.height" :step="1" - @update:value="handleSetNumber($event, setHeaderHeight)" + @update:value="theme.setHeaderHeight" /> @@ -28,11 +28,11 @@ size="small" :value="theme.tab.height" :step="1" - @update:value="handleSetNumber($event, setTabHeight)" + @update:value="theme.setTabHeight" /> - + @@ -49,11 +49,11 @@ size="small" :value="theme.sider.mixWidth" :step="5" - @update:value="handleSetNumber($event, setMixSiderWidth)" + @update:value="theme.setMixSiderWidth" /> - + @@ -64,21 +64,5 @@ import { useThemeStore } from '@/store'; import SettingMenu from '../SettingMenu/index.vue'; const theme = useThemeStore(); -const { - setHorizontalMenuPosition, - setIsFixedHeaderAndTab, - setHeaderHeight, - setTabHeight, - setSiderWidth, - setMixSiderWidth, - setTabIsCache, - setFooterIsFixed -} = useThemeStore(); - -function handleSetNumber(value: number | null, callback: (value: number) => void) { - if (value !== null) { - callback(value); - } -} diff --git a/src/layouts/common/SettingDrawer/components/PageView/index.vue b/src/layouts/common/SettingDrawer/components/PageView/index.vue index 41e7e8116..a39954f09 100644 --- a/src/layouts/common/SettingDrawer/components/PageView/index.vue +++ b/src/layouts/common/SettingDrawer/components/PageView/index.vue @@ -2,13 +2,13 @@ 界面显示 - + - + - + - + @@ -40,13 +40,5 @@ import { useThemeStore } from '@/store'; import SettingMenu from '../SettingMenu/index.vue'; const theme = useThemeStore(); -const { - setHeaderCrumbVisible, - setHeaderCrumbIconVisible, - setTabVisible, - setTabMode, - setPageIsAnimate, - setPageAnimateMode -} = useThemeStore(); diff --git a/src/router/guard/permission.ts b/src/router/guard/permission.ts index e71aa149f..efcb78194 100644 --- a/src/router/guard/permission.ts +++ b/src/router/guard/permission.ts @@ -12,7 +12,6 @@ export async function handlePagePermission( ) { const auth = useAuthStore(); const route = useRouteStore(); - const { initDynamicRoute } = useRouteStore(); const isLogin = Boolean(getToken()); const permissions = to.meta.permissions || []; @@ -21,7 +20,7 @@ export async function handlePagePermission( if (!route.isAddedDynamicRoute) { // 添加动态路由 - await initDynamicRoute(router); + await route.initDynamicRoute(router); if (to.name === routeName('not-found-page')) { // 动态路由没有加载导致被not-found-page路由捕获,等待动态路由加载好了,回到之前的路由 diff --git a/src/service/request/helpers.ts b/src/service/request/helpers.ts index 030d22603..2f3a3200d 100644 --- a/src/service/request/helpers.ts +++ b/src/service/request/helpers.ts @@ -5,7 +5,7 @@ import { fetchUpdateToken } from '../api'; /** * 刷新token - * token失效时的请求配置 + * @param axiosConfig - token失效时的请求配置 */ export async function refreshToken(axiosConfig: AxiosRequestConfig) { const { resetAuthStore } = useAuthStore(); @@ -21,6 +21,6 @@ export async function refreshToken(axiosConfig: AxiosRequestConfig) { return config; } - resetAuthStore(true); + resetAuthStore(); return null; } diff --git a/src/store/index.ts b/src/store/index.ts index c082cb068..a8d53ce27 100644 --- a/src/store/index.ts +++ b/src/store/index.ts @@ -7,3 +7,4 @@ export function setupStore(app: App) { } export * from './modules'; +export * from './subscribe'; diff --git a/src/store/modules/app/index.ts b/src/store/modules/app/index.ts index 74d1cf785..97dea125a 100644 --- a/src/store/modules/app/index.ts +++ b/src/store/modules/app/index.ts @@ -1,66 +1,63 @@ -import type { Ref } from 'vue'; +import { nextTick } from 'vue'; import { defineStore } from 'pinia'; -import { useReload, useModalVisible, useBoolean } from '@/hooks'; -interface AppStore { - /** 重载页面的标志 */ - reloadFlag: Ref; - /** - * 触发重载页面 - * @param duration - 延迟时间(ms, 默认0) - */ - handleReload(duration?: number): void; - /** 设置抽屉可见状态 */ - settingDrawerVisible: Ref; - /** 打开设置抽屉 */ - openSettingDrawer(): void; - /** 关闭设置抽屉 */ - closeSettingDrawer(): void; - /** 切换抽屉可见状态 */ - toggleSettingdrawerVisible(): void; +interface AppState { + /** 重载页面(控制页面的显示) */ + reloadFlag: boolean; + /** 项目配置的抽屉可见状态 */ + settingDrawerVisible: boolean; /** 侧边栏折叠状态 */ - siderCollapse: Ref; - /** 折叠/展开 侧边栏折叠状态 */ - toggleSiderCollapse(): void; - /** 设置侧边栏折叠状态 */ - setSiderCollapse(collapse: boolean): void; + siderCollapse: boolean; /** vertical-mix模式下 侧边栏的固定状态 */ - mixSiderFixed: Ref; - /** 设置 vertical-mix模式下 侧边栏的固定状态 */ - setMixSiderIsFixed(isFixed: boolean): void; + mixSiderFixed: boolean; } -export const useAppStore = defineStore('app-store', () => { - // 重新加载页面 - const { reloadFlag, handleReload } = useReload(); - - // 设置抽屉 - const { - visible: settingDrawerVisible, - openModal: openSettingDrawer, - closeModal: closeSettingDrawer, - toggleModal: toggleSettingdrawerVisible - } = useModalVisible(); - - // 侧边栏的折叠状态 - const { bool: siderCollapse, setBool: setSiderCollapse, toggle: toggleSiderCollapse } = useBoolean(); - - // vertical-mix模式下 侧边栏的固定状态 - const { bool: mixSiderFixed, setBool: setMixSiderIsFixed } = useBoolean(); - - const appStore: AppStore = { - reloadFlag, - handleReload, - settingDrawerVisible, - openSettingDrawer, - closeSettingDrawer, - toggleSettingdrawerVisible, - siderCollapse, - setSiderCollapse, - toggleSiderCollapse, - mixSiderFixed, - setMixSiderIsFixed - }; - - return appStore; +export const useAppStore = defineStore('app-store', { + state: (): AppState => ({ + reloadFlag: true, + settingDrawerVisible: false, + siderCollapse: false, + mixSiderFixed: false + }), + actions: { + /** + * 重载页面 + * @param duration - 重载的延迟时间(ms) + */ + async reloadPage(duration = 0) { + this.reloadFlag = false; + await nextTick(); + if (duration) { + setTimeout(() => { + this.reloadFlag = true; + }, duration); + } else { + this.reloadFlag = true; + } + }, + /** 打开设置抽屉 */ + openSettingDrawer() { + this.settingDrawerVisible = true; + }, + /** 关闭设置抽屉 */ + closeSettingDrawer() { + this.settingDrawerVisible = false; + }, + /** 切换抽屉可见状态 */ + toggleSettingdrawerVisible() { + this.settingDrawerVisible = !this.settingDrawerVisible; + }, + /** 设置侧边栏折叠状态 */ + setSiderCollapse(collapse: boolean) { + this.siderCollapse = collapse; + }, + /** 折叠/展开 侧边栏折叠状态 */ + toggleSiderCollapse() { + this.siderCollapse = !this.siderCollapse; + }, + /** 设置 vertical-mix模式下 侧边栏的固定状态 */ + setMixSiderIsFixed(isFixed: boolean) { + this.mixSiderFixed = isFixed; + } + } }); diff --git a/src/store/modules/auth/index.ts b/src/store/modules/auth/index.ts index f19b914ee..422ab206b 100644 --- a/src/store/modules/auth/index.ts +++ b/src/store/modules/auth/index.ts @@ -1,112 +1,92 @@ -import { ref, computed, reactive, unref } from 'vue'; -import type { Ref, ComputedRef } from 'vue'; +import { unref } from 'vue'; import { defineStore } from 'pinia'; import { router as globalRouter } from '@/router'; import { useRouterPush } from '@/composables'; -import { useLoading } from '@/hooks'; import { fetchLogin, fetchUserInfo } from '@/service'; import { getUserInfo, getToken, setUserInfo, setToken, setRefreshToken, clearAuthStorage } from '@/utils'; -interface AuthStore { +interface AuthState { /** 用户信息 */ userInfo: Auth.UserInfo; /** 用户token */ - token: Ref; - /** 是否登录 */ - isLogin: ComputedRef; - /** - * 重置authStore - * 是否需要跳转页面(例如当前页面是需要权限的,登出后需要跳转到登录页面) - */ - resetAuthStore(pushRoute: boolean): void; + token: string; /** 登录的加载状态 */ - loginLoding: Ref; - /** - * 登录 - * @param phone - 手机号 - * @param pwdOrCode - 密码或验证码 - * @param type - 登录方式: pwd - 密码登录; sms - 验证码登录 - */ - login(phone: string, pwdOrCode: string, type: 'pwd' | 'sms'): void; + loginLoding: boolean; } -export const useAuthStore = defineStore('auth-store', () => { - const { toLogin, toLoginRedirect } = useRouterPush(false); - - const userInfo: Auth.UserInfo = reactive(getUserInfo()); - function handleSetUserInfo(data: Auth.UserInfo) { - Object.assign(userInfo, data); - } - - const token = ref(getToken()); - function handleSetToken(data: string) { - token.value = data; - } - - const isLogin = computed(() => Boolean(token.value)); - - const { loading: loginLoding, startLoading: startLoginLoading, endLoading: endLoginLoading } = useLoading(); +export const useAuthStore = defineStore('auth-store', { + state: (): AuthState => ({ + userInfo: getUserInfo(), + token: getToken(), + loginLoding: false + }), + getters: { + /** 是否登录 */ + isLogin(state) { + return Boolean(state.token); + } + }, + actions: { + /** 重置auth状态 */ + resetAuthStore() { + const { toLogin } = useRouterPush(false); + const route = unref(globalRouter.currentRoute); - function resetStore() { - handleSetUserInfo(getUserInfo()); - handleSetToken(getToken()); - } + clearAuthStorage(); + this.$reset(); - function resetAuthStore(pushRoute: boolean = true) { - const route = unref(globalRouter.currentRoute); + if (route.meta.requiresAuth) { + toLogin(); + } + }, + /** + * 根据token进行登录 + * @param backendToken - 返回的token + */ + async loginByToken(backendToken: ApiAuth.Token) { + const { toLoginRedirect } = useRouterPush(false); - clearAuthStorage(); - resetStore(); + // 先把token存储到缓存中 + const { token, refreshToken } = backendToken; + setToken(token); + setRefreshToken(refreshToken); - if (pushRoute && route.meta.requiresAuth) { - toLogin(); - } - } + // 获取用户信息 + const { data } = await fetchUserInfo(); + if (data) { + // 成功后把用户信息存储到缓存中 + setUserInfo(data); - async function login(phone: string, pwdOrCode: string, type: 'pwd' | 'sms') { - startLoginLoading(); - const { data } = await fetchLogin(phone, pwdOrCode, type); - if (data) { - await loginByToken(data); - } - endLoginLoading(); - } + // 更新状态 + Object.assign(this, { userInfo: data, token }); - async function loginByToken(backendToken: ApiAuth.Token) { - // 1.先把token存储到缓存中 - const { token, refreshToken } = backendToken; - setToken(token); - setRefreshToken(refreshToken); + // 跳转登录后的地址 + toLoginRedirect(); - // 2.获取用户信息 - const { data } = await fetchUserInfo(); - if (data) { - // 成功后把用户信息存储到缓存中 - setUserInfo(data); - handleSetToken(token); - handleSetUserInfo(data); - // 3. 跳转登录后的地址 - toLoginRedirect(); - // 4.登录成功弹出欢迎提示 - window.$notification?.success({ - title: '登录成功!', - content: `欢迎回来,${userInfo.userName}!`, - duration: 3000 - }); - } else { - // 不成功则重置状态 - resetAuthStore(false); + // 登录成功弹出欢迎提示 + window.$notification?.success({ + title: '登录成功!', + content: `欢迎回来,${data.userName}!`, + duration: 3000 + }); + } else { + // 不成功则重置状态 + this.resetAuthStore(); + } + }, + /** + * 登录 + * @param phone - 手机号 + * @param pwdOrCode - 密码或验证码 + * @param type - 登录方式: pwd - 密码登录; sms - 验证码登录 + */ + async login(phone: string, pwdOrCode: string, type: 'pwd' | 'sms') { + this.loginLoding = true; + const { data } = await fetchLogin(phone, pwdOrCode, type); + if (data) { + await this.loginByToken(data); + } + this.loginLoding = false; } } - - const authStore: AuthStore = { - userInfo, - token, - isLogin, - resetAuthStore, - loginLoding, - login - }; - - return authStore; }); diff --git a/src/store/modules/route/index.ts b/src/store/modules/route/index.ts index b4a196bea..0e758ddaa 100644 --- a/src/store/modules/route/index.ts +++ b/src/store/modules/route/index.ts @@ -1,49 +1,38 @@ -import { ref } from 'vue'; -import type { Ref } from 'vue'; import type { Router } from 'vue-router'; import { defineStore } from 'pinia'; -import { useBoolean } from '@/hooks'; import { fetchUserRoutes } from '@/service'; import { transformAuthRouteToMenu, transformAuthRoutesToVueRoutes } from '@/utils'; import type { GlobalMenuOption } from '@/interface'; -/** 路由状态 */ -interface RouteStore { +interface RouteState { /** 是否添加过动态路由 */ - isAddedDynamicRoute: Ref; - /** 初始化动态路由 */ - initDynamicRoute(router: Router): Promise; + isAddedDynamicRoute: boolean; /** 菜单 */ - menus: Ref; + menus: GlobalMenuOption[]; } -export const useRouteStore = defineStore('route-store', () => { - const menus = ref([]) as Ref; - function getMenus(data: AuthRoute.Route[]) { - const transform = transformAuthRouteToMenu(data); - menus.value = transform; - } - - const { bool: isAddedDynamicRoute, setTrue: setAddedDynamicRoute } = useBoolean(); - async function initDynamicRoute(router: Router) { - const { data } = await fetchUserRoutes(); - if (data) { - getMenus(data.routes); +export const useRouteStore = defineStore('route-store', { + state: (): RouteState => ({ + isAddedDynamicRoute: false, + menus: [] + }), + actions: { + /** + * 初始化动态路由 + * @param router - 路由实例 + */ + async initDynamicRoute(router: Router) { + const { data } = await fetchUserRoutes(); + if (data) { + this.menus = transformAuthRouteToMenu(data.routes); - const vueRoutes = transformAuthRoutesToVueRoutes(data.routes); - vueRoutes.forEach(route => { - router.addRoute(route); - }); + const vueRoutes = transformAuthRoutesToVueRoutes(data.routes); + vueRoutes.forEach(route => { + router.addRoute(route); + }); - setAddedDynamicRoute(); + this.isAddedDynamicRoute = true; + } } } - - const routeStore: RouteStore = { - isAddedDynamicRoute, - initDynamicRoute, - menus - }; - - return routeStore; }); diff --git a/src/store/modules/theme-old/helpers.ts b/src/store/modules/theme-old/helpers.ts new file mode 100644 index 000000000..4dc588f4f --- /dev/null +++ b/src/store/modules/theme-old/helpers.ts @@ -0,0 +1,102 @@ +import type { GlobalThemeOverrides } from 'naive-ui'; +import { kebabCase } from 'lodash-es'; +import { getColorPalette, addColorAlpha } from '@/utils'; + +type ColorType = 'primary' | 'info' | 'success' | 'warning' | 'error'; +type ColorScene = '' | 'Suppl' | 'Hover' | 'Pressed' | 'Active'; +type ColorKey = `${ColorType}Color${ColorScene}`; +type ThemeColor = { + [key in ColorKey]?: string; +}; +interface ColorAction { + scene: ColorScene; + handler: (color: string) => string; +} + +/** 获取主题颜色的各种场景对应的颜色 */ +function getThemeColors(colors: [ColorType, string][]) { + const colorActions: ColorAction[] = [ + { scene: '', handler: color => color }, + { scene: 'Suppl', handler: color => color }, + { scene: 'Hover', handler: color => getColorPalette(color, 5) }, + { scene: 'Pressed', handler: color => getColorPalette(color, 7) }, + { scene: 'Active', handler: color => addColorAlpha(color, 0.1) } + ]; + + const themeColor: ThemeColor = {}; + + colors.forEach(color => { + colorActions.forEach(action => { + const [colorType, colorValue] = color; + const colorKey: ColorKey = `${colorType}Color${action.scene}`; + themeColor[colorKey] = action.handler(colorValue); + }); + }); + + return themeColor; +} + +/** 获取naive的主题颜色 */ +export function getNaiveThemeOverrides(colors: { [key in ColorType]: string }): GlobalThemeOverrides { + const { primary, info, success, warning, error } = colors; + const themeColors = getThemeColors([ + ['primary', primary], + ['info', info], + ['success', success], + ['warning', warning], + ['error', error] + ]); + + const colorLoading = primary; + + return { + common: { + ...themeColors + }, + LoadingBar: { + colorLoading + } + }; +} + +type ThemeVars = Exclude; +type ThemeVarsKeys = keyof ThemeVars; + +/** 添加css vars至html */ +export function addThemeCssVarsToHtml(themeVars: ThemeVars, action: 'add' | 'update' = 'add') { + const keys = Object.keys(themeVars) as ThemeVarsKeys[]; + const style: string[] = []; + keys.forEach(key => { + style.push(`--${kebabCase(key)}: ${themeVars[key]}`); + }); + const styleStr = style.join(';'); + if (action === 'add') { + document.documentElement.style.cssText = styleStr; + } else { + document.documentElement.style.cssText += styleStr; + } +} + +/** + * 根据主题颜色更新css vars + * @param primaryColor + */ +export function updateThemeCssVarsByPrimary(primaryColor: string) { + const themeColor = getThemeColors([['primary', primaryColor]]); + addThemeCssVarsToHtml(themeColor, 'update'); +} + +/** windicss 暗黑模式 */ +export function handleWindicssDarkMode() { + const DARK_CLASS = 'dark'; + function addDarkClass() { + document.documentElement.classList.add(DARK_CLASS); + } + function removeDarkClass() { + document.documentElement.classList.remove(DARK_CLASS); + } + return { + addDarkClass, + removeDarkClass + }; +} diff --git a/src/store/modules/theme/hooks.ts b/src/store/modules/theme-old/hooks.ts similarity index 100% rename from src/store/modules/theme/hooks.ts rename to src/store/modules/theme-old/hooks.ts diff --git a/src/store/modules/theme-old/index.ts b/src/store/modules/theme-old/index.ts new file mode 100644 index 000000000..a4a85cbb7 --- /dev/null +++ b/src/store/modules/theme-old/index.ts @@ -0,0 +1,229 @@ +import { ref, reactive, computed } from 'vue'; +import type { Ref, ComputedRef } from 'vue'; +import { defineStore } from 'pinia'; +import { darkTheme } from 'naive-ui'; +import type { GlobalThemeOverrides, GlobalTheme } from 'naive-ui'; +import { themeSetting } from '@/settings'; +import { useBoolean } from '@/hooks'; +import { getColorPalette } from '@/utils'; +import type { ThemeSetting, ThemeHorizontalMenuPosition } from '@/interface'; +import { getNaiveThemeOverrides, addThemeCssVarsToHtml } from './helpers'; +import { + useLayoutFunc, + useHeaderFunc, + useTabFunc, + useSiderFunc, + useFooterFunc, + usePageFunc, + osThemeWatcher, + setupWindicssDarkMode, + setupHiddenScroll, + themeColorWatcher +} from './hooks'; +import type { LayoutFunc, HeaderFunc, TabFunc, SiderFunc, FooterFunc, PageFunc } from './hooks'; + +type BuiltInGlobalTheme = Omit, 'InternalSelectMenu' | 'InternalSelection'>; + +interface ThemeStore extends LayoutFunc, HeaderFunc, TabFunc, SiderFunc, FooterFunc, PageFunc { + /** 暗黑模式 */ + darkMode: Ref; + /** 设置暗黑模式 */ + setDarkMode(dark: boolean): void; + /** 切换/关闭 暗黑模式 */ + toggleDarkMode(): void; + /** 布局样式 */ + layout: ThemeSetting['layout']; + /** 主题颜色 */ + themeColor: Ref; + /** 设置系统主题颜色 */ + setThemeColor(color: string): void; + /** 主题颜色列表 */ + themeColorList: string[]; + /** 其他颜色 */ + otherColor: ComputedRef; + /** 固定头部和多页签 */ + fixedHeaderAndTab: Ref; + /** 设置固定头部和多页签 */ + setIsFixedHeaderAndTab(isFixed: boolean): void; + /** 重载按钮可见 */ + reloadVisible: Ref; + /** 设置 显示/隐藏 重载按钮 */ + setReloadVisible(visible: boolean): void; + /** 头部 */ + header: ThemeSetting['header']; + /** 多页签 */ + tab: ThemeSetting['tab']; + /** 侧边栏 */ + sider: ThemeSetting['sider']; + /** 菜单 */ + menu: ThemeSetting['menu']; + /** 设置水平模式的菜单的位置 */ + setHorizontalMenuPosition(posiiton: ThemeHorizontalMenuPosition): void; + /** 底部 */ + footer: ThemeSetting['footer']; + /** 页面 */ + page: ThemeSetting['page']; + /** naiveUI的主题配置 */ + naiveThemeOverrides: ComputedRef; + /** naive-ui暗黑主题 */ + naiveTheme: ComputedRef; + /** 重置状态 */ + resetThemeStore(): void; +} + +export const useThemeStore = defineStore('theme-store', () => { + // 暗黑模式 + const { bool: darkMode, setBool: setDarkMode, toggle: toggleDarkMode } = useBoolean(); + + // 布局 + const layout = reactive({ + ...themeSetting.layout + }); + const { setLayoutMinWidth, setLayoutMode } = useLayoutFunc(layout); + + // 主题色 + const themeColor = ref(themeSetting.themeColor); + /** 设置系统主题颜色 */ + function setThemeColor(color: string) { + themeColor.value = color; + } + const { themeColorList } = themeSetting; + const otherColor = computed(() => ({ + ...themeSetting.otherColor, + info: getColorPalette(themeColor.value, 7) + })); + + // 固定头部和多页签 + const { bool: fixedHeaderAndTab, setBool: setIsFixedHeaderAndTab } = useBoolean(themeSetting.fixedHeaderAndTab); + + // 重载按钮 + const { bool: reloadVisible, setBool: setReloadVisible } = useBoolean(themeSetting.showReload); + + // 头部 + const header = reactive({ + height: themeSetting.header.height, + crumb: { ...themeSetting.header.crumb } + }); + const { setHeaderHeight, setHeaderCrumbVisible, setHeaderCrumbIconVisible } = useHeaderFunc(header); + + // 多页签 + const tab = reactive({ + ...themeSetting.tab + }); + const { setTabVisible, setTabHeight, setTabMode, setTabIsCache } = useTabFunc(tab); + + // 侧边栏 + const sider = reactive({ + ...themeSetting.sider + }); + const { + setSiderWidth, + setSiderCollapsedWidth, + setMixSiderWidth, + setMixSiderCollapsedWidth, + setMixSiderChildMenuWidth + } = useSiderFunc(sider); + + // 菜单 + const menu = reactive({ + ...themeSetting.menu + }); + function setHorizontalMenuPosition(posiiton: ThemeHorizontalMenuPosition) { + menu.horizontalPosition = posiiton; + } + + // 底部 + const footer = reactive({ + ...themeSetting.footer + }); + const { setFooterIsFixed, setFooterHeight } = useFooterFunc(footer); + + // 页面 + const page = reactive({ + ...themeSetting.page + }); + const { setPageIsAnimate, setPageAnimateMode } = usePageFunc(page); + + // naive主题 + const naiveThemeOverrides = computed(() => + getNaiveThemeOverrides({ primary: themeColor.value, ...otherColor.value }) + ); + const naiveTheme = computed(() => (darkMode.value ? darkTheme : undefined)); + + /** 重置theme状态 */ + function resetThemeStore() { + setDarkMode(false); + } + + /** 初始化css vars, 并添加至html */ + function initThemeCssVars() { + const updatedThemeVars = { ...naiveThemeOverrides.value.common }; + addThemeCssVarsToHtml(updatedThemeVars); + } + + /** 系统主题适应操作系统 */ + function handleAdaptOsTheme() { + osThemeWatcher(isDark => { + if (isDark) { + setDarkMode(true); + } else { + setDarkMode(false); + } + }); + } + + function init() { + initThemeCssVars(); + handleAdaptOsTheme(); + setupWindicssDarkMode(darkMode); + setupHiddenScroll(computed(() => layout.minWidth)); + themeColorWatcher(themeColor); + } + + init(); + + const themeStore: ThemeStore = { + darkMode, + setDarkMode, + toggleDarkMode, + layout, + setLayoutMinWidth, + setLayoutMode, + themeColor, + setThemeColor, + themeColorList, + otherColor, + fixedHeaderAndTab, + setIsFixedHeaderAndTab, + reloadVisible, + setReloadVisible, + header, + setHeaderHeight, + setHeaderCrumbVisible, + setHeaderCrumbIconVisible, + tab, + setTabVisible, + setTabHeight, + setTabMode, + setTabIsCache, + sider, + setSiderWidth, + setSiderCollapsedWidth, + setMixSiderWidth, + setMixSiderCollapsedWidth, + setMixSiderChildMenuWidth, + menu, + setHorizontalMenuPosition, + footer, + setFooterIsFixed, + setFooterHeight, + page, + setPageIsAnimate, + setPageAnimateMode, + naiveThemeOverrides, + naiveTheme, + resetThemeStore + }; + + return themeStore; +}); diff --git a/src/store/modules/theme/helpers.ts b/src/store/modules/theme/helpers.ts index 4dc588f4f..87d7ed466 100644 --- a/src/store/modules/theme/helpers.ts +++ b/src/store/modules/theme/helpers.ts @@ -63,27 +63,14 @@ type ThemeVars = Exclude; type ThemeVarsKeys = keyof ThemeVars; /** 添加css vars至html */ -export function addThemeCssVarsToHtml(themeVars: ThemeVars, action: 'add' | 'update' = 'add') { +export function addThemeCssVarsToHtml(themeVars: ThemeVars) { const keys = Object.keys(themeVars) as ThemeVarsKeys[]; const style: string[] = []; keys.forEach(key => { style.push(`--${kebabCase(key)}: ${themeVars[key]}`); }); const styleStr = style.join(';'); - if (action === 'add') { - document.documentElement.style.cssText = styleStr; - } else { - document.documentElement.style.cssText += styleStr; - } -} - -/** - * 根据主题颜色更新css vars - * @param primaryColor - */ -export function updateThemeCssVarsByPrimary(primaryColor: string) { - const themeColor = getThemeColors([['primary', primaryColor]]); - addThemeCssVarsToHtml(themeColor, 'update'); + document.documentElement.style.cssText = styleStr; } /** windicss 暗黑模式 */ diff --git a/src/store/modules/theme/index.ts b/src/store/modules/theme/index.ts index a4a85cbb7..4828095f7 100644 --- a/src/store/modules/theme/index.ts +++ b/src/store/modules/theme/index.ts @@ -1,229 +1,140 @@ -import { ref, reactive, computed } from 'vue'; -import type { Ref, ComputedRef } from 'vue'; import { defineStore } from 'pinia'; import { darkTheme } from 'naive-ui'; -import type { GlobalThemeOverrides, GlobalTheme } from 'naive-ui'; +import { cloneDeep } from 'lodash-es'; import { themeSetting } from '@/settings'; -import { useBoolean } from '@/hooks'; -import { getColorPalette } from '@/utils'; -import type { ThemeSetting, ThemeHorizontalMenuPosition } from '@/interface'; +import type { + ThemeSetting, + ThemeLayoutMode, + ThemeTabMode, + ThemeHorizontalMenuPosition, + ThemeAnimateMode +} from '@/interface'; import { getNaiveThemeOverrides, addThemeCssVarsToHtml } from './helpers'; -import { - useLayoutFunc, - useHeaderFunc, - useTabFunc, - useSiderFunc, - useFooterFunc, - usePageFunc, - osThemeWatcher, - setupWindicssDarkMode, - setupHiddenScroll, - themeColorWatcher -} from './hooks'; -import type { LayoutFunc, HeaderFunc, TabFunc, SiderFunc, FooterFunc, PageFunc } from './hooks'; -type BuiltInGlobalTheme = Omit, 'InternalSelectMenu' | 'InternalSelection'>; - -interface ThemeStore extends LayoutFunc, HeaderFunc, TabFunc, SiderFunc, FooterFunc, PageFunc { - /** 暗黑模式 */ - darkMode: Ref; - /** 设置暗黑模式 */ - setDarkMode(dark: boolean): void; - /** 切换/关闭 暗黑模式 */ - toggleDarkMode(): void; - /** 布局样式 */ - layout: ThemeSetting['layout']; - /** 主题颜色 */ - themeColor: Ref; - /** 设置系统主题颜色 */ - setThemeColor(color: string): void; - /** 主题颜色列表 */ - themeColorList: string[]; - /** 其他颜色 */ - otherColor: ComputedRef; - /** 固定头部和多页签 */ - fixedHeaderAndTab: Ref; - /** 设置固定头部和多页签 */ - setIsFixedHeaderAndTab(isFixed: boolean): void; - /** 重载按钮可见 */ - reloadVisible: Ref; - /** 设置 显示/隐藏 重载按钮 */ - setReloadVisible(visible: boolean): void; - /** 头部 */ - header: ThemeSetting['header']; - /** 多页签 */ - tab: ThemeSetting['tab']; - /** 侧边栏 */ - sider: ThemeSetting['sider']; - /** 菜单 */ - menu: ThemeSetting['menu']; - /** 设置水平模式的菜单的位置 */ - setHorizontalMenuPosition(posiiton: ThemeHorizontalMenuPosition): void; - /** 底部 */ - footer: ThemeSetting['footer']; - /** 页面 */ - page: ThemeSetting['page']; - /** naiveUI的主题配置 */ - naiveThemeOverrides: ComputedRef; - /** naive-ui暗黑主题 */ - naiveTheme: ComputedRef; - /** 重置状态 */ - resetThemeStore(): void; -} - -export const useThemeStore = defineStore('theme-store', () => { - // 暗黑模式 - const { bool: darkMode, setBool: setDarkMode, toggle: toggleDarkMode } = useBoolean(); - - // 布局 - const layout = reactive({ - ...themeSetting.layout - }); - const { setLayoutMinWidth, setLayoutMode } = useLayoutFunc(layout); - - // 主题色 - const themeColor = ref(themeSetting.themeColor); - /** 设置系统主题颜色 */ - function setThemeColor(color: string) { - themeColor.value = color; - } - const { themeColorList } = themeSetting; - const otherColor = computed(() => ({ - ...themeSetting.otherColor, - info: getColorPalette(themeColor.value, 7) - })); - - // 固定头部和多页签 - const { bool: fixedHeaderAndTab, setBool: setIsFixedHeaderAndTab } = useBoolean(themeSetting.fixedHeaderAndTab); - - // 重载按钮 - const { bool: reloadVisible, setBool: setReloadVisible } = useBoolean(themeSetting.showReload); - - // 头部 - const header = reactive({ - height: themeSetting.header.height, - crumb: { ...themeSetting.header.crumb } - }); - const { setHeaderHeight, setHeaderCrumbVisible, setHeaderCrumbIconVisible } = useHeaderFunc(header); - - // 多页签 - const tab = reactive({ - ...themeSetting.tab - }); - const { setTabVisible, setTabHeight, setTabMode, setTabIsCache } = useTabFunc(tab); - - // 侧边栏 - const sider = reactive({ - ...themeSetting.sider - }); - const { - setSiderWidth, - setSiderCollapsedWidth, - setMixSiderWidth, - setMixSiderCollapsedWidth, - setMixSiderChildMenuWidth - } = useSiderFunc(sider); - - // 菜单 - const menu = reactive({ - ...themeSetting.menu - }); - function setHorizontalMenuPosition(posiiton: ThemeHorizontalMenuPosition) { - menu.horizontalPosition = posiiton; - } - - // 底部 - const footer = reactive({ - ...themeSetting.footer - }); - const { setFooterIsFixed, setFooterHeight } = useFooterFunc(footer); - - // 页面 - const page = reactive({ - ...themeSetting.page - }); - const { setPageIsAnimate, setPageAnimateMode } = usePageFunc(page); - - // naive主题 - const naiveThemeOverrides = computed(() => - getNaiveThemeOverrides({ primary: themeColor.value, ...otherColor.value }) - ); - const naiveTheme = computed(() => (darkMode.value ? darkTheme : undefined)); - - /** 重置theme状态 */ - function resetThemeStore() { - setDarkMode(false); - } - - /** 初始化css vars, 并添加至html */ - function initThemeCssVars() { - const updatedThemeVars = { ...naiveThemeOverrides.value.common }; - addThemeCssVarsToHtml(updatedThemeVars); - } - - /** 系统主题适应操作系统 */ - function handleAdaptOsTheme() { - osThemeWatcher(isDark => { - if (isDark) { - setDarkMode(true); - } else { - setDarkMode(false); +type ThemeState = ThemeSetting; + +export const useThemeStore = defineStore('theme-store', { + state: (): ThemeState => cloneDeep(themeSetting), + getters: { + /** naiveUI的主题配置 */ + naiveThemeOverrides(state) { + const overrides = getNaiveThemeOverrides({ primary: state.themeColor, ...state.otherColor }); + addThemeCssVarsToHtml(overrides.common!); + return overrides; + }, + /** naive-ui暗黑主题 */ + naiveTheme(state) { + return state.darkMode ? darkTheme : undefined; + } + }, + actions: { + /** 重置theme状态 */ + resetThemeStore() { + this.$reset(); + }, + /** 设置暗黑模式 */ + setDarkMode(darkMode: boolean) { + this.darkMode = darkMode; + }, + /** 切换/关闭 暗黑模式 */ + toggleDarkMode() { + this.darkMode = !this.darkMode; + }, + /** 设置布局最小宽度 */ + setLayoutMinWidth(minWidth: number) { + this.layout.minWidth = minWidth; + }, + /** 设置布局模式 */ + setLayoutMode(mode: ThemeLayoutMode) { + this.layout.mode = mode; + }, + /** 设置系统主题颜色 */ + setThemeColor(themeColor: string) { + this.themeColor = themeColor; + }, + /** 设置固定头部和多页签 */ + setIsFixedHeaderAndTab(isFixed: boolean) { + this.fixedHeaderAndTab = isFixed; + }, + /** 设置重载按钮可见状态 */ + setReloadVisible(visible: boolean) { + this.showReload = visible; + }, + /** 设置头部高度 */ + setHeaderHeight(height: number | null) { + if (height) { + this.header.height = height; } - }); - } - - function init() { - initThemeCssVars(); - handleAdaptOsTheme(); - setupWindicssDarkMode(darkMode); - setupHiddenScroll(computed(() => layout.minWidth)); - themeColorWatcher(themeColor); + }, + /** 设置头部面包屑可见 */ + setHeaderCrumbVisible(visible: boolean) { + this.header.crumb.visible = visible; + }, + /** 设置头部面包屑图标可见 */ + setHeaderCrumbIconVisible(visible: boolean) { + this.header.crumb.showIcon = visible; + }, + /** 设置多页签可见 */ + setTabVisible(visible: boolean) { + this.tab.visible = visible; + }, + /** 设置多页签高度 */ + setTabHeight(height: number | null) { + if (height) { + this.tab.height = height; + } + }, + /** 设置多页签风格 */ + setTabMode(mode: ThemeTabMode) { + this.tab.mode = mode; + }, + /** 设置多页签缓存 */ + setTabIsCache(isCache: boolean) { + this.tab.isCache = isCache; + }, + /** 侧边栏宽度 */ + setSiderWidth(width: number | null) { + if (width) { + this.sider.width = width; + } + }, + /** 侧边栏折叠时的宽度 */ + setSiderCollapsedWidth(width: number) { + this.sider.collapsedWidth = width; + }, + /** vertical-mix模式下侧边栏宽度 */ + setMixSiderWidth(width: number | null) { + if (width) { + this.sider.mixWidth = width; + } + }, + /** vertical-mix模式下侧边栏折叠时的宽度 */ + setMixSiderCollapsedWidth(width: number) { + this.sider.mixCollapsedWidth = width; + }, + /** vertical-mix模式下侧边栏展示子菜单的宽度 */ + setMixSiderChildMenuWidth(width: number) { + this.sider.mixChildMenuWidth = width; + }, + /** 设置水平模式的菜单的位置 */ + setHorizontalMenuPosition(posiiton: ThemeHorizontalMenuPosition) { + this.menu.horizontalPosition = posiiton; + }, + /** 设置底部是否固定 */ + setFooterIsFixed(isFixed: boolean) { + this.footer.fixed = isFixed; + }, + /** 设置底部高度 */ + setFooterHeight(height: number) { + this.footer.height = height; + }, + /** 设置切换页面时是否过渡动画 */ + setPageIsAnimate(animate: boolean) { + this.page.animate = animate; + }, + /** 设置页面过渡动画类型 */ + setPageAnimateMode(mode: ThemeAnimateMode) { + this.page.animateMode = mode; + } } - - init(); - - const themeStore: ThemeStore = { - darkMode, - setDarkMode, - toggleDarkMode, - layout, - setLayoutMinWidth, - setLayoutMode, - themeColor, - setThemeColor, - themeColorList, - otherColor, - fixedHeaderAndTab, - setIsFixedHeaderAndTab, - reloadVisible, - setReloadVisible, - header, - setHeaderHeight, - setHeaderCrumbVisible, - setHeaderCrumbIconVisible, - tab, - setTabVisible, - setTabHeight, - setTabMode, - setTabIsCache, - sider, - setSiderWidth, - setSiderCollapsedWidth, - setMixSiderWidth, - setMixSiderCollapsedWidth, - setMixSiderChildMenuWidth, - menu, - setHorizontalMenuPosition, - footer, - setFooterIsFixed, - setFooterHeight, - page, - setPageIsAnimate, - setPageAnimateMode, - naiveThemeOverrides, - naiveTheme, - resetThemeStore - }; - - return themeStore; }); diff --git a/src/store/subscribe/app.ts b/src/store/subscribe/app.ts new file mode 100644 index 000000000..935206a02 --- /dev/null +++ b/src/store/subscribe/app.ts @@ -0,0 +1,13 @@ +import { useBodyScroll } from '@/hooks'; +import { useAppStore } from '../modules'; + +/** 订阅app store */ +export default function subscribeAppStore() { + const app = useAppStore(); + const { scrollBodyHandler } = useBodyScroll(); + + app.$subscribe((_mutation, state) => { + // 弹窗打开时禁止滚动条 + scrollBodyHandler(state.settingDrawerVisible); + }); +} diff --git a/src/store/subscribe/index.ts b/src/store/subscribe/index.ts new file mode 100644 index 000000000..ac545a584 --- /dev/null +++ b/src/store/subscribe/index.ts @@ -0,0 +1,6 @@ +import subscribeAppStore from './app'; + +/** 订阅状态 */ +export function subscribeStore() { + subscribeAppStore(); +} diff --git a/src/store/subscribe/theme.ts b/src/store/subscribe/theme.ts new file mode 100644 index 000000000..4d188e182 --- /dev/null +++ b/src/store/subscribe/theme.ts @@ -0,0 +1,31 @@ +import { useThemeStore } from '../modules'; + +/** 订阅app store */ +export default function subscribeAppStore() { + const theme = useThemeStore(); + const { addDarkClass, removeDarkClass } = handleWindicssDarkMode(); + + theme.$subscribe((_mutation, state) => { + // 监听暗黑模式 + if (state.darkMode) { + addDarkClass(); + } else { + removeDarkClass(); + } + }); +} + +/** windicss 暗黑模式 */ +function handleWindicssDarkMode() { + const DARK_CLASS = 'dark'; + function addDarkClass() { + document.documentElement.classList.add(DARK_CLASS); + } + function removeDarkClass() { + document.documentElement.classList.remove(DARK_CLASS); + } + return { + addDarkClass, + removeDarkClass + }; +} diff --git a/src/utils/router/menu.ts b/src/utils/router/menu.ts index 07c208ae2..9a14b4ee3 100644 --- a/src/utils/router/menu.ts +++ b/src/utils/router/menu.ts @@ -22,7 +22,7 @@ function addPartialProps(menuItem: GlobalMenuOption, icon?: string, children?: G * 将权限路由转换成菜单 * @param routes - 路由 */ -export function transformAuthRouteToMenu(routes: AuthRoute.Route[]) { +export function transformAuthRouteToMenu(routes: AuthRoute.Route[]): GlobalMenuOption[] { const globalMenu: GlobalMenuOption[] = []; routes.forEach(route => { const { name, path, meta } = route; diff --git a/src/views/system/login/index.vue b/src/views/system/login/index.vue index 611bee2ab..7fc2d9a41 100644 --- a/src/views/system/login/index.vue +++ b/src/views/system/login/index.vue @@ -3,7 +3,7 @@
@@ -53,7 +53,6 @@ interface LoginModule { const props = defineProps(); const theme = useThemeStore(); -const { setDarkMode } = useThemeStore(); const { title } = useAppInfo(); const modules: LoginModule[] = [