From 8381410ff4938ab519e7c48afd8a6bfe0cbf0445 Mon Sep 17 00:00:00 2001 From: xiaoxian521 <1923740402@qq.com> Date: Sat, 11 Dec 2021 11:17:21 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E5=90=8C=E6=AD=A5=E5=AE=8C=E6=95=B4?= =?UTF-8?q?=E7=89=88=E5=88=86=E6=94=AF=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 10 +- pnpm-lock.yaml | 263 ++++++++++++++++++++++---------------- src/plugins/element-plus/index.ts | 57 +++++---- src/style/sidebar.scss | 24 +++- 4 files changed, 211 insertions(+), 143 deletions(-) diff --git a/package.json b/package.json index 3a7cf4a..7c47a73 100644 --- a/package.json +++ b/package.json @@ -28,17 +28,18 @@ "not op_mini all" ], "dependencies": { - "@element-plus/icons": "^0.0.11", + "@element-plus/icons-vue": "^0.2.4", "@fortawesome/fontawesome-svg-core": "^1.2.36", "@fortawesome/free-solid-svg-icons": "^5.15.4", "@fortawesome/vue-fontawesome": "^3.0.0-5", + "@vue/compiler-sfc": "^3.2.24", "@vueuse/core": "^6.7.1", "@vueuse/motion": "^2.0.0-beta.4", "animate.css": "^4.1.1", "await-to-js": "^3.0.0", "axios": "^0.21.1", "dayjs": "^1.10.7", - "element-plus": "1.2.0-beta.3", + "element-plus": "1.2.0-beta.6", "element-resize-detector": "^1.2.3", "font-awesome": "^4.7.0", "js-cookie": "^3.0.1", @@ -55,7 +56,7 @@ "resize-observer-polyfill": "^1.5.1", "responsive-storage": "^1.0.11", "typescript-cookie": "^1.0.0", - "vue": "^3.2.21", + "vue": "^3.2.24", "vue-i18n": "^9.2.0-beta.3", "vue-router": "^4.0.11", "vue-types": "^4.1.0" @@ -73,7 +74,6 @@ "@typescript-eslint/parser": "4.31.0", "@vitejs/plugin-vue": "^1.10.2", "@vitejs/plugin-vue-jsx": "^1.3.1", - "@vue/compiler-sfc": "^3.2.21", "@vue/eslint-config-prettier": "6.0.0", "@vue/eslint-config-typescript": "7.0.0", "@zougt/vite-plugin-theme-preprocessor": "^1.3.12", @@ -98,7 +98,7 @@ "stylelint-config-standard": "22.0.0", "stylelint-order": "4.1.0", "typescript": "4.4.2", - "unplugin-element-plus": "^0.1.0", + "unplugin-element-plus": "^0.1.3", "vite": "2.6.14", "vite-plugin-mock": "^2.9.6", "vite-plugin-style-import": "^1.2.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8cb3f38..a4b2e8b 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 - "@element-plus/icons": ^0.0.11 + "@element-plus/icons-vue": ^0.2.4 "@fortawesome/fontawesome-svg-core": ^1.2.36 "@fortawesome/free-solid-svg-icons": ^5.15.4 "@fortawesome/vue-fontawesome": ^3.0.0-5 @@ -17,7 +17,7 @@ specifiers: "@typescript-eslint/parser": 4.31.0 "@vitejs/plugin-vue": ^1.10.2 "@vitejs/plugin-vue-jsx": ^1.3.1 - "@vue/compiler-sfc": ^3.2.21 + "@vue/compiler-sfc": ^3.2.24 "@vue/eslint-config-prettier": 6.0.0 "@vue/eslint-config-typescript": 7.0.0 "@vueuse/core": ^6.7.1 @@ -31,7 +31,7 @@ specifiers: chalk: 2.4.2 cross-env: 7.0.3 dayjs: ^1.10.7 - element-plus: 1.2.0-beta.3 + element-plus: 1.2.0-beta.6 element-resize-detector: ^1.2.3 eslint: 7.30.0 eslint-plugin-prettier: 3.4.0 @@ -65,29 +65,30 @@ specifiers: stylelint-order: 4.1.0 typescript: 4.4.2 typescript-cookie: ^1.0.0 - unplugin-element-plus: ^0.1.0 + unplugin-element-plus: ^0.1.3 vite: 2.6.14 vite-plugin-mock: ^2.9.6 vite-plugin-style-import: ^1.2.1 vite-svg-loader: ^2.2.0 - vue: ^3.2.21 + vue: ^3.2.24 vue-eslint-parser: 7.10.0 vue-i18n: ^9.2.0-beta.3 vue-router: ^4.0.11 vue-types: ^4.1.0 dependencies: - "@element-plus/icons": 0.0.11 + "@element-plus/icons-vue": 0.2.4_vue@3.2.24 "@fortawesome/fontawesome-svg-core": 1.2.36 "@fortawesome/free-solid-svg-icons": 5.15.4 - "@fortawesome/vue-fontawesome": 3.0.0-5_a4ef6aa86ab1c63b266771040e7bf2c7 - "@vueuse/core": 6.7.5_vue@3.2.21 - "@vueuse/motion": 2.0.0-beta.4_vue@3.2.21 + "@fortawesome/vue-fontawesome": 3.0.0-5_014d848f8a04ac4bf49bd9df74a34a96 + "@vue/compiler-sfc": 3.2.24 + "@vueuse/core": 6.7.5_vue@3.2.24 + "@vueuse/motion": 2.0.0-beta.4_vue@3.2.24 animate.css: 4.1.1 await-to-js: 3.0.0 axios: 0.21.4 dayjs: 1.10.7 - element-plus: 1.2.0-beta.3_vue@3.2.21 + element-plus: 1.2.0-beta.6_vue@3.2.24 element-resize-detector: 1.2.3 font-awesome: 4.7.0 js-cookie: 3.0.1 @@ -98,16 +99,16 @@ dependencies: nprogress: 0.2.0 path: 0.12.7 path-to-regexp: 6.2.0 - pinia: 2.0.2_typescript@4.4.2+vue@3.2.21 + pinia: 2.0.2_typescript@4.4.2+vue@3.2.24 qs: 6.10.2 remixicon: 2.5.0 resize-observer-polyfill: 1.5.1 - responsive-storage: 1.0.11_vue@3.2.21 + responsive-storage: 1.0.11_vue@3.2.24 typescript-cookie: 1.0.0 - vue: 3.2.21 - vue-i18n: 9.2.0-beta.17_vue@3.2.21 - vue-router: 4.0.12_vue@3.2.21 - vue-types: 4.1.1_vue@3.2.21 + vue: 3.2.24 + vue-i18n: 9.2.0-beta.17_vue@3.2.24 + vue-router: 4.0.12_vue@3.2.24 + vue-types: 4.1.1_vue@3.2.24 devDependencies: "@commitlint/cli": 13.1.0 @@ -122,7 +123,6 @@ devDependencies: "@typescript-eslint/parser": 4.31.0_eslint@7.30.0+typescript@4.4.2 "@vitejs/plugin-vue": 1.10.2_vite@2.6.14 "@vitejs/plugin-vue-jsx": 1.3.1 - "@vue/compiler-sfc": 3.2.21 "@vue/eslint-config-prettier": 6.0.0_82e4252401b0cc5be86f7c2133946f49 "@vue/eslint-config-typescript": 7.0.0_e03d82996bd4a66fb128f33523d782ea "@zougt/vite-plugin-theme-preprocessor": 1.3.12_sass@1.43.4 @@ -147,7 +147,7 @@ devDependencies: stylelint-config-standard: 22.0.0_stylelint@13.13.1 stylelint-order: 4.1.0_stylelint@13.13.1 typescript: 4.4.2 - unplugin-element-plus: 0.1.3_vite@2.6.14+vue@3.2.21 + unplugin-element-plus: 0.1.3_vite@2.6.14+vue@3.2.24 vite: 2.6.14_sass@1.43.4 vite-plugin-mock: 2.9.6_mockjs@1.1.0+vite@2.6.14 vite-plugin-style-import: 1.3.0_vite@2.6.14 @@ -727,11 +727,15 @@ packages: chalk: 4.1.2 dev: true - /@element-plus/icons/0.0.11: + /@element-plus/icons-vue/0.2.4_vue@3.2.24: resolution: { - integrity: sha512-iKQXSxXu131Ai+I9Ymtcof9WId7kaXvB1+WRfAfpQCW7UiAMYgdNDqb/u0hgTo2Yq3MwC4MWJnNuTBEpG8r7+A== + integrity: sha512-RsJNyL58rwxtsjeMy34o8txkL6UlME1stWsUlRpTac6UE9Bx9gdJvnDXbIKhOJqBLX17fBjmposdrn6VTqim2w== } + peerDependencies: + vue: ^3.2.0 + dependencies: + vue: 3.2.24 dev: false /@endemolshinegroup/cosmiconfig-typescript-loader/3.0.2_3fdcc7bc724bd900a681b5e9457ed94a: @@ -803,7 +807,7 @@ packages: "@fortawesome/fontawesome-common-types": 0.2.36 dev: false - /@fortawesome/vue-fontawesome/3.0.0-5_a4ef6aa86ab1c63b266771040e7bf2c7: + /@fortawesome/vue-fontawesome/3.0.0-5_014d848f8a04ac4bf49bd9df74a34a96: resolution: { integrity: sha512-aNmBT4bOecrFsZTog1l6AJDQHPP3ocXV+WQ3Ogy8WZCqstB/ahfhH4CPu5i4N9Hw0MBKXqE+LX+NbUxcj8cVTw== @@ -813,7 +817,7 @@ packages: vue: ">= 3.0.0 < 4" dependencies: "@fortawesome/fontawesome-svg-core": 1.2.36 - vue: 3.2.21 + vue: 3.2.24 dev: false /@humanwhocodes/config-array/0.5.0: @@ -920,10 +924,10 @@ packages: fastq: 1.13.0 dev: true - /@popperjs/core/2.10.2: + /@popperjs/core/2.11.0: resolution: { - integrity: sha512-IXf3XA7+XyN7CP9gGh/XB0UxVMlvARGEgGXLubFICsUMGz6Q+DU+i4gGlpOxTjKvXjkJDJC8YdqdKkDj9qZHEQ== + integrity: sha512-zrsUxjLOKAzdewIDRWy9nsV1GQsKBCWaGwsZQlCgr6/q+vjyZhFgqedLfFBuI9anTPEUT4APq9Mu0SZBTzIcGQ== } dev: false @@ -1309,51 +1313,51 @@ packages: - supports-color dev: true - /@vue/compiler-core/3.2.21: + /@vue/compiler-core/3.2.24: resolution: { - integrity: sha512-NhhiQZNG71KNq1h5pMW/fAXdTF7lJRaSI7LDm2edhHXVz1ROMICo8SreUmQnSf4Fet0UPBVqJ988eF4+936iDQ== + integrity: sha512-A0SxB2HAggKzP57LDin5gfgWOTwFyGCtQ5MTMNBADnfQYALWnYuC8kMI0DhRSplGTWRvn9Z2DAnG8f35BnojuA== } dependencies: "@babel/parser": 7.16.2 - "@vue/shared": 3.2.21 + "@vue/shared": 3.2.24 estree-walker: 2.0.2 source-map: 0.6.1 - /@vue/compiler-dom/3.2.21: + /@vue/compiler-dom/3.2.24: resolution: { - integrity: sha512-gsJD3DpYZSYquiA7UIPsMDSlAooYWDvHPq9VRsqzJEk2PZtFvLvHPb4aaMD8Ufd62xzYn32cnnkzsEOJhyGilA== + integrity: sha512-KQEm8r0JFsrNNIfbD28pcwMvHpcJcwjVR1XWFcD0yyQ8eREd7IXhT7J6j7iNCSE/TIo78NOvkwbyX+lnIm836w== } dependencies: - "@vue/compiler-core": 3.2.21 - "@vue/shared": 3.2.21 + "@vue/compiler-core": 3.2.24 + "@vue/shared": 3.2.24 - /@vue/compiler-sfc/3.2.21: + /@vue/compiler-sfc/3.2.24: resolution: { - integrity: sha512-+yDlUSebKpz/ovxM2vLRRx7w/gVfY767pOfYTgbIhAs+ogvIV2BsIt4fpxlThnlCNChJ+yE0ERUNoROv2kEGEQ== + integrity: sha512-YGPcIvVJp2qTPkuT6kT43Eo1xjstyY4bmuiSV31my4bQMBFVR26ANmifUSt759Blok71gK0WzfIZHbcOKYOeKA== } dependencies: "@babel/parser": 7.16.2 - "@vue/compiler-core": 3.2.21 - "@vue/compiler-dom": 3.2.21 - "@vue/compiler-ssr": 3.2.21 - "@vue/ref-transform": 3.2.21 - "@vue/shared": 3.2.21 + "@vue/compiler-core": 3.2.24 + "@vue/compiler-dom": 3.2.24 + "@vue/compiler-ssr": 3.2.24 + "@vue/ref-transform": 3.2.24 + "@vue/shared": 3.2.24 estree-walker: 2.0.2 magic-string: 0.25.7 postcss: 8.3.11 source-map: 0.6.1 - /@vue/compiler-ssr/3.2.21: + /@vue/compiler-ssr/3.2.24: resolution: { - integrity: sha512-eU+A0iWYy+1zAo2CRIJ0zSVlv1iuGAIbNRCnllSJ31pV1lX3jypJYzGbJlSRAbB7VP6E+tYveVT1Oq8JKewa3g== + integrity: sha512-E1HHShNsGVWXxs68LDOUuI+Bzak9W/Ier/366aKDBFuwvfwgruwq6abhMfj6pSDZpwZ/PXnfliyl/m7qBSq6gw== } dependencies: - "@vue/compiler-dom": 3.2.21 - "@vue/shared": 3.2.21 + "@vue/compiler-dom": 3.2.24 + "@vue/shared": 3.2.24 /@vue/devtools-api/6.0.0-beta.20: resolution: @@ -1399,68 +1403,68 @@ packages: - supports-color dev: true - /@vue/reactivity/3.2.21: + /@vue/reactivity/3.2.24: resolution: { - integrity: sha512-7C57zFm/5E3SSTUhVuYj1InDwuJ+GIVQ/z+H43C9sST85gIThGXVhksl1yWTAadf8Yz4T5lSbqi5Ds8U/ueWcw== + integrity: sha512-5eVsO9wfQ5erCMSRBjpqLkkI+LglJS7E0oLZJs2gsChpvOjH2Uwt3Hk1nVv0ywStnWg71Ykn3SyQwtnl7PknOQ== } dependencies: - "@vue/shared": 3.2.21 + "@vue/shared": 3.2.24 dev: false - /@vue/ref-transform/3.2.21: + /@vue/ref-transform/3.2.24: resolution: { - integrity: sha512-uiEWWBsrGeun9O7dQExYWzXO3rHm/YdtFNXDVqCSoPypzOVxWxdiL+8hHeWzxMB58fVuV2sT80aUtIVyaBVZgQ== + integrity: sha512-j6oNbsGLvea2rF8GQB9w6q7UFL1So7J+t6ducaMeWPSyjYZ+slWpwPVK6mmyghg5oGqC41R+HC5BV036Y0KhXQ== } dependencies: "@babel/parser": 7.16.2 - "@vue/compiler-core": 3.2.21 - "@vue/shared": 3.2.21 + "@vue/compiler-core": 3.2.24 + "@vue/shared": 3.2.24 estree-walker: 2.0.2 magic-string: 0.25.7 - /@vue/runtime-core/3.2.21: + /@vue/runtime-core/3.2.24: resolution: { - integrity: sha512-7oOxKaU0D2IunOAMOOHZgJVrHg63xwng8BZx3fbgmakqEIMwHhQcp+5GV1sOg/sWW7R4UhaRDIUCukO2GRVK2Q== + integrity: sha512-ReI06vGgYuW0G8FlOcAOzMklVDJSxKuRhYzT8j+a8BTfs1945kxo1Th28BPvasyYx8J+LMeZ0HqpPH9yGXvWvg== } dependencies: - "@vue/reactivity": 3.2.21 - "@vue/shared": 3.2.21 + "@vue/reactivity": 3.2.24 + "@vue/shared": 3.2.24 dev: false - /@vue/runtime-dom/3.2.21: + /@vue/runtime-dom/3.2.24: resolution: { - integrity: sha512-apBdriD6QsI4ywbllY8kjr9/0scGuStDuvLbJULPQkFPtHzntd51bP5PQTQVAEIc9kwnTozmj6x6ZdX/cwo7xA== + integrity: sha512-piqsabtIEUKkMGSJlOyKUonZEDtdwOpR6teQ8EKbH8PX9sxfAt9snLnFJldUhhyYrLIyDtnjwajfJ7/XtpD4JA== } dependencies: - "@vue/runtime-core": 3.2.21 - "@vue/shared": 3.2.21 - csstype: 2.6.18 + "@vue/runtime-core": 3.2.24 + "@vue/shared": 3.2.24 + csstype: 2.6.19 dev: false - /@vue/server-renderer/3.2.21_vue@3.2.21: + /@vue/server-renderer/3.2.24_vue@3.2.24: resolution: { - integrity: sha512-QBgYqVgI7XCSBCqGa4LduV9vpfQFdZBOodFmq5Txk5W/v1KrJ1LoOh2Q0RHiRgtoK/UR9uyvRVcYqOmwHkZNEg== + integrity: sha512-DqiCRDxTbv67Hw5ImiqnLIQbPGtIwWLLfEcVHoEnu1f21EMTB6LfoS69EQddd8VyfN5kfX3Fmz27/hrFPpRaMQ== } peerDependencies: - vue: 3.2.21 + vue: 3.2.24 dependencies: - "@vue/compiler-ssr": 3.2.21 - "@vue/shared": 3.2.21 - vue: 3.2.21 + "@vue/compiler-ssr": 3.2.24 + "@vue/shared": 3.2.24 + vue: 3.2.24 dev: false - /@vue/shared/3.2.21: + /@vue/shared/3.2.24: resolution: { - integrity: sha512-5EQmIPK6gw4UVYUbM959B0uPsJ58+xoMESCZs3N89XyvJ9e+fX4pqEPrOGV8OroIk3SbEvJcC+eYc8BH9JQrHA== + integrity: sha512-BUgRiZCkCrqDps5aQ9av05xcge3rn092ztKIh17tHkeEFgP4zfXMQWBA2zfdoCdCEdBL26xtOv+FZYiOp9RUDA== } - /@vueuse/core/6.7.5_vue@3.2.21: + /@vueuse/core/6.7.5_vue@3.2.24: resolution: { integrity: sha512-zgWai0i38TbfWGMVs1ybyEEdwwhjjMloQflRTMU0+pTmp3kEtQTDiVZiOrr758s+yRdr2OQiMQ323dyiKgKMFQ== @@ -1474,12 +1478,31 @@ packages: vue: optional: true dependencies: - "@vueuse/shared": 6.7.5_vue@3.2.21 - vue: 3.2.21 - vue-demi: 0.12.1_vue@3.2.21 + "@vueuse/shared": 6.7.5_vue@3.2.24 + vue: 3.2.24 + vue-demi: 0.12.1_vue@3.2.24 dev: false - /@vueuse/motion/2.0.0-beta.4_vue@3.2.21: + /@vueuse/core/7.2.2_vue@3.2.24: + resolution: + { + integrity: sha512-T9oksrPflNhsgG/Y/7IeCSmITPZ0VKDnTpK8y7SQl4ZIdLIL8L7fJyhJEgSMWyo497j/XK3RKFkOTh4GFTVeIQ== + } + peerDependencies: + "@vue/composition-api": ^1.1.0 + vue: ^2.6.0 || ^3.2.0 + peerDependenciesMeta: + "@vue/composition-api": + optional: true + vue: + optional: true + dependencies: + "@vueuse/shared": 7.2.2_vue@3.2.24 + vue: 3.2.24 + vue-demi: 0.12.1_vue@3.2.24 + dev: false + + /@vueuse/motion/2.0.0-beta.4_vue@3.2.24: resolution: { integrity: sha512-+4lnWz+KdaVmpeUwDyguTApzmjB+NzpxwBL/AcAMhVqp4G6rm8ywGSJaHGJG04uSNIQkJ6dUJx2zppnRxDSyrA== @@ -1491,13 +1514,13 @@ packages: "@vue/composition-api": optional: true dependencies: - "@vueuse/core": 6.7.5_vue@3.2.21 + "@vueuse/core": 6.7.5_vue@3.2.24 popmotion: 10.0.2 - vue: 3.2.21 - vue-demi: 0.12.1_vue@3.2.21 + vue: 3.2.24 + vue-demi: 0.12.1_vue@3.2.24 dev: false - /@vueuse/shared/6.7.5_vue@3.2.21: + /@vueuse/shared/6.7.5_vue@3.2.24: resolution: { integrity: sha512-wUDMPTGUSTYsbiftKq7dYLKD2i3n0m8utbHBCyoxdyeKsmtQGIM2/XeeXjtALB7UXD6rqPsVgCMepNrPPt8zvw== @@ -1511,8 +1534,26 @@ packages: vue: optional: true dependencies: - vue: 3.2.21 - vue-demi: 0.12.1_vue@3.2.21 + vue: 3.2.24 + vue-demi: 0.12.1_vue@3.2.24 + dev: false + + /@vueuse/shared/7.2.2_vue@3.2.24: + resolution: + { + integrity: sha512-9vevEvvQgx4snSrDfZ5BFd7FmlIl9rwTtr8ySzPZhZQslx6lbcsXK3Q97I06Fv8S2TedR//X9fn2QbNtbFmdog== + } + peerDependencies: + "@vue/composition-api": ^1.1.0 + vue: ^2.6.0 || ^3.2.0 + peerDependenciesMeta: + "@vue/composition-api": + optional: true + vue: + optional: true + dependencies: + vue: 3.2.24 + vue-demi: 0.12.1_vue@3.2.24 dev: false /@zougt/some-loader-utils/1.3.4_sass@1.43.4: @@ -2359,10 +2400,10 @@ packages: css-tree: 1.1.3 dev: true - /csstype/2.6.18: + /csstype/2.6.19: resolution: { - integrity: sha512-RSU6Hyeg14am3Ah4VZEmeX8H7kLwEEirXe6aU2IPfKNvhXwTflK5HQRDNI0ypQXoqmm+QPyG2IaPuQE5zMwSIQ== + integrity: sha512-ZVxXaNy28/k3kJg0Fou5MiYpp88j7H9hLZp8PDC3jV0WFjfH5E9xHb56L0W59cPbKbcHXeP4qyT8PrHp8t6LcQ== } dev: false @@ -2567,23 +2608,23 @@ packages: } dev: true - /element-plus/1.2.0-beta.3_vue@3.2.21: + /element-plus/1.2.0-beta.6_vue@3.2.24: resolution: { - integrity: sha512-vvUxR3uL2k9K+WCWz/98hq4uPQ6jvfGf0hfzWvao7pySJkNQq9DtRPC6/4/zUceA/J6Y2Yo3xSbR19JRCwurRw== + integrity: sha512-8EdSIR/5/FHcSB8w1diAh+gJMHgxIvxuZoayY99k6taAR1QyEFHuPTgFccZLopJ1+iP4UEsZFz49l57qS08Utw== } peerDependencies: vue: ^3.2.0 dependencies: - "@element-plus/icons": 0.0.11 - "@popperjs/core": 2.10.2 - "@vueuse/core": 6.7.5_vue@3.2.21 + "@element-plus/icons-vue": 0.2.4_vue@3.2.24 + "@popperjs/core": 2.11.0 + "@vueuse/core": 7.2.2_vue@3.2.24 async-validator: 4.0.7 dayjs: 1.10.7 lodash: 4.17.21 memoize-one: 6.0.0 normalize-wheel-es: 1.1.1 - vue: 3.2.21 + vue: 3.2.24 transitivePeerDependencies: - "@vue/composition-api" dev: false @@ -4892,7 +4933,7 @@ packages: engines: { node: ">=0.10.0" } dev: true - /pinia/2.0.2_typescript@4.4.2+vue@3.2.21: + /pinia/2.0.2_typescript@4.4.2+vue@3.2.24: resolution: { integrity: sha512-ljN+9p9XHE8YrMBgxLbpo5rdVPj7Fri4Bl9qswz5dJPeoK6ra66YOLrGpBoCsHjAqu9jOBC3oJeErocicf51oA== @@ -4909,8 +4950,8 @@ packages: dependencies: "@vue/devtools-api": 6.0.0-beta.20 typescript: 4.4.2 - vue: 3.2.21 - vue-demi: 0.12.1_vue@3.2.21 + vue: 3.2.24 + vue-demi: 0.12.1_vue@3.2.24 dev: false /please-upgrade-node/3.2.0: @@ -5365,7 +5406,7 @@ packages: path-parse: 1.0.7 dev: true - /responsive-storage/1.0.11_vue@3.2.21: + /responsive-storage/1.0.11_vue@3.2.24: resolution: { integrity: sha512-XY/21b7FKCXwBWGLuxp5KUQOAh8jOTsdfRMz0RVE9P+HhK4oYXKcNESDLxE1mD5MWPg/i+k4SGogro5daMrE9A== @@ -5373,7 +5414,7 @@ packages: peerDependencies: vue: ^3.2.0 dependencies: - vue: 3.2.21 + vue: 3.2.24 dev: false /restore-cursor/3.1.0: @@ -6227,7 +6268,7 @@ packages: engines: { node: ">= 0.8" } dev: true - /unplugin-element-plus/0.1.3_vite@2.6.14+vue@3.2.21: + /unplugin-element-plus/0.1.3_vite@2.6.14+vue@3.2.24: resolution: { integrity: sha512-6GO1tuDIXcoYFkbL26Mrd84oUOgAHShcwn/xma5bwmBN2O0N0s13RbBDsK53vm4hxRKIVuFSSr659BkpmXWm2w== @@ -6238,18 +6279,18 @@ packages: "@rollup/pluginutils": 4.1.1 es-module-lexer: 0.9.3 magic-string: 0.25.7 - unplugin: 0.2.19_vite@2.6.14 - vue: 3.2.21 + unplugin: 0.2.21_vite@2.6.14 + vue: 3.2.24 transitivePeerDependencies: - rollup - vite - webpack dev: true - /unplugin/0.2.19_vite@2.6.14: + /unplugin/0.2.21_vite@2.6.14: resolution: { - integrity: sha512-r5PDeBBecir99rhLFp1ftqIkp5afD91anweIlWtF5Ca46FJsn2kQczD93FdFJw79R6HSF5waeYo79bFOQ9GVhQ== + integrity: sha512-IJ15/L5XbhnV7J09Zjk0FT5HEkBjkXucWAXQWRsmEtUxmmxwh23yavrmDbCF6ZPxWiVB28+wnKIHePTRRpQPbQ== } peerDependencies: rollup: ^2.50.0 @@ -6401,7 +6442,7 @@ packages: integrity: sha512-FP6qCN57coIOwmtah68ofpi4dewGmfzPcoKe76RMnJoz7qBTXxQVm2BlnH0YzGeCbOcjm9NKauJ1I6J9OlUUtg== } dependencies: - "@vue/compiler-sfc": 3.2.21 + "@vue/compiler-sfc": 3.2.24 svgo: 2.8.0 dev: true @@ -6433,7 +6474,7 @@ packages: fsevents: 2.3.2 dev: true - /vue-demi/0.12.1_vue@3.2.21: + /vue-demi/0.12.1_vue@3.2.24: resolution: { integrity: sha512-QL3ny+wX8c6Xm1/EZylbgzdoDolye+VpCXRhI2hug9dJTP3OUJ3lmiKN3CsVV3mOJKwFi0nsstbgob0vG7aoIw== @@ -6448,7 +6489,7 @@ packages: "@vue/composition-api": optional: true dependencies: - vue: 3.2.21 + vue: 3.2.24 dev: false /vue-eslint-parser/7.10.0_eslint@7.30.0: @@ -6472,7 +6513,7 @@ packages: - supports-color dev: true - /vue-i18n/9.2.0-beta.17_vue@3.2.21: + /vue-i18n/9.2.0-beta.17_vue@3.2.24: resolution: { integrity: sha512-m8Bfq6Mg1nUQICAiz30CPDd0kTukckj+aGWCA+YgchO3awf0HtTan5jAA3k8LD9P7mYNk3+5nQFR8qqiM9X88w== @@ -6485,10 +6526,10 @@ packages: "@intlify/shared": 9.2.0-beta.17 "@intlify/vue-devtools": 9.2.0-beta.17 "@vue/devtools-api": 6.0.0-beta.20 - vue: 3.2.21 + vue: 3.2.24 dev: false - /vue-router/4.0.12_vue@3.2.21: + /vue-router/4.0.12_vue@3.2.24: resolution: { integrity: sha512-CPXvfqe+mZLB1kBWssssTiWg4EQERyqJZes7USiqfW9B5N2x+nHlnsM1D3b5CaJ6qgCvMmYJnz+G0iWjNCvXrg== @@ -6497,10 +6538,10 @@ packages: vue: ^3.0.0 dependencies: "@vue/devtools-api": 6.0.0-beta.20 - vue: 3.2.21 + vue: 3.2.24 dev: false - /vue-types/4.1.1_vue@3.2.21: + /vue-types/4.1.1_vue@3.2.24: resolution: { integrity: sha512-Jq2GZ/w6rExJbLA/h7nHBFLciu+YNekgox0DB64wN1snZ4IIJMq+qnqp1/vE4fc7vEjZcP5KGhLzkkSjIHLRzw== @@ -6510,20 +6551,20 @@ packages: vue: ^2.0.0 || ^3.0.0 dependencies: is-plain-object: 5.0.0 - vue: 3.2.21 + vue: 3.2.24 dev: false - /vue/3.2.21: + /vue/3.2.24: resolution: { - integrity: sha512-jpy7ckXdyclfRzqLjL4mtq81AkzQleE54KjZsJg/9OorNVurAxdlU5XpD49GpjKdnftuffKUvx2C5jDOrgc/zg== + integrity: sha512-PvCklXNfcUMyeP/a9nME27C32IipwUDoS45rDyKn5+RQrWyjL+0JAJtf98HL6y9bfqQRTlYjSowWEB1nXxvG5Q== } dependencies: - "@vue/compiler-dom": 3.2.21 - "@vue/compiler-sfc": 3.2.21 - "@vue/runtime-dom": 3.2.21 - "@vue/server-renderer": 3.2.21_vue@3.2.21 - "@vue/shared": 3.2.21 + "@vue/compiler-dom": 3.2.24 + "@vue/compiler-sfc": 3.2.24 + "@vue/runtime-dom": 3.2.24 + "@vue/server-renderer": 3.2.24_vue@3.2.24 + "@vue/shared": 3.2.24 dev: false /webpack-virtual-modules/0.4.3: diff --git a/src/plugins/element-plus/index.ts b/src/plugins/element-plus/index.ts index 380943f..4c4ac41 100644 --- a/src/plugins/element-plus/index.ts +++ b/src/plugins/element-plus/index.ts @@ -41,29 +41,15 @@ import { ElTabPane, ElAvatar, ElEmpty, + ElCollapse, + ElCollapseItem, // 指令 ElLoading, ElInfiniteScroll } from "element-plus"; -// https://element-plus.org/zh-CN/component/icon.html -import { - Check, - Menu, - HomeFilled, - SetUp, - Edit, - Setting, - Lollipop, - Link, - Position, - Histogram, - RefreshRight, - ArrowDown, - Close, - CloseBold, - Bell -} from "@element-plus/icons"; +// Directives +const plugins = [ElLoading, ElInfiniteScroll]; const components = [ ElTag, @@ -106,9 +92,31 @@ const components = [ ElTabs, ElTabPane, ElAvatar, - ElEmpty + ElEmpty, + ElCollapse, + ElCollapseItem ]; -// icon + +// https://element-plus.org/zh-CN/component/icon.html +import { + Check, + Menu, + HomeFilled, + SetUp, + Edit, + Setting, + Lollipop, + Link, + Position, + Histogram, + RefreshRight, + ArrowDown, + Close, + CloseBold, + Bell +} from "@element-plus/icons-vue"; + +// Icon export const iconComponents = [ Check, Menu, @@ -127,14 +135,17 @@ export const iconComponents = [ Bell ]; -const plugins = [ElLoading, ElInfiniteScroll]; - export function useElementPlus(app: App) { - components.push(...iconComponents); + // 注册组件 components.forEach((component: Component) => { app.component(component.name, component); }); + // 注册指令 plugins.forEach(plugin => { app.use(plugin); }); + // 注册图标 + iconComponents.forEach((component: Component) => { + app.component(component.name, component); + }); } diff --git a/src/style/sidebar.scss b/src/style/sidebar.scss index e37bbe8..691c738 100644 --- a/src/style/sidebar.scss +++ b/src/style/sidebar.scss @@ -124,6 +124,12 @@ &:hover { color: $menuTitleHover !important; } + + div, + span { + height: 50px; + line-height: 50px; + } } .submenu-title-noDropdown, @@ -486,7 +492,7 @@ > .el-sub-menu__title::before { position: absolute; top: 0; - left: 5px; + left: 0; width: 3px; height: 100%; background-color: $menuActiveBefore; @@ -502,7 +508,6 @@ .el-menu--collapse .is-active.submenu-title-noDropdown.outer-most::before { position: absolute; top: 0; - left: 5px; width: 3px; height: 100%; background-color: $menuActiveBefore; @@ -564,6 +569,10 @@ body[layout="vertical"] { $sideBarWidth: 210px; @include merge-style($sideBarWidth); + .el-menu--collapse { + width: 54px; + } + .sidebar-logo-container { background: $sidebarLogo; } @@ -603,8 +612,6 @@ body[layout="vertical"] { /* 菜单折叠 */ .el-menu--collapse { - margin-left: -5px; - .el-sub-menu { & > .el-sub-menu__title { & > span { @@ -617,6 +624,15 @@ body[layout="vertical"] { } } + /* 无子菜单 */ + .el-menu-item [class^="el-icon"] { + right: 5px; + } + + .el-sub-menu__title [class^="el-icon"] { + right: 2px; + } + .submenu-title-noDropdown { background: transparent !important; }