From a411e6a6e8baf3a0f0ebf6255f312669903d3754 Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期一, 22 一月 2024 17:38:23 +0800
Subject: [PATCH] 安装适配样式的插件和配置vite+调整页面样式

---
 src/views/dashboard/components/TaskTabs.vue            |    6 
 src/views/dashboard/components/TaskStep.vue            |    8 
 src/views/dashboard/components/TroubleTrackerModal.vue |    2 
 package-lock.json                                      |  646 ++++++++++++++++++++++++++++++++++++++++
 src/views/dashboard/components/ChannelCollapse.vue     |    2 
 src/views/dashboard/components/MaterialDetails.vue     |    2 
 src/components/DashboardLayout.vue                     |    4 
 src/main.ts                                            |    3 
 src/views/dashboard/components/DeviceStatusInfo.vue    |    5 
 vite.config.ts                                         |   89 +++-
 src/views/dashboard/components/DeviceCheckList.vue     |    2 
 src/views/dashboard/components/TaskInfo.vue            |   34 +
 src/views/dashboard/components/KnowledgeInfo.vue       |   49 ++
 src/views/dashboard/index.vue                          |   25 +
 package.json                                           |    4 
 src/views/dashboard/components/DashboardTitle.vue      |   75 +++-
 16 files changed, 864 insertions(+), 92 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index f55e77f..4855b58 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -12,6 +12,7 @@
         "@element-plus/icons-vue": "^2.1.0",
         "@vueuse/core": "^10.5.0",
         "@xstate/vue": "^2.0.0",
+        "amfe-flexible": "^2.2.1",
         "axios": "^1.5.1",
         "dayjs": "^1.11.10",
         "element-plus": "^2.4.1",
@@ -19,6 +20,7 @@
         "js-base64": "^2.6.2",
         "lodash-es": "^4.17.21",
         "pinia": "^2.1.7",
+        "postcss-pxtorem": "^6.0.0",
         "vue": "^3.3.4",
         "vue-hooks-plus": "^1.8.5",
         "vue-router": "^4.2.5",
@@ -43,6 +45,8 @@
         "lint-staged": "^15.0.2",
         "npm-run-all2": "^6.1.1",
         "prettier": "^3.0.3",
+        "px2rem-loader": "^0.1.9",
+        "rollup-plugin-esbuild": "^6.1.0",
         "sass": "^1.69.4",
         "terser": "^5.27.0",
         "typescript": "~5.2.0",
@@ -3342,6 +3346,11 @@
         "uri-js": "^4.2.2"
       }
     },
+    "node_modules/amfe-flexible": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmmirror.com/amfe-flexible/-/amfe-flexible-2.2.1.tgz",
+      "integrity": "sha512-L2VfvDzoETBjhRptg5u/IUuzHSuxm22JpSRb404p/TBGeRfwWmmNEbB+TFPIP/sS/+pbM18bCFH9QnMojLuPNw=="
+    },
     "node_modules/ansi-escapes": {
       "version": "5.0.0",
       "resolved": "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-5.0.0.tgz",
@@ -3421,6 +3430,18 @@
       "version": "0.4.0",
       "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz",
       "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
+    },
+    "node_modules/atob": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmmirror.com/atob/-/atob-2.1.2.tgz",
+      "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
+      "dev": true,
+      "bin": {
+        "atob": "bin/atob.js"
+      },
+      "engines": {
+        "node": ">= 4.5.0"
+      }
     },
     "node_modules/axios": {
       "version": "1.5.1",
@@ -3509,6 +3530,15 @@
       "dev": true,
       "engines": {
         "node": ">=0.6"
+      }
+    },
+    "node_modules/big.js": {
+      "version": "5.2.2",
+      "resolved": "https://registry.npmmirror.com/big.js/-/big.js-5.2.2.tgz",
+      "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
+      "dev": true,
+      "engines": {
+        "node": "*"
       }
     },
     "node_modules/binary-extensions": {
@@ -3784,6 +3814,18 @@
         "node": ">= 8"
       }
     },
+    "node_modules/css": {
+      "version": "2.2.4",
+      "resolved": "https://registry.npmmirror.com/css/-/css-2.2.4.tgz",
+      "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==",
+      "dev": true,
+      "dependencies": {
+        "inherits": "^2.0.3",
+        "source-map": "^0.6.1",
+        "source-map-resolve": "^0.5.2",
+        "urix": "^0.1.0"
+      }
+    },
     "node_modules/cssesc": {
       "version": "3.0.0",
       "resolved": "https://registry.npmmirror.com/cssesc/-/cssesc-3.0.0.tgz",
@@ -4041,6 +4083,15 @@
       "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
       "dev": true
     },
+    "node_modules/emojis-list": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmmirror.com/emojis-list/-/emojis-list-3.0.0.tgz",
+      "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
+      "dev": true,
+      "engines": {
+        "node": ">= 4"
+      }
+    },
     "node_modules/error-ex": {
       "version": "1.3.2",
       "resolved": "https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz",
@@ -4049,6 +4100,12 @@
       "dependencies": {
         "is-arrayish": "^0.2.1"
       }
+    },
+    "node_modules/es-module-lexer": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.4.1.tgz",
+      "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==",
+      "dev": true
     },
     "node_modules/es6-promise": {
       "version": "4.2.8",
@@ -4335,6 +4392,12 @@
         "node": "^14.18.0 || ^16.14.0 || >=18.0.0"
       }
     },
+    "node_modules/extend": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmmirror.com/extend/-/extend-3.0.2.tgz",
+      "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+      "dev": true
+    },
     "node_modules/fast-deep-equal": {
       "version": "3.1.3",
       "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
@@ -4487,6 +4550,29 @@
         "node": ">= 6"
       }
     },
+    "node_modules/fs-extra": {
+      "version": "0.16.5",
+      "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-0.16.5.tgz",
+      "integrity": "sha512-yb7ti8kVH+qboUQWYxUuOPj/qcMUA6lO68ErZoPQOTP+7qroCIN/1gZ1lLk/rs2p0gPFzrvPYujKGnHTu+HHxA==",
+      "dev": true,
+      "dependencies": {
+        "graceful-fs": "^3.0.5",
+        "jsonfile": "^2.0.0",
+        "rimraf": "^2.2.8"
+      }
+    },
+    "node_modules/fs-extra/node_modules/rimraf": {
+      "version": "2.7.1",
+      "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-2.7.1.tgz",
+      "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+      "dev": true,
+      "dependencies": {
+        "glob": "^7.1.3"
+      },
+      "bin": {
+        "rimraf": "bin.js"
+      }
+    },
     "node_modules/fs.realpath": {
       "version": "1.0.0",
       "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz",
@@ -4539,6 +4625,15 @@
       "dev": true,
       "engines": {
         "node": ">=10"
+      }
+    },
+    "node_modules/get-tsconfig": {
+      "version": "4.7.2",
+      "resolved": "https://registry.npmmirror.com/get-tsconfig/-/get-tsconfig-4.7.2.tgz",
+      "integrity": "sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==",
+      "dev": true,
+      "dependencies": {
+        "resolve-pkg-maps": "^1.0.0"
       }
     },
     "node_modules/glob": {
@@ -4607,11 +4702,47 @@
         "get-intrinsic": "^1.1.3"
       }
     },
