浏览代码

feat: add dark mode

kailong321200875 3 年之前
父节点
当前提交
0758a6a9d8

+ 47 - 47
pnpm-lock.yaml

@@ -1,4 +1,4 @@
-lockfileVersion: 5.4
+lockfileVersion: 5.3
 
 specifiers:
   '@commitlint/cli': ^16.2.4
@@ -80,7 +80,7 @@ dependencies:
   '@iconify/iconify': registry.npmmirror.com/@iconify/iconify/2.2.1
   '@vueuse/core': registry.npmmirror.com/@vueuse/core/8.4.2_vue@3.2.33
   '@wangeditor/editor': 5.0.1
-  '@wangeditor/editor-for-vue': 5.1.10_salllemaetucd3rk6qfwfltuoy
+  '@wangeditor/editor-for-vue': 5.1.10_9016b5918024e821ee2af40b62ae7476
   '@zxcvbn-ts/core': registry.npmmirror.com/@zxcvbn-ts/core/2.0.1
   animate.css: registry.npmmirror.com/animate.css/4.1.1
   axios: registry.npmmirror.com/axios/0.27.2
@@ -92,7 +92,7 @@ dependencies:
   mitt: registry.npmmirror.com/mitt/3.0.0
   mockjs: registry.npmmirror.com/mockjs/1.1.0
   nprogress: registry.npmmirror.com/nprogress/0.2.0
-  pinia: registry.npmmirror.com/pinia/2.0.14_ytvqwwdyss532bvoq2clv4ed5m
+  pinia: registry.npmmirror.com/pinia/2.0.14_typescript@4.6.4+vue@3.2.33
   pinia-plugin-persist: registry.npmmirror.com/pinia-plugin-persist/1.0.0_pinia@2.0.14+vue@3.2.33
   qrcode: registry.npmmirror.com/qrcode/1.5.0
   qs: registry.npmmirror.com/qs/6.10.3
@@ -115,15 +115,15 @@ devDependencies:
   '@types/nprogress': registry.npmmirror.com/@types/nprogress/0.2.0
   '@types/qrcode': registry.npmmirror.com/@types/qrcode/1.4.2
   '@types/qs': registry.npmmirror.com/@types/qs/6.9.7
-  '@typescript-eslint/eslint-plugin': registry.npmmirror.com/@typescript-eslint/eslint-plugin/5.23.0_c63nfttrfhylg3zmgcxfslaw44
-  '@typescript-eslint/parser': registry.npmmirror.com/@typescript-eslint/parser/5.23.0_hcfsmds2fshutdssjqluwm76uu
+  '@typescript-eslint/eslint-plugin': registry.npmmirror.com/@typescript-eslint/eslint-plugin/5.23.0_17b6d2ce7129f0b36f2c30ae592c16e7
+  '@typescript-eslint/parser': registry.npmmirror.com/@typescript-eslint/parser/5.23.0_eslint@8.15.0+typescript@4.6.4
   '@vitejs/plugin-vue': registry.npmmirror.com/@vitejs/plugin-vue/2.3.2_vite@2.9.8+vue@3.2.33
   '@vitejs/plugin-vue-jsx': 1.3.10
   autoprefixer: registry.npmmirror.com/autoprefixer/10.4.7_postcss@8.4.13
   eslint: registry.npmmirror.com/eslint/8.15.0
   eslint-config-prettier: registry.npmmirror.com/eslint-config-prettier/8.5.0_eslint@8.15.0
   eslint-define-config: 1.4.0
-  eslint-plugin-prettier: registry.npmmirror.com/eslint-plugin-prettier/4.0.0_iqftbjqlxzn3ny5nablrkczhqi
+  eslint-plugin-prettier: registry.npmmirror.com/eslint-plugin-prettier/4.0.0_440b30a60bbe5bb6e3ad0057150b2782
   eslint-plugin-vue: 8.7.1_eslint@8.15.0
   husky: registry.npmmirror.com/husky/8.0.1
   less: registry.npmmirror.com/less/4.1.2
@@ -135,7 +135,7 @@ devDependencies:
   prettier: registry.npmmirror.com/prettier/2.6.2
   rimraf: registry.npmmirror.com/rimraf/3.0.2
   stylelint: registry.npmmirror.com/stylelint/14.8.2
-  stylelint-config-html: registry.npmmirror.com/stylelint-config-html/1.0.0_wdct7lrbpt3f5qukrrtdrzdofe
+  stylelint-config-html: registry.npmmirror.com/stylelint-config-html/1.0.0_b0c53fae217cf65ec28a8c6638e46e29
   stylelint-config-prettier: registry.npmmirror.com/stylelint-config-prettier/9.0.3_stylelint@14.8.2
   stylelint-config-recommended: 7.0.0_stylelint@14.8.2
   stylelint-config-standard: registry.npmmirror.com/stylelint-config-standard/25.0.0_stylelint@14.8.2
@@ -671,7 +671,7 @@ packages:
   /@vue/shared/3.2.33:
     resolution: {integrity: sha512-UBc1Pg1T3yZ97vsA2ueER0F6GbJebLHYlEi4ou1H5YL4KWvMOOWwpYo9/QpWq93wxKG6Wo13IY74Hcn/f7c7Bg==}
 
