From f97f2266566164cad912e7ffcdebee1c1b2f4324 Mon Sep 17 00:00:00 2001 From: Soybean <2570172956@qq.com> Date: Thu, 16 Sep 2021 13:58:11 +0800 Subject: [PATCH] =?UTF-8?q?fix(projects):=20=E4=BF=AE=E5=A4=8D=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E7=9A=84=E9=87=8D=E5=AE=9A=E5=90=91=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- pnpm-lock.yaml | 160 +++++++++--------- src/enum/storage.ts | 2 + src/hooks/common/index.ts | 3 +- src/hooks/common/useRouteParam.ts | 21 +-- src/hooks/common/useRouteQuery.ts | 20 +++ src/hooks/common/useRouterChange.ts | 50 +++--- src/hooks/index.ts | 9 +- .../GlobalHeader/components/UserAvatar.vue | 8 +- src/router/index.ts | 2 +- src/router/permission.ts | 66 ++++++-- src/router/routes.ts | 6 + src/store/modules/auth/index.ts | 2 +- src/utils/auth/index.ts | 4 +- src/utils/auth/location.ts | 5 - src/utils/auth/user.ts | 32 +++- src/utils/index.ts | 15 +- src/utils/storage/index.ts | 4 +- src/utils/storage/local.ts | 4 + src/utils/storage/session.ts | 8 + .../components/OtherLogin.vue} | 0 .../components/PwdLogin/components/index.ts | 3 + .../login/components/PwdLogin/index.vue | 6 +- .../system/login/components/common/index.ts | 3 - 24 files changed, 261 insertions(+), 174 deletions(-) create mode 100644 src/hooks/common/useRouteQuery.ts rename src/views/system/login/components/{common/OtherLogin/index.vue => PwdLogin/components/OtherLogin.vue} (100%) create mode 100644 src/views/system/login/components/PwdLogin/components/index.ts delete mode 100644 src/views/system/login/components/common/index.ts diff --git a/package.json b/package.json index 407197f7..22b148de 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "devDependencies": { "@commitlint/cli": "^13.1.0", "@commitlint/config-conventional": "^13.1.0", - "@iconify/json": "^1.1.401", + "@iconify/json": "^1.1.402", "@iconify/vue": "^3.0.0", "@types/chroma-js": "^2.1.3", "@types/nprogress": "^0.2.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 97ab9a8a..fddcc686 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -3,7 +3,7 @@ lockfileVersion: 5.3 specifiers: '@commitlint/cli': ^13.1.0 '@commitlint/config-conventional': ^13.1.0 - '@iconify/json': ^1.1.401 + '@iconify/json': ^1.1.402 '@iconify/vue': ^3.0.0 '@types/chroma-js': ^2.1.3 '@types/nprogress': ^0.2.0 @@ -73,7 +73,7 @@ dependencies: devDependencies: '@commitlint/cli': registry.nlark.com/@commitlint/cli/13.1.0 '@commitlint/config-conventional': registry.nlark.com/@commitlint/config-conventional/13.1.0 - '@iconify/json': registry.nlark.com/@iconify/json/1.1.401 + '@iconify/json': registry.nlark.com/@iconify/json/1.1.402 '@iconify/vue': registry.nlark.com/@iconify/vue/3.0.0_vue@3.2.10 '@types/chroma-js': registry.nlark.com/@types/chroma-js/2.1.3 '@types/nprogress': registry.nlark.com/@types/nprogress/0.2.0 @@ -110,7 +110,7 @@ devDependencies: prettier: registry.nlark.com/prettier/2.4.0 sass: registry.nlark.com/sass/1.41.0 typescript: registry.nlark.com/typescript/4.4.3 - unplugin-icons: registry.nlark.com/unplugin-icons/0.11.1_54da2e3458e54be8937824c348b2c77e + unplugin-icons: registry.nlark.com/unplugin-icons/0.11.1_88e03f59845e0cabbde926666ec4c27e unplugin-vue-components: registry.nlark.com/unplugin-vue-components/0.15.1_vite@2.5.7+vue@3.2.10 vite: registry.nlark.com/vite/2.5.7 vite-plugin-html: registry.nlark.com/vite-plugin-html/2.1.0_vite@2.5.7 @@ -229,7 +229,7 @@ packages: dev: true /array-union/2.1.0: - resolution: {integrity: sha1-t5hCCtvrHego2ErNii4j0+/oXo0=, tarball: https://registry.npm.taobao.org/array-union/download/array-union-2.1.0.tgz} + resolution: {integrity: sha1-t5hCCtvrHego2ErNii4j0+/oXo0=, tarball: array-union/download/array-union-2.1.0.tgz} engines: {node: '>=8'} dev: true @@ -451,7 +451,7 @@ packages: dev: true /dir-glob/3.0.1: - resolution: {integrity: sha1-Vtv3PZkqSpO6FYT0U0Bj/S5BcX8=, tarball: https://registry.npm.taobao.org/dir-glob/download/dir-glob-3.0.1.tgz} + resolution: {integrity: sha1-Vtv3PZkqSpO6FYT0U0Bj/S5BcX8=, tarball: dir-glob/download/dir-glob-3.0.1.tgz} engines: {node: '>=8'} dependencies: path-type: registry.nlark.com/path-type/4.0.0 @@ -805,7 +805,7 @@ packages: dev: true /ignore/5.1.8: - resolution: {integrity: sha1-8VCotQo0KJsz4i9YiavU2AFvDlc=, tarball: https://registry.npm.taobao.org/ignore/download/ignore-5.1.8.tgz} + resolution: {integrity: sha1-8VCotQo0KJsz4i9YiavU2AFvDlc=, tarball: ignore/download/ignore-5.1.8.tgz} engines: {node: '>= 4'} dev: true @@ -855,7 +855,7 @@ packages: dev: true /is-extglob/2.1.1: - resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=, tarball: https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz} + resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=, tarball: is-extglob/download/is-extglob-2.1.1.tgz} engines: {node: '>=0.10.0'} dev: true @@ -1831,7 +1831,7 @@ packages: dev: true /yallist/4.0.0: - resolution: {integrity: sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=, tarball: https://registry.npm.taobao.org/yallist/download/yallist-4.0.0.tgz} + resolution: {integrity: sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=, tarball: yallist/download/yallist-4.0.0.tgz} dev: true registry.nlark.com/@antfu/utils/0.2.4: @@ -1892,7 +1892,7 @@ packages: hasBin: true registry.nlark.com/@babel/parser/7.15.6: - resolution: {integrity: sha1-BDuao8MDwHIuU3f++Rl/TPF5ZUk=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/parser/download/@babel/parser-7.15.6.tgz} + resolution: {integrity: sha1-BDuao8MDwHIuU3f++Rl/TPF5ZUk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/parser/download/@babel/parser-7.15.6.tgz} name: '@babel/parser' version: 7.15.6 engines: {node: '>=6.0.0'} @@ -1909,7 +1909,7 @@ packages: to-fast-properties: registry.nlark.com/to-fast-properties/2.0.0 registry.nlark.com/@babel/types/7.15.6: - resolution: {integrity: sha1-mavcSCGLKIHAWN0KerBbmcm+dY8=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/types/download/@babel/types-7.15.6.tgz?cache=0&sync_timestamp=1631500167899&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.15.6.tgz} + resolution: {integrity: sha1-mavcSCGLKIHAWN0KerBbmcm+dY8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/types/download/@babel/types-7.15.6.tgz?cache=0&sync_timestamp=1631500167899&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.15.6.tgz} name: '@babel/types' version: 7.15.6 engines: {node: '>=6.9.0'} @@ -2109,7 +2109,7 @@ packages: dev: false registry.nlark.com/@emmetio/abbreviation/2.2.2: - resolution: {integrity: sha1-dGdi/Z56jC6mBPWAxi48/iUOaYk=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@emmetio/abbreviation/download/@emmetio/abbreviation-2.2.2.tgz} + resolution: {integrity: sha1-dGdi/Z56jC6mBPWAxi48/iUOaYk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@emmetio/abbreviation/download/@emmetio/abbreviation-2.2.2.tgz} name: '@emmetio/abbreviation' version: 2.2.2 dependencies: @@ -2117,7 +2117,7 @@ packages: dev: true registry.nlark.com/@emmetio/css-abbreviation/2.1.4: - resolution: {integrity: sha1-kDYuihEizjt29sMVeQfTAYL1P1Q=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@emmetio/css-abbreviation/download/@emmetio/css-abbreviation-2.1.4.tgz} + resolution: {integrity: sha1-kDYuihEizjt29sMVeQfTAYL1P1Q=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@emmetio/css-abbreviation/download/@emmetio/css-abbreviation-2.1.4.tgz} name: '@emmetio/css-abbreviation' version: 2.1.4 dependencies: @@ -2125,7 +2125,7 @@ packages: dev: true registry.nlark.com/@emmetio/scanner/1.0.0: - resolution: {integrity: sha1-Blsq9iM/50dNRII+PeuJckr0K18=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@emmetio/scanner/download/@emmetio/scanner-1.0.0.tgz} + resolution: {integrity: sha1-Blsq9iM/50dNRII+PeuJckr0K18=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@emmetio/scanner/download/@emmetio/scanner-1.0.0.tgz} name: '@emmetio/scanner' version: 1.0.0 dev: true @@ -2174,10 +2174,10 @@ packages: version: 1.0.10 dev: true - registry.nlark.com/@iconify/json/1.1.401: - resolution: {integrity: sha1-vB7u8ft/WerHwNIgE52ZW2A1A2s=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@iconify/json/download/@iconify/json-1.1.401.tgz} + registry.nlark.com/@iconify/json/1.1.402: + resolution: {integrity: sha1-lMmXV91XYQo0PIyEk4fxo3OglLM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@iconify/json/download/@iconify/json-1.1.402.tgz} name: '@iconify/json' - version: 1.1.401 + version: 1.1.402 dev: true registry.nlark.com/@iconify/vue/3.0.0_vue@3.2.10: @@ -2562,7 +2562,7 @@ packages: dev: true registry.nlark.com/@volar/code-gen/0.27.14: - resolution: {integrity: sha1-/qS94MBbgfIuFhheAey2/t2ELgU=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@volar/code-gen/download/@volar/code-gen-0.27.14.tgz} + resolution: {integrity: sha1-/qS94MBbgfIuFhheAey2/t2ELgU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@volar/code-gen/download/@volar/code-gen-0.27.14.tgz} name: '@volar/code-gen' version: 0.27.14 dependencies: @@ -2571,7 +2571,7 @@ packages: dev: true registry.nlark.com/@volar/html2pug/0.27.13: - resolution: {integrity: sha1-SN+nPs8e8ZVaAqBG0MiIRZUPrIU=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@volar/html2pug/download/@volar/html2pug-0.27.13.tgz} + resolution: {integrity: sha1-SN+nPs8e8ZVaAqBG0MiIRZUPrIU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@volar/html2pug/download/@volar/html2pug-0.27.13.tgz} name: '@volar/html2pug' version: 0.27.13 dependencies: @@ -2582,7 +2582,7 @@ packages: dev: true registry.nlark.com/@volar/shared/0.27.14: - resolution: {integrity: sha1-2Y8rC4kOMVzCC07bXh/76KrSKXo=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@volar/shared/download/@volar/shared-0.27.14.tgz} + resolution: {integrity: sha1-2Y8rC4kOMVzCC07bXh/76KrSKXo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@volar/shared/download/@volar/shared-0.27.14.tgz} name: '@volar/shared' version: 0.27.14 dependencies: @@ -2592,7 +2592,7 @@ packages: dev: true registry.nlark.com/@volar/source-map/0.27.14: - resolution: {integrity: sha1-C1ZW90tahYh+/sl+oRLKrZzFKpc=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@volar/source-map/download/@volar/source-map-0.27.14.tgz} + resolution: {integrity: sha1-C1ZW90tahYh+/sl+oRLKrZzFKpc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@volar/source-map/download/@volar/source-map-0.27.14.tgz} name: '@volar/source-map' version: 0.27.14 dependencies: @@ -2600,7 +2600,7 @@ packages: dev: true registry.nlark.com/@volar/transforms/0.27.14: - resolution: {integrity: sha1-t5bduES2+fUwH1lBCS+e2VotsS0=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@volar/transforms/download/@volar/transforms-0.27.14.tgz} + resolution: {integrity: sha1-t5bduES2+fUwH1lBCS+e2VotsS0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@volar/transforms/download/@volar/transforms-0.27.14.tgz} name: '@volar/transforms' version: 0.27.14 dependencies: @@ -2609,7 +2609,7 @@ packages: dev: true registry.nlark.com/@vscode/emmet-helper/2.7.0: - resolution: {integrity: sha1-PbSF9qZQGW/4u9OLobnkaOyNIvg=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@vscode/emmet-helper/download/@vscode/emmet-helper-2.7.0.tgz} + resolution: {integrity: sha1-PbSF9qZQGW/4u9OLobnkaOyNIvg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@vscode/emmet-helper/download/@vscode/emmet-helper-2.7.0.tgz} name: '@vscode/emmet-helper' version: 2.7.0 dependencies: @@ -2712,7 +2712,7 @@ packages: dev: false registry.nlark.com/@vue/reactivity/3.2.11: - resolution: {integrity: sha1-7ATTOsryuSzKKWBTW+yBsmzFdys=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@vue/reactivity/download/@vue/reactivity-3.2.11.tgz} + resolution: {integrity: sha1-7ATTOsryuSzKKWBTW+yBsmzFdys=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@vue/reactivity/download/@vue/reactivity-3.2.11.tgz} name: '@vue/reactivity' version: 3.2.11 dependencies: @@ -2929,13 +2929,13 @@ packages: dev: true registry.nlark.com/asap/2.0.6: - resolution: {integrity: sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/asap/download/asap-2.0.6.tgz} + resolution: {integrity: sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/asap/download/asap-2.0.6.tgz} name: asap version: 2.0.6 dev: true registry.nlark.com/assert-never/1.2.1: - resolution: {integrity: sha1-EfDjY78UYgX7CBk7XHuQ9NHPRP4=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/assert-never/download/assert-never-1.2.1.tgz} + resolution: {integrity: sha1-EfDjY78UYgX7CBk7XHuQ9NHPRP4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/assert-never/download/assert-never-1.2.1.tgz} name: assert-never version: 1.2.1 dev: true @@ -2969,7 +2969,7 @@ packages: dev: false registry.nlark.com/babel-walk/3.0.0-canary-5: - resolution: {integrity: sha1-9m7Ncpg1eu5ElV8jWm71QhkQSxE=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/babel-walk/download/babel-walk-3.0.0-canary-5.tgz} + resolution: {integrity: sha1-9m7Ncpg1eu5ElV8jWm71QhkQSxE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/babel-walk/download/babel-walk-3.0.0-canary-5.tgz} name: babel-walk version: 3.0.0-canary-5 engines: {node: '>= 10.0.0'} @@ -3076,7 +3076,7 @@ packages: supports-color: registry.nlark.com/supports-color/7.2.0 registry.nlark.com/character-parser/2.2.0: - resolution: {integrity: sha1-x84o821LzZdE5f/CxfzeHHMmH8A=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/character-parser/download/character-parser-2.2.0.tgz} + resolution: {integrity: sha1-x84o821LzZdE5f/CxfzeHHMmH8A=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/character-parser/download/character-parser-2.2.0.tgz} name: character-parser version: 2.2.0 dependencies: @@ -3211,7 +3211,7 @@ packages: dev: true registry.nlark.com/constantinople/4.0.1: - resolution: {integrity: sha1-De8RP6Dk3I3oMzGlz3nIsyUhMVE=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/constantinople/download/constantinople-4.0.1.tgz} + resolution: {integrity: sha1-De8RP6Dk3I3oMzGlz3nIsyUhMVE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/constantinople/download/constantinople-4.0.1.tgz} name: constantinople version: 4.0.1 dependencies: @@ -3384,13 +3384,13 @@ packages: dev: false registry.nlark.com/doctypes/1.1.0: - resolution: {integrity: sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/doctypes/download/doctypes-1.1.0.tgz} + resolution: {integrity: sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/doctypes/download/doctypes-1.1.0.tgz} name: doctypes version: 1.1.0 dev: true registry.nlark.com/dom-serializer/1.3.2: - resolution: {integrity: sha1-YgZDfTLO767HFhgDIwx6ILwbTZE=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/dom-serializer/download/dom-serializer-1.3.2.tgz} + resolution: {integrity: sha1-YgZDfTLO767HFhgDIwx6ILwbTZE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/dom-serializer/download/dom-serializer-1.3.2.tgz} name: dom-serializer version: 1.3.2 dependencies: @@ -3400,13 +3400,13 @@ packages: dev: true registry.nlark.com/domelementtype/2.2.0: - resolution: {integrity: sha1-mgtsJ4LtahxzI9QiZxg9+b2LHVc=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/domelementtype/download/domelementtype-2.2.0.tgz} + resolution: {integrity: sha1-mgtsJ4LtahxzI9QiZxg9+b2LHVc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/domelementtype/download/domelementtype-2.2.0.tgz} name: domelementtype version: 2.2.0 dev: true registry.nlark.com/domhandler/4.2.2: - resolution: {integrity: sha1-6CXXIdGahrjCAaNSZOImxnjudV8=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/domhandler/download/domhandler-4.2.2.tgz} + resolution: {integrity: sha1-6CXXIdGahrjCAaNSZOImxnjudV8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/domhandler/download/domhandler-4.2.2.tgz} name: domhandler version: 4.2.2 engines: {node: '>= 4'} @@ -3415,7 +3415,7 @@ packages: dev: true registry.nlark.com/domutils/2.8.0: - resolution: {integrity: sha1-RDfe9dtuLR9dbuhZvZXKfQIEgTU=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/domutils/download/domutils-2.8.0.tgz} + resolution: {integrity: sha1-RDfe9dtuLR9dbuhZvZXKfQIEgTU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/domutils/download/domutils-2.8.0.tgz} name: domutils version: 2.8.0 dependencies: @@ -3438,7 +3438,7 @@ packages: dev: true registry.nlark.com/emmet/2.3.4: - resolution: {integrity: sha1-W6DXpVaaaMdpffqJDHcuTzF50SM=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/emmet/download/emmet-2.3.4.tgz} + resolution: {integrity: sha1-W6DXpVaaaMdpffqJDHcuTzF50SM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/emmet/download/emmet-2.3.4.tgz} name: emmet version: 2.3.4 dependencies: @@ -3462,7 +3462,7 @@ packages: 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} + resolution: {integrity: sha1-CY3JDruD2N/6CJ1VJWs1HTTE2lU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/entities/download/entities-2.2.0.tgz} name: entities version: 2.2.0 dev: true @@ -3904,7 +3904,7 @@ packages: dev: true registry.nlark.com/fsevents/2.3.2: - resolution: {integrity: sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/fsevents/download/fsevents-2.3.2.tgz} + resolution: {integrity: sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.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} @@ -4062,7 +4062,7 @@ packages: dev: false registry.nlark.com/htmlparser2/6.1.0: - resolution: {integrity: sha1-xNditsM3GgXb5l6UrkOp+EX7j7c=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/htmlparser2/download/htmlparser2-6.1.0.tgz} + resolution: {integrity: sha1-xNditsM3GgXb5l6UrkOp+EX7j7c=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/htmlparser2/download/htmlparser2-6.1.0.tgz} name: htmlparser2 version: 6.1.0 dependencies: @@ -4223,7 +4223,7 @@ packages: dev: true registry.nlark.com/is-expression/4.0.0: - resolution: {integrity: sha1-wzFVliq/IdCv0lUlFNZ9LsFv0qs=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-expression/download/is-expression-4.0.0.tgz} + resolution: {integrity: sha1-wzFVliq/IdCv0lUlFNZ9LsFv0qs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-expression/download/is-expression-4.0.0.tgz} name: is-expression version: 4.0.0 dependencies: @@ -4264,7 +4264,7 @@ packages: dev: true registry.nlark.com/is-promise/2.2.2: - resolution: {integrity: sha1-OauVnMv5p3TPB597QMeib3YxNfE=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-promise/download/is-promise-2.2.2.tgz} + resolution: {integrity: sha1-OauVnMv5p3TPB597QMeib3YxNfE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-promise/download/is-promise-2.2.2.tgz} name: is-promise version: 2.2.2 dev: true @@ -4364,7 +4364,7 @@ packages: dev: true registry.nlark.com/js-stringify/1.0.2: - resolution: {integrity: sha1-Fzb939lyTyijaCrcYjCufk6Weds=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/js-stringify/download/js-stringify-1.0.2.tgz} + resolution: {integrity: sha1-Fzb939lyTyijaCrcYjCufk6Weds=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/js-stringify/download/js-stringify-1.0.2.tgz} name: js-stringify version: 1.0.2 dev: true @@ -4385,19 +4385,19 @@ packages: dev: true registry.nlark.com/jsonc-parser/2.3.1: - resolution: {integrity: sha1-WVSRULEz8u+sykj+nOHsBlmvI0I=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/jsonc-parser/download/jsonc-parser-2.3.1.tgz} + resolution: {integrity: sha1-WVSRULEz8u+sykj+nOHsBlmvI0I=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/jsonc-parser/download/jsonc-parser-2.3.1.tgz} name: jsonc-parser version: 2.3.1 dev: true registry.nlark.com/jsonc-parser/3.0.0: - resolution: {integrity: sha1-q914VwHH5+rKip7IzwcMpRp0WiI=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/jsonc-parser/download/jsonc-parser-3.0.0.tgz} + resolution: {integrity: sha1-q914VwHH5+rKip7IzwcMpRp0WiI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/jsonc-parser/download/jsonc-parser-3.0.0.tgz} name: jsonc-parser version: 3.0.0 dev: true registry.nlark.com/jstransformer/1.0.0: - resolution: {integrity: sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/jstransformer/download/jstransformer-1.0.0.tgz} + resolution: {integrity: sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/jstransformer/download/jstransformer-1.0.0.tgz} name: jstransformer version: 1.0.0 dependencies: @@ -5044,7 +5044,7 @@ packages: dev: false registry.nlark.com/promise/7.3.1: - resolution: {integrity: sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/promise/download/promise-7.3.1.tgz} + resolution: {integrity: sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/promise/download/promise-7.3.1.tgz} name: promise version: 7.3.1 dependencies: @@ -5052,7 +5052,7 @@ packages: dev: true registry.nlark.com/pug-attrs/3.0.0: - resolution: {integrity: sha1-sQRR4DSBZeMfrRzCPr3dncc0fEE=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pug-attrs/download/pug-attrs-3.0.0.tgz} + resolution: {integrity: sha1-sQRR4DSBZeMfrRzCPr3dncc0fEE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pug-attrs/download/pug-attrs-3.0.0.tgz} name: pug-attrs version: 3.0.0 dependencies: @@ -5062,7 +5062,7 @@ packages: dev: true registry.nlark.com/pug-code-gen/3.0.2: - resolution: {integrity: sha1-rRkPSUMTO/GGtguA3kgxAOEy4s4=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pug-code-gen/download/pug-code-gen-3.0.2.tgz} + resolution: {integrity: sha1-rRkPSUMTO/GGtguA3kgxAOEy4s4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pug-code-gen/download/pug-code-gen-3.0.2.tgz} name: pug-code-gen version: 3.0.2 dependencies: @@ -5077,13 +5077,13 @@ packages: dev: true registry.nlark.com/pug-error/2.0.0: - resolution: {integrity: sha1-XGIXPLCcNN4qLOBPF7it/sdNjKU=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pug-error/download/pug-error-2.0.0.tgz} + resolution: {integrity: sha1-XGIXPLCcNN4qLOBPF7it/sdNjKU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pug-error/download/pug-error-2.0.0.tgz} name: pug-error version: 2.0.0 dev: true registry.nlark.com/pug-filters/4.0.0: - resolution: {integrity: sha1-0+Sa9bqEcum3pm2YDnB86dLMm14=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pug-filters/download/pug-filters-4.0.0.tgz} + resolution: {integrity: sha1-0+Sa9bqEcum3pm2YDnB86dLMm14=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pug-filters/download/pug-filters-4.0.0.tgz} name: pug-filters version: 4.0.0 dependencies: @@ -5095,7 +5095,7 @@ packages: dev: true registry.nlark.com/pug-lexer/5.0.1: - resolution: {integrity: sha1-rkRijFvvmxkLZlaDsojKkCS4sNU=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pug-lexer/download/pug-lexer-5.0.1.tgz} + resolution: {integrity: sha1-rkRijFvvmxkLZlaDsojKkCS4sNU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pug-lexer/download/pug-lexer-5.0.1.tgz} name: pug-lexer version: 5.0.1 dependencies: @@ -5105,7 +5105,7 @@ packages: dev: true registry.nlark.com/pug-linker/4.0.0: - resolution: {integrity: sha1-EsvAWU/Fo+Brn8Web5PBRpYqdwg=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pug-linker/download/pug-linker-4.0.0.tgz} + resolution: {integrity: sha1-EsvAWU/Fo+Brn8Web5PBRpYqdwg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pug-linker/download/pug-linker-4.0.0.tgz} name: pug-linker version: 4.0.0 dependencies: @@ -5114,7 +5114,7 @@ packages: dev: true registry.nlark.com/pug-load/3.0.0: - resolution: {integrity: sha1-n9nNpSICsIrbEdJWgfufNL1BtmI=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pug-load/download/pug-load-3.0.0.tgz} + resolution: {integrity: sha1-n9nNpSICsIrbEdJWgfufNL1BtmI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pug-load/download/pug-load-3.0.0.tgz} name: pug-load version: 3.0.0 dependencies: @@ -5123,7 +5123,7 @@ packages: dev: true registry.nlark.com/pug-parser/6.0.0: - resolution: {integrity: sha1-qP3ANYY6lbLB3F6/Ts+AtOdqEmA=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pug-parser/download/pug-parser-6.0.0.tgz} + resolution: {integrity: sha1-qP3ANYY6lbLB3F6/Ts+AtOdqEmA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pug-parser/download/pug-parser-6.0.0.tgz} name: pug-parser version: 6.0.0 dependencies: @@ -5132,13 +5132,13 @@ packages: dev: true registry.nlark.com/pug-runtime/3.0.1: - resolution: {integrity: sha1-9jaXYgRyPzWoxfb61qzaKhkbg9c=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pug-runtime/download/pug-runtime-3.0.1.tgz} + resolution: {integrity: sha1-9jaXYgRyPzWoxfb61qzaKhkbg9c=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pug-runtime/download/pug-runtime-3.0.1.tgz} name: pug-runtime version: 3.0.1 dev: true registry.nlark.com/pug-strip-comments/2.0.0: - resolution: {integrity: sha1-+UsH/WtJVSMzD0kKf1VLT/h2MD4=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pug-strip-comments/download/pug-strip-comments-2.0.0.tgz} + resolution: {integrity: sha1-+UsH/WtJVSMzD0kKf1VLT/h2MD4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pug-strip-comments/download/pug-strip-comments-2.0.0.tgz} name: pug-strip-comments version: 2.0.0 dependencies: @@ -5146,13 +5146,13 @@ packages: dev: true registry.nlark.com/pug-walk/2.0.0: - resolution: {integrity: sha1-QXqrwpIyu0SZtbUGmistKiTV9f4=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pug-walk/download/pug-walk-2.0.0.tgz} + resolution: {integrity: sha1-QXqrwpIyu0SZtbUGmistKiTV9f4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pug-walk/download/pug-walk-2.0.0.tgz} name: pug-walk version: 2.0.0 dev: true registry.nlark.com/pug/3.0.2: - resolution: {integrity: sha1-81xxBzQ0VOQ7wnrg/3bHMbeOpTU=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pug/download/pug-3.0.2.tgz} + resolution: {integrity: sha1-81xxBzQ0VOQ7wnrg/3bHMbeOpTU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pug/download/pug-3.0.2.tgz} name: pug version: 3.0.2 dependencies: @@ -5235,7 +5235,7 @@ packages: dev: true registry.nlark.com/request-light/0.5.4: - resolution: {integrity: sha1-SXqYxtiuSVNkF6Xi1/ODuTTz44w=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/request-light/download/request-light-0.5.4.tgz} + resolution: {integrity: sha1-SXqYxtiuSVNkF6Xi1/ODuTTz44w=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/request-light/download/request-light-0.5.4.tgz} name: request-light version: 0.5.4 dev: true @@ -5523,7 +5523,7 @@ packages: dev: true registry.nlark.com/token-stream/1.0.0: - resolution: {integrity: sha1-zCAOqyYT9BZtJ/+a/HylbUnfbrQ=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/token-stream/download/token-stream-1.0.0.tgz} + resolution: {integrity: sha1-zCAOqyYT9BZtJ/+a/HylbUnfbrQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/token-stream/download/token-stream-1.0.0.tgz} name: token-stream version: 1.0.0 dev: true @@ -5654,7 +5654,7 @@ packages: hasBin: true dev: true - registry.nlark.com/unplugin-icons/0.11.1_54da2e3458e54be8937824c348b2c77e: + registry.nlark.com/unplugin-icons/0.11.1_88e03f59845e0cabbde926666ec4c27e: resolution: {integrity: sha1-nodRKlzdyx0RPsD6N+xtlR/IS8U=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/unplugin-icons/download/unplugin-icons-0.11.1.tgz} id: registry.nlark.com/unplugin-icons/0.11.1 name: unplugin-icons @@ -5676,7 +5676,7 @@ packages: optional: true dependencies: '@antfu/utils': registry.nlark.com/@antfu/utils/0.3.0 - '@iconify/json': registry.nlark.com/@iconify/json/1.1.401 + '@iconify/json': registry.nlark.com/@iconify/json/1.1.402 '@iconify/json-tools': registry.nlark.com/@iconify/json-tools/1.0.10 '@vue/compiler-sfc': registry.nlark.com/@vue/compiler-sfc/3.2.11 has-pkg: registry.nlark.com/has-pkg/0.0.1 @@ -5736,7 +5736,7 @@ packages: dev: true registry.nlark.com/upath/2.0.1: - resolution: {integrity: sha1-UMc96mjW9rmQ9R0nnOYIFmXWGos=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/upath/download/upath-2.0.1.tgz} + resolution: {integrity: sha1-UMc96mjW9rmQ9R0nnOYIFmXWGos=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/upath/download/upath-2.0.1.tgz} name: upath version: 2.0.1 engines: {node: '>=4'} @@ -5819,7 +5819,7 @@ packages: dev: true registry.nlark.com/void-elements/3.1.0: - resolution: {integrity: sha1-YU9/v42AHwu18GYfWy9XhXUOTwk=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/void-elements/download/void-elements-3.1.0.tgz} + resolution: {integrity: sha1-YU9/v42AHwu18GYfWy9XhXUOTwk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/void-elements/download/void-elements-3.1.0.tgz} name: void-elements version: 3.1.0 engines: {node: '>=0.10.0'} @@ -5838,7 +5838,7 @@ packages: dev: false registry.nlark.com/vscode-css-languageservice/5.1.5: - resolution: {integrity: sha1-QAsvY6T3PGD1sK/EjEeMGzJrJ8Y=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vscode-css-languageservice/download/vscode-css-languageservice-5.1.5.tgz} + resolution: {integrity: sha1-QAsvY6T3PGD1sK/EjEeMGzJrJ8Y=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vscode-css-languageservice/download/vscode-css-languageservice-5.1.5.tgz} name: vscode-css-languageservice version: 5.1.5 dependencies: @@ -5849,7 +5849,7 @@ packages: dev: true registry.nlark.com/vscode-html-languageservice/4.0.8: - resolution: {integrity: sha1-lCm6zOMkTc/LOnFykD8ztvQY2zs=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vscode-html-languageservice/download/vscode-html-languageservice-4.0.8.tgz} + resolution: {integrity: sha1-lCm6zOMkTc/LOnFykD8ztvQY2zs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vscode-html-languageservice/download/vscode-html-languageservice-4.0.8.tgz} name: vscode-html-languageservice version: 4.0.8 dependencies: @@ -5860,7 +5860,7 @@ packages: dev: true registry.nlark.com/vscode-json-languageservice/4.1.7: - resolution: {integrity: sha1-GCRNYrEVpYGMdSbvQzlDi3F136o=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vscode-json-languageservice/download/vscode-json-languageservice-4.1.7.tgz} + resolution: {integrity: sha1-GCRNYrEVpYGMdSbvQzlDi3F136o=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vscode-json-languageservice/download/vscode-json-languageservice-4.1.7.tgz} name: vscode-json-languageservice version: 4.1.7 engines: {npm: '>=7.0.0'} @@ -5873,14 +5873,14 @@ packages: dev: true registry.nlark.com/vscode-jsonrpc/8.0.0-next.2: - resolution: {integrity: sha1-KF/ClL5YbkdorNZ+WkLvxzilysA=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vscode-jsonrpc/download/vscode-jsonrpc-8.0.0-next.2.tgz} + resolution: {integrity: sha1-KF/ClL5YbkdorNZ+WkLvxzilysA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vscode-jsonrpc/download/vscode-jsonrpc-8.0.0-next.2.tgz} name: vscode-jsonrpc version: 8.0.0-next.2 engines: {node: '>=8.0.0 || >=10.0.0'} dev: true registry.nlark.com/vscode-languageserver-protocol/3.17.0-next.8: - resolution: {integrity: sha1-7y63QjtHTMzRE4QjneJEiOf+gYw=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vscode-languageserver-protocol/download/vscode-languageserver-protocol-3.17.0-next.8.tgz} + resolution: {integrity: sha1-7y63QjtHTMzRE4QjneJEiOf+gYw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vscode-languageserver-protocol/download/vscode-languageserver-protocol-3.17.0-next.8.tgz} name: vscode-languageserver-protocol version: 3.17.0-next.8 dependencies: @@ -5889,25 +5889,25 @@ packages: dev: true registry.nlark.com/vscode-languageserver-textdocument/1.0.1: - resolution: {integrity: sha1-F4Fo6H761hcbNyrdHeo09T5dMw8=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vscode-languageserver-textdocument/download/vscode-languageserver-textdocument-1.0.1.tgz} + resolution: {integrity: sha1-F4Fo6H761hcbNyrdHeo09T5dMw8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vscode-languageserver-textdocument/download/vscode-languageserver-textdocument-1.0.1.tgz} name: vscode-languageserver-textdocument version: 1.0.1 dev: true registry.nlark.com/vscode-languageserver-types/3.16.0: - resolution: {integrity: sha1-7POT/BIexpdLLaPvsxVWRMUU4kc=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vscode-languageserver-types/download/vscode-languageserver-types-3.16.0.tgz} + resolution: {integrity: sha1-7POT/BIexpdLLaPvsxVWRMUU4kc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vscode-languageserver-types/download/vscode-languageserver-types-3.16.0.tgz} name: vscode-languageserver-types version: 3.16.0 dev: true registry.nlark.com/vscode-languageserver-types/3.17.0-next.3: - resolution: {integrity: sha1-4fQxHgjqMZPoESYVS2o0L8HD26M=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vscode-languageserver-types/download/vscode-languageserver-types-3.17.0-next.3.tgz} + resolution: {integrity: sha1-4fQxHgjqMZPoESYVS2o0L8HD26M=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vscode-languageserver-types/download/vscode-languageserver-types-3.17.0-next.3.tgz} name: vscode-languageserver-types version: 3.17.0-next.3 dev: true registry.nlark.com/vscode-languageserver/8.0.0-next.2: - resolution: {integrity: sha1-Oj2vef8QNQ6pzsXHO1MCkBqVURc=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vscode-languageserver/download/vscode-languageserver-8.0.0-next.2.tgz} + resolution: {integrity: sha1-Oj2vef8QNQ6pzsXHO1MCkBqVURc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vscode-languageserver/download/vscode-languageserver-8.0.0-next.2.tgz} name: vscode-languageserver version: 8.0.0-next.2 hasBin: true @@ -5916,13 +5916,13 @@ packages: dev: true registry.nlark.com/vscode-nls/5.0.0: - resolution: {integrity: sha1-mfDaC9nqfNpE5WWnTFSx8rwleEA=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vscode-nls/download/vscode-nls-5.0.0.tgz} + resolution: {integrity: sha1-mfDaC9nqfNpE5WWnTFSx8rwleEA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vscode-nls/download/vscode-nls-5.0.0.tgz} name: vscode-nls version: 5.0.0 dev: true registry.nlark.com/vscode-pug-languageservice/0.27.14: - resolution: {integrity: sha1-NCbwWheCZPIhkdX92f6oCInq1GQ=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vscode-pug-languageservice/download/vscode-pug-languageservice-0.27.14.tgz} + resolution: {integrity: sha1-NCbwWheCZPIhkdX92f6oCInq1GQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vscode-pug-languageservice/download/vscode-pug-languageservice-0.27.14.tgz} name: vscode-pug-languageservice version: 0.27.14 dependencies: @@ -5936,7 +5936,7 @@ packages: dev: true registry.nlark.com/vscode-typescript-languageservice/0.27.20: - resolution: {integrity: sha1-SRg42mOU5X1UvCVOH7d897PggY8=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vscode-typescript-languageservice/download/vscode-typescript-languageservice-0.27.20.tgz} + resolution: {integrity: sha1-SRg42mOU5X1UvCVOH7d897PggY8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vscode-typescript-languageservice/download/vscode-typescript-languageservice-0.27.20.tgz} name: vscode-typescript-languageservice version: 0.27.20 dependencies: @@ -5948,19 +5948,19 @@ packages: dev: true registry.nlark.com/vscode-uri/2.1.2: - resolution: {integrity: sha1-yNQN6T61evMfPHFd1lDiyiwJbxw=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vscode-uri/download/vscode-uri-2.1.2.tgz} + resolution: {integrity: sha1-yNQN6T61evMfPHFd1lDiyiwJbxw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vscode-uri/download/vscode-uri-2.1.2.tgz} name: vscode-uri version: 2.1.2 dev: true registry.nlark.com/vscode-uri/3.0.2: - resolution: {integrity: sha1-7P0dBmy470w6II3s26uajCPQVdA=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vscode-uri/download/vscode-uri-3.0.2.tgz} + resolution: {integrity: sha1-7P0dBmy470w6II3s26uajCPQVdA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vscode-uri/download/vscode-uri-3.0.2.tgz} name: vscode-uri version: 3.0.2 dev: true registry.nlark.com/vscode-vue-languageservice/0.27.20: - resolution: {integrity: sha1-P1fvk+h69XGjKT6e/7HTuhLoL8g=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vscode-vue-languageservice/download/vscode-vue-languageservice-0.27.20.tgz} + resolution: {integrity: sha1-P1fvk+h69XGjKT6e/7HTuhLoL8g=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vscode-vue-languageservice/download/vscode-vue-languageservice-0.27.20.tgz} name: vscode-vue-languageservice version: 0.27.20 dependencies: @@ -5985,7 +5985,7 @@ packages: dev: true registry.nlark.com/vue-demi/0.11.4_vue@3.2.10: - resolution: {integrity: sha1-YQGZL+RyTPVjQBihbpU/MFLpTio=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vue-demi/download/vue-demi-0.11.4.tgz} + resolution: {integrity: sha1-YQGZL+RyTPVjQBihbpU/MFLpTio=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vue-demi/download/vue-demi-0.11.4.tgz} id: registry.nlark.com/vue-demi/0.11.4 name: vue-demi version: 0.11.4 @@ -6033,7 +6033,7 @@ packages: dev: false registry.nlark.com/vue-tsc/0.3.0_typescript@4.4.3: - resolution: {integrity: sha1-Ozhyv08dLkQJtXrb2CYDLiU9tAY=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vue-tsc/download/vue-tsc-0.3.0.tgz} + resolution: {integrity: sha1-Ozhyv08dLkQJtXrb2CYDLiU9tAY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vue-tsc/download/vue-tsc-0.3.0.tgz} id: registry.nlark.com/vue-tsc/0.3.0 name: vue-tsc version: 0.3.0 @@ -6089,7 +6089,7 @@ packages: dev: true registry.nlark.com/with/7.0.2: - resolution: {integrity: sha1-zO461ULSVTinp6gKrSErmChJW6w=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/with/download/with-7.0.2.tgz} + resolution: {integrity: sha1-zO461ULSVTinp6gKrSErmChJW6w=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/with/download/with-7.0.2.tgz} name: with version: 7.0.2 engines: {node: '>= 10.0.0'} diff --git a/src/enum/storage.ts b/src/enum/storage.ts index b7321134..05c1be83 100644 --- a/src/enum/storage.ts +++ b/src/enum/storage.ts @@ -1,6 +1,8 @@ export enum EnumStorageKey { /** 用户token */ 'token' = '__TOKEN__', + /** 用户刷新token */ + 'refresh-koken' = '__REFRESH_TOKEN__', /** 用户信息 */ 'user-info' = '__USER_INFO__' } diff --git a/src/hooks/common/index.ts b/src/hooks/common/index.ts index 8ecb35e8..81bdf625 100644 --- a/src/hooks/common/index.ts +++ b/src/hooks/common/index.ts @@ -2,6 +2,7 @@ import useAppTitle from './useAppTitle'; import useCreateContext from './useCreateContext'; import useRouterChange from './useRouterChange'; import useRouteParam from './useRouteParam'; +import useRouteQuery from './useRouteQuery'; import useScrollBehavior from './useScrollBehavior'; -export { useAppTitle, useCreateContext, useRouterChange, useRouteParam, useScrollBehavior }; +export { useAppTitle, useCreateContext, useRouterChange, useRouteParam, useRouteQuery, useScrollBehavior }; diff --git a/src/hooks/common/useRouteParam.ts b/src/hooks/common/useRouteParam.ts index 23bc49c5..149a2f3a 100644 --- a/src/hooks/common/useRouteParam.ts +++ b/src/hooks/common/useRouteParam.ts @@ -1,20 +1,7 @@ -import { computed } from 'vue'; -import { useRoute } from 'vue-router'; -import { RouteNameMap } from '@/router'; +// import { computed } from 'vue'; +// import { useRoute } from 'vue-router'; +// import { RouteNameMap } from '@/router'; export default function useRouteParam() { - const route = useRoute(); - - /** 登录跳转链接 */ - const loginRedirectUrl = computed(() => { - let url = ''; - if (route.name === RouteNameMap.get('login')) { - url = (route.params?.redirectUrl as string) ?? ''; - } - return url; - }); - - return { - loginRedirectUrl - }; + // const route = useRoute(); } diff --git a/src/hooks/common/useRouteQuery.ts b/src/hooks/common/useRouteQuery.ts new file mode 100644 index 00000000..5d01a162 --- /dev/null +++ b/src/hooks/common/useRouteQuery.ts @@ -0,0 +1,20 @@ +import { computed } from 'vue'; +import { useRoute } from 'vue-router'; +import { RouteNameMap } from '@/router'; + +export default function useRouteQuery() { + const route = useRoute(); + + /** 登录跳转链接 */ + const loginRedirectUrl = computed(() => { + let url = ''; + if (route.name === RouteNameMap.get('login')) { + url = (route.query?.redirectUrl as string) ?? ''; + } + return url; + }); + + return { + loginRedirectUrl + }; +} diff --git a/src/hooks/common/useRouterChange.ts b/src/hooks/common/useRouterChange.ts index 73efd37e..8e9a934f 100644 --- a/src/hooks/common/useRouterChange.ts +++ b/src/hooks/common/useRouterChange.ts @@ -1,10 +1,24 @@ import { useRouter } from 'vue-router'; -import { EnumRoutePath } from '@/enum'; -import { RouteNameMap } from '@/router'; +import { router as globalRouter, RouteNameMap } from '@/router'; import type { LoginModuleType } from '@/interface'; -export default function useRouterChange() { - const router = useRouter(); +interface LoginRedirect { + /** + * 重定向类型 + * - current: 取当前的地址作为重定向地址 + * - custom: 自定义地址作为重定向地址 + */ + type: 'current' | 'custom'; + /** 自定义地址 */ + url: string; +} + +/** + * 路由跳转 + * @param inSetup - 是否在vue页面/组件的setup里面调用 + */ +export default function useRouterChange(inSetup: boolean = true) { + const router = inSetup ? useRouter() : globalRouter; /** 跳转首页 */ function toHome() { @@ -14,35 +28,19 @@ export default function useRouterChange() { /** * 跳转登录页面(通过vue路由) * @param module - 展示的登录模块 - * @param redirectUrl - 登录后重定向的页面路径 + * @param redirect - 登录后重定向相关配置 */ - function toLogin(module: LoginModuleType = 'pwd-login', redirectUrl?: string) { + function toLogin(module: LoginModuleType = 'pwd-login', redirect: LoginRedirect = { type: 'current', url: '' }) { + const redirectUrl = redirect.type === 'current' ? window.location.href : redirect.url; router.push({ name: RouteNameMap.get('login'), - params: { - module - }, - query: { - redirectUrl - } + params: { module }, + query: { redirectUrl } }); } - /** - * 跳转登录页面(通过window.location) - * @param module - 展示的登录模块 - * @param redirectUrl - 登录后重定向的页面路径 - */ - function toLoginByLocation(module: LoginModuleType = 'pwd-login', redirectUrl?: string) { - let href = `${window.location.origin + EnumRoutePath.login}/${module}`; - if (redirectUrl) { - href += redirectUrl; - } - window.location.href = href; - } return { toHome, - toLogin, - toLoginByLocation + toLogin }; } diff --git a/src/hooks/index.ts b/src/hooks/index.ts index c39441cb..8c5da3a7 100644 --- a/src/hooks/index.ts +++ b/src/hooks/index.ts @@ -1,2 +1,9 @@ -export { useAppTitle, useCreateContext, useRouterChange, useRouteParam, useScrollBehavior } from './common'; +export { + useAppTitle, + useCreateContext, + useRouterChange, + useRouteParam, + useRouteQuery, + useScrollBehavior +} from './common'; export { useCountDown, useSmsCode } from './business'; diff --git a/src/layouts/BasicLayout/components/GlobalHeader/components/UserAvatar.vue b/src/layouts/BasicLayout/components/GlobalHeader/components/UserAvatar.vue index 31fd82d6..9e27be97 100644 --- a/src/layouts/BasicLayout/components/GlobalHeader/components/UserAvatar.vue +++ b/src/layouts/BasicLayout/components/GlobalHeader/components/UserAvatar.vue @@ -10,15 +10,12 @@ diff --git a/src/router/index.ts b/src/router/index.ts index 6157e480..d4366a00 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -9,7 +9,7 @@ const routes: Array = [...customRoutes, ...constantRoutes]; /** 用于部署vercel托管服务 */ const isVercel = import.meta.env.VITE_HTTP_ENV === 'VERCEL'; -const router = createRouter({ +export const router = createRouter({ history: isVercel ? createWebHashHistory() : createWebHistory(), routes }); diff --git a/src/router/permission.ts b/src/router/permission.ts index 7e75c2b5..d1d23884 100644 --- a/src/router/permission.ts +++ b/src/router/permission.ts @@ -1,7 +1,7 @@ -import type { Router } from 'vue-router'; +import type { Router, RouteLocationNormalized, NavigationGuardNext } from 'vue-router'; import { useTitle } from '@vueuse/core'; -import { getToken, getLoginRedirectUrl } from '@/utils'; -import { RouteNameMap, whitelistRoutes } from './routes'; +import { getToken } from '@/utils'; +import { RouteNameMap } from './routes'; /** * 路由守卫函数 @@ -9,22 +9,10 @@ import { RouteNameMap, whitelistRoutes } from './routes'; */ export default function createRouterGuide(router: Router) { router.beforeEach((to, from, next) => { + // 开始 loadingBar window.$loadingBar?.start(); - const token = getToken(); - if (whitelistRoutes.includes(to.name as string)) { - if (to.name === RouteNameMap.get('login') && token) { - next('/'); - return; - } - next(); - return; - } - if (token) { - next(); - } else { - const redirectUrl = getLoginRedirectUrl(); - next({ name: RouteNameMap.get('login'), query: { redirectUrl } }); - } + // 页面跳转逻辑 + handleRouterAction(to, from, next); }); router.afterEach(to => { // 设置document title @@ -33,3 +21,45 @@ export default function createRouterGuide(router: Router) { window.$loadingBar?.finish(); }); } + +function handleRouterAction(to: RouteLocationNormalized, from: RouteLocationNormalized, next: NavigationGuardNext) { + const token = getToken(); + const routerAction: [boolean, () => void][] = [ + // 已登录状态跳转登录页,跳转至首页 + [ + to.name === RouteNameMap.get('login') && Boolean(token), + () => { + next({ name: RouteNameMap.get('root') }); + } + ], + // 不需要权限的页面直接通行 + [ + !to.meta?.requiresAuth, + () => { + next(); + } + ], + // 需要权限的页面 + [ + Boolean(to.meta?.requiresAuth), + () => { + if (token) { + // 有权限直接通行 + next(); + } else { + // 没有权限,跳转至登录页 + const redirectUrl = window.location.href; + next({ name: RouteNameMap.get('login'), query: { redirectUrl } }); + } + } + ] + ]; + + routerAction.some(item => { + const flag = item[0]; + if (flag) { + item[1](); + } + return flag; + }); +} diff --git a/src/router/routes.ts b/src/router/routes.ts index b0480320..566c5220 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -109,6 +109,7 @@ export const customRoutes: CustomRoute[] = [ path: EnumRoutePath['dashboard-analysis'], component: () => import('@/views/dashboard/analysis/index.vue'), meta: { + requiresAuth: true, title: EnumRouteTitle['dashboard-analysis'] } }, @@ -117,6 +118,7 @@ export const customRoutes: CustomRoute[] = [ path: EnumRoutePath['dashboard-workbench'], component: () => import('@/views/dashboard/workbench/index.vue'), meta: { + requiresAuth: true, title: EnumRouteTitle['dashboard-workbench'] } } @@ -127,6 +129,7 @@ export const customRoutes: CustomRoute[] = [ path: EnumRoutePath.exception, component: BasicLayout, meta: { + requiresAuth: true, title: EnumRouteTitle.exception, icon: ExceptionOutlined }, @@ -136,6 +139,7 @@ export const customRoutes: CustomRoute[] = [ path: EnumRoutePath['exception-403'], component: () => import('@/views/system/exception/403.vue'), meta: { + requiresAuth: true, title: EnumRouteTitle['exception-403'], fullPage: true } @@ -145,6 +149,7 @@ export const customRoutes: CustomRoute[] = [ path: EnumRoutePath['exception-404'], component: () => import('@/views/system/exception/404.vue'), meta: { + requiresAuth: true, title: EnumRouteTitle['exception-404'], fullPage: true } @@ -154,6 +159,7 @@ export const customRoutes: CustomRoute[] = [ path: EnumRoutePath['exception-500'], component: () => import('@/views/system/exception/500.vue'), meta: { + requiresAuth: true, title: EnumRouteTitle['exception-500'], fullPage: true } diff --git a/src/store/modules/auth/index.ts b/src/store/modules/auth/index.ts index 87d5205b..143a4d25 100644 --- a/src/store/modules/auth/index.ts +++ b/src/store/modules/auth/index.ts @@ -33,7 +33,7 @@ const authStore = defineStore({ resetAuthState() { removeToken(); this.$reset(); - window.location.reload(); + // window.location.reload(); } } }); diff --git a/src/utils/auth/index.ts b/src/utils/auth/index.ts index 766812d4..4e03ea19 100644 --- a/src/utils/auth/index.ts +++ b/src/utils/auth/index.ts @@ -1,2 +1,2 @@ -export { getToken, setToken, removeToken, getUserInfo, getLoginModuleRegExp } from './user'; -export { getLoginRedirectUrl, toLoginRedirectUrl, toHomeByLocation } from './location'; +export { getToken, setToken, removeToken, getUserInfo, resetAuthStorage, getLoginModuleRegExp } from './user'; +export { getLoginRedirectUrl, toLoginRedirectUrl } from './location'; diff --git a/src/utils/auth/location.ts b/src/utils/auth/location.ts index d5856314..8ef56415 100644 --- a/src/utils/auth/location.ts +++ b/src/utils/auth/location.ts @@ -7,8 +7,3 @@ export function getLoginRedirectUrl() { export function toLoginRedirectUrl(redirectUrl: string) { window.location.href = redirectUrl; } - -/** 回到首页 */ -export function toHomeByLocation() { - window.location.href = '/'; -} diff --git a/src/utils/auth/user.ts b/src/utils/auth/user.ts index b430869d..d1c217e1 100644 --- a/src/utils/auth/user.ts +++ b/src/utils/auth/user.ts @@ -3,21 +3,43 @@ import type { LoginModuleType } from '@/interface'; import { setLocal, getLocal, removeLocal } from '../storage'; /** 设置token */ -export function getToken() { - return getLocal(EnumStorageKey.token) || ''; -} - -/** 获取token */ export function setToken(token: string) { setLocal(EnumStorageKey.token, token); } +/** 获取token */ +export function getToken() { + return getLocal(EnumStorageKey.token) || ''; +} + +/** 去除token */ export function removeToken() { removeLocal(EnumStorageKey.token); } +/** 获取refresh token */ +export function getRefreshToken() { + return getLocal(EnumStorageKey['refresh-koken']) || ''; +} + +/** 设置refresh token */ +export function setRefreshToken(token: string) { + setLocal(EnumStorageKey['refresh-koken'], token); +} + +/** 去除refresh token */ +export function removeRefreshToken() { + removeLocal(EnumStorageKey['refresh-koken']); +} + export function getUserInfo() {} +/** 去除用户相关缓存 */ +export function resetAuthStorage() { + removeToken(); + removeRefreshToken(); +} + /** 获取登录模块的正则字符串 */ export function getLoginModuleRegExp() { const arr: LoginModuleType[] = ['pwd-login', 'code-login', 'register', 'reset-pwd', 'bind-wechat']; diff --git a/src/utils/index.ts b/src/utils/index.ts index e68bade8..e3ff1d02 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -3,10 +3,10 @@ export { getToken, removeToken, getUserInfo, + resetAuthStorage, getLoginModuleRegExp, getLoginRedirectUrl, - toLoginRedirectUrl, - toHomeByLocation + toLoginRedirectUrl } from './auth'; export { @@ -26,4 +26,13 @@ export { dynamicIconRender } from './common'; -export { setLocal, getLocal, setSession, getSession } from './storage'; +export { + setLocal, + getLocal, + removeLocal, + clearLocal, + setSession, + getSession, + removeSession, + clearSession +} from './storage'; diff --git a/src/utils/storage/index.ts b/src/utils/storage/index.ts index 5aa7479b..3a28b3d7 100644 --- a/src/utils/storage/index.ts +++ b/src/utils/storage/index.ts @@ -1,2 +1,2 @@ -export { setLocal, getLocal, removeLocal } from './local'; -export { setSession, getSession } from './session'; +export { setLocal, getLocal, removeLocal, clearLocal } from './local'; +export { setSession, getSession, removeSession, clearSession } from './session'; diff --git a/src/utils/storage/local.ts b/src/utils/storage/local.ts index b14efc98..037cb6f0 100644 --- a/src/utils/storage/local.ts +++ b/src/utils/storage/local.ts @@ -14,3 +14,7 @@ export function getLocal(key: string) { export function removeLocal(key: string) { window.localStorage.removeItem(key); } + +export function clearLocal() { + window.localStorage.clear(); +} diff --git a/src/utils/storage/session.ts b/src/utils/storage/session.ts index e42b00ea..fd24465d 100644 --- a/src/utils/storage/session.ts +++ b/src/utils/storage/session.ts @@ -10,3 +10,11 @@ export function getSession(key: string) { } return json; } + +export function removeSession(key: string) { + window.sessionStorage.removeItem(key); +} + +export function clearSession() { + window.sessionStorage.clear(); +} diff --git a/src/views/system/login/components/common/OtherLogin/index.vue b/src/views/system/login/components/PwdLogin/components/OtherLogin.vue similarity index 100% rename from src/views/system/login/components/common/OtherLogin/index.vue rename to src/views/system/login/components/PwdLogin/components/OtherLogin.vue diff --git a/src/views/system/login/components/PwdLogin/components/index.ts b/src/views/system/login/components/PwdLogin/components/index.ts new file mode 100644 index 00000000..b4e6386c --- /dev/null +++ b/src/views/system/login/components/PwdLogin/components/index.ts @@ -0,0 +1,3 @@ +import OtherLogin from './OtherLogin.vue'; + +export { OtherLogin }; diff --git a/src/views/system/login/components/PwdLogin/index.vue b/src/views/system/login/components/PwdLogin/index.vue index 45737a9e..68bd973c 100644 --- a/src/views/system/login/components/PwdLogin/index.vue +++ b/src/views/system/login/components/PwdLogin/index.vue @@ -31,12 +31,12 @@ import { reactive, ref } from 'vue'; import { NForm, NFormItem, NInput, NSpace, NCheckbox, NButton, useNotification } from 'naive-ui'; import type { FormInst } from 'naive-ui'; import { EnumLoginModule } from '@/enum'; -import { useRouterChange, useRouteParam } from '@/hooks'; +import { useRouterChange, useRouteQuery } from '@/hooks'; import { setToken, toLoginRedirectUrl } from '@/utils'; -import { OtherLogin } from '../common'; +import { OtherLogin } from './components'; const { toLogin, toHome } = useRouterChange(); -const { loginRedirectUrl } = useRouteParam(); +const { loginRedirectUrl } = useRouteQuery(); const notification = useNotification(); const formRef = ref<(HTMLElement & FormInst) | null>(null); diff --git a/src/views/system/login/components/common/index.ts b/src/views/system/login/components/common/index.ts deleted file mode 100644 index ba97ab9d..00000000 --- a/src/views/system/login/components/common/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import OtherLogin from './OtherLogin/index.vue'; - -export { OtherLogin };