+    "node_modules/graceful-fs": {
+      "version": "3.0.12",
+      "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-3.0.12.tgz",
+      "integrity": "sha512-J55gaCS4iTTJfTXIxSVw3EMQckcqkpdRv3IR7gu6sq0+tbC363Zx6KH/SEwXASK9JRbhyZmVjJEVJIOxYsB3Qg==",
+      "dev": true,
+      "dependencies": {
+        "natives": "^1.1.3"
+      },
+      "engines": {
+        "node": ">=0.4.0"
+      }
+    },
     "node_modules/graphemer": {
       "version": "1.4.0",
       "resolved": "https://registry.npmmirror.com/graphemer/-/graphemer-1.4.0.tgz",
       "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
       "dev": true
+    },
+    "node_modules/has-ansi": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmmirror.com/has-ansi/-/has-ansi-0.1.0.tgz",
+      "integrity": "sha512-1YsTg1fk2/6JToQhtZkArMkurq8UoWU1Qe0aR3VUHjgij4nOylSWLWAtBXoZ4/dXOmugfLGm1c+QhuD0JyedFA==",
+      "dev": true,
+      "dependencies": {
+        "ansi-regex": "^0.2.0"
+      },
+      "bin": {
+        "has-ansi": "cli.js"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/has-ansi/node_modules/ansi-regex": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-0.2.1.tgz",
+      "integrity": "sha512-sGwIGMjhYdW26/IhwK2gkWWI8DRCVO6uj3hYgHT+zD+QL1pa37tM3ujhyfcJIYSbsxp7Gxhy7zrRW/1AHm4BmA==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
     },
     "node_modules/has-flag": {
       "version": "4.0.0",
@@ -4981,6 +5112,22 @@
       "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==",
       "dev": true
     },
+    "node_modules/jsonfile": {
+      "version": "2.4.0",
+      "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-2.4.0.tgz",
+      "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==",
+      "dev": true,
+      "optionalDependencies": {
+        "graceful-fs": "^4.1.6"
+      }
+    },
+    "node_modules/jsonfile/node_modules/graceful-fs": {
+      "version": "4.2.11",
+      "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz",
+      "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
+      "dev": true,
+      "optional": true
+    },
     "node_modules/keyv": {
       "version": "4.5.4",
       "resolved": "https://registry.npmmirror.com/keyv/-/keyv-4.5.4.tgz",
@@ -5122,6 +5269,32 @@
       },
       "engines": {
         "node": ">=16.0.0"
+      }
+    },
+    "node_modules/loader-utils": {
+      "version": "1.4.2",
+      "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-1.4.2.tgz",
+      "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==",
+      "dev": true,
+      "dependencies": {
+        "big.js": "^5.2.2",
+        "emojis-list": "^3.0.0",
+        "json5": "^1.0.1"
+      },
+      "engines": {
+        "node": ">=4.0.0"
+      }
+    },
+    "node_modules/loader-utils/node_modules/json5": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmmirror.com/json5/-/json5-1.0.2.tgz",
+      "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
+      "dev": true,
+      "dependencies": {
+        "minimist": "^1.2.0"
+      },
+      "bin": {
+        "json5": "lib/cli.js"
       }
     },
     "node_modules/local-pkg": {
@@ -5316,6 +5489,12 @@
         "node": "*"
       }
     },
+    "node_modules/minimist": {
+      "version": "1.2.8",
+      "resolved": "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz",
+      "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
+      "dev": true
+    },
     "node_modules/mlly": {
       "version": "1.4.2",
       "resolved": "https://registry.npmmirror.com/mlly/-/mlly-1.4.2.tgz",
@@ -5350,6 +5529,13 @@
       "engines": {
         "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
       }
+    },
+    "node_modules/natives": {
+      "version": "1.1.6",
+      "resolved": "https://registry.npmmirror.com/natives/-/natives-1.1.6.tgz",
+      "integrity": "sha512-6+TDFewD4yxY14ptjKaS63GVdtKiES1pTPyxn9Jb0rBqPMZ7VcCiooEhPNsr+mqHtMGxa/5c/HhcC4uPEUw/nA==",
+      "deprecated": "This module relies on Node.js's internals and will break at some point. Do not use it, and update to graceful-fs@4.x.",
+      "dev": true
     },
     "node_modules/natural-compare": {
       "version": "1.4.0",
@@ -5738,6 +5924,14 @@
         "node": "^10 || ^12 || >=14"
       }
     },
+    "node_modules/postcss-pxtorem": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmmirror.com/postcss-pxtorem/-/postcss-pxtorem-6.0.0.tgz",
+      "integrity": "sha512-ZRXrD7MLLjLk2RNGV6UA4f5Y7gy+a/j1EqjAfp9NdcNYVjUMvg5HTYduTjSkKBkRkfqbg/iKrjMO70V4g1LZeg==",
+      "peerDependencies": {
+        "postcss": "^8.0.0"
+      }
+    },
     "node_modules/postcss-selector-parser": {
       "version": "6.0.13",
       "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz",
@@ -5796,6 +5990,111 @@
       "dev": true,
       "engines": {
         "node": ">=6"
+      }
+    },
+    "node_modules/px2rem": {
+      "version": "0.5.0",
+      "resolved": "https://registry.npmmirror.com/px2rem/-/px2rem-0.5.0.tgz",
+      "integrity": "sha512-R+LQj3Evbjbpmglo7D0PBVsnAbKP4WSvZEZUnF8RGIpWkIHFeAT+BlDOxxBxKVyMDecmfv9qdzNLTZLMq32osA==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "~0.5.1",
+        "commander": "~2.6.0",
+        "css": "~2.2.0",
+        "extend": "~3.0.0",
+        "fs-extra": "~0.16.3"
+      },
+      "bin": {
+        "px2rem": "bin/px2rem.js"
+      }
+    },
+    "node_modules/px2rem-loader": {
+      "version": "0.1.9",
+      "resolved": "https://registry.npmmirror.com/px2rem-loader/-/px2rem-loader-0.1.9.tgz",
+      "integrity": "sha512-3Ew8At5W/HHIIUe/KZk+FBRRb20KtgP1N1c/BnMlXk6LNkqrFmUIUF35GF/evzNdj/Q63iWJpkmn/c5qSMplRg==",
+      "dev": true,
+      "dependencies": {
+        "loader-utils": "^1.1.0",
+        "px2rem": "^0.5.0"
+      }
+    },
+    "node_modules/px2rem/node_modules/ansi-regex": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-0.2.1.tgz",
+      "integrity": "sha512-sGwIGMjhYdW26/IhwK2gkWWI8DRCVO6uj3hYgHT+zD+QL1pa37tM3ujhyfcJIYSbsxp7Gxhy7zrRW/1AHm4BmA==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/px2rem/node_modules/ansi-styles": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-1.1.0.tgz",
+      "integrity": "sha512-f2PKUkN5QngiSemowa6Mrk9MPCdtFiOSmibjZ+j1qhLGHHYsqZwmBMRF3IRMVXo8sybDqx2fJl2d/8OphBoWkA==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/px2rem/node_modules/chalk": {
+      "version": "0.5.1",
+      "resolved": "https://registry.npmmirror.com/chalk/-/chalk-0.5.1.tgz",
+      "integrity": "sha512-bIKA54hP8iZhyDT81TOsJiQvR1gW+ZYSXFaZUAvoD4wCHdbHY2actmpTE4x344ZlFqHbvoxKOaESULTZN2gstg==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^1.1.0",
+        "escape-string-regexp": "^1.0.0",
+        "has-ansi": "^0.1.0",
+        "strip-ansi": "^0.3.0",
+        "supports-color": "^0.2.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/px2rem/node_modules/commander": {
+      "version": "2.6.0",
+      "resolved": "https://registry.npmmirror.com/commander/-/commander-2.6.0.tgz",
+      "integrity": "sha512-PhbTMT+ilDXZKqH8xbvuUY2ZEQNef0Q7DKxgoEKb4ccytsdvVVJmYqR0sGbi96nxU6oGrwEIQnclpK2NBZuQlg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6.x"
+      }
+    },
+    "node_modules/px2rem/node_modules/escape-string-regexp": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+      "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.8.0"
+      }
+    },
+    "node_modules/px2rem/node_modules/strip-ansi": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-0.3.0.tgz",
+      "integrity": "sha512-DerhZL7j6i6/nEnVG0qViKXI0OKouvvpsAiaj7c+LfqZZZxdwZtv8+UiA/w4VUJpT8UzX0pR1dcHOii1GbmruQ==",
+      "dev": true,
+      "dependencies": {
+        "ansi-regex": "^0.2.1"
+      },
+      "bin": {
+        "strip-ansi": "cli.js"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/px2rem/node_modules/supports-color": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-0.2.0.tgz",
+      "integrity": "sha512-tdCZ28MnM7k7cJDJc7Eq80A9CsRFAAOZUy41npOZCs++qSjfIy7o5Rh46CBk+Dk5FbKJ33X3Tqg4YrV07N5RaA==",
+      "dev": true,
+      "bin": {
+        "supports-color": "cli.js"
+      },
+      "engines": {
+        "node": ">=0.10.0"
       }
     },
     "node_modules/qs": {
@@ -5959,6 +6258,19 @@
         "node": ">=4"
       }
     },