-  /@wangeditor/basic-modules/1.0.1_xul3yshibia7vpcxpeoa2wv4di:
+  /@wangeditor/basic-modules/1.0.1_bd17bc48e80a01fabc57791c0d5abc1a:
     resolution: {integrity: sha512-xgMh0f4BBVHyhaNc96b3rfJklRGEAC2brfeLRXoexnhSCcvyvaIsEuukvvPHYAYK72SCa0Zcdx6tD9O5WyLMDA==}
     peerDependencies:
       '@wangeditor/core': 1.x
@@ -681,7 +681,7 @@ packages:
       slate: ^0.72.0
       snabbdom: ^3.1.0
     dependencies:
-      '@wangeditor/core': 1.0.1_veueqwzwbg7pele55hmxhpzx5q
+      '@wangeditor/core': 1.0.1_a928485b3609bef22c9de9d973bf37ec
       dom7: 3.0.0
       is-url: 1.2.4
       lodash.throttle: 4.1.1
@@ -690,7 +690,7 @@ packages:
       snabbdom: 3.3.1
     dev: false
 
-  /@wangeditor/code-highlight/1.0.1_nzgeoghfsgngjfveys24ec4wfu:
+  /@wangeditor/code-highlight/1.0.1_6e4c4718e5919a6496a4c4b5c20b962d:
     resolution: {integrity: sha512-3LJ2c7asJT3yOJZ09ibc0TfRNxNy2o5g1MB0Bje5hEM0lV7cGErcjmWNS9l9XDoxrxUoU4ma3p3YjBJzifg/lA==}
     peerDependencies:
       '@wangeditor/core': 1.x
@@ -698,14 +698,14 @@ packages:
       slate: ^0.72.0
       snabbdom: ^3.1.0
     dependencies:
-      '@wangeditor/core': 1.0.1_veueqwzwbg7pele55hmxhpzx5q
+      '@wangeditor/core': 1.0.1_a928485b3609bef22c9de9d973bf37ec
       dom7: 3.0.0
       prismjs: 1.26.0
       slate: 0.72.8
       snabbdom: 3.3.1
     dev: false
 
-  /@wangeditor/core/1.0.1_veueqwzwbg7pele55hmxhpzx5q:
+  /@wangeditor/core/1.0.1_a928485b3609bef22c9de9d973bf37ec:
     resolution: {integrity: sha512-vqendw2S3sz+fiTbMRe1GWvlFC81BIbwYQM3jEdM5yoHsFDwQo0az7JrjPedUQjkA0+mYKQHkwuuJMeFN/+Ldg==}
     peerDependencies:
       '@uppy/core': ^2.1.1
@@ -745,7 +745,7 @@ packages:
       snabbdom: 3.3.1
     dev: false
 
-  /@wangeditor/editor-for-vue/5.1.10_salllemaetucd3rk6qfwfltuoy:
+  /@wangeditor/editor-for-vue/5.1.10_9016b5918024e821ee2af40b62ae7476:
     resolution: {integrity: sha512-OdtMnMt0HpYriY1+Efo3KHviUB5zwlZIaHypNw5MPRn8uFq3MFLET5u8pbB/PiEF5Ff88YAp7T9Xw1dvJzT8sA==}
     peerDependencies:
       '@wangeditor/editor': '>=5.0.0'
@@ -760,13 +760,13 @@ packages:
     dependencies:
       '@uppy/core': 2.1.4
       '@uppy/xhr-upload': 2.0.7_@uppy+core@2.1.4
-      '@wangeditor/basic-modules': 1.0.1_xul3yshibia7vpcxpeoa2wv4di
-      '@wangeditor/code-highlight': 1.0.1_nzgeoghfsgngjfveys24ec4wfu
-      '@wangeditor/core': 1.0.1_veueqwzwbg7pele55hmxhpzx5q
-      '@wangeditor/list-module': 1.0.1_nzgeoghfsgngjfveys24ec4wfu
-      '@wangeditor/table-module': 1.0.1_jsl4uiqjxwoaed3tsfsh3lnhbe
-      '@wangeditor/upload-image-module': 1.0.1_4pr2y23yux7t22h54n3w5a7ie4
-      '@wangeditor/video-module': 1.0.1_dp37nulcvnfzpavrc4quwqn3d4
+      '@wangeditor/basic-modules': 1.0.1_bd17bc48e80a01fabc57791c0d5abc1a
+      '@wangeditor/code-highlight': 1.0.1_6e4c4718e5919a6496a4c4b5c20b962d
+      '@wangeditor/core': 1.0.1_a928485b3609bef22c9de9d973bf37ec
+      '@wangeditor/list-module': 1.0.1_6e4c4718e5919a6496a4c4b5c20b962d
+      '@wangeditor/table-module': 1.0.1_4c97ca2209bd9c020f7391647dada709
+      '@wangeditor/upload-image-module': 1.0.1_e3e3ac6b78a5ff3d68fde3776e83e827
+      '@wangeditor/video-module': 1.0.1_1bf7f6d162ab4b9782b117214b41bb1f
       dom7: 3.0.0
       is-hotkey: 0.2.0
       lodash.camelcase: 4.3.0
