haoxuan
2024-01-22 a411e6a6e8baf3a0f0ebf6255f312669903d3754
安装适配样式的插件和配置vite+调整页面样式
16个文件已修改
956 ■■■■■ 已修改文件
package-lock.json 646 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
package.json 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/DashboardLayout.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main.ts 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dashboard/components/ChannelCollapse.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dashboard/components/DashboardTitle.vue 75 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dashboard/components/DeviceCheckList.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dashboard/components/DeviceStatusInfo.vue 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dashboard/components/KnowledgeInfo.vue 49 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dashboard/components/MaterialDetails.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dashboard/components/TaskInfo.vue 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dashboard/components/TaskStep.vue 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dashboard/components/TaskTabs.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dashboard/components/TroubleTrackerModal.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dashboard/index.vue 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
vite.config.ts 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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",
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",
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>
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())
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;
}
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;
}
src/views/dashboard/components/DeviceCheckList.vue
@@ -166,6 +166,6 @@
  }
}
.scroller {
  padding: 4px 16px;
  padding: 4px 10px;
}
</style>
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;
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;
src/views/dashboard/components/MaterialDetails.vue
@@ -194,6 +194,6 @@
}
.scroller {
  padding: 4px 16px;
  padding: 4px 10px;
}
</style>
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 {
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;
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 {
src/views/dashboard/components/TroubleTrackerModal.vue
@@ -80,6 +80,6 @@
  }
}
.scroller {
  padding: 4px 16px;
  padding: 4px 10px;
}
</style>
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>
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')
  // },