+    "node_modules/resolve-pkg-maps": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmmirror.com/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz",
+      "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==",
+      "dev": true
+    },
+    "node_modules/resolve-url": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmmirror.com/resolve-url/-/resolve-url-0.2.1.tgz",
+      "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==",
+      "deprecated": "https://github.com/lydell/resolve-url#deprecated",
+      "dev": true
+    },
     "node_modules/restore-cursor": {
       "version": "4.0.0",
       "resolved": "https://registry.npmmirror.com/restore-cursor/-/restore-cursor-4.0.0.tgz",
@@ -6035,6 +6347,25 @@
       },
       "optionalDependencies": {
         "fsevents": "~2.3.2"
+      }
+    },
+    "node_modules/rollup-plugin-esbuild": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmmirror.com/rollup-plugin-esbuild/-/rollup-plugin-esbuild-6.1.0.tgz",
+      "integrity": "sha512-HPpXU65V8bSpW8eSYPahtUJaJHmbxJGybuf/M8B3bz/6i11YaYHlNNJIQ38gSEV0FyohQOgVxJ2YMEEZtEmwvA==",
+      "dev": true,
+      "dependencies": {
+        "@rollup/pluginutils": "^5.0.5",
+        "debug": "^4.3.4",
+        "es-module-lexer": "^1.3.1",
+        "get-tsconfig": "^4.7.2"
+      },
+      "engines": {
+        "node": ">=14.18.0"
+      },
+      "peerDependencies": {
+        "esbuild": ">=0.18.0",
+        "rollup": "^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0"
       }
     },
     "node_modules/run-applescript": {
@@ -6301,6 +6632,20 @@
         "node": ">=0.10.0"
       }
     },
+    "node_modules/source-map-resolve": {
+      "version": "0.5.3",
+      "resolved": "https://registry.npmmirror.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
+      "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
+      "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated",
+      "dev": true,
+      "dependencies": {
+        "atob": "^2.1.2",
+        "decode-uri-component": "^0.2.0",
+        "resolve-url": "^0.2.1",
+        "source-map-url": "^0.4.0",
+        "urix": "^0.1.0"
+      }
+    },
     "node_modules/source-map-support": {
       "version": "0.5.21",
       "resolved": "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz",
@@ -6310,6 +6655,13 @@
         "buffer-from": "^1.0.0",
         "source-map": "^0.6.0"
       }
+    },
+    "node_modules/source-map-url": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmmirror.com/source-map-url/-/source-map-url-0.4.1.tgz",
+      "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==",
+      "deprecated": "See https://github.com/lydell/source-map-url#deprecated",
+      "dev": true
     },
     "node_modules/spdx-correct": {
       "version": "3.2.0",
@@ -6872,6 +7224,13 @@
       "dependencies": {
         "punycode": "^2.1.0"
       }
+    },
+    "node_modules/urix": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmmirror.com/urix/-/urix-0.1.0.tgz",
+      "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==",
+      "deprecated": "Please see https://github.com/lydell/urix#deprecated",
+      "dev": true
     },
     "node_modules/util-deprecate": {
       "version": "1.0.2",
@@ -9464,6 +9823,11 @@
         "uri-js": "^4.2.2"
       }
     },
+    "amfe-flexible": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmmirror.com/amfe-flexible/-/amfe-flexible-2.2.1.tgz",
+      "integrity": "sha512-L2VfvDzoETBjhRptg5u/IUuzHSuxm22JpSRb404p/TBGeRfwWmmNEbB+TFPIP/sS/+pbM18bCFH9QnMojLuPNw=="
+    },
     "ansi-escapes": {
       "version": "5.0.0",
       "resolved": "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-5.0.0.tgz",
@@ -9527,6 +9891,12 @@
       "version": "0.4.0",
       "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz",
       "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
+    },
+    "atob": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmmirror.com/atob/-/atob-2.1.2.tgz",
+      "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
+      "dev": true
     },
     "axios": {
       "version": "1.5.1",
@@ -9601,6 +9971,12 @@
       "version": "1.6.51",
       "resolved": "https://registry.npmmirror.com/big-integer/-/big-integer-1.6.51.tgz",
       "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==",
+      "dev": true
+    },
+    "big.js": {
+      "version": "5.2.2",
+      "resolved": "https://registry.npmmirror.com/big.js/-/big.js-5.2.2.tgz",
+      "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
       "dev": true
     },
     "binary-extensions": {
@@ -9827,6 +10203,18 @@
         "which": "^2.0.1"
       }
     },
+    "css": {
+      "version": "2.2.4",
+      "resolved": "https://registry.npmmirror.com/css/-/css-2.2.4.tgz",
+      "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==",
+      "dev": true,
+      "requires": {
+        "inherits": "^2.0.3",
+        "source-map": "^0.6.1",
+        "source-map-resolve": "^0.5.2",
+        "urix": "^0.1.0"
+      }
+    },
     "cssesc": {
       "version": "3.0.0",
       "resolved": "https://registry.npmmirror.com/cssesc/-/cssesc-3.0.0.tgz",
@@ -10015,6 +10403,12 @@
       "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
       "dev": true
     },