@@ -781,7 +781,7 @@ packages:
       snabbdom: 3.3.1
     dev: false
 
-  /@wangeditor/list-module/1.0.1_nzgeoghfsgngjfveys24ec4wfu:
+  /@wangeditor/list-module/1.0.1_6e4c4718e5919a6496a4c4b5c20b962d:
     resolution: {integrity: sha512-hlVwoXCK01eMqwwbZpSAjwHYDeZJei6mvPddcHkT5xws6r4wlT+8Xv3iBiAuutfdPbJTlXBRIWmNDFqN5aRtQg==}
     peerDependencies:
       '@wangeditor/core': 1.x
@@ -789,13 +789,13 @@ packages:
       slate: ^0.72.0
       snabbdom: ^3.1.0
     dependencies:
-      '@wangeditor/core': 1.0.1_veueqwzwbg7pele55hmxhpzx5q
+      '@wangeditor/core': 1.0.1_a928485b3609bef22c9de9d973bf37ec
       dom7: 3.0.0
       slate: 0.72.8
       snabbdom: 3.3.1
     dev: false
 
-  /@wangeditor/table-module/1.0.1_jsl4uiqjxwoaed3tsfsh3lnhbe:
+  /@wangeditor/table-module/1.0.1_4c97ca2209bd9c020f7391647dada709:
     resolution: {integrity: sha512-55U77WoypdUsMY35OJ/FN8VfKM7tBd6JCSCr9EE8Z78nfzFxhJcLPasWkFXqPklleDZ+pcIkfiPojn2DdNRy5w==}
     peerDependencies:
       '@wangeditor/core': 1.x
@@ -805,7 +805,7 @@ packages:
       slate: ^0.72.0
       snabbdom: ^3.1.0
     dependencies:
-      '@wangeditor/core': 1.0.1_veueqwzwbg7pele55hmxhpzx5q
+      '@wangeditor/core': 1.0.1_a928485b3609bef22c9de9d973bf37ec
       dom7: 3.0.0
       lodash.isequal: 4.5.0
       nanoid: 3.3.1
@@ -813,7 +813,7 @@ packages:
       snabbdom: 3.3.1
     dev: false
 
-  /@wangeditor/upload-image-module/1.0.1_4pr2y23yux7t22h54n3w5a7ie4:
+  /@wangeditor/upload-image-module/1.0.1_e3e3ac6b78a5ff3d68fde3776e83e827:
     resolution: {integrity: sha512-vgUV4ENttTITblqtVuzleIq732OmzmzzgrIvX6b3GRGPSw5u8glJ/87tOEhvHjHECc4oFo18B7xzJ1GpBj79/w==}
     peerDependencies:
       '@uppy/core': ^2.0.3
@@ -827,15 +827,15 @@ packages:
     dependencies:
       '@uppy/core': 2.1.4
       '@uppy/xhr-upload': 2.0.7_@uppy+core@2.1.4
-      '@wangeditor/basic-modules': 1.0.1_xul3yshibia7vpcxpeoa2wv4di
-      '@wangeditor/core': 1.0.1_veueqwzwbg7pele55hmxhpzx5q
+      '@wangeditor/basic-modules': 1.0.1_bd17bc48e80a01fabc57791c0d5abc1a
+      '@wangeditor/core': 1.0.1_a928485b3609bef22c9de9d973bf37ec
       dom7: 3.0.0
       lodash.foreach: 4.5.0
       slate: 0.72.8
       snabbdom: 3.3.1
     dev: false
 
-  /@wangeditor/video-module/1.0.1_dp37nulcvnfzpavrc4quwqn3d4:
+  /@wangeditor/video-module/1.0.1_1bf7f6d162ab4b9782b117214b41bb1f:
     resolution: {integrity: sha512-SiMWfigMK8V5t1PuwLEJy6nDgivpyJqicSZZNwqypsASQviNRGBPpAubkd/SjcMlFvUplsTrqjT6KnlMR54iPQ==}
     peerDependencies:
       '@uppy/core': ^2.1.4
@@ -848,7 +848,7 @@ packages:
     dependencies:
       '@uppy/core': 2.1.4
       '@uppy/xhr-upload': 2.0.7_@uppy+core@2.1.4
-      '@wangeditor/core': 1.0.1_veueqwzwbg7pele55hmxhpzx5q
+      '@wangeditor/core': 1.0.1_a928485b3609bef22c9de9d973bf37ec
       dom7: 3.0.0
       nanoid: 3.3.1
       slate: 0.72.8
@@ -2170,7 +2170,7 @@ packages:
       '@types/node': registry.npmmirror.com/@types/node/17.0.31
       chalk: registry.npmmirror.com/chalk/4.1.2
       cosmiconfig: registry.npmmirror.com/cosmiconfig/7.0.1
-      cosmiconfig-typescript-loader: registry.npmmirror.com/cosmiconfig-typescript-loader/1.0.2_l47be6km5p57gglrggidw5gsgm
+      cosmiconfig-typescript-loader: registry.npmmirror.com/cosmiconfig-typescript-loader/1.0.2_5f3e12794cebfbf3197131903b74d233
       lodash: registry.npmmirror.com/lodash/4.17.21
       resolve-from: registry.npmmirror.com/resolve-from/5.0.0
       typescript: registry.npmmirror.com/typescript/4.6.4
@@ -2758,7 +2758,7 @@ packages:
       '@types/node': registry.npmmirror.com/@types/node/17.0.31
     dev: true
 
-  registry.npmmirror.com/@typescript-eslint/eslint-plugin/5.23.0_c63nfttrfhylg3zmgcxfslaw44:
+  registry.npmmirror.com/@typescript-eslint/eslint-plugin/5.23.0_17b6d2ce7129f0b36f2c30ae592c16e7:
     resolution: {integrity: sha512-hEcSmG4XodSLiAp1uxv/OQSGsDY6QN3TcRU32gANp+19wGE1QQZLRS8/GV58VRUoXhnkuJ3ZxNQ3T6Z6zM59DA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.23.0.tgz}
     id: registry.npmmirror.com/@typescript-eslint/eslint-plugin/5.23.0
     name: '@typescript-eslint/eslint-plugin'
@@ -2772,10 +2772,10 @@ packages:
       typescript:
         optional: true
     dependencies:
-      '@typescript-eslint/parser': registry.npmmirror.com/@typescript-eslint/parser/5.23.0_hcfsmds2fshutdssjqluwm76uu
+      '@typescript-eslint/parser': registry.npmmirror.com/@typescript-eslint/parser/5.23.0_eslint@8.15.0+typescript@4.6.4
       '@typescript-eslint/scope-manager': registry.npmmirror.com/@typescript-eslint/scope-manager/5.23.0
-      '@typescript-eslint/type-utils': registry.npmmirror.com/@typescript-eslint/type-utils/5.23.0_hcfsmds2fshutdssjqluwm76uu
-      '@typescript-eslint/utils': registry.npmmirror.com/@typescript-eslint/utils/5.23.0_hcfsmds2fshutdssjqluwm76uu
+      '@typescript-eslint/type-utils': registry.npmmirror.com/@typescript-eslint/type-utils/5.23.0_eslint@8.15.0+typescript@4.6.4
+      '@typescript-eslint/utils': registry.npmmirror.com/@typescript-eslint/utils/5.23.0_eslint@8.15.0+typescript@4.6.4
       debug: registry.npmmirror.com/debug/4.3.4
       eslint: registry.npmmirror.com/eslint/8.15.0
       functional-red-black-tree: registry.npmmirror.com/functional-red-black-tree/1.0.1
@@ -2788,7 +2788,7 @@ packages:
       - supports-color
     dev: true
 
-  registry.npmmirror.com/@typescript-eslint/parser/5.23.0_hcfsmds2fshutdssjqluwm76uu:
+  registry.npmmirror.com/@typescript-eslint/parser/5.23.0_eslint@8.15.0+typescript@4.6.4:
     resolution: {integrity: sha512-V06cYUkqcGqpFjb8ttVgzNF53tgbB/KoQT/iB++DOIExKmzI9vBJKjZKt/6FuV9c+zrDsvJKbJ2DOCYwX91cbw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@typescript-eslint/parser/-/parser-5.23.0.tgz}
     id: registry.npmmirror.com/@typescript-eslint/parser/5.23.0
     name: '@typescript-eslint/parser'
@@ -2821,7 +2821,7 @@ packages:
       '@typescript-eslint/visitor-keys': registry.npmmirror.com/@typescript-eslint/visitor-keys/5.23.0
     dev: true
 
-  registry.npmmirror.com/@typescript-eslint/type-utils/5.23.0_hcfsmds2fshutdssjqluwm76uu:
+  registry.npmmirror.com/@typescript-eslint/type-utils/5.23.0_eslint@8.15.0+typescript@4.6.4:
     resolution: {integrity: sha512-iuI05JsJl/SUnOTXA9f4oI+/4qS/Zcgk+s2ir+lRmXI+80D8GaGwoUqs4p+X+4AxDolPpEpVUdlEH4ADxFy4gw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@typescript-eslint/type-utils/-/type-utils-5.23.0.tgz}
     id: registry.npmmirror.com/@typescript-eslint/type-utils/5.23.0
     name: '@typescript-eslint/type-utils'
@@ -2834,7 +2834,7 @@ packages:
       typescript:
         optional: true
     dependencies:
-      '@typescript-eslint/utils': registry.npmmirror.com/@typescript-eslint/utils/5.23.0_hcfsmds2fshutdssjqluwm76uu
+      '@typescript-eslint/utils': registry.npmmirror.com/@typescript-eslint/utils/5.23.0_eslint@8.15.0+typescript@4.6.4
       debug: registry.npmmirror.com/debug/4.3.4
       eslint: registry.npmmirror.com/eslint/8.15.0
       tsutils: registry.npmmirror.com/tsutils/3.21.0_typescript@4.6.4
@@ -2874,7 +2874,7 @@ packages:
       - supports-color
     dev: true
 