+    "emojis-list": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmmirror.com/emojis-list/-/emojis-list-3.0.0.tgz",
+      "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
+      "dev": true
+    },
     "error-ex": {
       "version": "1.3.2",
       "resolved": "https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz",
@@ -10023,6 +10417,12 @@
       "requires": {
         "is-arrayish": "^0.2.1"
       }
+    },
+    "es-module-lexer": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.4.1.tgz",
+      "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==",
+      "dev": true
     },
     "es6-promise": {
       "version": "4.2.8",
@@ -10238,6 +10638,12 @@
         "strip-final-newline": "^3.0.0"
       }
     },
+    "extend": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmmirror.com/extend/-/extend-3.0.2.tgz",
+      "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+      "dev": true
+    },
     "fast-deep-equal": {
       "version": "3.1.3",
       "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
@@ -10360,6 +10766,28 @@
         "mime-types": "^2.1.12"
       }
     },
+    "fs-extra": {
+      "version": "0.16.5",
+      "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-0.16.5.tgz",
+      "integrity": "sha512-yb7ti8kVH+qboUQWYxUuOPj/qcMUA6lO68ErZoPQOTP+7qroCIN/1gZ1lLk/rs2p0gPFzrvPYujKGnHTu+HHxA==",
+      "dev": true,
+      "requires": {
+        "graceful-fs": "^3.0.5",
+        "jsonfile": "^2.0.0",
+        "rimraf": "^2.2.8"
+      },
+      "dependencies": {
+        "rimraf": {
+          "version": "2.7.1",
+          "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-2.7.1.tgz",
+          "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+          "dev": true,
+          "requires": {
+            "glob": "^7.1.3"
+          }
+        }
+      }
+    },
     "fs.realpath": {
       "version": "1.0.0",
       "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz",
@@ -10400,6 +10828,15 @@
       "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-6.0.1.tgz",
       "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
       "dev": true
+    },
+    "get-tsconfig": {
+      "version": "4.7.2",
+      "resolved": "https://registry.npmmirror.com/get-tsconfig/-/get-tsconfig-4.7.2.tgz",
+      "integrity": "sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==",
+      "dev": true,
+      "requires": {
+        "resolve-pkg-maps": "^1.0.0"
+      }
     },
     "glob": {
       "version": "7.2.3",
@@ -10455,11 +10892,37 @@
         "get-intrinsic": "^1.1.3"
       }
     },
+    "graceful-fs": {
+      "version": "3.0.12",
+      "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-3.0.12.tgz",
+      "integrity": "sha512-J55gaCS4iTTJfTXIxSVw3EMQckcqkpdRv3IR7gu6sq0+tbC363Zx6KH/SEwXASK9JRbhyZmVjJEVJIOxYsB3Qg==",
+      "dev": true,
+      "requires": {
+        "natives": "^1.1.3"
+      }
+    },
     "graphemer": {
       "version": "1.4.0",
       "resolved": "https://registry.npmmirror.com/graphemer/-/graphemer-1.4.0.tgz",
       "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
       "dev": true
+    },
+    "has-ansi": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmmirror.com/has-ansi/-/has-ansi-0.1.0.tgz",
+      "integrity": "sha512-1YsTg1fk2/6JToQhtZkArMkurq8UoWU1Qe0aR3VUHjgij4nOylSWLWAtBXoZ4/dXOmugfLGm1c+QhuD0JyedFA==",
+      "dev": true,
+      "requires": {
+        "ansi-regex": "^0.2.0"
+      },
+      "dependencies": {
+        "ansi-regex": {
+          "version": "0.2.1",
+          "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-0.2.1.tgz",
+          "integrity": "sha512-sGwIGMjhYdW26/IhwK2gkWWI8DRCVO6uj3hYgHT+zD+QL1pa37tM3ujhyfcJIYSbsxp7Gxhy7zrRW/1AHm4BmA==",
+          "dev": true
+        }
+      }
     },
     "has-flag": {
       "version": "4.0.0",
@@ -10732,6 +11195,24 @@
       "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==",
       "dev": true
     },
+    "jsonfile": {
+      "version": "2.4.0",
+      "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-2.4.0.tgz",
+      "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==",
+      "dev": true,
+      "requires": {
+        "graceful-fs": "^4.1.6"
+      },
+      "dependencies": {
+        "graceful-fs": {
+          "version": "4.2.11",
+          "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz",
+          "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
+          "dev": true,
+          "optional": true
+        }
+      }
+    },
     "keyv": {
       "version": "4.5.4",
       "resolved": "https://registry.npmmirror.com/keyv/-/keyv-4.5.4.tgz",
@@ -10842,6 +11323,28 @@
         "log-update": "^5.0.1",
         "rfdc": "^1.3.0",
         "wrap-ansi": "^8.1.0"
+      }
+    },
+    "loader-utils": {
+      "version": "1.4.2",
+      "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-1.4.2.tgz",
+      "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==",
+      "dev": true,
+      "requires": {
+        "big.js": "^5.2.2",
+        "emojis-list": "^3.0.0",
+        "json5": "^1.0.1"
+      },
+      "dependencies": {
+        "json5": {
+          "version": "1.0.2",
+          "resolved": "https://registry.npmmirror.com/json5/-/json5-1.0.2.tgz",
+          "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
+          "dev": true,
+          "requires": {
+            "minimist": "^1.2.0"
+          }
+        }
       }
     },
     "local-pkg": {
@@ -10991,6 +11494,12 @@
         "brace-expansion": "^1.1.7"
       }
     },
+    "minimist": {
+      "version": "1.2.8",
+      "resolved": "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz",
+      "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
+      "dev": true
+    },
     "mlly": {
       "version": "1.4.2",
       "resolved": "https://registry.npmmirror.com/mlly/-/mlly-1.4.2.tgz",
@@ -11019,6 +11528,12 @@
       "version": "3.3.6",
       "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.6.tgz",
       "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA=="
+    },
+    "natives": {
+      "version": "1.1.6",
+      "resolved": "https://registry.npmmirror.com/natives/-/natives-1.1.6.tgz",
+      "integrity": "sha512-6+TDFewD4yxY14ptjKaS63GVdtKiES1pTPyxn9Jb0rBqPMZ7VcCiooEhPNsr+mqHtMGxa/5c/HhcC4uPEUw/nA==",
+      "dev": true
     },
     "natural-compare": {
       "version": "1.4.0",
@@ -11309,6 +11824,11 @@
         "source-map-js": "^1.0.2"
       }
     },