-  registry.npmmirror.com/@typescript-eslint/utils/5.23.0_hcfsmds2fshutdssjqluwm76uu:
+  registry.npmmirror.com/@typescript-eslint/utils/5.23.0_eslint@8.15.0+typescript@4.6.4:
     resolution: {integrity: sha512-dbgaKN21drqpkbbedGMNPCtRPZo1IOUr5EI9Jrrh99r5UW5Q0dz46RKXeSBoPV+56R6dFKpbrdhgUNSJsDDRZA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@typescript-eslint/utils/-/utils-5.23.0.tgz}
     id: registry.npmmirror.com/@typescript-eslint/utils/5.23.0
     name: '@typescript-eslint/utils'
@@ -4001,7 +4001,7 @@ packages:
       vary: registry.npmmirror.com/vary/1.1.2
     dev: true
 
-  registry.npmmirror.com/cosmiconfig-typescript-loader/1.0.2_l47be6km5p57gglrggidw5gsgm:
+  registry.npmmirror.com/cosmiconfig-typescript-loader/1.0.2_5f3e12794cebfbf3197131903b74d233:
     resolution: {integrity: sha512-27ZehvijYqAKVzta5xtZBS3PAliC8CmnWkGXN0vgxAZz7yqxpMjf3aG7flxF5rEiu8FAD7nZZXtOI+xUGn+bVg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-1.0.2.tgz}
     id: registry.npmmirror.com/cosmiconfig-typescript-loader/1.0.2
     name: cosmiconfig-typescript-loader
@@ -4013,7 +4013,7 @@ packages:
     dependencies:
       '@types/node': registry.npmmirror.com/@types/node/17.0.31
       cosmiconfig: registry.npmmirror.com/cosmiconfig/7.0.1
-      ts-node: registry.npmmirror.com/ts-node/10.4.0_l47be6km5p57gglrggidw5gsgm
+      ts-node: registry.npmmirror.com/ts-node/10.4.0_5f3e12794cebfbf3197131903b74d233
       typescript: registry.npmmirror.com/typescript/4.6.4
     transitivePeerDependencies:
       - '@swc/core'
@@ -4403,7 +4403,7 @@ packages:
       escape-html: registry.npmmirror.com/escape-html/1.0.3
       lodash: registry.npmmirror.com/lodash/4.17.21
       lodash-es: registry.npmmirror.com/lodash-es/4.17.21
-      lodash-unified: registry.npmmirror.com/lodash-unified/1.0.2_3ib2ivapxullxkx3xftsimdk7u
+      lodash-unified: registry.npmmirror.com/lodash-unified/1.0.2_da03a4540fbd16bbaafbb96724306afd
       memoize-one: registry.npmmirror.com/memoize-one/6.0.0
       normalize-wheel-es: registry.npmmirror.com/normalize-wheel-es/1.1.2
       vue: 3.2.33
@@ -4756,7 +4756,7 @@ packages:
       eslint: registry.npmmirror.com/eslint/8.15.0
     dev: true
 
-  registry.npmmirror.com/eslint-plugin-prettier/4.0.0_iqftbjqlxzn3ny5nablrkczhqi:
+  registry.npmmirror.com/eslint-plugin-prettier/4.0.0_440b30a60bbe5bb6e3ad0057150b2782:
     resolution: {integrity: sha1-i5nR5LiySnYkcrRWeZICNhnLmOA=, registry: https://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
@@ -6377,7 +6377,7 @@ packages:
     version: 4.17.21
     dev: false
 
-  registry.npmmirror.com/lodash-unified/1.0.2_3ib2ivapxullxkx3xftsimdk7u:
+  registry.npmmirror.com/lodash-unified/1.0.2_da03a4540fbd16bbaafbb96724306afd:
     resolution: {integrity: sha512-OGbEy+1P+UT26CYi4opY4gebD8cWRDxAT6MAObIVQMiqYdxZr1g3QHWCToVsm31x2NkLS4K3+MC2qInaRMa39g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/lodash-unified/-/lodash-unified-1.0.2.tgz}
     id: registry.npmmirror.com/lodash-unified/1.0.2
     name: lodash-unified
@@ -7274,12 +7274,12 @@ packages:
       '@vue/composition-api':
         optional: true
     dependencies:
-      pinia: registry.npmmirror.com/pinia/2.0.14_ytvqwwdyss532bvoq2clv4ed5m
+      pinia: registry.npmmirror.com/pinia/2.0.14_typescript@4.6.4+vue@3.2.33
       vue: 3.2.33
       vue-demi: registry.npmmirror.com/vue-demi/0.12.1_vue@3.2.33
     dev: false
 
-  registry.npmmirror.com/pinia/2.0.14_ytvqwwdyss532bvoq2clv4ed5m:
+  registry.npmmirror.com/pinia/2.0.14_typescript@4.6.4+vue@3.2.33:
     resolution: {integrity: sha512-0nPuZR4TetT/WcLN+feMSjWJku3SQU7dBbXC6uw+R6FLQJCsg+/0pzXyD82T1FmAYe0lsx+jnEDQ1BLgkRKlxA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pinia/-/pinia-2.0.14.tgz}
     id: registry.npmmirror.com/pinia/2.0.14
     name: pinia
@@ -8187,7 +8187,7 @@ packages:
     version: 0.1.0
     dev: true
 
-  registry.npmmirror.com/stylelint-config-html/1.0.0_wdct7lrbpt3f5qukrrtdrzdofe:
+  registry.npmmirror.com/stylelint-config-html/1.0.0_b0c53fae217cf65ec28a8c6638e46e29:
     resolution: {integrity: sha1-FyrLmW7kyFToxnD8/3f/DZjTvsI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/stylelint-config-html/download/stylelint-config-html-1.0.0.tgz}
     id: registry.npmmirror.com/stylelint-config-html/1.0.0
     name: stylelint-config-html
@@ -8504,7 +8504,7 @@ packages:
     engines: {node: '>=8'}
     dev: true
 
-  registry.npmmirror.com/ts-node/10.4.0_l47be6km5p57gglrggidw5gsgm:
+  registry.npmmirror.com/ts-node/10.4.0_5f3e12794cebfbf3197131903b74d233:
     resolution: {integrity: sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ts-node/-/ts-node-10.4.0.tgz}
     id: registry.npmmirror.com/ts-node/10.4.0
     name: ts-node

+ 7 - 2
src/components/Descriptions/src/Descriptions.vue

@@ -62,12 +62,17 @@ const toggleClick = () => {
 </script>
 
 <template>
-  <div :class="[prefixCls, 'bg-[var(--el-color-white)]']">
+  <div
+    :class="[
+      prefixCls,
+      'bg-[var(--el-color-white)] dark:(bg-[var(--el-bg-color)] border-[var(--el-border-color)] border-1px)'
+    ]"
+  >
     <div
       v-if="title"
       :class="[
         `${prefixCls}-header`,
-        'h-50px flex justify-between items-center mb-10px border-bottom-1 border-solid border-[var(--tags-view-border-color)] px-10px cursor-pointer'
+        'h-50px flex justify-between items-center mb-10px border-bottom-1 border-solid border-[var(--tags-view-border-color)] px-10px cursor-pointer dark:border-[var(--el-border-color)]'
       ]"
       @click="toggleClick"
     >

+ 12 - 2
src/components/Dialog/src/Dialog.vue

@@ -40,7 +40,6 @@ watch(
     if (val) {
       const windowHeight = document.documentElement.offsetHeight
       dialogHeight.value = `${windowHeight - 55 - 60 - (slots.footer ? 63 : 0)}px`
-      console.log(windowHeight)
     } else {
       dialogHeight.value = isNumber(props.maxHeight) ? `${props.maxHeight}px` : props.maxHeight
     }
@@ -73,7 +72,7 @@ const dialogStyle = computed(() => {
         </slot>
         <Icon
           v-if="fullscreen"
-          class="mr-11px cursor-pointer is-hover mt-2px"
+          class="mr-18px cursor-pointer is-hover mt-2px"
           :icon="isFullscreen ? 'zmdi:fullscreen-exit' : 'zmdi:fullscreen'"
           color="var(--el-color-info)"
           @click="toggleFull"
@@ -94,6 +93,7 @@ const dialogStyle = computed(() => {
 <style lang="less">
 .@{elNamespace}-dialog__header {
   border-bottom: 1px solid var(--tags-view-border-color);
+  margin-right: 0 !important;
 }
 
 .@{elNamespace}-dialog__footer {
@@ -105,4 +105,14 @@ const dialogStyle = computed(() => {
     color: var(--el-color-primary) !important;
   }
 }
+
+.dark {
+  .@{elNamespace}-dialog__header {
+    border-bottom: 1px solid var(--el-border-color);
+  }
+
+  .@{elNamespace}-dialog__footer {
+    border-top: 1px solid var(--el-border-color);
+  }
+}
 </style>

+ 1 - 1
src/components/Footer/src/Footer.vue

@@ -15,7 +15,7 @@ const title = computed(() => appStore.getTitle)
 <template>
   <div
     :class="prefixCls"
-    class="text-center text-[var(--el-text-color-placeholder)] bg-[var(--app-contnet-bg-color)] h-[var(--app-footer-height)] leading-[var(--app-footer-height)]"
+    class="text-center text-[var(--el-text-color-placeholder)] bg-[var(--app-contnet-bg-color)] h-[var(--app-footer-height)] leading-[var(--app-footer-height)] dark:bg-[var(--el-bg-color)]"
   >
     Copyright ©2021-present {{ title }}
   </div>

+ 7 - 0
src/components/Form/src/Form.vue

@@ -290,3 +290,10 @@ export default defineComponent({
   }
 })
 </script>
+
+<style lang="less" scoped>
+.@{elNamespace}-form.@{namespace}-form .@{elNamespace}-row {
+  margin-left: 0 !important;
+  margin-right: 0 !important;
+}
+</style>

+ 2 - 2
src/components/Search/src/Search.vue

@@ -111,7 +111,7 @@ const setVisible = () => {
           <Icon icon="ep:refresh-right" class="mr-5px" />
           {{ t('common.reset') }}
         </ElButton>
-        <ElButton v-if="expand" type="text" @click="setVisible">
+        <ElButton v-if="expand" text @click="setVisible">
           {{ t(visible ? 'common.shrink' : 'common.expand') }}
           <Icon :icon="visible ? 'ant-design:up-outlined' : 'ant-design:down-outlined'" />
         </ElButton>
@@ -129,7 +129,7 @@ const setVisible = () => {
         <Icon icon="ep:refresh-right" class="mr-5px" />
         {{ t('common.reset') }}
       </ElButton>
-      <ElButton v-if="expand" type="text" @click="setVisible">
+      <ElButton v-if="expand" text @click="setVisible">
         {{ t(visible ? 'common.shrink' : 'common.expand') }}
         <Icon :icon="visible ? 'ant-design:up-outlined' : 'ant-design:down-outlined'" />
       </ElButton>

+ 64 - 7
src/components/TagsView/src/TagsView.vue

@@ -258,18 +258,24 @@ watch(
 </script>
 
 <template>
-  <div :id="prefixCls" :class="prefixCls" class="h-[var(--tags-view-height)] flex w-full relative">
+  <div
+    :id="prefixCls"
+    :class="prefixCls"
+    class="flex w-full relative bg-[#fff] dark:bg-[var(--el-bg-color)]"
+  >
     <span
       :class="`${prefixCls}__tool`"
       class="w-[var(--tags-view-height)] h-[var(--tags-view-height)] text-center leading-[var(--tags-view-height)] cursor-pointer"
       @click="move(-200)"
     >
-      <Icon icon="ep:d-arrow-left" color="#333" />
+      <Icon
+        icon="ep:d-arrow-left"
+        :color="appStore.getIsDark ? 'var(--el-text-color-regular)' : '#333'"
+      />
     </span>
     <div class="overflow-hidden flex-1">
       <ElScrollbar ref="scrollbarRef" class="h-full" @scroll="scroll">
         <div class="flex h-full">
-          <div></div>
           <ContextMenu
             :ref="itemRefs.set"
             :schema="[
@@ -376,14 +382,20 @@ watch(
       class="w-[var(--tags-view-height)] h-[var(--tags-view-height)] text-center leading-[var(--tags-view-height)] cursor-pointer"
       @click="move(200)"
     >
-      <Icon icon="ep:d-arrow-right" color="#333" />
+      <Icon
+        icon="ep:d-arrow-right"
+        :color="appStore.getIsDark ? 'var(--el-text-color-regular)' : '#333'"
+      />
     </span>
     <span
       :class="`${prefixCls}__tool`"
       class="w-[var(--tags-view-height)] h-[var(--tags-view-height)] text-center leading-[var(--tags-view-height)] cursor-pointer"
       @click="refreshSelectedTag(selectedTag)"
     >
-      <Icon icon="ant-design:reload-outlined" color="#333" />
+      <Icon
+        icon="ant-design:reload-outlined"
+        :color="appStore.getIsDark ? 'var(--el-text-color-regular)' : '#333'"
+      />
     </span>
     <ContextMenu
       trigger="click"
@@ -440,7 +452,10 @@ watch(
         :class="`${prefixCls}__tool`"
         class="w-[var(--tags-view-height)] h-[var(--tags-view-height)] text-center leading-[var(--tags-view-height)] cursor-pointer block"
       >
-        <Icon icon="ant-design:setting-outlined" color="#333" />
+        <Icon
+          icon="ant-design:setting-outlined"
+          :color="appStore.getIsDark ? 'var(--el-text-color-regular)' : '#333'"
+        />
       </span>
     </ContextMenu>
   </div>
@@ -450,7 +465,6 @@ watch(
 @prefix-cls: ~'@{namespace}-tags-view';
 
 .@{prefix-cls} {
-  background-color: #fff;
   :deep(.@{elNamespace}-scrollbar__view) {
     height: 100%;
   }
@@ -519,4 +533,47 @@ watch(
     }
   }
 }
+
+.dark {
+  .@{prefix-cls} {
+    &__tool {
+      &:hover {
+        :deep(span) {
+          color: #fff !important;
+        }
+      }
+
+      &:after {
+        border-right: 1px solid var(--el-border-color);
+        border-left: 1px solid var(--el-border-color);
+      }
+    }
+
+    &__item {
+      position: relative;
+      top: 2px;
+      height: calc(~'100% - 4px');
+      padding-right: 25px;
+      font-size: 12px;
+      cursor: pointer;
+      border: 1px solid var(--el-border-color);
+    }
+
+    &__item:not(.is-active) {
+      &:hover {
+        color: var(--el-color-primary);
+      }
+    }
+
+    &__item.is-active {
+      color: var(--el-color-white);
+      background-color: var(--el-color-primary);
+      .@{prefix-cls}__item--close {
+        :deep(span) {
+          color: var(--el-color-white) !important;
+        }
+      }
+    }
+  }
+}
 </style>

+ 1 - 1
src/layout/components/AppView.vue

@@ -22,7 +22,7 @@ const getCaches = computed((): string[] => {
 <template>
   <section
     :class="[
-      'p-[var(--app-content-padding)] w-[100%] bg-[var(--app-contnet-bg-color)]',
+      'p-[var(--app-content-padding)] w-[100%] bg-[var(--app-contnet-bg-color)] dark:bg-[var(--el-bg-color)]',
       {
         '!min-h-[calc(100%-var(--app-footer-height))]':
           fixedHeader && (layout === 'classic' || layout === 'topLeft') && footer,

+ 1 - 1
src/layout/components/ToolHeader.vue

@@ -42,7 +42,7 @@ export default defineComponent({
         class={[
           prefixCls,
           'h-[var(--top-tool-height)] relative px-[var(--top-tool-p-x)] flex items-center justify-between',
-          'dark:bg-[var(--el-bg-color)]'
+          'dark:(bg-[var(--el-bg-color)] border-[--el-border-color])'
         ]}
       >
         {layout.value !== 'top' ? (

+ 8 - 8
src/layout/components/useRenderLayout.tsx

@@ -40,7 +40,7 @@ export const useRenderLayout = () => {
           {logo.value ? (
             <Logo
               class={[
-                'bg-[var(--left-menu-bg-color)] border-bottom-1 border-solid border-[var(--logo-border-color)]',
+                'bg-[var(--left-menu-bg-color)] border-bottom-1 border-solid border-[var(--logo-border-color)] dark:border-[var(--el-border-color)]',
                 {
                   '!pl-0': mobile.value && collapse.value,
                   'w-[var(--left-menu-min-width)]': appStore.getCollapse,
@@ -89,10 +89,10 @@ export const useRenderLayout = () => {
               ]}
               style="transition: all var(--transition-time-02);"
             >
-              <ToolHeader class="border-bottom-1 border-solid border-[var(--top-tool-border-color)] bg-[var(--top-header-bg-color)]"></ToolHeader>
+              <ToolHeader class="border-bottom-1 border-solid border-[var(--top-tool-border-color)] bg-[var(--top-header-bg-color)] dark:border-[var(--el-border-color)]"></ToolHeader>
 
               {tagsView.value ? (
-                <TagsView class="border-bottom-1 border-top-1 border-solid border-[var(--tags-view-border-color)]"></TagsView>
+                <TagsView class="border-bottom-1 border-top-1 border-solid border-[var(--tags-view-border-color)] dark:border-[var(--el-border-color)]"></TagsView>
               ) : undefined}
             </div>
 
@@ -139,7 +139,7 @@ export const useRenderLayout = () => {
               {tagsView.value ? (
                 <TagsView
                   class={[
-                    'border-bottom-1 border-top-1 border-solid border-[var(--tags-view-border-color)]',
+                    'border-bottom-1 border-top-1 border-solid border-[var(--tags-view-border-color)] dark:border-[var(--el-border-color)]',
                     {
                       '!fixed top-0 left-0 z-10': fixedHeader.value,
                       'w-[calc(100%-var(--left-menu-min-width))] left-[var(--left-menu-min-width)] mt-[var(--logo-height)]':
@@ -163,7 +163,7 @@ export const useRenderLayout = () => {
   const renderTop = () => {
     return (
       <>
-        <div class="flex items-center justify-between bg-[var(--top-header-bg-color)] border-bottom-1 border-solid border-[var(--top-tool-border-color)]">
+        <div class="flex items-center justify-between bg-[var(--top-header-bg-color)] border-bottom-1 border-solid border-[var(--top-tool-border-color)] dark:border-[var(--el-border-color)]">
           {logo.value ? <Logo class="hover-tigger"></Logo> : undefined}
           <Menu class="flex-1 px-10px h-[var(--top-tool-height)]"></Menu>
           <ToolHeader></ToolHeader>
@@ -181,7 +181,7 @@ export const useRenderLayout = () => {
             {tagsView.value ? (
               <TagsView
                 class={[
-                  'border-bottom-1 border-top-1 border-solid border-[var(--tags-view-border-color)]',
+                  'border-bottom-1 border-top-1 border-solid border-[var(--tags-view-border-color)] dark:border-[var(--el-border-color)]',
                   {
                     '!fixed w-full top-[var(--top-tool-height)] left-0': fixedHeader.value
                   }
@@ -200,7 +200,7 @@ export const useRenderLayout = () => {
   const renderCutMenu = () => {
     return (
       <>
-        <div class="flex items-center bg-[var(--top-header-bg-color)] border-bottom-1 border-solid border-[var(--top-tool-border-color)]">
+        <div class="flex items-center bg-[var(--top-header-bg-color)] border-bottom-1 border-solid border-[var(--top-tool-border-color)] dark:border-[var(--el-border-color)]">
           {logo.value ? <Logo class="hover-tigger !pr-15px"></Logo> : undefined}
 
           <ToolHeader class="flex-1"></ToolHeader>
@@ -233,7 +233,7 @@ export const useRenderLayout = () => {
               {tagsView.value ? (
                 <TagsView
                   class={[
-                    'border-bottom-1 border-top-1 border-solid border-[var(--tags-view-border-color)]',
+                    'border-bottom-1 border-top-1 border-solid border-[var(--tags-view-border-color)] dark:border-[var(--el-border-color)]',
                     {
                       '!fixed top-0 left-0 z-10': fixedHeader.value,
                       'w-[calc(100%-var(--tab-menu-min-width))] left-[var(--tab-menu-min-width)] mt-[var(--logo-height)]':