+    "postcss-pxtorem": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmmirror.com/postcss-pxtorem/-/postcss-pxtorem-6.0.0.tgz",
+      "integrity": "sha512-ZRXrD7MLLjLk2RNGV6UA4f5Y7gy+a/j1EqjAfp9NdcNYVjUMvg5HTYduTjSkKBkRkfqbg/iKrjMO70V4g1LZeg=="
+    },
     "postcss-selector-parser": {
       "version": "6.0.13",
       "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz",
@@ -11350,6 +11870,83 @@
       "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.0.tgz",
       "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==",
       "dev": true
+    },
+    "px2rem": {
+      "version": "0.5.0",
+      "resolved": "https://registry.npmmirror.com/px2rem/-/px2rem-0.5.0.tgz",
+      "integrity": "sha512-R+LQj3Evbjbpmglo7D0PBVsnAbKP4WSvZEZUnF8RGIpWkIHFeAT+BlDOxxBxKVyMDecmfv9qdzNLTZLMq32osA==",
+      "dev": true,
+      "requires": {
+        "chalk": "~0.5.1",
+        "commander": "~2.6.0",
+        "css": "~2.2.0",
+        "extend": "~3.0.0",
+        "fs-extra": "~0.16.3"
+      },
+      "dependencies": {
+        "ansi-regex": {
+          "version": "0.2.1",
+          "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-0.2.1.tgz",
+          "integrity": "sha512-sGwIGMjhYdW26/IhwK2gkWWI8DRCVO6uj3hYgHT+zD+QL1pa37tM3ujhyfcJIYSbsxp7Gxhy7zrRW/1AHm4BmA==",
+          "dev": true
+        },
+        "ansi-styles": {
+          "version": "1.1.0",
+          "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-1.1.0.tgz",
+          "integrity": "sha512-f2PKUkN5QngiSemowa6Mrk9MPCdtFiOSmibjZ+j1qhLGHHYsqZwmBMRF3IRMVXo8sybDqx2fJl2d/8OphBoWkA==",
+          "dev": true
+        },
+        "chalk": {
+          "version": "0.5.1",
+          "resolved": "https://registry.npmmirror.com/chalk/-/chalk-0.5.1.tgz",
+          "integrity": "sha512-bIKA54hP8iZhyDT81TOsJiQvR1gW+ZYSXFaZUAvoD4wCHdbHY2actmpTE4x344ZlFqHbvoxKOaESULTZN2gstg==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^1.1.0",
+            "escape-string-regexp": "^1.0.0",
+            "has-ansi": "^0.1.0",
+            "strip-ansi": "^0.3.0",
+            "supports-color": "^0.2.0"
+          }
+        },
+        "commander": {
+          "version": "2.6.0",
+          "resolved": "https://registry.npmmirror.com/commander/-/commander-2.6.0.tgz",
+          "integrity": "sha512-PhbTMT+ilDXZKqH8xbvuUY2ZEQNef0Q7DKxgoEKb4ccytsdvVVJmYqR0sGbi96nxU6oGrwEIQnclpK2NBZuQlg==",
+          "dev": true
+        },
+        "escape-string-regexp": {
+          "version": "1.0.5",
+          "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+          "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+          "dev": true
+        },
+        "strip-ansi": {
+          "version": "0.3.0",
+          "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-0.3.0.tgz",
+          "integrity": "sha512-DerhZL7j6i6/nEnVG0qViKXI0OKouvvpsAiaj7c+LfqZZZxdwZtv8+UiA/w4VUJpT8UzX0pR1dcHOii1GbmruQ==",
+          "dev": true,
+          "requires": {
+            "ansi-regex": "^0.2.1"
+          }
+        },
+        "supports-color": {
+          "version": "0.2.0",
+          "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-0.2.0.tgz",
+          "integrity": "sha512-tdCZ28MnM7k7cJDJc7Eq80A9CsRFAAOZUy41npOZCs++qSjfIy7o5Rh46CBk+Dk5FbKJ33X3Tqg4YrV07N5RaA==",
+          "dev": true
+        }
+      }
+    },
+    "px2rem-loader": {
+      "version": "0.1.9",
+      "resolved": "https://registry.npmmirror.com/px2rem-loader/-/px2rem-loader-0.1.9.tgz",
+      "integrity": "sha512-3Ew8At5W/HHIIUe/KZk+FBRRb20KtgP1N1c/BnMlXk6LNkqrFmUIUF35GF/evzNdj/Q63iWJpkmn/c5qSMplRg==",
+      "dev": true,
+      "requires": {
+        "loader-utils": "^1.1.0",
+        "px2rem": "^0.5.0"
+      }
     },
     "qs": {
       "version": "6.11.2",
@@ -11483,6 +12080,18 @@
       "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
       "dev": true
     },
+    "resolve-pkg-maps": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmmirror.com/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz",
+      "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==",
+      "dev": true
+    },
+    "resolve-url": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmmirror.com/resolve-url/-/resolve-url-0.2.1.tgz",
+      "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==",
+      "dev": true
+    },
     "restore-cursor": {
       "version": "4.0.0",
       "resolved": "https://registry.npmmirror.com/restore-cursor/-/restore-cursor-4.0.0.tgz",
@@ -11538,6 +12147,18 @@
       "dev": true,
       "requires": {
         "fsevents": "~2.3.2"
+      }
+    },
+    "rollup-plugin-esbuild": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmmirror.com/rollup-plugin-esbuild/-/rollup-plugin-esbuild-6.1.0.tgz",
+      "integrity": "sha512-HPpXU65V8bSpW8eSYPahtUJaJHmbxJGybuf/M8B3bz/6i11YaYHlNNJIQ38gSEV0FyohQOgVxJ2YMEEZtEmwvA==",
+      "dev": true,
+      "requires": {
+        "@rollup/pluginutils": "^5.0.5",
+        "debug": "^4.3.4",
+        "es-module-lexer": "^1.3.1",
+        "get-tsconfig": "^4.7.2"
       }
     },
     "run-applescript": {
@@ -11744,6 +12365,19 @@
       "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz",
       "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw=="
     },
+    "source-map-resolve": {
+      "version": "0.5.3",
+      "resolved": "https://registry.npmmirror.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
+      "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
+      "dev": true,
+      "requires": {
+        "atob": "^2.1.2",
+        "decode-uri-component": "^0.2.0",
+        "resolve-url": "^0.2.1",
+        "source-map-url": "^0.4.0",
+        "urix": "^0.1.0"
+      }
+    },
     "source-map-support": {
       "version": "0.5.21",
       "resolved": "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz",
@@ -11753,6 +12387,12 @@
         "buffer-from": "^1.0.0",
         "source-map": "^0.6.0"
       }
+    },
+    "source-map-url": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmmirror.com/source-map-url/-/source-map-url-0.4.1.tgz",
+      "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==",
+      "dev": true
     },
     "spdx-correct": {
       "version": "3.2.0",
@@ -12170,6 +12810,12 @@
         "punycode": "^2.1.0"
       }
     },
+    "urix": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmmirror.com/urix/-/urix-0.1.0.tgz",
+      "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==",
+      "dev": true
+    },
     "util-deprecate": {
       "version": "1.0.2",
       "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz",
diff --git a/package.json b/package.json
index e9bf7d7..6e767bb 100644
--- a/package.json
+++ b/package.json
@@ -13,6 +13,7 @@
     "prepare": "husky install"
   },
   "dependencies": {
+    "amfe-flexible": "^2.2.1",
     "@babel/polyfill": "^7.12.1",
     "@element-plus/icons-vue": "^2.1.0",
     "@vueuse/core": "^10.5.0",
@@ -24,6 +25,7 @@
     "js-base64": "^2.6.2",
     "lodash-es": "^4.17.21",
     "pinia": "^2.1.7",
+    "postcss-pxtorem": "^6.0.0",
     "vue": "^3.3.4",
     "vue-hooks-plus": "^1.8.5",
     "vue-router": "^4.2.5",
@@ -48,6 +50,8 @@
     "lint-staged": "^15.0.2",
     "npm-run-all2": "^6.1.1",
     "prettier": "^3.0.3",
+    "px2rem-loader": "^0.1.9",
+    "rollup-plugin-esbuild": "^6.1.0",
     "sass": "^1.69.4",
     "terser": "^5.27.0",
     "typescript": "~5.2.0",
diff --git a/src/components/DashboardLayout.vue b/src/components/DashboardLayout.vue
index 3e48567..9c8e024 100644
--- a/src/components/DashboardLayout.vue
+++ b/src/components/DashboardLayout.vue
@@ -138,12 +138,12 @@
   height: 100%;
   background-color: #153e94;
   border-radius: 6px;
-  padding: 10px 16px;
+  padding: 10px 10px;
 }
 .scroll-card {
   padding: 0;
 }
 .scroller {
-  padding: 10px 16px;
+  padding: 10px 10px;
 }
 </style>
diff --git a/src/main.ts b/src/main.ts
index 7480f87..64863ef 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -2,6 +2,7 @@
 import '@babel/polyfill'
 import Es6Promise from 'es6-promise'
 Es6Promise.polyfill()
+
 import './assets/styles/main.css'
 
 import { createApp } from 'vue'
@@ -9,7 +10,7 @@
 
 import App from './App.vue'
 import router from './router'
-
+import 'amfe-flexible'
 const app = createApp(App)
 
 app.use(createPinia())
diff --git a/src/views/dashboard/components/ChannelCollapse.vue b/src/views/dashboard/components/ChannelCollapse.vue
index 8dda63a..090c60e 100644
--- a/src/views/dashboard/components/ChannelCollapse.vue
+++ b/src/views/dashboard/components/ChannelCollapse.vue
@@ -89,7 +89,7 @@
 :deep(.el-collapse-item__header) {
   color: #fff;
   background-color: transparent;
-  font-size: 19px;
+  font-size: 18px;
   font-weight: 600;
   border: none;
 }
diff --git a/src/views/dashboard/components/DashboardTitle.vue b/src/views/dashboard/components/DashboardTitle.vue
index cde7f28..fbbfb1d 100644
--- a/src/views/dashboard/components/DashboardTitle.vue
+++ b/src/views/dashboard/components/DashboardTitle.vue
@@ -1,35 +1,37 @@
 <template>
   <div class="dashboard-title">
-    <div class="title-text">
-      鏅鸿兘宸ヤ綔鍙� 鈥�
-      <el-popover placement="bottom" :width="200" trigger="click" :content="currentDeviceName">
-        <template #reference>
-          <el-text truncated class="device-name">{{ currentDeviceName }}</el-text>
-        </template>
-      </el-popover>
-      <el-icon size="32" color="#0db7f5" style="margin-left: 4px; cursor: pointer" @click="openDevicesModal">
-        <IconSlider></IconSlider>
-      </el-icon>
+    <div class="title-text-box">
+      <div class="title-text">
+        <span> 鏅鸿兘宸ヤ綔鍙� 鈥�</span>
+        <el-popover placement="bottom" :width="180" trigger="click" :content="currentDeviceName">
+          <template #reference>
+            <el-text truncated class="device-name">{{ currentDeviceName }}</el-text>
+          </template>
+        </el-popover>
+        <el-icon class="text-icon" color="#0db7f5" @click="openDevicesModal">
+          <IconSlider></IconSlider>
+        </el-icon>
+      </div>
     </div>
     <div class="title-status">
       <div class="connection-info" @click="openProblemsModal">
-        <el-icon size="26" :color="problemsIconStatus ? '#00ff00' : '#ff0000'">
+        <el-icon class="size_26" :color="problemsIconStatus ? '#00ff00' : '#ff0000'">
           <AlertLightIcon></AlertLightIcon>
         </el-icon>
       </div>
       <div class="cloud-connection-status">
-        <el-icon v-if="cloudConnectionIconStatus" size="38" color="#00ff00">
+        <el-icon v-if="cloudConnectionIconStatus" class="size_38" color="#00ff00">
           <IconCloudDone></IconCloudDone>
         </el-icon>
 
-        <el-icon v-else size="38" color="#ff0000">
+        <el-icon v-else class="size_38" color="#ff0000">
           <IconCloudOff></IconCloudOff>
         </el-icon>
       </div>
 
       <div class="reporting-record">
         <el-icon
-          size="26"
+          class="size_26"
           :color="taskStore.activeTask ? '#0db7f5' : '#c0c0c0'"
           :style="{ 'margin-right': '10px', cursor: taskStore.activeTask ? 'pointer' : 'not-allowed' }"
           @click="openReportingRecord"
@@ -39,7 +41,7 @@
       </div>
 
       <div class="params-config" @click="openConfigModal">
-        <el-icon size="28"><Setting /></el-icon>
+        <el-icon class="size_28"><Setting /></el-icon>
       </div>
     </div>
   </div>
@@ -161,14 +163,43 @@
 <style scoped lang="scss">
 .dashboard-title {
   position: relative;
+  height: 100%;
 }
-.title-text {
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  font-size: 40px;
-  font-weight: 700;
+.el-icon.size_28 {
+  font-size: 28px;
 }
+.size_26 {
+  font-size: 26px;
+}
+.size_38 {
+  font-size: 38px;
+}
+.title-text-box {
+  width: calc(100% - 150px);
+  height: 100%;
+
+  .title-text {
+    // display: flex;
+    width: 450px;
+    height: 100%;
+    margin: 0 auto;
+    margin-left: 24%;
+    align-items: center;
+    line-height: 68px;
+    // justify-content: center;
+    font-size: 34px;
+    font-weight: 700;
+    span {
+      float: left;
+    }
+    .text-icon {
+      font-size: 32px;
+      margin-left: 4px;
+      cursor: pointer;
+    }
+  }
+}
+
 .title-status {
   display: flex;
   align-items: center;
@@ -181,7 +212,7 @@
   cursor: pointer;
 }
 .device-name {
-  max-width: 220px;
+  max-width: 180px;
   font-size: 40px;
   color: #fff;
 }
diff --git a/src/views/dashboard/components/DeviceCheckList.vue b/src/views/dashboard/components/DeviceCheckList.vue
index f8e7ada..05d6508 100644
--- a/src/views/dashboard/components/DeviceCheckList.vue
+++ b/src/views/dashboard/components/DeviceCheckList.vue
@@ -166,6 +166,6 @@
   }
 }
 .scroller {
-  padding: 4px 16px;
+  padding: 4px 10px;
 }
 </style>
diff --git a/src/views/dashboard/components/DeviceStatusInfo.vue b/src/views/dashboard/components/DeviceStatusInfo.vue
index c66539b..3946950 100644
--- a/src/views/dashboard/components/DeviceStatusInfo.vue
+++ b/src/views/dashboard/components/DeviceStatusInfo.vue
@@ -275,9 +275,12 @@
         margin: 8px 5px 0 5px;
       }
       span {
-        height: 32px;
+        height: 29px;
         display: inline-block;
+        line-height: 29px;
+        vertical-align: middle;
         text-align: center;
+        font-size: 12px;
         display: inline-block;
         float: left;
         font-weight: bold;
diff --git a/src/views/dashboard/components/KnowledgeInfo.vue b/src/views/dashboard/components/KnowledgeInfo.vue
index 5a30089..28cd151 100644
--- a/src/views/dashboard/components/KnowledgeInfo.vue
+++ b/src/views/dashboard/components/KnowledgeInfo.vue
@@ -1,11 +1,11 @@
 <template>
   <div class="knowledge-info">
-    <div class="text-item" style="left: 20px; top: 80px">璇姤璀�</div>
-    <div class="text-item" style="left: 0px; top: 190px">绠¤矾鏁村姩</div>
-    <div class="text-item" style="left: 215px; top: 250px">鍐峰嵈娌瑰害楂�</div>
-    <div class="text-item" style="left: 160px; top: 20px">娓呮磥搴﹁秴宸�</div>
-    <div class="text-item" style="left: 30px; top: 280px">娓呮磥搴﹁秴宸�</div>
-    <div class="text-item" style="left: 265px; top: 120px">淇濇姢鍣ㄦ姤璀�</div>
+    <div class="text-item text-item1">璇姤璀�</div>
+    <div class="text-item text-item2">绠¤矾鏁村姩</div>
+    <div class="text-item text-item3">鍐峰嵈娌瑰害楂�</div>
+    <div class="text-item text-item4">娓呮磥搴﹁秴宸�</div>
+    <div class="text-item text-item5">娓呮磥搴﹁秴宸�</div>
+    <div class="text-item text-item6">淇濇姢鍣ㄦ姤璀�</div>
     <img src="~@/assets/images/voice.png" />
   </div>
 </template>
@@ -14,19 +14,42 @@
 <style scoped lang="scss">
 $status-ready: #024fdce8;
 .knowledge-info {
-  height: calc(100% - 100px - 32px);
-  width: 400px;
-  max-width: 430px;
-  min-height: 330px;
+  height: 100%;
+  width: 100%;
+  min-height: 100px;
   margin: 0 auto;
-  margin-top: 30px;
+  // margin-top: 10px;
   position: relative;
+  .text-item1 {
+    left: 20px;
+    top: 80px;
+  }
+  .text-item2 {
+    left: 0px;
+    top: 190px;
+  }
+  .text-item3 {
+    left: 215px;
+    top: 250px;
+  }
+  .text-item4 {
+    left: 160px;
+    top: 20px;
+  }
+  .text-item5 {
+    left: 30px;
+    top: 280px;
+  }
+  .text-item6 {
+    left: 240px;
+    top: 150px;
+  }
   img {
     width: 130px;
     height: 130px;
     position: absolute;
-    top: 100px;
-    left: 120px;
+    top: 80px;
+    left: 110px;
   }
   .text-item {
     color: #e9e7e7;
diff --git a/src/views/dashboard/components/MaterialDetails.vue b/src/views/dashboard/components/MaterialDetails.vue
index 0077c34..6b46cf7 100644
--- a/src/views/dashboard/components/MaterialDetails.vue
+++ b/src/views/dashboard/components/MaterialDetails.vue
@@ -194,6 +194,6 @@
 }
 
 .scroller {
-  padding: 4px 16px;
+  padding: 4px 10px;
 }
 </style>
diff --git a/src/views/dashboard/components/TaskInfo.vue b/src/views/dashboard/components/TaskInfo.vue
index 969ba26..f72722e 100644
--- a/src/views/dashboard/components/TaskInfo.vue
+++ b/src/views/dashboard/components/TaskInfo.vue
@@ -12,14 +12,25 @@
     </div>
     <div class="task-info-content">
       <div class="row">
-        <div class="col">宸ュ崟鍙�: {{ task.Order.workOrderId }}</div>
-        <div class="col">鐢熶骇鏁伴噺锛歿{ task.Order.amount || 0 }}{{ task.Order.unit }}</div>
+        <div class="col">
+          宸ュ崟鍙�:
+          <span>{{ task.Order.workOrderId }}</span>
+        </div>
+        <div class="col">
+          鐢熶骇鏁伴噺: <span>{{ task.Order.amount || 0 }}{{ task.Order.unit }}</span>
+        </div>
       </div>
       <div class="row">
-        <div class="col">褰撳墠浠诲姟: {{ task.Procedure.procedure.procedureName || '' }}</div>
-        <div class="col">浜у搧鍚嶇О锛歿{ task.Order.productName || '' }}</div>
+        <div class="col">
+          褰撳墠浠诲姟:
+          <span>{{ task.Procedure.procedure.procedureName || '' }}</span>
+        </div>
+        <div class="col">
+          浜у搧鍚嶇О:
+          <span>{{ task.Order.productName || '' }}</span>
+        </div>
       </div>
-      <div class="row">璁″垝鏃堕棿: {{ planTimeText }}</div>
+      <div class="row">璁″垝鏃堕棿:{{ planTimeText }}</div>
     </div>
   </div>
 </template>
@@ -83,8 +94,8 @@
   background-color: $status-done;
 }
 .task-info-content {
-  font-size: 13px;
-  padding: 10px 20px;
+  font-size: 12px;
+  padding: 10px 15px;
   color: $text-color;
   .row {
     width: 100%;
@@ -95,6 +106,15 @@
   .col {
     width: 50%;
     flex: 1;
+    span {
+      width: calc(100% - 60px);
+      // height:24px;
+      white-space: nowrap;
+      overflow: hidden;
+      text-overflow: ellipsis;
+      display: inline-block;
+      vertical-align: middle;
+    }
   }
 }
 .active {
diff --git a/src/views/dashboard/components/TaskStep.vue b/src/views/dashboard/components/TaskStep.vue
index 8db65b7..ffaecc8 100644
--- a/src/views/dashboard/components/TaskStep.vue
+++ b/src/views/dashboard/components/TaskStep.vue
@@ -8,12 +8,12 @@
         class="task-step-item"
         :style="{ 'flex-basis': flexBasis }"
       >
-        <el-icon v-if="index < active" class="icon" size="22" color="#01f304"><CircleCheck /></el-icon>
+        <el-icon v-if="index < active" class="icon" color="#01f304"><CircleCheck /></el-icon>
 
-        <el-icon v-if="index === active" class="icon" size="22" color="#c25915">
+        <el-icon v-if="index === active" class="icon" color="#c25915">
           <Clock />
         </el-icon>
-        <el-icon v-if="index > active" class="icon" size="22" color="#7d7f83"><Clock /></el-icon>
+        <el-icon v-if="index > active" class="icon" color="#7d7f83"><Clock /></el-icon>
         <span class="text" :class="{ green: index < active, red: index === active, gray: index > active }">
           {{ item }}
         </span>
@@ -80,6 +80,7 @@
   }
   .icon {
     margin-right: 6px;
+    font-size: 22px;
   }
   .green {
     color: #01f304;
@@ -93,6 +94,7 @@
 }
 .text {
   flex-shrink: 0;
+  font-size: 14px;
 }
 .line {
   display: inline-block;
diff --git a/src/views/dashboard/components/TaskTabs.vue b/src/views/dashboard/components/TaskTabs.vue
index 4eaf64f..e942cf3 100644
--- a/src/views/dashboard/components/TaskTabs.vue
+++ b/src/views/dashboard/components/TaskTabs.vue
@@ -39,14 +39,14 @@
 <style scoped lang="scss">
 $active-bg: #6b83ff;
 $tab-bg: #0b4694;
-$tab-height: 50px;
+$tab-height: 46px;
 .task-tabs {
   background-color: transparent;
   display: flex;
   align-items: center;
   justify-content: space-between;
   height: $tab-height;
-  font-size: 20px;
+  font-size: 18px;
 
   .task-tab-item {
     background-color: $tab-bg;
@@ -77,7 +77,7 @@
     position: absolute;
     left: 50%;
     margin-left: -10px;
-    bottom: -10px;
+    bottom: -8px;
     display: none;
   }
   .active.triangle-tip:before {
diff --git a/src/views/dashboard/components/TroubleTrackerModal.vue b/src/views/dashboard/components/TroubleTrackerModal.vue
index d5ef715..e21d0c1 100644
--- a/src/views/dashboard/components/TroubleTrackerModal.vue
+++ b/src/views/dashboard/components/TroubleTrackerModal.vue
@@ -80,6 +80,6 @@
   }
 }
 .scroller {
-  padding: 4px 16px;
+  padding: 4px 10px;
 }
 </style>
diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue
index 3f1a9c3..fea5c74 100644
--- a/src/views/dashboard/index.vue
+++ b/src/views/dashboard/index.vue
@@ -58,10 +58,12 @@
     <template #middleBlock3>
       <SubTitle>浠诲姟璇︽儏</SubTitle>
       <div class="task-detail">
-        <TaskControl :task="activeTask" :workers="currentWorkers" @should-reload="reloadChannel"></TaskControl>
+        <el-scrollbar always class="scroller">
+          <TaskControl :task="activeTask" :workers="currentWorkers" @should-reload="reloadChannel"></TaskControl>
+          <ColorInfo :type="1"></ColorInfo>
+          <ColorInfo :type="2"></ColorInfo>
+        </el-scrollbar>
       </div>
-      <ColorInfo :type="1"></ColorInfo>
-      <ColorInfo :type="2"></ColorInfo>
     </template>
     <template #middleBlock4>
       <SubTitle>浜哄憳淇℃伅</SubTitle>
@@ -79,7 +81,11 @@
     </template>
     <template #rightBlock3>
       <SubTitle>鐭ヨ瘑搴�</SubTitle>
-      <KnowledgeInfo></KnowledgeInfo>
+      <div class="task-detail-right-3">
+        <el-scrollbar always class="scroller">
+          <KnowledgeInfo></KnowledgeInfo>
+        </el-scrollbar>
+      </div>
       <BigButton class="btn" bg-color="red">绾㈢伅鍛煎彨</BigButton>
     </template>
   </DashboardLayout>
@@ -305,6 +311,15 @@
   justify-content: center;
 }
 .scroller {
-  padding: 4px 16px;
+  padding: 4px 10px;
+}
+.task-detail {
+  width: 100%;
+  height: calc(100% - 32px);
+  padding-right: 5px;
+}
+.task-detail-right-3 {
+  width: 100%;
+  height: calc(100% - 32px - 50px);
 }
 </style>
diff --git a/vite.config.ts b/vite.config.ts
index 4e64e31..6c9c574 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -6,8 +6,10 @@
 import IconsResolver from 'unplugin-icons/resolver'
 import Icons from 'unplugin-icons/vite'
 import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
-// 鍏煎浣庣増鏈祻瑙堝櫒
-import legacy from '@vitejs/plugin-legacy'
+// 鎵撳寘 鍏煎浣庣増鏈祻瑙堝櫒
+// import legacy from '@vitejs/plugin-legacy'
+// 寮�鍙戠幆澧冨吋瀹�
+import esbuild from 'rollup-plugin-esbuild'
 const pathSrc = path.resolve(__dirname, 'src')
 
 // https://vitejs.dev/config/
@@ -15,7 +17,8 @@
   server: {
     proxy: {
       '/v1/': {
-        target: 'http://192.168.20.119:8003',
+        // http://192.168.20.119:8003
+        target: 'http://192.168.20.25:7010',
         ws: true,
         changeOrigin: true
       }
@@ -28,8 +31,23 @@
   },
   
   build: {
+    minify:'terser',
+    // ,'edge90','firefox90','safari15'
     target:['chrome52'],
     cssTarget:["chrome52"],
+  },
+  css:{
+      postcss:{
+          plugins:[
+            require('postcss-pxtorem')({
+              // ipad:1280-800
+              rootValue:160.0, //鎹㈢畻鐨勫熀鏁帮紝 灞忓箷瀹藉害/10
+              propList:['*'],//闇�瑕佽浆鍖栫殑灞炴�э紝*琛ㄧず鎵�鏈夊睘鎬ч兘闇�瑕佽浆鍖�
+              // unitPrecision:5
+            })
+          ]
+    }
+
   },
   plugins: [
     vue(),
@@ -48,32 +66,40 @@
 
       dts: path.resolve(pathSrc, 'auto-imports.d.ts')
     }),
-   
-    // 鍏煎浣庣増鏈祻瑙堝櫒
-    legacy({
-      targets: ['defaults', 'ie >= 11', 'chrome < 60','firefox < 59'], //闇�瑕佸吋瀹圭殑鐩爣鍒楄〃锛屽彲浠ヨ缃涓�
-      additionalLegacyPolyfills: ['regenerator-runtime/runtime'],
-      renderLegacyChunks: true,
-      modernPolyfills:true,
-      polyfills: [
-        'es.symbol',
-        'es.array.filter',
-        'es.promise',
-        'es.promise.finally',
-        'es/map',
-        'es/set',
-        'es.array.for-each',
-        'es.object.define-properties',
-        'es.object.define-property',
-        'es.object.get-own-property-descriptor',
-        'es.object.get-own-property-descriptors',
-        'es.object.keys',
-        'es.object.to-string',
-        'web.dom-collections.for-each',
-        'esnext.global-this',
-        'esnext.string.match-all'
-      ]
+    // 寮�鍙戠幆澧冨吋瀹�
+    esbuild({
+      target:"chrome64",
+      loaders:{
+        ".vue":'js',
+        ".ts":'js'
+      }
     }),
+    // 鍏煎浣庣増鏈祻瑙堝櫒
+    // legacy({
+    //   // ie >= 11
+    //   targets: ['defaults', 'not IE 11', 'chrome < 60','firefox < 59'], //闇�瑕佸吋瀹圭殑鐩爣鍒楄〃锛屽彲浠ヨ缃涓�
+    //   additionalLegacyPolyfills: ['regenerator-runtime/runtime'],
+    //   // renderLegacyChunks: true,
+    //   modernPolyfills:true,
+    //   polyfills: [
+    //     'es.symbol',
+    //     'es.array.filter',
+    //     'es.promise',
+    //     'es.promise.finally',
+    //     'es/map',
+    //     'es/set',
+    //     'es.array.for-each',
+    //     'es.object.define-properties',
+    //     'es.object.define-property',
+    //     'es.object.get-own-property-descriptor',
+    //     'es.object.get-own-property-descriptors',
+    //     'es.object.keys',
+    //     'es.object.to-string',
+    //     'web.dom-collections.for-each',
+    //     'esnext.global-this',
+    //     'esnext.string.match-all'
+    //   ]
+    // }),
     Components({
       resolvers: [
         // 鑷姩娉ㄥ唽鍥炬爣缁勪欢
@@ -89,9 +115,10 @@
       autoInstall: true
     }),
   ],
-  configureWebpack:config=>{
-    config.entry.app=['babel-polyfill','./src/main.js']
-  },
+  // configureWebpack:config=>{
+  //   config.entry.app=['babel-polyfill','./src/main.js']
+  // },
+  // transpileDependencies:['*']
   // chainWebpack: (config) => {
   //   config.entry('main').add('babel-polyfill')
   // },

--
Gitblit v1.8.0