From f06e90a56101f9ef2c69a27fc77d3489409dc05a Mon Sep 17 00:00:00 2001
From: zhangwei <1504152376@qq.com>
Date: 星期四, 18 十二月 2025 15:47:24 +0800
Subject: [PATCH] 静态页面完成
---
src/static/img/magazine3.png | 0
src/static/img/yinshua1.png | 0
src/static/img/dianzi.png | 0
src/components/pagination/index.vue | 20
src/static/img/other2.png | 0
src/static/img/workbook12.png | 0
src/static/img/yinshuapeizhibanner.png | 0
src/static/img/usbanner.png | 0
src/static/img/devs3.png | 0
src/static/img/suoxianji.png | 0
src/static/img/yiyuan6.png | 0
src/static/img/shengchan1.png | 0
src/assets/iconfont/iconfont.woff2 | 0
src/api/login.js | 8
src/static/img/shouxin1.png | 0
src/static/img/yiyuan10.png | 0
src/static/img/other6.png | 0
src/static/img/zhuangding2.png | 0
src/static/img/zhanyeji.png | 0
src/static/img/kaoshi2.png | 0
src/static/img/assembly1.png | 0
src/assets/qrcode3-plus.png | 0
src/components/breadcrumb/index.vue | 30
src/assets/Group2.png | 0
src/static/img/lunzhuan.png | 0
src/assets/qrcode3.png | 0
src/static/img/dev5.png | 0
src/styles/element/index.scss | 7
src/static/img/assembly8.png | 0
src/static/img/enrollment4.png | 0
src/static/img/yiyuan2.png | 0
package-lock.json | 5206 ++++++++++++++++++++++++
src/static/img/joinbanner.png | 0
src/static/img/pingpai1.png | 0
src/static/img/yinshuapeizhi2.png | 0
src/api/text.js | 10
src/views/login/index.vue | 91
src/views/aboutus/qualification.vue | 157
src/static/img/logo.png | 0
src/static/img/other10.png | 0
src/views/business/yiyuan.vue | 100
src/static/img/Frame-1.png | 0
src/static/img/devs6.png | 0
src/static/img/workbook3.png | 0
src/api/index.js | 0
src/static/img/shijuan7.png | 0
src/static/img/ertong1.png | 0
src/static/img/workbook15.png | 0
src/static/img/zz1biaozhi.png | 0
src/static/img/magazine6.png | 0
src/static/img/jingshi1.png | 0
src/static/img/cooperation.png | 0
src/static/img/shijuan3.png | 0
src/assets/main.css | 1
src/views/aboutus/development.vue | 212
src/static/img/lekouji.png | 0
src/static/img/workbook7.png | 0
src/static/img/dev2.png | 0
.prettierrc | 10
src/static/img/login3.png | 0
src/views/business/workbook.vue | 112
src/assets/qrcode1-plus.png | 0
src/common/ip.js | 9
src/static/img/login4.png | 0
src/static/img/dev4.png | 0
src/static/img/jinkouMBO.png | 0
src/static/img/shijuan2.png | 0
index.html | 17
src/views/business/examination.vue | 105
src/static/img/kaoshi3.png | 0
src/static/img/baseyinshuaji1.png | 0
src/static/img/zhuangding3.png | 0
src/static/img/enrollment1.png | 0
src/static/img/other5.png | 0
src/static/img/workbook11.png | 0
src/static/img/workbook8.png | 0
src/static/img/pingpai.png | 0
src/assets/Group1.png | 0
src/views/join/index.vue | 625 ++
src/static/img/devs4.png | 0
src/router/index.js | 135
src/static/img/yiyuan9.png | 0
src/views/business/enrollment.vue | 94
src/static/img/magazine9.png | 0
src/static/img/assembly2.png | 0
postcss.config.js | 6
src/api/comm.js | 37
.gitignore | 17
src/static/img/workbook4.png | 0
chuanyinweb.rar | 0
src/static/img/shijuan6.png | 0
src/static/img/shifan.png | 0
src/views/index/index.vue | 113
src/static/img/other9.png | 0
src/static/img/pingpai2.png | 0
src/assets/iconfont/iconfont.js | 1
src/static/img/yiyuan1.png | 0
src/assets/iconfont/iconfont.woff | 0
src/static/img/yiyuan11.png | 0
src/static/img/other11.png | 0
src/static/img/enrollment5.png | 0
src/assets/logo.png | 0
src/static/img/Frame-4.png | 0
src/views/business/other.vue | 154
src/static/img/chuban.png | 0
src/static/img/fumoji.png | 0
src/static/img/yiyuan5.png | 0
src/static/img/moqieji.png | 0
src/static/img/magazine5.png | 0
src/static/img/assembly7.png | 0
package.json | 36
src/App.vue | 15
src/static/img/devs9.png | 0
src/static/img/lunzhuanbeijing.png | 0
src/static/css/comm.scss | 161
src/static/img/assembly3.png | 0
src/static/img/tangjinji.png | 0
src/static/img/kaoshi4.png | 0
src/static/img/promise.png | 0
src/static/img/login5.png | 0
src/assets/iconfont/iconfont.css | 55
src/static/img/shijuan1.png | 0
src/components/header/index.vue | 157
src/static/img/other4.png | 0
src/static/img/workbook9.png | 0
src/static/img/zhiliang1.png | 0
src/assets/iconfont/demo_index.html | 418 +
src/static/img/dev3.png | 0
src/static/img/equipment1.png | 0
src/assets/qrcode2-plus.png | 0
src/assets/qrcode1.png | 0
src/api/distribution.js | 7
src/static/img/dev7.png | 0
src/static/img/devs5.png | 0
src/views/equipment/index.vue | 318 +
src/static/img/shijuan8.png | 0
src/static/img/workbook2.png | 0
src/store/index.js | 75
src/api/order.js | 66
src/api/goods.js | 67
src/static/img/magazine1.png | 0
src/static/img/dengji.png | 0
src/assets/iconfont/demo.css | 539 ++
src/static/img/enrollment2.png | 0
src/static/img/indexbanner.png | 0
src/static/img/workbook10.png | 0
src/static/img/jiankang1.png | 0
src/static/img/yiyuan8.png | 0
src/common/validate.js | 120
src/static/img/magazine8.png | 0
src/views/business/assembly.vue | 97
src/common/param.js | 126
src/static/img/shijuan5.png | 0
src/static/img/workbook5.png | 0
src/static/img/other8.png | 0
src/static/img/devs8.png | 0
src/static/img/login1.png | 0
src/static/img/yiyuan12.png | 0
src/views/aboutus/service.vue | 135
src/static/img/content-img.png | 0
src/static/img/yingyezhizhao.png | 0
src/static/img/yiyuan4.png | 0
src/static/img/assembly6.png | 0
src/static/img/indeximg.png | 0
src/static/img/other12.png | 0
src/static/img/Frame-3.png | 0
src/static/img/enrollment6.png | 0
src/utils/request.js | 121
src/static/img/magazine4.png | 0
src/static/img/devs1.png | 0
src/static/img/heibai.png | 0
src/static/img/mainbg.png | 0
src/components/footer/index.vue | 74
src/static/img/workbook13.png | 0
src/static/img/other3.png | 0
src/static/img/devs2.png | 0
src/views/servecustomers/index.vue | 199
src/assets/qrcode2.png | 0
src/static/img/yiyuan7.png | 0
pnpm-lock.yaml | 2000 +++++++++
src/static/img/yinshuashebei1.png | 0
src/static/img/assembly4.png | 0
src/static/img/login6.png | 0
src/static/img/magazine2.png | 0
src/static/img/other1.png | 0
vite.config.js | 70
src/assets/iconfont/iconfont.json | 79
src/components/iplocation/index.vue | 120
src/static/img/kaoshi1.png | 0
src/static/img/sufengji.png | 0
src/static/img/equipment2.png | 0
src/static/img/huanjing1.png | 0
README.md | 4
src/static/img/dev6.png | 0
src/static/img/enrollment3.png | 0
src/main.js | 32
src/static/img/workbook1.png | 0
src/views/aboutus/index.vue | 95
src/static/img/baseyinshuaji.png | 0
src/static/img/other7.png | 0
src/static/img/zhuangding1.png | 0
tailwind.config.js | 19
src/api/dealer.js | 8
src/static/img/Frame.png | 0
src/index.css | 17
src/static/img/qualification.png | 0
src/static/img/severbanner.png | 0
src/static/img/magazine7.png | 0
src/static/img/assembly9.png | 0
src/static/img/Frame-2.png | 0
src/static/img/zhanxinfeng.png | 0
src/assets/Group3.png | 0
src/common/method.js | 83
src/static/css/index.scss | 2
src/static/img/devs7.png | 0
src/static/img/youmo1.png | 0
src/static/img/login2.png | 0
src/views/main.vue | 62
src/static/img/workbook14.png | 0
src/views/business/magazine.vue | 97
src/static/img/assembly5.png | 0
src/static/img/joinbanner2.png | 0
src/assets/iconfont/iconfont.ttf | 0
src/static/img/yiyuan3.png | 0
src/static/img/kaoshi5.png | 0
src/static/img/shijuan4.png | 0
src/static/img/workbook6.png | 0
src/assets/phone-icon.png | 0
src/static/img/dev1.png | 0
229 files changed, 12,737 insertions(+), 14 deletions(-)
diff --git a/.gitignore b/.gitignore
index 32858aa..53f7466 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,12 +1,5 @@
-*.class
-
-# Mobile Tools for Java (J2ME)
-.mtj.tmp/
-
-# Package Files #
-*.jar
-*.war
-*.ear
-
-# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
-hs_err_pid*
+node_modules
+.DS_Store
+dist
+dist-ssr
+*.local
\ No newline at end of file
diff --git a/.prettierrc b/.prettierrc
new file mode 100644
index 0000000..d88190f
--- /dev/null
+++ b/.prettierrc
@@ -0,0 +1,10 @@
+{
+ "semi": false,
+ "singleQuote": true,
+ "trailingComma": "none",
+ "printWidth": 80,
+ "tabWidth": 2,
+ "useTabs": false,
+ "bracketSpacing": true,
+ "arrowParens": "avoid"
+}
\ No newline at end of file
diff --git a/README.md b/README.md
index 1ed3c86..3d9ca2e 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-## chuanyinweb
+## chuanyweb
-
+宸濆嵃闆嗗洟瀹樼綉
diff --git a/chuanyinweb.rar b/chuanyinweb.rar
new file mode 100644
index 0000000..5d85578
--- /dev/null
+++ b/chuanyinweb.rar
Binary files differ
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..29d87d9
--- /dev/null
+++ b/index.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8">
+ <link rel="icon" href="/favicon.ico" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <title>宸濆嵃闆嗗洟</title>
+</head>
+<body>
+ <div id="app"></div>
+ <script type="module" src="/src/main.js"></script>
+ <!-- <script src="https://map.qq.com/api/js?v=2.exp&key=MMMBZ-CLWE5-U2QIJ-ICD5L-GJHF2-J5BP4"></script> -->
+ <!-- <script src="https://map.qq.com/api/js?v=2.exp&key=MMMBZ-CLWE5-U2QIJ-ICD5L-GJHF2-J5BP4&libraries=drawing,geometry,autocomplete,convertor"></script> -->
+ <!-- <script charset="utf-8" src="https://map.qq.com/api/gljs?v=1.exp&key=MMMBZ-CLWE5-U2QIJ-ICD5L-GJHF2-J5BP4"></script> -->
+ <script charset="utf-8" src="https://map.qq.com/api/gljs?v=1.exp&libraries=service&key=MMMBZ-CLWE5-U2QIJ-ICD5L-GJHF2-J5BP4"></script>
+</body>
+</html>
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000..9fe0b4e
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,5206 @@
+{
+ "name": "chuanyinweb",
+ "version": "0.0.0",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "chuanyinweb",
+ "version": "0.0.0",
+ "dependencies": {
+ "axios": "^1.6.8",
+ "element-plus": "^2.7.8",
+ "jsonp": "^0.2.1",
+ "pinia": "^2.1.7",
+ "pinia-plugin-persistedstate": "^3.2.1",
+ "qqmap": "^1.0.1",
+ "qrcode": "^1.5.3",
+ "vue": "^3.4.27",
+ "vue-cropper": "^1.1.4",
+ "vue-router": "^4.3.0"
+ },
+ "devDependencies": {
+ "@types/node": "^20.12.2",
+ "@vitejs/plugin-vue": "^5.0.4",
+ "@vue/compiler-sfc": "^3.4.27",
+ "autoprefixer": "^10.4.22",
+ "eslint-config-prettier": "^10.1.8",
+ "eslint-plugin-prettier": "^5.5.4",
+ "postcss": "^8.5.6",
+ "prettier": "^3.7.4",
+ "sass": "^1.72.0",
+ "tailwindcss": "^3.4.13",
+ "unplugin-auto-import": "^0.17.5",
+ "unplugin-element-plus": "^0.8.0",
+ "unplugin-vue-components": "^0.26.0",
+ "vite": "^5.2.11"
+ }
+ },
+ "node_modules/@alloc/quick-lru": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz",
+ "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@antfu/utils": {
+ "version": "0.7.10",
+ "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.10.tgz",
+ "integrity": "sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@babel/helper-string-parser": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
+ "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz",
+ "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/parser": {
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz",
+ "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.28.5"
+ },
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/types": {
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz",
+ "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.27.1",
+ "@babel/helper-validator-identifier": "^7.28.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@ctrl/tinycolor": {
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz",
+ "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@element-plus/icons-vue": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.3.2.tgz",
+ "integrity": "sha512-OzIuTaIfC8QXEPmJvB4Y4kw34rSXdCJzxcD1kFStBvr8bK6X1zQAYDo0CNMjojnfTqRQCJ0I7prlErcoRiET2A==",
+ "license": "MIT",
+ "peerDependencies": {
+ "vue": "^3.2.0"
+ }
+ },
+ "node_modules/@esbuild/aix-ppc64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
+ "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "aix"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-arm": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
+ "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
+ "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
+ "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/darwin-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
+ "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/darwin-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
+ "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
+ "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/freebsd-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
+ "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-arm": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
+ "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
+ "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-ia32": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
+ "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-loong64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
+ "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-mips64el": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
+ "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-ppc64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
+ "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-riscv64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
+ "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-s390x": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
+ "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
+ "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/netbsd-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
+ "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/openbsd-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
+ "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/sunos-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
+ "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
+ "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-ia32": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
+ "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@eslint-community/eslint-utils": {
+ "version": "4.9.0",
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz",
+ "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "eslint-visitor-keys": "^3.4.3"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
+ }
+ },
+ "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "peer": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/@eslint-community/regexpp": {
+ "version": "4.12.2",
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz",
+ "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@eslint/config-array": {
+ "version": "0.21.1",
+ "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz",
+ "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "@eslint/object-schema": "^2.1.7",
+ "debug": "^4.3.1",
+ "minimatch": "^3.1.2"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
+ "node_modules/@eslint/config-helpers": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz",
+ "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "@eslint/core": "^0.17.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
+ "node_modules/@eslint/core": {
+ "version": "0.17.0",
+ "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz",
+ "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "@types/json-schema": "^7.0.15"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
+ "node_modules/@eslint/eslintrc": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.3.tgz",
+ "integrity": "sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "ajv": "^6.12.4",
+ "debug": "^4.3.2",
+ "espree": "^10.0.1",
+ "globals": "^14.0.0",
+ "ignore": "^5.2.0",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^4.1.1",
+ "minimatch": "^3.1.2",
+ "strip-json-comments": "^3.1.1"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/@eslint/js": {
+ "version": "9.39.1",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.1.tgz",
+ "integrity": "sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://eslint.org/donate"
+ }
+ },
+ "node_modules/@eslint/object-schema": {
+ "version": "2.1.7",
+ "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz",
+ "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "peer": true,
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
+ "node_modules/@eslint/plugin-kit": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz",
+ "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "@eslint/core": "^0.17.0",
+ "levn": "^0.4.1"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
+ "node_modules/@floating-ui/core": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.3.tgz",
+ "integrity": "sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==",
+ "license": "MIT",
+ "dependencies": {
+ "@floating-ui/utils": "^0.2.10"
+ }
+ },
+ "node_modules/@floating-ui/dom": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.4.tgz",
+ "integrity": "sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==",
+ "license": "MIT",
+ "dependencies": {
+ "@floating-ui/core": "^1.7.3",
+ "@floating-ui/utils": "^0.2.10"
+ }
+ },
+ "node_modules/@floating-ui/utils": {
+ "version": "0.2.10",
+ "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz",
+ "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==",
+ "license": "MIT"
+ },
+ "node_modules/@humanfs/core": {
+ "version": "0.19.1",
+ "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz",
+ "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "peer": true,
+ "engines": {
+ "node": ">=18.18.0"
+ }
+ },
+ "node_modules/@humanfs/node": {
+ "version": "0.16.7",
+ "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz",
+ "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "@humanfs/core": "^0.19.1",
+ "@humanwhocodes/retry": "^0.4.0"
+ },
+ "engines": {
+ "node": ">=18.18.0"
+ }
+ },
+ "node_modules/@humanwhocodes/module-importer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
+ "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "peer": true,
+ "engines": {
+ "node": ">=12.22"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
+ }
+ },
+ "node_modules/@humanwhocodes/retry": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz",
+ "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "peer": true,
+ "engines": {
+ "node": ">=18.18"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
+ }
+ },
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.13",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
+ "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.5.0",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ }
+ },
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.5.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
+ "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
+ "license": "MIT"
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.31",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
+ "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
+ }
+ },
+ "node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@parcel/watcher": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz",
+ "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "detect-libc": "^1.0.3",
+ "is-glob": "^4.0.3",
+ "micromatch": "^4.0.5",
+ "node-addon-api": "^7.0.0"
+ },
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "optionalDependencies": {
+ "@parcel/watcher-android-arm64": "2.5.1",
+ "@parcel/watcher-darwin-arm64": "2.5.1",
+ "@parcel/watcher-darwin-x64": "2.5.1",
+ "@parcel/watcher-freebsd-x64": "2.5.1",
+ "@parcel/watcher-linux-arm-glibc": "2.5.1",
+ "@parcel/watcher-linux-arm-musl": "2.5.1",
+ "@parcel/watcher-linux-arm64-glibc": "2.5.1",
+ "@parcel/watcher-linux-arm64-musl": "2.5.1",
+ "@parcel/watcher-linux-x64-glibc": "2.5.1",
+ "@parcel/watcher-linux-x64-musl": "2.5.1",
+ "@parcel/watcher-win32-arm64": "2.5.1",
+ "@parcel/watcher-win32-ia32": "2.5.1",
+ "@parcel/watcher-win32-x64": "2.5.1"
+ }
+ },
+ "node_modules/@parcel/watcher-android-arm64": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz",
+ "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-darwin-arm64": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz",
+ "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-darwin-x64": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz",
+ "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-freebsd-x64": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz",
+ "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-arm-glibc": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz",
+ "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-arm-musl": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz",
+ "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-arm64-glibc": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz",
+ "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-arm64-musl": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz",
+ "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-x64-glibc": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz",
+ "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-x64-musl": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz",
+ "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-win32-arm64": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz",
+ "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-win32-ia32": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz",
+ "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-win32-x64": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz",
+ "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@pkgr/core": {
+ "version": "0.2.9",
+ "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.9.tgz",
+ "integrity": "sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.20.0 || ^14.18.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/pkgr"
+ }
+ },
+ "node_modules/@popperjs/core": {
+ "name": "@sxzz/popperjs-es",
+ "version": "2.11.7",
+ "resolved": "https://registry.npmjs.org/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz",
+ "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==",
+ "license": "MIT",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/popperjs"
+ }
+ },
+ "node_modules/@rollup/pluginutils": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz",
+ "integrity": "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "^1.0.0",
+ "estree-walker": "^2.0.2",
+ "picomatch": "^4.0.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@rollup/pluginutils/node_modules/picomatch": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/@rollup/rollup-android-arm-eabi": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.53.3.tgz",
+ "integrity": "sha512-mRSi+4cBjrRLoaal2PnqH82Wqyb+d3HsPUN/W+WslCXsZsyHa9ZeQQX/pQsZaVIWDkPcpV6jJ+3KLbTbgnwv8w==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-android-arm64": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.53.3.tgz",
+ "integrity": "sha512-CbDGaMpdE9sh7sCmTrTUyllhrg65t6SwhjlMJsLr+J8YjFuPmCEjbBSx4Z/e4SmDyH3aB5hGaJUP2ltV/vcs4w==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-arm64": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.53.3.tgz",
+ "integrity": "sha512-Nr7SlQeqIBpOV6BHHGZgYBuSdanCXuw09hon14MGOLGmXAFYjx1wNvquVPmpZnl0tLjg25dEdr4IQ6GgyToCUA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-x64": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.53.3.tgz",
+ "integrity": "sha512-DZ8N4CSNfl965CmPktJ8oBnfYr3F8dTTNBQkRlffnUarJ2ohudQD17sZBa097J8xhQ26AwhHJ5mvUyQW8ddTsQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-freebsd-arm64": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.53.3.tgz",
+ "integrity": "sha512-yMTrCrK92aGyi7GuDNtGn2sNW+Gdb4vErx4t3Gv/Tr+1zRb8ax4z8GWVRfr3Jw8zJWvpGHNpss3vVlbF58DZ4w==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
+ },
+ "node_modules/@rollup/rollup-freebsd-x64": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.53.3.tgz",
+ "integrity": "sha512-lMfF8X7QhdQzseM6XaX0vbno2m3hlyZFhwcndRMw8fbAGUGL3WFMBdK0hbUBIUYcEcMhVLr1SIamDeuLBnXS+Q==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.53.3.tgz",
+ "integrity": "sha512-k9oD15soC/Ln6d2Wv/JOFPzZXIAIFLp6B+i14KhxAfnq76ajt0EhYc5YPeX6W1xJkAdItcVT+JhKl1QZh44/qw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-musleabihf": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.53.3.tgz",
+ "integrity": "sha512-vTNlKq+N6CK/8UktsrFuc+/7NlEYVxgaEgRXVUVK258Z5ymho29skzW1sutgYjqNnquGwVUObAaxae8rZ6YMhg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-gnu": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.53.3.tgz",
+ "integrity": "sha512-RGrFLWgMhSxRs/EWJMIFM1O5Mzuz3Xy3/mnxJp/5cVhZ2XoCAxJnmNsEyeMJtpK+wu0FJFWz+QF4mjCA7AUQ3w==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-musl": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.53.3.tgz",
+ "integrity": "sha512-kASyvfBEWYPEwe0Qv4nfu6pNkITLTb32p4yTgzFCocHnJLAHs+9LjUu9ONIhvfT/5lv4YS5muBHyuV84epBo/A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-loong64-gnu": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.53.3.tgz",
+ "integrity": "sha512-JiuKcp2teLJwQ7vkJ95EwESWkNRFJD7TQgYmCnrPtlu50b4XvT5MOmurWNrCj3IFdyjBQ5p9vnrX4JM6I8OE7g==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-ppc64-gnu": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.53.3.tgz",
+ "integrity": "sha512-EoGSa8nd6d3T7zLuqdojxC20oBfNT8nexBbB/rkxgKj5T5vhpAQKKnD+h3UkoMuTyXkP5jTjK/ccNRmQrPNDuw==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-riscv64-gnu": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.53.3.tgz",
+ "integrity": "sha512-4s+Wped2IHXHPnAEbIB0YWBv7SDohqxobiiPA1FIWZpX+w9o2i4LezzH/NkFUl8LRci/8udci6cLq+jJQlh+0g==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-riscv64-musl": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.53.3.tgz",
+ "integrity": "sha512-68k2g7+0vs2u9CxDt5ktXTngsxOQkSEV/xBbwlqYcUrAVh6P9EgMZvFsnHy4SEiUl46Xf0IObWVbMvPrr2gw8A==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-s390x-gnu": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.53.3.tgz",
+ "integrity": "sha512-VYsFMpULAz87ZW6BVYw3I6sWesGpsP9OPcyKe8ofdg9LHxSbRMd7zrVrr5xi/3kMZtpWL/wC+UIJWJYVX5uTKg==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-gnu": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.53.3.tgz",
+ "integrity": "sha512-3EhFi1FU6YL8HTUJZ51imGJWEX//ajQPfqWLI3BQq4TlvHy4X0MOr5q3D2Zof/ka0d5FNdPwZXm3Yyib/UEd+w==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-musl": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.53.3.tgz",
+ "integrity": "sha512-eoROhjcc6HbZCJr+tvVT8X4fW3/5g/WkGvvmwz/88sDtSJzO7r/blvoBDgISDiCjDRZmHpwud7h+6Q9JxFwq1Q==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-openharmony-arm64": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.53.3.tgz",
+ "integrity": "sha512-OueLAWgrNSPGAdUdIjSWXw+u/02BRTcnfw9PN41D2vq/JSEPnJnVuBgw18VkN8wcd4fjUs+jFHVM4t9+kBSNLw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openharmony"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-arm64-msvc": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.53.3.tgz",
+ "integrity": "sha512-GOFuKpsxR/whszbF/bzydebLiXIHSgsEUp6M0JI8dWvi+fFa1TD6YQa4aSZHtpmh2/uAlj/Dy+nmby3TJ3pkTw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-ia32-msvc": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.53.3.tgz",
+ "integrity": "sha512-iah+THLcBJdpfZ1TstDFbKNznlzoxa8fmnFYK4V67HvmuNYkVdAywJSoteUszvBQ9/HqN2+9AZghbajMsFT+oA==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-x64-gnu": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.53.3.tgz",
+ "integrity": "sha512-J9QDiOIZlZLdcot5NXEepDkstocktoVjkaKUtqzgzpt2yWjGlbYiKyp05rWwk4nypbYUNoFAztEgixoLaSETkg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@types/estree": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
+ "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/json-schema": {
+ "version": "7.0.15",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
+ "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/@types/lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-FOvQ0YPD5NOfPgMzJihoT+Za5pdkDJWcbpuj1DjaKZIr/gxodQjY/uWEFlTNqW2ugXHUiL8lRQgw63dzKHZdeQ==",
+ "license": "MIT"
+ },
+ "node_modules/@types/lodash-es": {
+ "version": "4.17.12",
+ "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.12.tgz",
+ "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/lodash": "*"
+ }
+ },
+ "node_modules/@types/node": {
+ "version": "20.19.26",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.26.tgz",
+ "integrity": "sha512-0l6cjgF0XnihUpndDhk+nyD3exio3iKaYROSgvh/qSevPXax3L8p5DBRFjbvalnwatGgHEQn2R88y2fA3g4irg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "undici-types": "~6.21.0"
+ }
+ },
+ "node_modules/@types/web-bluetooth": {
+ "version": "0.0.16",
+ "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz",
+ "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==",
+ "license": "MIT"
+ },
+ "node_modules/@vitejs/plugin-vue": {
+ "version": "5.2.4",
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.4.tgz",
+ "integrity": "sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^18.0.0 || >=20.0.0"
+ },
+ "peerDependencies": {
+ "vite": "^5.0.0 || ^6.0.0",
+ "vue": "^3.2.25"
+ }
+ },
+ "node_modules/@vue/compiler-core": {
+ "version": "3.5.25",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.25.tgz",
+ "integrity": "sha512-vay5/oQJdsNHmliWoZfHPoVZZRmnSWhug0BYT34njkYTPqClh3DNWLkZNJBVSjsNMrg0CCrBfoKkjZQPM/QVUw==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.28.5",
+ "@vue/shared": "3.5.25",
+ "entities": "^4.5.0",
+ "estree-walker": "^2.0.2",
+ "source-map-js": "^1.2.1"
+ }
+ },
+ "node_modules/@vue/compiler-dom": {
+ "version": "3.5.25",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.25.tgz",
+ "integrity": "sha512-4We0OAcMZsKgYoGlMjzYvaoErltdFI2/25wqanuTu+S4gismOTRTBPi4IASOjxWdzIwrYSjnqONfKvuqkXzE2Q==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/compiler-core": "3.5.25",
+ "@vue/shared": "3.5.25"
+ }
+ },
+ "node_modules/@vue/compiler-sfc": {
+ "version": "3.5.25",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.25.tgz",
+ "integrity": "sha512-PUgKp2rn8fFsI++lF2sO7gwO2d9Yj57Utr5yEsDf3GNaQcowCLKL7sf+LvVFvtJDXUp/03+dC6f2+LCv5aK1ag==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.28.5",
+ "@vue/compiler-core": "3.5.25",
+ "@vue/compiler-dom": "3.5.25",
+ "@vue/compiler-ssr": "3.5.25",
+ "@vue/shared": "3.5.25",
+ "estree-walker": "^2.0.2",
+ "magic-string": "^0.30.21",
+ "postcss": "^8.5.6",
+ "source-map-js": "^1.2.1"
+ }
+ },
+ "node_modules/@vue/compiler-ssr": {
+ "version": "3.5.25",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.25.tgz",
+ "integrity": "sha512-ritPSKLBcParnsKYi+GNtbdbrIE1mtuFEJ4U1sWeuOMlIziK5GtOL85t5RhsNy4uWIXPgk+OUdpnXiTdzn8o3A==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/compiler-dom": "3.5.25",
+ "@vue/shared": "3.5.25"
+ }
+ },
+ "node_modules/@vue/devtools-api": {
+ "version": "6.6.4",
+ "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz",
+ "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==",
+ "license": "MIT"
+ },
+ "node_modules/@vue/reactivity": {
+ "version": "3.5.25",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.25.tgz",
+ "integrity": "sha512-5xfAypCQepv4Jog1U4zn8cZIcbKKFka3AgWHEFQeK65OW+Ys4XybP6z2kKgws4YB43KGpqp5D/K3go2UPPunLA==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/shared": "3.5.25"
+ }
+ },
+ "node_modules/@vue/runtime-core": {
+ "version": "3.5.25",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.25.tgz",
+ "integrity": "sha512-Z751v203YWwYzy460bzsYQISDfPjHTl+6Zzwo/a3CsAf+0ccEjQ8c+0CdX1WsumRTHeywvyUFtW6KvNukT/smA==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/reactivity": "3.5.25",
+ "@vue/shared": "3.5.25"
+ }
+ },
+ "node_modules/@vue/runtime-dom": {
+ "version": "3.5.25",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.25.tgz",
+ "integrity": "sha512-a4WrkYFbb19i9pjkz38zJBg8wa/rboNERq3+hRRb0dHiJh13c+6kAbgqCPfMaJ2gg4weWD3APZswASOfmKwamA==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/reactivity": "3.5.25",
+ "@vue/runtime-core": "3.5.25",
+ "@vue/shared": "3.5.25",
+ "csstype": "^3.1.3"
+ }
+ },
+ "node_modules/@vue/server-renderer": {
+ "version": "3.5.25",
+ "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.25.tgz",
+ "integrity": "sha512-UJaXR54vMG61i8XNIzTSf2Q7MOqZHpp8+x3XLGtE3+fL+nQd+k7O5+X3D/uWrnQXOdMw5VPih+Uremcw+u1woQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/compiler-ssr": "3.5.25",
+ "@vue/shared": "3.5.25"
+ },
+ "peerDependencies": {
+ "vue": "3.5.25"
+ }
+ },
+ "node_modules/@vue/shared": {
+ "version": "3.5.25",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.25.tgz",
+ "integrity": "sha512-AbOPdQQnAnzs58H2FrrDxYj/TJfmeS2jdfEEhgiKINy+bnOANmVizIEgq1r+C5zsbs6l1CCQxtcj71rwNQ4jWg==",
+ "license": "MIT"
+ },
+ "node_modules/@vueuse/core": {
+ "version": "9.13.0",
+ "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-9.13.0.tgz",
+ "integrity": "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/web-bluetooth": "^0.0.16",
+ "@vueuse/metadata": "9.13.0",
+ "@vueuse/shared": "9.13.0",
+ "vue-demi": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@vueuse/metadata": {
+ "version": "9.13.0",
+ "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-9.13.0.tgz",
+ "integrity": "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@vueuse/shared": {
+ "version": "9.13.0",
+ "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-9.13.0.tgz",
+ "integrity": "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==",
+ "license": "MIT",
+ "dependencies": {
+ "vue-demi": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/acorn": {
+ "version": "8.15.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
+ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-jsx": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
+ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "peerDependencies": {
+ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/any-promise": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
+ "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/anymatch": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/arg": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
+ "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true,
+ "license": "Python-2.0",
+ "peer": true
+ },
+ "node_modules/async-validator": {
+ "version": "4.2.5",
+ "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz",
+ "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==",
+ "license": "MIT"
+ },
+ "node_modules/asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
+ "license": "MIT"
+ },
+ "node_modules/autoprefixer": {
+ "version": "10.4.22",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.22.tgz",
+ "integrity": "sha512-ARe0v/t9gO28Bznv6GgqARmVqcWOV3mfgUPn9becPHMiD3o9BwlRgaeccZnwTpZ7Zwqrm+c1sUSsMxIzQzc8Xg==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/autoprefixer"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "browserslist": "^4.27.0",
+ "caniuse-lite": "^1.0.30001754",
+ "fraction.js": "^5.3.4",
+ "normalize-range": "^0.1.2",
+ "picocolors": "^1.1.1",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "bin": {
+ "autoprefixer": "bin/autoprefixer"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ },
+ "peerDependencies": {
+ "postcss": "^8.1.0"
+ }
+ },
+ "node_modules/axios": {
+ "version": "1.13.2",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.2.tgz",
+ "integrity": "sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==",
+ "license": "MIT",
+ "dependencies": {
+ "follow-redirects": "^1.15.6",
+ "form-data": "^4.0.4",
+ "proxy-from-env": "^1.1.0"
+ }
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/baseline-browser-mapping": {
+ "version": "2.9.5",
+ "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.5.tgz",
+ "integrity": "sha512-D5vIoztZOq1XM54LUdttJVc96ggEsIfju2JBvht06pSzpckp3C7HReun67Bghzrtdsq9XdMGbSSB3v3GhMNmAA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "bin": {
+ "baseline-browser-mapping": "dist/cli.js"
+ }
+ },
+ "node_modules/binary-extensions": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
+ "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/brace-expansion": {
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
+ "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/braces": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fill-range": "^7.1.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/browserslist": {
+ "version": "4.28.1",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz",
+ "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "baseline-browser-mapping": "^2.9.0",
+ "caniuse-lite": "^1.0.30001759",
+ "electron-to-chromium": "^1.5.263",
+ "node-releases": "^2.0.27",
+ "update-browserslist-db": "^1.2.0"
+ },
+ "bin": {
+ "browserslist": "cli.js"
+ },
+ "engines": {
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+ }
+ },
+ "node_modules/call-bind-apply-helpers": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
+ "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/camelcase-css": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
+ "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/caniuse-lite": {
+ "version": "1.0.30001760",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001760.tgz",
+ "integrity": "sha512-7AAMPcueWELt1p3mi13HR/LHH0TJLT11cnwDJEs3xA4+CK/PLKeO9Kl1oru24htkyUKtkGCvAx4ohB0Ttry8Dw==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "CC-BY-4.0"
+ },
+ "node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/chokidar": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz",
+ "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "readdirp": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 14.16.0"
+ },
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ }
+ },
+ "node_modules/cliui": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
+ "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
+ "license": "ISC",
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^6.2.0"
+ }
+ },
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "license": "MIT"
+ },
+ "node_modules/combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "license": "MIT",
+ "dependencies": {
+ "delayed-stream": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/commander": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
+ "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/confbox": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz",
+ "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/cross-spawn": {
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
+ "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/cssesc": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
+ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "cssesc": "bin/cssesc"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/csstype": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz",
+ "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==",
+ "license": "MIT"
+ },
+ "node_modules/dayjs": {
+ "version": "1.11.19",
+ "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.19.tgz",
+ "integrity": "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==",
+ "license": "MIT"
+ },
+ "node_modules/debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/decamelize": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/deep-is": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
+ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/detect-libc": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
+ "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "bin": {
+ "detect-libc": "bin/detect-libc.js"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/didyoumean": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
+ "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==",
+ "dev": true,
+ "license": "Apache-2.0"
+ },
+ "node_modules/dijkstrajs": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz",
+ "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==",
+ "license": "MIT"
+ },
+ "node_modules/dlv": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
+ "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/dunder-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
+ "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
+ "license": "MIT",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.2.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/electron-to-chromium": {
+ "version": "1.5.267",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz",
+ "integrity": "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/element-plus": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.12.0.tgz",
+ "integrity": "sha512-M9YLSn2np9OnqrSKWsiXvGe3qnF8pd94+TScsHj1aTMCD+nSEvucXermf807qNt6hOP040le0e5Aft7E9ZfHmA==",
+ "license": "MIT",
+ "dependencies": {
+ "@ctrl/tinycolor": "^3.4.1",
+ "@element-plus/icons-vue": "^2.3.2",
+ "@floating-ui/dom": "^1.0.1",
+ "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7",
+ "@types/lodash": "^4.17.20",
+ "@types/lodash-es": "^4.17.12",
+ "@vueuse/core": "^9.1.0",
+ "async-validator": "^4.2.5",
+ "dayjs": "^1.11.19",
+ "lodash": "^4.17.21",
+ "lodash-es": "^4.17.21",
+ "lodash-unified": "^1.0.3",
+ "memoize-one": "^6.0.0",
+ "normalize-wheel-es": "^1.2.0"
+ },
+ "peerDependencies": {
+ "vue": "^3.2.0"
+ }
+ },
+ "node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "license": "MIT"
+ },
+ "node_modules/entities": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=0.12"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
+ "node_modules/es-define-property": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
+ "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-errors": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-module-lexer": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz",
+ "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/es-object-atoms": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
+ "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-set-tostringtag": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz",
+ "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==",
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.6",
+ "has-tostringtag": "^1.0.2",
+ "hasown": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/esbuild": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
+ "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "optionalDependencies": {
+ "@esbuild/aix-ppc64": "0.21.5",
+ "@esbuild/android-arm": "0.21.5",
+ "@esbuild/android-arm64": "0.21.5",
+ "@esbuild/android-x64": "0.21.5",
+ "@esbuild/darwin-arm64": "0.21.5",
+ "@esbuild/darwin-x64": "0.21.5",
+ "@esbuild/freebsd-arm64": "0.21.5",
+ "@esbuild/freebsd-x64": "0.21.5",
+ "@esbuild/linux-arm": "0.21.5",
+ "@esbuild/linux-arm64": "0.21.5",
+ "@esbuild/linux-ia32": "0.21.5",
+ "@esbuild/linux-loong64": "0.21.5",
+ "@esbuild/linux-mips64el": "0.21.5",
+ "@esbuild/linux-ppc64": "0.21.5",
+ "@esbuild/linux-riscv64": "0.21.5",
+ "@esbuild/linux-s390x": "0.21.5",
+ "@esbuild/linux-x64": "0.21.5",
+ "@esbuild/netbsd-x64": "0.21.5",
+ "@esbuild/openbsd-x64": "0.21.5",
+ "@esbuild/sunos-x64": "0.21.5",
+ "@esbuild/win32-arm64": "0.21.5",
+ "@esbuild/win32-ia32": "0.21.5",
+ "@esbuild/win32-x64": "0.21.5"
+ }
+ },
+ "node_modules/esbuild/node_modules/@esbuild/win32-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
+ "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/escalade": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint": {
+ "version": "9.39.1",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.1.tgz",
+ "integrity": "sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.8.0",
+ "@eslint-community/regexpp": "^4.12.1",
+ "@eslint/config-array": "^0.21.1",
+ "@eslint/config-helpers": "^0.4.2",
+ "@eslint/core": "^0.17.0",
+ "@eslint/eslintrc": "^3.3.1",
+ "@eslint/js": "9.39.1",
+ "@eslint/plugin-kit": "^0.4.1",
+ "@humanfs/node": "^0.16.6",
+ "@humanwhocodes/module-importer": "^1.0.1",
+ "@humanwhocodes/retry": "^0.4.2",
+ "@types/estree": "^1.0.6",
+ "ajv": "^6.12.4",
+ "chalk": "^4.0.0",
+ "cross-spawn": "^7.0.6",
+ "debug": "^4.3.2",
+ "escape-string-regexp": "^4.0.0",
+ "eslint-scope": "^8.4.0",
+ "eslint-visitor-keys": "^4.2.1",
+ "espree": "^10.4.0",
+ "esquery": "^1.5.0",
+ "esutils": "^2.0.2",
+ "fast-deep-equal": "^3.1.3",
+ "file-entry-cache": "^8.0.0",
+ "find-up": "^5.0.0",
+ "glob-parent": "^6.0.2",
+ "ignore": "^5.2.0",
+ "imurmurhash": "^0.1.4",
+ "is-glob": "^4.0.0",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "lodash.merge": "^4.6.2",
+ "minimatch": "^3.1.2",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.9.3"
+ },
+ "bin": {
+ "eslint": "bin/eslint.js"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://eslint.org/donate"
+ },
+ "peerDependencies": {
+ "jiti": "*"
+ },
+ "peerDependenciesMeta": {
+ "jiti": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/eslint-config-prettier": {
+ "version": "10.1.8",
+ "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz",
+ "integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "eslint-config-prettier": "bin/cli.js"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint-config-prettier"
+ },
+ "peerDependencies": {
+ "eslint": ">=7.0.0"
+ }
+ },
+ "node_modules/eslint-plugin-prettier": {
+ "version": "5.5.4",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.4.tgz",
+ "integrity": "sha512-swNtI95SToIz05YINMA6Ox5R057IMAmWZ26GqPxusAp1TZzj+IdY9tXNWWD3vkF/wEqydCONcwjTFpxybBqZsg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "prettier-linter-helpers": "^1.0.0",
+ "synckit": "^0.11.7"
+ },
+ "engines": {
+ "node": "^14.18.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint-plugin-prettier"
+ },
+ "peerDependencies": {
+ "@types/eslint": ">=8.0.0",
+ "eslint": ">=8.0.0",
+ "eslint-config-prettier": ">= 7.0.0 <10.0.0 || >=10.1.0",
+ "prettier": ">=3.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/eslint": {
+ "optional": true
+ },
+ "eslint-config-prettier": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/eslint-scope": {
+ "version": "8.4.0",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz",
+ "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "peer": true,
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint-visitor-keys": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
+ "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "peer": true,
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/espree": {
+ "version": "10.4.0",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz",
+ "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "peer": true,
+ "dependencies": {
+ "acorn": "^8.15.0",
+ "acorn-jsx": "^5.3.2",
+ "eslint-visitor-keys": "^4.2.1"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/esquery": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz",
+ "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "peer": true,
+ "dependencies": {
+ "estraverse": "^5.1.0"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/esrecurse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
+ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "peer": true,
+ "dependencies": {
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "peer": true,
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/estree-walker": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
+ "license": "MIT"
+ },
+ "node_modules/esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "peer": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/exsolve": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.8.tgz",
+ "integrity": "sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/fast-diff": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz",
+ "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==",
+ "dev": true,
+ "license": "Apache-2.0"
+ },
+ "node_modules/fast-glob": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz",
+ "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.2",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.8"
+ },
+ "engines": {
+ "node": ">=8.6.0"
+ }
+ },
+ "node_modules/fast-glob/node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/fastq": {
+ "version": "1.19.1",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz",
+ "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "reusify": "^1.0.4"
+ }
+ },
+ "node_modules/file-entry-cache": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz",
+ "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "flat-cache": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/fill-range": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/find-up": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/flat-cache": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz",
+ "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "flatted": "^3.2.9",
+ "keyv": "^4.5.4"
+ },
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/flatted": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz",
+ "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==",
+ "dev": true,
+ "license": "ISC",
+ "peer": true
+ },
+ "node_modules/follow-redirects": {
+ "version": "1.15.11",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz",
+ "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/RubenVerborgh"
+ }
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">=4.0"
+ },
+ "peerDependenciesMeta": {
+ "debug": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/form-data": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz",
+ "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==",
+ "license": "MIT",
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "es-set-tostringtag": "^2.1.0",
+ "hasown": "^2.0.2",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/fraction.js": {
+ "version": "5.3.4",
+ "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz",
+ "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/rawify"
+ }
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+ "license": "ISC",
+ "engines": {
+ "node": "6.* || 8.* || >= 10.*"
+ }
+ },
+ "node_modules/get-intrinsic": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
+ "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
+ "license": "MIT",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.2",
+ "es-define-property": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.1.1",
+ "function-bind": "^1.1.2",
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
+ "has-symbols": "^1.1.0",
+ "hasown": "^2.0.2",
+ "math-intrinsics": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/get-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
+ "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
+ "license": "MIT",
+ "dependencies": {
+ "dunder-proto": "^1.0.1",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/glob-parent": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/globals": {
+ "version": "14.0.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
+ "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/gopd": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
+ "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/has-symbols": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
+ "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-tostringtag": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
+ "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
+ "license": "MIT",
+ "dependencies": {
+ "has-symbols": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/hasown": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+ "license": "MIT",
+ "dependencies": {
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/ignore": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
+ "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/immutable": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.4.tgz",
+ "integrity": "sha512-p6u1bG3YSnINT5RQmx/yRZBpenIl30kVxkTLDyHLIMk0gict704Q9n+thfDI7lTRm9vXdDYutVzXhzcThxTnXA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/import-fresh": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz",
+ "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=0.8.19"
+ }
+ },
+ "node_modules/is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "binary-extensions": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-core-module": {
+ "version": "2.16.1",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
+ "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "hasown": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true,
+ "license": "ISC",
+ "peer": true
+ },
+ "node_modules/jiti": {
+ "version": "1.21.7",
+ "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz",
+ "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "jiti": "bin/jiti.js"
+ }
+ },
+ "node_modules/js-tokens": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz",
+ "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/js-yaml": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+ "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/json-buffer": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
+ "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/json-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/jsonp": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/jsonp/-/jsonp-0.2.1.tgz",
+ "integrity": "sha512-pfog5gdDxPdV4eP7Kg87M8/bHgshlZ5pybl+yKxAnCZ5O7lCIn7Ixydj03wOlnDQesky2BPyA91SQ+5Y/mNwzw==",
+ "dependencies": {
+ "debug": "^2.1.3"
+ }
+ },
+ "node_modules/jsonp/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/jsonp/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "license": "MIT"
+ },
+ "node_modules/keyv": {
+ "version": "4.5.4",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
+ "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "json-buffer": "3.0.1"
+ }
+ },
+ "node_modules/levn": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
+ "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "prelude-ls": "^1.2.1",
+ "type-check": "~0.4.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/lilconfig": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
+ "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/lines-and-columns": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
+ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/local-pkg": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.1.tgz",
+ "integrity": "sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mlly": "^1.7.3",
+ "pkg-types": "^1.2.1"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/locate-path": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "p-locate": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+ "license": "MIT"
+ },
+ "node_modules/lodash-es": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz",
+ "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==",
+ "license": "MIT"
+ },
+ "node_modules/lodash-unified": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/lodash-unified/-/lodash-unified-1.0.3.tgz",
+ "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/lodash-es": "*",
+ "lodash": "*",
+ "lodash-es": "*"
+ }
+ },
+ "node_modules/lodash.merge": {
+ "version": "4.6.2",
+ "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
+ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/magic-string": {
+ "version": "0.30.21",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz",
+ "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.5.5"
+ }
+ },
+ "node_modules/math-intrinsics": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
+ "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/memoize-one": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz",
+ "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==",
+ "license": "MIT"
+ },
+ "node_modules/merge2": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/micromatch": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+ "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "braces": "^3.0.3",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-types": {
+ "version": "2.1.35",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "license": "MIT",
+ "dependencies": {
+ "mime-db": "1.52.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "license": "ISC",
+ "peer": true,
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/mlly": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.8.0.tgz",
+ "integrity": "sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "acorn": "^8.15.0",
+ "pathe": "^2.0.3",
+ "pkg-types": "^1.3.1",
+ "ufo": "^1.6.1"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/mz": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
+ "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "any-promise": "^1.0.0",
+ "object-assign": "^4.0.1",
+ "thenify-all": "^1.0.0"
+ }
+ },
+ "node_modules/nanoid": {
+ "version": "3.3.11",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
+ "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/node-addon-api": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz",
+ "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true
+ },
+ "node_modules/node-releases": {
+ "version": "2.0.27",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz",
+ "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/normalize-range": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
+ "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/normalize-wheel-es": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz",
+ "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==",
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-hash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
+ "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/optionator": {
+ "version": "0.9.4",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
+ "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "deep-is": "^0.1.3",
+ "fast-levenshtein": "^2.0.6",
+ "levn": "^0.4.1",
+ "prelude-ls": "^1.2.1",
+ "type-check": "^0.4.0",
+ "word-wrap": "^1.2.5"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "yocto-queue": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-locate": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "p-limit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/parent-module": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "callsites": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-parse": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/pathe": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz",
+ "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/picocolors": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
+ "license": "ISC"
+ },
+ "node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/pinia": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.3.1.tgz",
+ "integrity": "sha512-khUlZSwt9xXCaTbbxFYBKDc/bWAGWJjOgvxETwkTN7KRm66EeT1ZdZj6i2ceh9sP2Pzqsbc704r2yngBrxBVug==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/devtools-api": "^6.6.3",
+ "vue-demi": "^0.14.10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/posva"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.4.4",
+ "vue": "^2.7.0 || ^3.5.11"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/pinia-plugin-persistedstate": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/pinia-plugin-persistedstate/-/pinia-plugin-persistedstate-3.2.3.tgz",
+ "integrity": "sha512-Cm819WBj/s5K5DGw55EwbXDtx+EZzM0YR5AZbq9XE3u0xvXwvX2JnWoFpWIcdzISBHqy9H1UiSIUmXyXqWsQRQ==",
+ "license": "MIT",
+ "peerDependencies": {
+ "pinia": "^2.0.0"
+ }
+ },
+ "node_modules/pirates": {
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz",
+ "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/pkg-types": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz",
+ "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "confbox": "^0.1.8",
+ "mlly": "^1.7.4",
+ "pathe": "^2.0.1"
+ }
+ },
+ "node_modules/pngjs": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz",
+ "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/postcss": {
+ "version": "8.5.6",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
+ "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "nanoid": "^3.3.11",
+ "picocolors": "^1.1.1",
+ "source-map-js": "^1.2.1"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ }
+ },
+ "node_modules/postcss-import": {
+ "version": "15.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz",
+ "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "postcss-value-parser": "^4.0.0",
+ "read-cache": "^1.0.0",
+ "resolve": "^1.1.7"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.0.0"
+ }
+ },
+ "node_modules/postcss-js": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.1.0.tgz",
+ "integrity": "sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "camelcase-css": "^2.0.1"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >= 16"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.21"
+ }
+ },
+ "node_modules/postcss-load-config": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz",
+ "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "lilconfig": "^3.0.0",
+ "yaml": "^2.3.4"
+ },
+ "engines": {
+ "node": ">= 14"
+ },
+ "peerDependencies": {
+ "postcss": ">=8.0.9",
+ "ts-node": ">=9.0.0"
+ },
+ "peerDependenciesMeta": {
+ "postcss": {
+ "optional": true
+ },
+ "ts-node": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/postcss-load-config/node_modules/lilconfig": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz",
+ "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antonk52"
+ }
+ },
+ "node_modules/postcss-nested": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz",
+ "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "postcss-selector-parser": "^6.1.1"
+ },
+ "engines": {
+ "node": ">=12.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.14"
+ }
+ },
+ "node_modules/postcss-selector-parser": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz",
+ "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/postcss-value-parser": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
+ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/prelude-ls": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/prettier": {
+ "version": "3.7.4",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.7.4.tgz",
+ "integrity": "sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "prettier": "bin/prettier.cjs"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/prettier/prettier?sponsor=1"
+ }
+ },
+ "node_modules/prettier-linter-helpers": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz",
+ "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fast-diff": "^1.1.2"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/proxy-from-env": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
+ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
+ "license": "MIT"
+ },
+ "node_modules/punycode": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
+ "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/qqmap": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/qqmap/-/qqmap-1.0.1.tgz",
+ "integrity": "sha512-fg9WrQj+sB5+gHt4i0TTg9ySB4PxZX8MCX5CRpuNpWBwRuPS58gZP3WkvVrOql2vz2JpYjlxV+52T3H7WLRMOQ==",
+ "license": "ISC"
+ },
+ "node_modules/qrcode": {
+ "version": "1.5.4",
+ "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.4.tgz",
+ "integrity": "sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg==",
+ "license": "MIT",
+ "dependencies": {
+ "dijkstrajs": "^1.0.1",
+ "pngjs": "^5.0.0",
+ "yargs": "^15.3.1"
+ },
+ "bin": {
+ "qrcode": "bin/qrcode"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/quansync": {
+ "version": "0.2.11",
+ "resolved": "https://registry.npmjs.org/quansync/-/quansync-0.2.11.tgz",
+ "integrity": "sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/antfu"
+ },
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/sxzz"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/queue-microtask": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/read-cache": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
+ "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "pify": "^2.3.0"
+ }
+ },
+ "node_modules/readdirp": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
+ "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 14.18.0"
+ },
+ "funding": {
+ "type": "individual",
+ "url": "https://paulmillr.com/funding/"
+ }
+ },
+ "node_modules/require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/require-main-filename": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
+ "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
+ "license": "ISC"
+ },
+ "node_modules/resolve": {
+ "version": "1.22.11",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz",
+ "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-core-module": "^2.16.1",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/reusify": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz",
+ "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "iojs": ">=1.0.0",
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/rollup": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.53.3.tgz",
+ "integrity": "sha512-w8GmOxZfBmKknvdXU1sdM9NHcoQejwF/4mNgj2JuEEdRaHwwF12K7e9eXn1nLZ07ad+du76mkVsyeb2rKGllsA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "1.0.8"
+ },
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ },
+ "engines": {
+ "node": ">=18.0.0",
+ "npm": ">=8.0.0"
+ },
+ "optionalDependencies": {
+ "@rollup/rollup-android-arm-eabi": "4.53.3",
+ "@rollup/rollup-android-arm64": "4.53.3",
+ "@rollup/rollup-darwin-arm64": "4.53.3",
+ "@rollup/rollup-darwin-x64": "4.53.3",
+ "@rollup/rollup-freebsd-arm64": "4.53.3",
+ "@rollup/rollup-freebsd-x64": "4.53.3",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.53.3",
+ "@rollup/rollup-linux-arm-musleabihf": "4.53.3",
+ "@rollup/rollup-linux-arm64-gnu": "4.53.3",
+ "@rollup/rollup-linux-arm64-musl": "4.53.3",
+ "@rollup/rollup-linux-loong64-gnu": "4.53.3",
+ "@rollup/rollup-linux-ppc64-gnu": "4.53.3",
+ "@rollup/rollup-linux-riscv64-gnu": "4.53.3",
+ "@rollup/rollup-linux-riscv64-musl": "4.53.3",
+ "@rollup/rollup-linux-s390x-gnu": "4.53.3",
+ "@rollup/rollup-linux-x64-gnu": "4.53.3",
+ "@rollup/rollup-linux-x64-musl": "4.53.3",
+ "@rollup/rollup-openharmony-arm64": "4.53.3",
+ "@rollup/rollup-win32-arm64-msvc": "4.53.3",
+ "@rollup/rollup-win32-ia32-msvc": "4.53.3",
+ "@rollup/rollup-win32-x64-gnu": "4.53.3",
+ "@rollup/rollup-win32-x64-msvc": "4.53.3",
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/rollup/node_modules/@rollup/rollup-win32-x64-msvc": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.53.3.tgz",
+ "integrity": "sha512-UhTd8u31dXadv0MopwGgNOBpUVROFKWVQgAg5N1ESyCz8AuBcMqm4AuTjrwgQKGDfoFuz02EuMRHQIw/frmYKQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/run-parallel": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "queue-microtask": "^1.2.2"
+ }
+ },
+ "node_modules/sass": {
+ "version": "1.95.0",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.95.0.tgz",
+ "integrity": "sha512-9QMjhLq+UkOg/4bb8Lt8A+hJZvY3t+9xeZMKSBtBEgxrXA3ed5Ts4NDreUkYgJP1BTmrscQE/xYhf7iShow6lw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chokidar": "^4.0.0",
+ "immutable": "^5.0.2",
+ "source-map-js": ">=0.6.2 <2.0.0"
+ },
+ "bin": {
+ "sass": "sass.js"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "optionalDependencies": {
+ "@parcel/watcher": "^2.4.1"
+ }
+ },
+ "node_modules/scule": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/scule/-/scule-1.3.0.tgz",
+ "integrity": "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==",
+ "license": "ISC"
+ },
+ "node_modules/shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "shebang-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/source-map-js": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
+ "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-json-comments": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/strip-literal": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.1.1.tgz",
+ "integrity": "sha512-631UJ6O00eNGfMiWG78ck80dfBab8X6IVFB51jZK5Icd7XAs60Z5y7QdSd/wGIklnWvRbUNloVzhOKKmutxQ6Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "js-tokens": "^9.0.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/sucrase": {
+ "version": "3.35.1",
+ "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.1.tgz",
+ "integrity": "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.2",
+ "commander": "^4.0.0",
+ "lines-and-columns": "^1.1.6",
+ "mz": "^2.7.0",
+ "pirates": "^4.0.1",
+ "tinyglobby": "^0.2.11",
+ "ts-interface-checker": "^0.1.9"
+ },
+ "bin": {
+ "sucrase": "bin/sucrase",
+ "sucrase-node": "bin/sucrase-node"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/synckit": {
+ "version": "0.11.11",
+ "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.11.tgz",
+ "integrity": "sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@pkgr/core": "^0.2.9"
+ },
+ "engines": {
+ "node": "^14.18.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/synckit"
+ }
+ },
+ "node_modules/tailwindcss": {
+ "version": "3.4.13",
+ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.13.tgz",
+ "integrity": "sha512-KqjHOJKogOUt5Bs752ykCeiwvi0fKVkr5oqsFNt/8px/tA8scFPIlkygsf6jXrfCqGHz7VflA6+yytWuM+XhFw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@alloc/quick-lru": "^5.2.0",
+ "arg": "^5.0.2",
+ "chokidar": "^3.5.3",
+ "didyoumean": "^1.2.2",
+ "dlv": "^1.1.3",
+ "fast-glob": "^3.3.0",
+ "glob-parent": "^6.0.2",
+ "is-glob": "^4.0.3",
+ "jiti": "^1.21.0",
+ "lilconfig": "^2.1.0",
+ "micromatch": "^4.0.5",
+ "normalize-path": "^3.0.0",
+ "object-hash": "^3.0.0",
+ "picocolors": "^1.0.0",
+ "postcss": "^8.4.23",
+ "postcss-import": "^15.1.0",
+ "postcss-js": "^4.0.1",
+ "postcss-load-config": "^4.0.1",
+ "postcss-nested": "^6.0.1",
+ "postcss-selector-parser": "^6.0.11",
+ "resolve": "^1.22.2",
+ "sucrase": "^3.32.0"
+ },
+ "bin": {
+ "tailwind": "lib/cli.js",
+ "tailwindcss": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/tailwindcss/node_modules/chokidar": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
+ "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
+ },
+ "engines": {
+ "node": ">= 8.10.0"
+ },
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/tailwindcss/node_modules/chokidar/node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/tailwindcss/node_modules/readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "picomatch": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
+ "node_modules/thenify": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
+ "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "any-promise": "^1.0.0"
+ }
+ },
+ "node_modules/thenify-all": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
+ "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "thenify": ">= 3.1.0 < 4"
+ },
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/tinyglobby": {
+ "version": "0.2.15",
+ "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
+ "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fdir": "^6.5.0",
+ "picomatch": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/SuperchupuDev"
+ }
+ },
+ "node_modules/tinyglobby/node_modules/fdir": {
+ "version": "6.5.0",
+ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
+ "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "peerDependencies": {
+ "picomatch": "^3 || ^4"
+ },
+ "peerDependenciesMeta": {
+ "picomatch": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/tinyglobby/node_modules/picomatch": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/ts-interface-checker": {
+ "version": "0.1.13",
+ "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz",
+ "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==",
+ "dev": true,
+ "license": "Apache-2.0"
+ },
+ "node_modules/type-check": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+ "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "prelude-ls": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/ufo": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.1.tgz",
+ "integrity": "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/undici-types": {
+ "version": "6.21.0",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
+ "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/unimport": {
+ "version": "3.14.6",
+ "resolved": "https://registry.npmjs.org/unimport/-/unimport-3.14.6.tgz",
+ "integrity": "sha512-CYvbDaTT04Rh8bmD8jz3WPmHYZRG/NnvYVzwD6V1YAlvvKROlAeNDUBhkBGzNav2RKaeuXvlWYaa1V4Lfi/O0g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@rollup/pluginutils": "^5.1.4",
+ "acorn": "^8.14.0",
+ "escape-string-regexp": "^5.0.0",
+ "estree-walker": "^3.0.3",
+ "fast-glob": "^3.3.3",
+ "local-pkg": "^1.0.0",
+ "magic-string": "^0.30.17",
+ "mlly": "^1.7.4",
+ "pathe": "^2.0.1",
+ "picomatch": "^4.0.2",
+ "pkg-types": "^1.3.0",
+ "scule": "^1.3.0",
+ "strip-literal": "^2.1.1",
+ "unplugin": "^1.16.1"
+ }
+ },
+ "node_modules/unimport/node_modules/confbox": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz",
+ "integrity": "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/unimport/node_modules/escape-string-regexp": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
+ "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/unimport/node_modules/estree-walker": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
+ "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "^1.0.0"
+ }
+ },
+ "node_modules/unimport/node_modules/local-pkg": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-1.1.2.tgz",
+ "integrity": "sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mlly": "^1.7.4",
+ "pkg-types": "^2.3.0",
+ "quansync": "^0.2.11"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/unimport/node_modules/local-pkg/node_modules/pkg-types": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.0.tgz",
+ "integrity": "sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "confbox": "^0.2.2",
+ "exsolve": "^1.0.7",
+ "pathe": "^2.0.3"
+ }
+ },
+ "node_modules/unimport/node_modules/picomatch": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/unplugin": {
+ "version": "1.16.1",
+ "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.16.1.tgz",
+ "integrity": "sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "acorn": "^8.14.0",
+ "webpack-virtual-modules": "^0.6.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/unplugin-auto-import": {
+ "version": "0.17.8",
+ "resolved": "https://registry.npmjs.org/unplugin-auto-import/-/unplugin-auto-import-0.17.8.tgz",
+ "integrity": "sha512-CHryj6HzJ+n4ASjzwHruD8arhbdl+UXvhuAIlHDs15Y/IMecG3wrf7FVg4pVH/DIysbq/n0phIjNHAjl7TG7Iw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@antfu/utils": "^0.7.10",
+ "@rollup/pluginutils": "^5.1.0",
+ "fast-glob": "^3.3.2",
+ "local-pkg": "^0.5.0",
+ "magic-string": "^0.30.10",
+ "minimatch": "^9.0.4",
+ "unimport": "^3.7.2",
+ "unplugin": "^1.11.0"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "@nuxt/kit": "^3.2.2",
+ "@vueuse/core": "*"
+ },
+ "peerDependenciesMeta": {
+ "@nuxt/kit": {
+ "optional": true
+ },
+ "@vueuse/core": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/unplugin-auto-import/node_modules/brace-expansion": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+ "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/unplugin-auto-import/node_modules/minimatch": {
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+ "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/unplugin-element-plus": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/unplugin-element-plus/-/unplugin-element-plus-0.8.0.tgz",
+ "integrity": "sha512-jByUGY3FG2B8RJKFryqxx4eNtSTj+Hjlo8edcOdJymewndDQjThZ1pRUQHRjQsbKhTV2jEctJV7t7RJ405UL4g==",
+ "dev": true,
+ "dependencies": {
+ "@rollup/pluginutils": "^5.0.2",
+ "es-module-lexer": "^1.3.0",
+ "magic-string": "^0.30.1",
+ "unplugin": "^1.3.2"
+ },
+ "engines": {
+ "node": ">=14.19.0"
+ }
+ },
+ "node_modules/unplugin-vue-components": {
+ "version": "0.26.0",
+ "resolved": "https://registry.npmjs.org/unplugin-vue-components/-/unplugin-vue-components-0.26.0.tgz",
+ "integrity": "sha512-s7IdPDlnOvPamjunVxw8kNgKNK8A5KM1YpK5j/p97jEKTjlPNrA0nZBiSfAKKlK1gWZuyWXlKL5dk3EDw874LQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@antfu/utils": "^0.7.6",
+ "@rollup/pluginutils": "^5.0.4",
+ "chokidar": "^3.5.3",
+ "debug": "^4.3.4",
+ "fast-glob": "^3.3.1",
+ "local-pkg": "^0.4.3",
+ "magic-string": "^0.30.3",
+ "minimatch": "^9.0.3",
+ "resolve": "^1.22.4",
+ "unplugin": "^1.4.0"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "@babel/parser": "^7.15.8",
+ "@nuxt/kit": "^3.2.2",
+ "vue": "2 || 3"
+ },
+ "peerDependenciesMeta": {
+ "@babel/parser": {
+ "optional": true
+ },
+ "@nuxt/kit": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/unplugin-vue-components/node_modules/brace-expansion": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+ "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/unplugin-vue-components/node_modules/chokidar": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
+ "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
+ },
+ "engines": {
+ "node": ">= 8.10.0"
+ },
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/unplugin-vue-components/node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/unplugin-vue-components/node_modules/local-pkg": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz",
+ "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/unplugin-vue-components/node_modules/minimatch": {
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+ "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/unplugin-vue-components/node_modules/readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "picomatch": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
+ "node_modules/update-browserslist-db": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.2.tgz",
+ "integrity": "sha512-E85pfNzMQ9jpKkA7+TJAi4TJN+tBCuWh5rUcS/sv6cFi+1q9LYDwDI5dpUL0u/73EElyQ8d3TEaeW4sPedBqYA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "escalade": "^3.2.0",
+ "picocolors": "^1.1.1"
+ },
+ "bin": {
+ "update-browserslist-db": "cli.js"
+ },
+ "peerDependencies": {
+ "browserslist": ">= 4.21.0"
+ }
+ },
+ "node_modules/uri-js": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "peer": true,
+ "dependencies": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "node_modules/util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/vite": {
+ "version": "5.4.21",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.21.tgz",
+ "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "esbuild": "^0.21.3",
+ "postcss": "^8.4.43",
+ "rollup": "^4.20.0"
+ },
+ "bin": {
+ "vite": "bin/vite.js"
+ },
+ "engines": {
+ "node": "^18.0.0 || >=20.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/vitejs/vite?sponsor=1"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.3"
+ },
+ "peerDependencies": {
+ "@types/node": "^18.0.0 || >=20.0.0",
+ "less": "*",
+ "lightningcss": "^1.21.0",
+ "sass": "*",
+ "sass-embedded": "*",
+ "stylus": "*",
+ "sugarss": "*",
+ "terser": "^5.4.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ },
+ "less": {
+ "optional": true
+ },
+ "lightningcss": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ },
+ "sass-embedded": {
+ "optional": true
+ },
+ "stylus": {
+ "optional": true
+ },
+ "sugarss": {
+ "optional": true
+ },
+ "terser": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vue": {
+ "version": "3.5.25",
+ "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.25.tgz",
+ "integrity": "sha512-YLVdgv2K13WJ6n+kD5owehKtEXwdwXuj2TTyJMsO7pSeKw2bfRNZGjhB7YzrpbMYj5b5QsUebHpOqR3R3ziy/g==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/compiler-dom": "3.5.25",
+ "@vue/compiler-sfc": "3.5.25",
+ "@vue/runtime-dom": "3.5.25",
+ "@vue/server-renderer": "3.5.25",
+ "@vue/shared": "3.5.25"
+ },
+ "peerDependencies": {
+ "typescript": "*"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vue-cropper": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/vue-cropper/-/vue-cropper-1.1.4.tgz",
+ "integrity": "sha512-5m98vBsCEI9rbS4JxELxXidtAui3qNyTHLHg67Qbn7g8cg+E6LcnC+hh3SM/p94x6mFh6KRxT1ttnta+wCYqWA==",
+ "license": "ISC"
+ },
+ "node_modules/vue-demi": {
+ "version": "0.14.10",
+ "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz",
+ "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==",
+ "hasInstallScript": true,
+ "license": "MIT",
+ "bin": {
+ "vue-demi-fix": "bin/vue-demi-fix.js",
+ "vue-demi-switch": "bin/vue-demi-switch.js"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "@vue/composition-api": "^1.0.0-rc.1",
+ "vue": "^3.0.0-0 || ^2.6.0"
+ },
+ "peerDependenciesMeta": {
+ "@vue/composition-api": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vue-router": {
+ "version": "4.6.3",
+ "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.6.3.tgz",
+ "integrity": "sha512-ARBedLm9YlbvQomnmq91Os7ck6efydTSpRP3nuOKCvgJOHNrhRoJDSKtee8kcL1Vf7nz6U+PMBL+hTvR3bTVQg==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/devtools-api": "^6.6.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/posva"
+ },
+ "peerDependencies": {
+ "vue": "^3.5.0"
+ }
+ },
+ "node_modules/webpack-virtual-modules": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz",
+ "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "license": "ISC",
+ "peer": true,
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/which-module": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz",
+ "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==",
+ "license": "ISC"
+ },
+ "node_modules/word-wrap": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
+ "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/wrap-ansi": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
+ "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/y18n": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
+ "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==",
+ "license": "ISC"
+ },
+ "node_modules/yaml": {
+ "version": "2.8.2",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz",
+ "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "yaml": "bin.mjs"
+ },
+ "engines": {
+ "node": ">= 14.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/eemeli"
+ }
+ },
+ "node_modules/yargs": {
+ "version": "15.4.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
+ "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
+ "license": "MIT",
+ "dependencies": {
+ "cliui": "^6.0.0",
+ "decamelize": "^1.2.0",
+ "find-up": "^4.1.0",
+ "get-caller-file": "^2.0.1",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^2.0.0",
+ "set-blocking": "^2.0.0",
+ "string-width": "^4.2.0",
+ "which-module": "^2.0.0",
+ "y18n": "^4.0.0",
+ "yargs-parser": "^18.1.2"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/yargs-parser": {
+ "version": "18.1.3",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
+ "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
+ "license": "ISC",
+ "dependencies": {
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/yargs/node_modules/find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "license": "MIT",
+ "dependencies": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/yargs/node_modules/locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "license": "MIT",
+ "dependencies": {
+ "p-locate": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/yargs/node_modules/p-limit": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+ "license": "MIT",
+ "dependencies": {
+ "p-try": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/yargs/node_modules/p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "license": "MIT",
+ "dependencies": {
+ "p-limit": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/yocto-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ }
+ }
+}
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..0288852
--- /dev/null
+++ b/package.json
@@ -0,0 +1,36 @@
+{
+ "name": "chuanyinweb",
+ "version": "0.0.0",
+ "scripts": {
+ "dev": "vite",
+ "build": "vite build"
+ },
+ "dependencies": {
+ "axios": "^1.6.8",
+ "element-plus": "^2.7.8",
+ "jsonp": "^0.2.1",
+ "pinia": "^2.1.7",
+ "pinia-plugin-persistedstate": "^3.2.1",
+ "qqmap": "^1.0.1",
+ "qrcode": "^1.5.3",
+ "vue": "^3.4.27",
+ "vue-cropper": "^1.1.4",
+ "vue-router": "^4.3.0"
+ },
+ "devDependencies": {
+ "@types/node": "^20.12.2",
+ "@vitejs/plugin-vue": "^5.0.4",
+ "@vue/compiler-sfc": "^3.4.27",
+ "autoprefixer": "^10.4.22",
+ "eslint-config-prettier": "^10.1.8",
+ "eslint-plugin-prettier": "^5.5.4",
+ "postcss": "^8.5.6",
+ "prettier": "^3.7.4",
+ "sass": "^1.72.0",
+ "tailwindcss": "^3.4.13",
+ "unplugin-auto-import": "^0.17.5",
+ "unplugin-element-plus": "^0.8.0",
+ "unplugin-vue-components": "^0.26.0",
+ "vite": "^5.2.11"
+ }
+}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
new file mode 100644
index 0000000..360a638
--- /dev/null
+++ b/pnpm-lock.yaml
@@ -0,0 +1,2000 @@
+lockfileVersion: '9.0'
+
+settings:
+ autoInstallPeers: true
+ excludeLinksFromLockfile: false
+
+importers:
+
+ .:
+ dependencies:
+ autoprefixer:
+ specifier: ^10.4.22
+ version: 10.4.22(postcss@8.5.6)
+ axios:
+ specifier: ^1.6.8
+ version: 1.13.2
+ element-plus:
+ specifier: ^2.7.8
+ version: 2.12.0(vue@3.5.25)
+ jsonp:
+ specifier: ^0.2.1
+ version: 0.2.1
+ pinia:
+ specifier: ^2.1.7
+ version: 2.3.1(vue@3.5.25)
+ pinia-plugin-persistedstate:
+ specifier: ^3.2.1
+ version: 3.2.3(pinia@2.3.1(vue@3.5.25))
+ postcss:
+ specifier: ^8.5.6
+ version: 8.5.6
+ qqmap:
+ specifier: ^1.0.1
+ version: 1.0.1
+ qrcode:
+ specifier: ^1.5.3
+ version: 1.5.4
+ tailwindcss:
+ specifier: ^4.1.17
+ version: 4.1.17
+ vue:
+ specifier: ^3.0.4
+ version: 3.5.25
+ vue-cropper:
+ specifier: ^1.1.4
+ version: 1.1.4
+ vue-router:
+ specifier: ^4.3.0
+ version: 4.6.3(vue@3.5.25)
+ devDependencies:
+ '@types/node':
+ specifier: ^20.12.2
+ version: 20.19.25
+ '@vitejs/plugin-vue':
+ specifier: ^4.2.3
+ version: 4.6.2(vite@4.5.14(@types/node@20.19.25)(sass@1.94.2))(vue@3.5.25)
+ '@vue/compiler-sfc':
+ specifier: ^3.0.4
+ version: 3.5.25
+ sass:
+ specifier: ^1.72.0
+ version: 1.94.2
+ unplugin-auto-import:
+ specifier: ^0.17.5
+ version: 0.17.8(@vueuse/core@9.13.0(vue@3.5.25))(rollup@3.29.5)
+ unplugin-vue-components:
+ specifier: ^0.26.0
+ version: 0.26.0(@babel/parser@7.28.5)(rollup@3.29.5)(vue@3.5.25)
+ vite:
+ specifier: ^4.4.5
+ version: 4.5.14(@types/node@20.19.25)(sass@1.94.2)
+
+packages:
+
+ '@antfu/utils@0.7.10':
+ resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==}
+
+ '@babel/helper-string-parser@7.27.1':
+ resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-validator-identifier@7.28.5':
+ resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/parser@7.28.5':
+ resolution: {integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
+ '@babel/types@7.28.5':
+ resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==}
+ engines: {node: '>=6.9.0'}
+
+ '@ctrl/tinycolor@3.6.1':
+ resolution: {integrity: sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==}
+ engines: {node: '>=10'}
+
+ '@element-plus/icons-vue@2.3.2':
+ resolution: {integrity: sha512-OzIuTaIfC8QXEPmJvB4Y4kw34rSXdCJzxcD1kFStBvr8bK6X1zQAYDo0CNMjojnfTqRQCJ0I7prlErcoRiET2A==}
+ peerDependencies:
+ vue: ^3.2.0
+
+ '@esbuild/android-arm64@0.18.20':
+ resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+
+ '@esbuild/android-arm@0.18.20':
+ resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [android]
+
+ '@esbuild/android-x64@0.18.20':
+ resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+
+ '@esbuild/darwin-arm64@0.18.20':
+ resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@esbuild/darwin-x64@0.18.20':
+ resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@esbuild/freebsd-arm64@0.18.20':
+ resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+
+ '@esbuild/freebsd-x64@0.18.20':
+ resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@esbuild/linux-arm64@0.18.20':
+ resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@esbuild/linux-arm@0.18.20':
+ resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+
+ '@esbuild/linux-ia32@0.18.20':
+ resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+
+ '@esbuild/linux-loong64@0.18.20':
+ resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==}
+ engines: {node: '>=12'}
+ cpu: [loong64]
+ os: [linux]
+
+ '@esbuild/linux-mips64el@0.18.20':
+ resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==}
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+
+ '@esbuild/linux-ppc64@0.18.20':
+ resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+
+ '@esbuild/linux-riscv64@0.18.20':
+ resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==}
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@esbuild/linux-s390x@0.18.20':
+ resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==}
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+
+ '@esbuild/linux-x64@0.18.20':
+ resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+
+ '@esbuild/netbsd-x64@0.18.20':
+ resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+
+ '@esbuild/openbsd-x64@0.18.20':
+ resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+
+ '@esbuild/sunos-x64@0.18.20':
+ resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+
+ '@esbuild/win32-arm64@0.18.20':
+ resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@esbuild/win32-ia32@0.18.20':
+ resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+
+ '@esbuild/win32-x64@0.18.20':
+ resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+
+ '@floating-ui/core@1.7.3':
+ resolution: {integrity: sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==}
+
+ '@floating-ui/dom@1.7.4':
+ resolution: {integrity: sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==}
+
+ '@floating-ui/utils@0.2.10':
+ resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==}
+
+ '@jridgewell/sourcemap-codec@1.5.5':
+ resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==}
+
+ '@nodelib/fs.scandir@2.1.5':
+ resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
+ engines: {node: '>= 8'}
+
+ '@nodelib/fs.stat@2.0.5':
+ resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
+ engines: {node: '>= 8'}
+
+ '@nodelib/fs.walk@1.2.8':
+ resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
+ engines: {node: '>= 8'}
+
+ '@parcel/watcher-android-arm64@2.5.1':
+ resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm64]
+ os: [android]
+
+ '@parcel/watcher-darwin-arm64@2.5.1':
+ resolution: {integrity: sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@parcel/watcher-darwin-x64@2.5.1':
+ resolution: {integrity: sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@parcel/watcher-freebsd-x64@2.5.1':
+ resolution: {integrity: sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@parcel/watcher-linux-arm-glibc@2.5.1':
+ resolution: {integrity: sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm]
+ os: [linux]
+ libc: [glibc]
+
+ '@parcel/watcher-linux-arm-musl@2.5.1':
+ resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm]
+ os: [linux]
+ libc: [musl]
+
+ '@parcel/watcher-linux-arm64-glibc@2.5.1':
+ resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@parcel/watcher-linux-arm64-musl@2.5.1':
+ resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@parcel/watcher-linux-x64-glibc@2.5.1':
+ resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@parcel/watcher-linux-x64-musl@2.5.1':
+ resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@parcel/watcher-win32-arm64@2.5.1':
+ resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@parcel/watcher-win32-ia32@2.5.1':
+ resolution: {integrity: sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [ia32]
+ os: [win32]
+
+ '@parcel/watcher-win32-x64@2.5.1':
+ resolution: {integrity: sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [x64]
+ os: [win32]
+
+ '@parcel/watcher@2.5.1':
+ resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==}
+ engines: {node: '>= 10.0.0'}
+
+ '@rollup/pluginutils@5.3.0':
+ resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
+ '@sxzz/popperjs-es@2.11.7':
+ resolution: {integrity: sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==}
+
+ '@types/estree@1.0.8':
+ resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
+
+ '@types/lodash-es@4.17.12':
+ resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==}
+
+ '@types/lodash@4.17.21':
+ resolution: {integrity: sha512-FOvQ0YPD5NOfPgMzJihoT+Za5pdkDJWcbpuj1DjaKZIr/gxodQjY/uWEFlTNqW2ugXHUiL8lRQgw63dzKHZdeQ==}
+
+ '@types/node@20.19.25':
+ resolution: {integrity: sha512-ZsJzA5thDQMSQO788d7IocwwQbI8B5OPzmqNvpf3NY/+MHDAS759Wo0gd2WQeXYt5AAAQjzcrTVC6SKCuYgoCQ==}
+
+ '@types/web-bluetooth@0.0.16':
+ resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==}
+
+ '@vitejs/plugin-vue@4.6.2':
+ resolution: {integrity: sha512-kqf7SGFoG+80aZG6Pf+gsZIVvGSCKE98JbiWqcCV9cThtg91Jav0yvYFC9Zb+jKetNGF6ZKeoaxgZfND21fWKw==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ peerDependencies:
+ vite: ^4.0.0 || ^5.0.0
+ vue: ^3.2.25
+
+ '@vue/compiler-core@3.5.25':
+ resolution: {integrity: sha512-vay5/oQJdsNHmliWoZfHPoVZZRmnSWhug0BYT34njkYTPqClh3DNWLkZNJBVSjsNMrg0CCrBfoKkjZQPM/QVUw==}
+
+ '@vue/compiler-dom@3.5.25':
+ resolution: {integrity: sha512-4We0OAcMZsKgYoGlMjzYvaoErltdFI2/25wqanuTu+S4gismOTRTBPi4IASOjxWdzIwrYSjnqONfKvuqkXzE2Q==}
+
+ '@vue/compiler-sfc@3.5.25':
+ resolution: {integrity: sha512-PUgKp2rn8fFsI++lF2sO7gwO2d9Yj57Utr5yEsDf3GNaQcowCLKL7sf+LvVFvtJDXUp/03+dC6f2+LCv5aK1ag==}
+
+ '@vue/compiler-ssr@3.5.25':
+ resolution: {integrity: sha512-ritPSKLBcParnsKYi+GNtbdbrIE1mtuFEJ4U1sWeuOMlIziK5GtOL85t5RhsNy4uWIXPgk+OUdpnXiTdzn8o3A==}
+
+ '@vue/devtools-api@6.6.4':
+ resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==}
+
+ '@vue/reactivity@3.5.25':
+ resolution: {integrity: sha512-5xfAypCQepv4Jog1U4zn8cZIcbKKFka3AgWHEFQeK65OW+Ys4XybP6z2kKgws4YB43KGpqp5D/K3go2UPPunLA==}
+
+ '@vue/runtime-core@3.5.25':
+ resolution: {integrity: sha512-Z751v203YWwYzy460bzsYQISDfPjHTl+6Zzwo/a3CsAf+0ccEjQ8c+0CdX1WsumRTHeywvyUFtW6KvNukT/smA==}
+
+ '@vue/runtime-dom@3.5.25':
+ resolution: {integrity: sha512-a4WrkYFbb19i9pjkz38zJBg8wa/rboNERq3+hRRb0dHiJh13c+6kAbgqCPfMaJ2gg4weWD3APZswASOfmKwamA==}
+
+ '@vue/server-renderer@3.5.25':
+ resolution: {integrity: sha512-UJaXR54vMG61i8XNIzTSf2Q7MOqZHpp8+x3XLGtE3+fL+nQd+k7O5+X3D/uWrnQXOdMw5VPih+Uremcw+u1woQ==}
+ peerDependencies:
+ vue: 3.5.25
+
+ '@vue/shared@3.5.25':
+ resolution: {integrity: sha512-AbOPdQQnAnzs58H2FrrDxYj/TJfmeS2jdfEEhgiKINy+bnOANmVizIEgq1r+C5zsbs6l1CCQxtcj71rwNQ4jWg==}
+
+ '@vueuse/core@9.13.0':
+ resolution: {integrity: sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==}
+
+ '@vueuse/metadata@9.13.0':
+ resolution: {integrity: sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==}
+
+ '@vueuse/shared@9.13.0':
+ resolution: {integrity: sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==}
+
+ acorn@8.15.0:
+ resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+
+ ansi-regex@5.0.1:
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
+ engines: {node: '>=8'}
+
+ ansi-styles@4.3.0:
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
+ engines: {node: '>=8'}
+
+ anymatch@3.1.3:
+ resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
+ engines: {node: '>= 8'}
+
+ async-validator@4.2.5:
+ resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==}
+
+ asynckit@0.4.0:
+ resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
+
+ autoprefixer@10.4.22:
+ resolution: {integrity: sha512-ARe0v/t9gO28Bznv6GgqARmVqcWOV3mfgUPn9becPHMiD3o9BwlRgaeccZnwTpZ7Zwqrm+c1sUSsMxIzQzc8Xg==}
+ engines: {node: ^10 || ^12 || >=14}
+ hasBin: true
+ peerDependencies:
+ postcss: ^8.1.0
+
+ axios@1.13.2:
+ resolution: {integrity: sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==}
+
+ balanced-match@1.0.2:
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+
+ baseline-browser-mapping@2.9.2:
+ resolution: {integrity: sha512-PxSsosKQjI38iXkmb3d0Y32efqyA0uW4s41u4IVBsLlWLhCiYNpH/AfNOVWRqCQBlD8TFJTz6OUWNd4DFJCnmw==}
+ hasBin: true
+
+ binary-extensions@2.3.0:
+ resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
+ engines: {node: '>=8'}
+
+ brace-expansion@2.0.2:
+ resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==}
+
+ braces@3.0.3:
+ resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
+ engines: {node: '>=8'}
+
+ browserslist@4.28.1:
+ resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+
+ call-bind-apply-helpers@1.0.2:
+ resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
+ engines: {node: '>= 0.4'}
+
+ camelcase@5.3.1:
+ resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
+ engines: {node: '>=6'}
+
+ caniuse-lite@1.0.30001759:
+ resolution: {integrity: sha512-Pzfx9fOKoKvevQf8oCXoyNRQ5QyxJj+3O0Rqx2V5oxT61KGx8+n6hV/IUyJeifUci2clnmmKVpvtiqRzgiWjSw==}
+
+ chokidar@3.6.0:
+ resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
+ engines: {node: '>= 8.10.0'}
+
+ chokidar@4.0.3:
+ resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
+ engines: {node: '>= 14.16.0'}
+
+ cliui@6.0.0:
+ resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==}
+
+ color-convert@2.0.1:
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
+ engines: {node: '>=7.0.0'}
+
+ color-name@1.1.4:
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+
+ combined-stream@1.0.8:
+ resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
+ engines: {node: '>= 0.8'}
+
+ confbox@0.1.8:
+ resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==}
+
+ confbox@0.2.2:
+ resolution: {integrity: sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==}
+
+ csstype@3.2.3:
+ resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==}
+
+ dayjs@1.11.19:
+ resolution: {integrity: sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==}
+
+ debug@2.6.9:
+ resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ debug@4.4.3:
+ resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ decamelize@1.2.0:
+ resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
+ engines: {node: '>=0.10.0'}
+
+ delayed-stream@1.0.0:
+ resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
+ engines: {node: '>=0.4.0'}
+
+ detect-libc@1.0.3:
+ resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==}
+ engines: {node: '>=0.10'}
+ hasBin: true
+
+ dijkstrajs@1.0.3:
+ resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==}
+
+ dunder-proto@1.0.1:
+ resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
+ engines: {node: '>= 0.4'}
+
+ electron-to-chromium@1.5.265:
+ resolution: {integrity: sha512-B7IkLR1/AE+9jR2LtVF/1/6PFhY5TlnEHnlrKmGk7PvkJibg5jr+mLXLLzq3QYl6PA1T/vLDthQPqIPAlS/PPA==}
+
+ element-plus@2.12.0:
+ resolution: {integrity: sha512-M9YLSn2np9OnqrSKWsiXvGe3qnF8pd94+TScsHj1aTMCD+nSEvucXermf807qNt6hOP040le0e5Aft7E9ZfHmA==}
+ peerDependencies:
+ vue: ^3.2.0
+
+ emoji-regex@8.0.0:
+ resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
+
+ entities@4.5.0:
+ resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
+ engines: {node: '>=0.12'}
+
+ es-define-property@1.0.1:
+ resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
+ engines: {node: '>= 0.4'}
+
+ es-errors@1.3.0:
+ resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
+ engines: {node: '>= 0.4'}
+
+ es-object-atoms@1.1.1:
+ resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
+ engines: {node: '>= 0.4'}
+
+ es-set-tostringtag@2.1.0:
+ resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==}
+ engines: {node: '>= 0.4'}
+
+ esbuild@0.18.20:
+ resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==}
+ engines: {node: '>=12'}
+ hasBin: true
+
+ escalade@3.2.0:
+ resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
+ engines: {node: '>=6'}
+
+ escape-string-regexp@5.0.0:
+ resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
+ engines: {node: '>=12'}
+
+ estree-walker@2.0.2:
+ resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+
+ estree-walker@3.0.3:
+ resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
+
+ exsolve@1.0.8:
+ resolution: {integrity: sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==}
+
+ fast-glob@3.3.3:
+ resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
+ engines: {node: '>=8.6.0'}
+
+ fastq@1.19.1:
+ resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==}
+
+ fill-range@7.1.1:
+ resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
+ engines: {node: '>=8'}
+
+ find-up@4.1.0:
+ resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
+ engines: {node: '>=8'}
+
+ follow-redirects@1.15.11:
+ resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==}
+ engines: {node: '>=4.0'}
+ peerDependencies:
+ debug: '*'
+ peerDependenciesMeta:
+ debug:
+ optional: true
+
+ form-data@4.0.5:
+ resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==}
+ engines: {node: '>= 6'}
+
+ fraction.js@5.3.4:
+ resolution: {integrity: sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==}
+
+ fsevents@2.3.3:
+ resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ os: [darwin]
+
+ function-bind@1.1.2:
+ resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
+
+ get-caller-file@2.0.5:
+ resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
+ engines: {node: 6.* || 8.* || >= 10.*}
+
+ get-intrinsic@1.3.0:
+ resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
+ engines: {node: '>= 0.4'}
+
+ get-proto@1.0.1:
+ resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
+ engines: {node: '>= 0.4'}
+
+ glob-parent@5.1.2:
+ resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
+ engines: {node: '>= 6'}
+
+ gopd@1.2.0:
+ resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
+ engines: {node: '>= 0.4'}
+
+ has-symbols@1.1.0:
+ resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
+ engines: {node: '>= 0.4'}
+
+ has-tostringtag@1.0.2:
+ resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
+ engines: {node: '>= 0.4'}
+
+ hasown@2.0.2:
+ resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
+ engines: {node: '>= 0.4'}
+
+ immutable@5.1.4:
+ resolution: {integrity: sha512-p6u1bG3YSnINT5RQmx/yRZBpenIl30kVxkTLDyHLIMk0gict704Q9n+thfDI7lTRm9vXdDYutVzXhzcThxTnXA==}
+
+ is-binary-path@2.1.0:
+ resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
+ engines: {node: '>=8'}
+
+ is-core-module@2.16.1:
+ resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
+ engines: {node: '>= 0.4'}
+
+ is-extglob@2.1.1:
+ resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
+ engines: {node: '>=0.10.0'}
+
+ is-fullwidth-code-point@3.0.0:
+ resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
+ engines: {node: '>=8'}
+
+ is-glob@4.0.3:
+ resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
+ engines: {node: '>=0.10.0'}
+
+ is-number@7.0.0:
+ resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
+ engines: {node: '>=0.12.0'}
+
+ js-tokens@9.0.1:
+ resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==}
+
+ jsonp@0.2.1:
+ resolution: {integrity: sha512-pfog5gdDxPdV4eP7Kg87M8/bHgshlZ5pybl+yKxAnCZ5O7lCIn7Ixydj03wOlnDQesky2BPyA91SQ+5Y/mNwzw==}
+
+ local-pkg@0.4.3:
+ resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==}
+ engines: {node: '>=14'}
+
+ local-pkg@0.5.1:
+ resolution: {integrity: sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==}
+ engines: {node: '>=14'}
+
+ local-pkg@1.1.2:
+ resolution: {integrity: sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==}
+ engines: {node: '>=14'}
+
+ locate-path@5.0.0:
+ resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
+ engines: {node: '>=8'}
+
+ lodash-es@4.17.21:
+ resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==}
+
+ lodash-unified@1.0.3:
+ resolution: {integrity: sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==}
+ peerDependencies:
+ '@types/lodash-es': '*'
+ lodash: '*'
+ lodash-es: '*'
+
+ lodash@4.17.21:
+ resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
+
+ magic-string@0.30.21:
+ resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
+
+ math-intrinsics@1.1.0:
+ resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
+ engines: {node: '>= 0.4'}
+
+ memoize-one@6.0.0:
+ resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==}
+
+ merge2@1.4.1:
+ resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
+ engines: {node: '>= 8'}
+
+ micromatch@4.0.8:
+ resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
+ engines: {node: '>=8.6'}
+
+ mime-db@1.52.0:
+ resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
+ engines: {node: '>= 0.6'}
+
+ mime-types@2.1.35:
+ resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
+ engines: {node: '>= 0.6'}
+
+ minimatch@9.0.5:
+ resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
+ engines: {node: '>=16 || 14 >=14.17'}
+
+ mlly@1.8.0:
+ resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==}
+
+ ms@2.0.0:
+ resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
+
+ ms@2.1.3:
+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+
+ nanoid@3.3.11:
+ resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+
+ node-addon-api@7.1.1:
+ resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==}
+
+ node-releases@2.0.27:
+ resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==}
+
+ normalize-path@3.0.0:
+ resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
+ engines: {node: '>=0.10.0'}
+
+ normalize-range@0.1.2:
+ resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
+ engines: {node: '>=0.10.0'}
+
+ normalize-wheel-es@1.2.0:
+ resolution: {integrity: sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==}
+
+ p-limit@2.3.0:
+ resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
+ engines: {node: '>=6'}
+
+ p-locate@4.1.0:
+ resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
+ engines: {node: '>=8'}
+
+ p-try@2.2.0:
+ resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
+ engines: {node: '>=6'}
+
+ path-exists@4.0.0:
+ resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
+ engines: {node: '>=8'}
+
+ path-parse@1.0.7:
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+
+ pathe@2.0.3:
+ resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==}
+
+ picocolors@1.1.1:
+ resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
+
+ picomatch@2.3.1:
+ resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
+ engines: {node: '>=8.6'}
+
+ picomatch@4.0.3:
+ resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==}
+ engines: {node: '>=12'}
+
+ pinia-plugin-persistedstate@3.2.3:
+ resolution: {integrity: sha512-Cm819WBj/s5K5DGw55EwbXDtx+EZzM0YR5AZbq9XE3u0xvXwvX2JnWoFpWIcdzISBHqy9H1UiSIUmXyXqWsQRQ==}
+ peerDependencies:
+ pinia: ^2.0.0
+
+ pinia@2.3.1:
+ resolution: {integrity: sha512-khUlZSwt9xXCaTbbxFYBKDc/bWAGWJjOgvxETwkTN7KRm66EeT1ZdZj6i2ceh9sP2Pzqsbc704r2yngBrxBVug==}
+ peerDependencies:
+ typescript: '>=4.4.4'
+ vue: ^2.7.0 || ^3.5.11
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ pkg-types@1.3.1:
+ resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==}
+
+ pkg-types@2.3.0:
+ resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==}
+
+ pngjs@5.0.0:
+ resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==}
+ engines: {node: '>=10.13.0'}
+
+ postcss-value-parser@4.2.0:
+ resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
+
+ postcss@8.5.6:
+ resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==}
+ engines: {node: ^10 || ^12 || >=14}
+
+ proxy-from-env@1.1.0:
+ resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
+
+ qqmap@1.0.1:
+ resolution: {integrity: sha512-fg9WrQj+sB5+gHt4i0TTg9ySB4PxZX8MCX5CRpuNpWBwRuPS58gZP3WkvVrOql2vz2JpYjlxV+52T3H7WLRMOQ==}
+
+ qrcode@1.5.4:
+ resolution: {integrity: sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg==}
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+
+ quansync@0.2.11:
+ resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==}
+
+ queue-microtask@1.2.3:
+ resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+
+ readdirp@3.6.0:
+ resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
+ engines: {node: '>=8.10.0'}
+
+ readdirp@4.1.2:
+ resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==}
+ engines: {node: '>= 14.18.0'}
+
+ require-directory@2.1.1:
+ resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
+ engines: {node: '>=0.10.0'}
+
+ require-main-filename@2.0.0:
+ resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==}
+
+ resolve@1.22.11:
+ resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==}
+ engines: {node: '>= 0.4'}
+ hasBin: true
+
+ reusify@1.1.0:
+ resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==}
+ engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+
+ rollup@3.29.5:
+ resolution: {integrity: sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==}
+ engines: {node: '>=14.18.0', npm: '>=8.0.0'}
+ hasBin: true
+
+ run-parallel@1.2.0:
+ resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
+
+ sass@1.94.2:
+ resolution: {integrity: sha512-N+7WK20/wOr7CzA2snJcUSSNTCzeCGUTFY3OgeQP3mZ1aj9NMQ0mSTXwlrnd89j33zzQJGqIN52GIOmYrfq46A==}
+ engines: {node: '>=14.0.0'}
+ hasBin: true
+
+ scule@1.3.0:
+ resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==}
+
+ set-blocking@2.0.0:
+ resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==}
+
+ source-map-js@1.2.1:
+ resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
+ engines: {node: '>=0.10.0'}
+
+ string-width@4.2.3:
+ resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
+ engines: {node: '>=8'}
+
+ strip-ansi@6.0.1:
+ resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
+ engines: {node: '>=8'}
+
+ strip-literal@2.1.1:
+ resolution: {integrity: sha512-631UJ6O00eNGfMiWG78ck80dfBab8X6IVFB51jZK5Icd7XAs60Z5y7QdSd/wGIklnWvRbUNloVzhOKKmutxQ6Q==}
+
+ supports-preserve-symlinks-flag@1.0.0:
+ resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
+ engines: {node: '>= 0.4'}
+
+ tailwindcss@4.1.17:
+ resolution: {integrity: sha512-j9Ee2YjuQqYT9bbRTfTZht9W/ytp5H+jJpZKiYdP/bpnXARAuELt9ofP0lPnmHjbga7SNQIxdTAXCmtKVYjN+Q==}
+
+ to-regex-range@5.0.1:
+ resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
+ engines: {node: '>=8.0'}
+
+ ufo@1.6.1:
+ resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==}
+
+ undici-types@6.21.0:
+ resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
+
+ unimport@3.14.6:
+ resolution: {integrity: sha512-CYvbDaTT04Rh8bmD8jz3WPmHYZRG/NnvYVzwD6V1YAlvvKROlAeNDUBhkBGzNav2RKaeuXvlWYaa1V4Lfi/O0g==}
+
+ unplugin-auto-import@0.17.8:
+ resolution: {integrity: sha512-CHryj6HzJ+n4ASjzwHruD8arhbdl+UXvhuAIlHDs15Y/IMecG3wrf7FVg4pVH/DIysbq/n0phIjNHAjl7TG7Iw==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@nuxt/kit': ^3.2.2
+ '@vueuse/core': '*'
+ peerDependenciesMeta:
+ '@nuxt/kit':
+ optional: true
+ '@vueuse/core':
+ optional: true
+
+ unplugin-vue-components@0.26.0:
+ resolution: {integrity: sha512-s7IdPDlnOvPamjunVxw8kNgKNK8A5KM1YpK5j/p97jEKTjlPNrA0nZBiSfAKKlK1gWZuyWXlKL5dk3EDw874LQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@babel/parser': ^7.15.8
+ '@nuxt/kit': ^3.2.2
+ vue: 2 || 3
+ peerDependenciesMeta:
+ '@babel/parser':
+ optional: true
+ '@nuxt/kit':
+ optional: true
+
+ unplugin@1.16.1:
+ resolution: {integrity: sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==}
+ engines: {node: '>=14.0.0'}
+
+ update-browserslist-db@1.2.2:
+ resolution: {integrity: sha512-E85pfNzMQ9jpKkA7+TJAi4TJN+tBCuWh5rUcS/sv6cFi+1q9LYDwDI5dpUL0u/73EElyQ8d3TEaeW4sPedBqYA==}
+ hasBin: true
+ peerDependencies:
+ browserslist: '>= 4.21.0'
+
+ vite@4.5.14:
+ resolution: {integrity: sha512-+v57oAaoYNnO3hIu5Z/tJRZjq5aHM2zDve9YZ8HngVHbhk66RStobhb1sqPMIPEleV6cNKYK4eGrAbE9Ulbl2g==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ hasBin: true
+ peerDependencies:
+ '@types/node': '>= 14'
+ less: '*'
+ lightningcss: ^1.21.0
+ sass: '*'
+ stylus: '*'
+ sugarss: '*'
+ terser: ^5.4.0
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ less:
+ optional: true
+ lightningcss:
+ optional: true
+ sass:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+
+ vue-cropper@1.1.4:
+ resolution: {integrity: sha512-5m98vBsCEI9rbS4JxELxXidtAui3qNyTHLHg67Qbn7g8cg+E6LcnC+hh3SM/p94x6mFh6KRxT1ttnta+wCYqWA==}
+
+ vue-demi@0.14.10:
+ resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==}
+ engines: {node: '>=12'}
+ hasBin: true
+ peerDependencies:
+ '@vue/composition-api': ^1.0.0-rc.1
+ vue: ^3.0.0-0 || ^2.6.0
+ peerDependenciesMeta:
+ '@vue/composition-api':
+ optional: true
+
+ vue-router@4.6.3:
+ resolution: {integrity: sha512-ARBedLm9YlbvQomnmq91Os7ck6efydTSpRP3nuOKCvgJOHNrhRoJDSKtee8kcL1Vf7nz6U+PMBL+hTvR3bTVQg==}
+ peerDependencies:
+ vue: ^3.5.0
+
+ vue@3.5.25:
+ resolution: {integrity: sha512-YLVdgv2K13WJ6n+kD5owehKtEXwdwXuj2TTyJMsO7pSeKw2bfRNZGjhB7YzrpbMYj5b5QsUebHpOqR3R3ziy/g==}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ webpack-virtual-modules@0.6.2:
+ resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==}
+
+ which-module@2.0.1:
+ resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==}
+
+ wrap-ansi@6.2.0:
+ resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==}
+ engines: {node: '>=8'}
+
+ y18n@4.0.3:
+ resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==}
+
+ yargs-parser@18.1.3:
+ resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==}
+ engines: {node: '>=6'}
+
+ yargs@15.4.1:
+ resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==}
+ engines: {node: '>=8'}
+
+snapshots:
+
+ '@antfu/utils@0.7.10': {}
+
+ '@babel/helper-string-parser@7.27.1': {}
+
+ '@babel/helper-validator-identifier@7.28.5': {}
+
+ '@babel/parser@7.28.5':
+ dependencies:
+ '@babel/types': 7.28.5
+
+ '@babel/types@7.28.5':
+ dependencies:
+ '@babel/helper-string-parser': 7.27.1
+ '@babel/helper-validator-identifier': 7.28.5
+
+ '@ctrl/tinycolor@3.6.1': {}
+
+ '@element-plus/icons-vue@2.3.2(vue@3.5.25)':
+ dependencies:
+ vue: 3.5.25
+
+ '@esbuild/android-arm64@0.18.20':
+ optional: true
+
+ '@esbuild/android-arm@0.18.20':
+ optional: true
+
+ '@esbuild/android-x64@0.18.20':
+ optional: true
+
+ '@esbuild/darwin-arm64@0.18.20':
+ optional: true
+
+ '@esbuild/darwin-x64@0.18.20':
+ optional: true
+
+ '@esbuild/freebsd-arm64@0.18.20':
+ optional: true
+
+ '@esbuild/freebsd-x64@0.18.20':
+ optional: true
+
+ '@esbuild/linux-arm64@0.18.20':
+ optional: true
+
+ '@esbuild/linux-arm@0.18.20':
+ optional: true
+
+ '@esbuild/linux-ia32@0.18.20':
+ optional: true
+
+ '@esbuild/linux-loong64@0.18.20':
+ optional: true
+
+ '@esbuild/linux-mips64el@0.18.20':
+ optional: true
+
+ '@esbuild/linux-ppc64@0.18.20':
+ optional: true
+
+ '@esbuild/linux-riscv64@0.18.20':
+ optional: true
+
+ '@esbuild/linux-s390x@0.18.20':
+ optional: true
+
+ '@esbuild/linux-x64@0.18.20':
+ optional: true
+
+ '@esbuild/netbsd-x64@0.18.20':
+ optional: true
+
+ '@esbuild/openbsd-x64@0.18.20':
+ optional: true
+
+ '@esbuild/sunos-x64@0.18.20':
+ optional: true
+
+ '@esbuild/win32-arm64@0.18.20':
+ optional: true
+
+ '@esbuild/win32-ia32@0.18.20':
+ optional: true
+
+ '@esbuild/win32-x64@0.18.20':
+ optional: true
+
+ '@floating-ui/core@1.7.3':
+ dependencies:
+ '@floating-ui/utils': 0.2.10
+
+ '@floating-ui/dom@1.7.4':
+ dependencies:
+ '@floating-ui/core': 1.7.3
+ '@floating-ui/utils': 0.2.10
+
+ '@floating-ui/utils@0.2.10': {}
+
+ '@jridgewell/sourcemap-codec@1.5.5': {}
+
+ '@nodelib/fs.scandir@2.1.5':
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ run-parallel: 1.2.0
+
+ '@nodelib/fs.stat@2.0.5': {}
+
+ '@nodelib/fs.walk@1.2.8':
+ dependencies:
+ '@nodelib/fs.scandir': 2.1.5
+ fastq: 1.19.1
+
+ '@parcel/watcher-android-arm64@2.5.1':
+ optional: true
+
+ '@parcel/watcher-darwin-arm64@2.5.1':
+ optional: true
+
+ '@parcel/watcher-darwin-x64@2.5.1':
+ optional: true
+
+ '@parcel/watcher-freebsd-x64@2.5.1':
+ optional: true
+
+ '@parcel/watcher-linux-arm-glibc@2.5.1':
+ optional: true
+
+ '@parcel/watcher-linux-arm-musl@2.5.1':
+ optional: true
+
+ '@parcel/watcher-linux-arm64-glibc@2.5.1':
+ optional: true
+
+ '@parcel/watcher-linux-arm64-musl@2.5.1':
+ optional: true
+
+ '@parcel/watcher-linux-x64-glibc@2.5.1':
+ optional: true
+
+ '@parcel/watcher-linux-x64-musl@2.5.1':
+ optional: true
+
+ '@parcel/watcher-win32-arm64@2.5.1':
+ optional: true
+
+ '@parcel/watcher-win32-ia32@2.5.1':
+ optional: true
+
+ '@parcel/watcher-win32-x64@2.5.1':
+ optional: true
+
+ '@parcel/watcher@2.5.1':
+ dependencies:
+ detect-libc: 1.0.3
+ is-glob: 4.0.3
+ micromatch: 4.0.8
+ node-addon-api: 7.1.1
+ optionalDependencies:
+ '@parcel/watcher-android-arm64': 2.5.1
+ '@parcel/watcher-darwin-arm64': 2.5.1
+ '@parcel/watcher-darwin-x64': 2.5.1
+ '@parcel/watcher-freebsd-x64': 2.5.1
+ '@parcel/watcher-linux-arm-glibc': 2.5.1
+ '@parcel/watcher-linux-arm-musl': 2.5.1
+ '@parcel/watcher-linux-arm64-glibc': 2.5.1
+ '@parcel/watcher-linux-arm64-musl': 2.5.1
+ '@parcel/watcher-linux-x64-glibc': 2.5.1
+ '@parcel/watcher-linux-x64-musl': 2.5.1
+ '@parcel/watcher-win32-arm64': 2.5.1
+ '@parcel/watcher-win32-ia32': 2.5.1
+ '@parcel/watcher-win32-x64': 2.5.1
+ optional: true
+
+ '@rollup/pluginutils@5.3.0(rollup@3.29.5)':
+ dependencies:
+ '@types/estree': 1.0.8
+ estree-walker: 2.0.2
+ picomatch: 4.0.3
+ optionalDependencies:
+ rollup: 3.29.5
+
+ '@sxzz/popperjs-es@2.11.7': {}
+
+ '@types/estree@1.0.8': {}
+
+ '@types/lodash-es@4.17.12':
+ dependencies:
+ '@types/lodash': 4.17.21
+
+ '@types/lodash@4.17.21': {}
+
+ '@types/node@20.19.25':
+ dependencies:
+ undici-types: 6.21.0
+
+ '@types/web-bluetooth@0.0.16': {}
+
+ '@vitejs/plugin-vue@4.6.2(vite@4.5.14(@types/node@20.19.25)(sass@1.94.2))(vue@3.5.25)':
+ dependencies:
+ vite: 4.5.14(@types/node@20.19.25)(sass@1.94.2)
+ vue: 3.5.25
+
+ '@vue/compiler-core@3.5.25':
+ dependencies:
+ '@babel/parser': 7.28.5
+ '@vue/shared': 3.5.25
+ entities: 4.5.0
+ estree-walker: 2.0.2
+ source-map-js: 1.2.1
+
+ '@vue/compiler-dom@3.5.25':
+ dependencies:
+ '@vue/compiler-core': 3.5.25
+ '@vue/shared': 3.5.25
+
+ '@vue/compiler-sfc@3.5.25':
+ dependencies:
+ '@babel/parser': 7.28.5
+ '@vue/compiler-core': 3.5.25
+ '@vue/compiler-dom': 3.5.25
+ '@vue/compiler-ssr': 3.5.25
+ '@vue/shared': 3.5.25
+ estree-walker: 2.0.2
+ magic-string: 0.30.21
+ postcss: 8.5.6
+ source-map-js: 1.2.1
+
+ '@vue/compiler-ssr@3.5.25':
+ dependencies:
+ '@vue/compiler-dom': 3.5.25
+ '@vue/shared': 3.5.25
+
+ '@vue/devtools-api@6.6.4': {}
+
+ '@vue/reactivity@3.5.25':
+ dependencies:
+ '@vue/shared': 3.5.25
+
+ '@vue/runtime-core@3.5.25':
+ dependencies:
+ '@vue/reactivity': 3.5.25
+ '@vue/shared': 3.5.25
+
+ '@vue/runtime-dom@3.5.25':
+ dependencies:
+ '@vue/reactivity': 3.5.25
+ '@vue/runtime-core': 3.5.25
+ '@vue/shared': 3.5.25
+ csstype: 3.2.3
+
+ '@vue/server-renderer@3.5.25(vue@3.5.25)':
+ dependencies:
+ '@vue/compiler-ssr': 3.5.25
+ '@vue/shared': 3.5.25
+ vue: 3.5.25
+
+ '@vue/shared@3.5.25': {}
+
+ '@vueuse/core@9.13.0(vue@3.5.25)':
+ dependencies:
+ '@types/web-bluetooth': 0.0.16
+ '@vueuse/metadata': 9.13.0
+ '@vueuse/shared': 9.13.0(vue@3.5.25)
+ vue-demi: 0.14.10(vue@3.5.25)
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - vue
+
+ '@vueuse/metadata@9.13.0': {}
+
+ '@vueuse/shared@9.13.0(vue@3.5.25)':
+ dependencies:
+ vue-demi: 0.14.10(vue@3.5.25)
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - vue
+
+ acorn@8.15.0: {}
+
+ ansi-regex@5.0.1: {}
+
+ ansi-styles@4.3.0:
+ dependencies:
+ color-convert: 2.0.1
+
+ anymatch@3.1.3:
+ dependencies:
+ normalize-path: 3.0.0
+ picomatch: 2.3.1
+
+ async-validator@4.2.5: {}
+
+ asynckit@0.4.0: {}
+
+ autoprefixer@10.4.22(postcss@8.5.6):
+ dependencies:
+ browserslist: 4.28.1
+ caniuse-lite: 1.0.30001759
+ fraction.js: 5.3.4
+ normalize-range: 0.1.2
+ picocolors: 1.1.1
+ postcss: 8.5.6
+ postcss-value-parser: 4.2.0
+
+ axios@1.13.2:
+ dependencies:
+ follow-redirects: 1.15.11
+ form-data: 4.0.5
+ proxy-from-env: 1.1.0
+ transitivePeerDependencies:
+ - debug
+
+ balanced-match@1.0.2: {}
+
+ baseline-browser-mapping@2.9.2: {}
+
+ binary-extensions@2.3.0: {}
+
+ brace-expansion@2.0.2:
+ dependencies:
+ balanced-match: 1.0.2
+
+ braces@3.0.3:
+ dependencies:
+ fill-range: 7.1.1
+
+ browserslist@4.28.1:
+ dependencies:
+ baseline-browser-mapping: 2.9.2
+ caniuse-lite: 1.0.30001759
+ electron-to-chromium: 1.5.265
+ node-releases: 2.0.27
+ update-browserslist-db: 1.2.2(browserslist@4.28.1)
+
+ call-bind-apply-helpers@1.0.2:
+ dependencies:
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+
+ camelcase@5.3.1: {}
+
+ caniuse-lite@1.0.30001759: {}
+
+ chokidar@3.6.0:
+ dependencies:
+ anymatch: 3.1.3
+ braces: 3.0.3
+ glob-parent: 5.1.2
+ is-binary-path: 2.1.0
+ is-glob: 4.0.3
+ normalize-path: 3.0.0
+ readdirp: 3.6.0
+ optionalDependencies:
+ fsevents: 2.3.3
+
+ chokidar@4.0.3:
+ dependencies:
+ readdirp: 4.1.2
+
+ cliui@6.0.0:
+ dependencies:
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wrap-ansi: 6.2.0
+
+ color-convert@2.0.1:
+ dependencies:
+ color-name: 1.1.4
+
+ color-name@1.1.4: {}
+
+ combined-stream@1.0.8:
+ dependencies:
+ delayed-stream: 1.0.0
+
+ confbox@0.1.8: {}
+
+ confbox@0.2.2: {}
+
+ csstype@3.2.3: {}
+
+ dayjs@1.11.19: {}
+
+ debug@2.6.9:
+ dependencies:
+ ms: 2.0.0
+
+ debug@4.4.3:
+ dependencies:
+ ms: 2.1.3
+
+ decamelize@1.2.0: {}
+
+ delayed-stream@1.0.0: {}
+
+ detect-libc@1.0.3:
+ optional: true
+
+ dijkstrajs@1.0.3: {}
+
+ dunder-proto@1.0.1:
+ dependencies:
+ call-bind-apply-helpers: 1.0.2
+ es-errors: 1.3.0
+ gopd: 1.2.0
+
+ electron-to-chromium@1.5.265: {}
+
+ element-plus@2.12.0(vue@3.5.25):
+ dependencies:
+ '@ctrl/tinycolor': 3.6.1
+ '@element-plus/icons-vue': 2.3.2(vue@3.5.25)
+ '@floating-ui/dom': 1.7.4
+ '@popperjs/core': '@sxzz/popperjs-es@2.11.7'
+ '@types/lodash': 4.17.21
+ '@types/lodash-es': 4.17.12
+ '@vueuse/core': 9.13.0(vue@3.5.25)
+ async-validator: 4.2.5
+ dayjs: 1.11.19
+ lodash: 4.17.21
+ lodash-es: 4.17.21
+ lodash-unified: 1.0.3(@types/lodash-es@4.17.12)(lodash-es@4.17.21)(lodash@4.17.21)
+ memoize-one: 6.0.0
+ normalize-wheel-es: 1.2.0
+ vue: 3.5.25
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+
+ emoji-regex@8.0.0: {}
+
+ entities@4.5.0: {}
+
+ es-define-property@1.0.1: {}
+
+ es-errors@1.3.0: {}
+
+ es-object-atoms@1.1.1:
+ dependencies:
+ es-errors: 1.3.0
+
+ es-set-tostringtag@2.1.0:
+ dependencies:
+ es-errors: 1.3.0
+ get-intrinsic: 1.3.0
+ has-tostringtag: 1.0.2
+ hasown: 2.0.2
+
+ esbuild@0.18.20:
+ optionalDependencies:
+ '@esbuild/android-arm': 0.18.20
+ '@esbuild/android-arm64': 0.18.20
+ '@esbuild/android-x64': 0.18.20
+ '@esbuild/darwin-arm64': 0.18.20
+ '@esbuild/darwin-x64': 0.18.20
+ '@esbuild/freebsd-arm64': 0.18.20
+ '@esbuild/freebsd-x64': 0.18.20
+ '@esbuild/linux-arm': 0.18.20
+ '@esbuild/linux-arm64': 0.18.20
+ '@esbuild/linux-ia32': 0.18.20
+ '@esbuild/linux-loong64': 0.18.20
+ '@esbuild/linux-mips64el': 0.18.20
+ '@esbuild/linux-ppc64': 0.18.20
+ '@esbuild/linux-riscv64': 0.18.20
+ '@esbuild/linux-s390x': 0.18.20
+ '@esbuild/linux-x64': 0.18.20
+ '@esbuild/netbsd-x64': 0.18.20
+ '@esbuild/openbsd-x64': 0.18.20
+ '@esbuild/sunos-x64': 0.18.20
+ '@esbuild/win32-arm64': 0.18.20
+ '@esbuild/win32-ia32': 0.18.20
+ '@esbuild/win32-x64': 0.18.20
+
+ escalade@3.2.0: {}
+
+ escape-string-regexp@5.0.0: {}
+
+ estree-walker@2.0.2: {}
+
+ estree-walker@3.0.3:
+ dependencies:
+ '@types/estree': 1.0.8
+
+ exsolve@1.0.8: {}
+
+ fast-glob@3.3.3:
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ '@nodelib/fs.walk': 1.2.8
+ glob-parent: 5.1.2
+ merge2: 1.4.1
+ micromatch: 4.0.8
+
+ fastq@1.19.1:
+ dependencies:
+ reusify: 1.1.0
+
+ fill-range@7.1.1:
+ dependencies:
+ to-regex-range: 5.0.1
+
+ find-up@4.1.0:
+ dependencies:
+ locate-path: 5.0.0
+ path-exists: 4.0.0
+
+ follow-redirects@1.15.11: {}
+
+ form-data@4.0.5:
+ dependencies:
+ asynckit: 0.4.0
+ combined-stream: 1.0.8
+ es-set-tostringtag: 2.1.0
+ hasown: 2.0.2
+ mime-types: 2.1.35
+
+ fraction.js@5.3.4: {}
+
+ fsevents@2.3.3:
+ optional: true
+
+ function-bind@1.1.2: {}
+
+ get-caller-file@2.0.5: {}
+
+ get-intrinsic@1.3.0:
+ dependencies:
+ call-bind-apply-helpers: 1.0.2
+ es-define-property: 1.0.1
+ es-errors: 1.3.0
+ es-object-atoms: 1.1.1
+ function-bind: 1.1.2
+ get-proto: 1.0.1
+ gopd: 1.2.0
+ has-symbols: 1.1.0
+ hasown: 2.0.2
+ math-intrinsics: 1.1.0
+
+ get-proto@1.0.1:
+ dependencies:
+ dunder-proto: 1.0.1
+ es-object-atoms: 1.1.1
+
+ glob-parent@5.1.2:
+ dependencies:
+ is-glob: 4.0.3
+
+ gopd@1.2.0: {}
+
+ has-symbols@1.1.0: {}
+
+ has-tostringtag@1.0.2:
+ dependencies:
+ has-symbols: 1.1.0
+
+ hasown@2.0.2:
+ dependencies:
+ function-bind: 1.1.2
+
+ immutable@5.1.4: {}
+
+ is-binary-path@2.1.0:
+ dependencies:
+ binary-extensions: 2.3.0
+
+ is-core-module@2.16.1:
+ dependencies:
+ hasown: 2.0.2
+
+ is-extglob@2.1.1: {}
+
+ is-fullwidth-code-point@3.0.0: {}
+
+ is-glob@4.0.3:
+ dependencies:
+ is-extglob: 2.1.1
+
+ is-number@7.0.0: {}
+
+ js-tokens@9.0.1: {}
+
+ jsonp@0.2.1:
+ dependencies:
+ debug: 2.6.9
+ transitivePeerDependencies:
+ - supports-color
+
+ local-pkg@0.4.3: {}
+
+ local-pkg@0.5.1:
+ dependencies:
+ mlly: 1.8.0
+ pkg-types: 1.3.1
+
+ local-pkg@1.1.2:
+ dependencies:
+ mlly: 1.8.0
+ pkg-types: 2.3.0
+ quansync: 0.2.11
+
+ locate-path@5.0.0:
+ dependencies:
+ p-locate: 4.1.0
+
+ lodash-es@4.17.21: {}
+
+ lodash-unified@1.0.3(@types/lodash-es@4.17.12)(lodash-es@4.17.21)(lodash@4.17.21):
+ dependencies:
+ '@types/lodash-es': 4.17.12
+ lodash: 4.17.21
+ lodash-es: 4.17.21
+
+ lodash@4.17.21: {}
+
+ magic-string@0.30.21:
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.5.5
+
+ math-intrinsics@1.1.0: {}
+
+ memoize-one@6.0.0: {}
+
+ merge2@1.4.1: {}
+
+ micromatch@4.0.8:
+ dependencies:
+ braces: 3.0.3
+ picomatch: 2.3.1
+
+ mime-db@1.52.0: {}
+
+ mime-types@2.1.35:
+ dependencies:
+ mime-db: 1.52.0
+
+ minimatch@9.0.5:
+ dependencies:
+ brace-expansion: 2.0.2
+
+ mlly@1.8.0:
+ dependencies:
+ acorn: 8.15.0
+ pathe: 2.0.3
+ pkg-types: 1.3.1
+ ufo: 1.6.1
+
+ ms@2.0.0: {}
+
+ ms@2.1.3: {}
+
+ nanoid@3.3.11: {}
+
+ node-addon-api@7.1.1:
+ optional: true
+
+ node-releases@2.0.27: {}
+
+ normalize-path@3.0.0: {}
+
+ normalize-range@0.1.2: {}
+
+ normalize-wheel-es@1.2.0: {}
+
+ p-limit@2.3.0:
+ dependencies:
+ p-try: 2.2.0
+
+ p-locate@4.1.0:
+ dependencies:
+ p-limit: 2.3.0
+
+ p-try@2.2.0: {}
+
+ path-exists@4.0.0: {}
+
+ path-parse@1.0.7: {}
+
+ pathe@2.0.3: {}
+
+ picocolors@1.1.1: {}
+
+ picomatch@2.3.1: {}
+
+ picomatch@4.0.3: {}
+
+ pinia-plugin-persistedstate@3.2.3(pinia@2.3.1(vue@3.5.25)):
+ dependencies:
+ pinia: 2.3.1(vue@3.5.25)
+
+ pinia@2.3.1(vue@3.5.25):
+ dependencies:
+ '@vue/devtools-api': 6.6.4
+ vue: 3.5.25
+ vue-demi: 0.14.10(vue@3.5.25)
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+
+ pkg-types@1.3.1:
+ dependencies:
+ confbox: 0.1.8
+ mlly: 1.8.0
+ pathe: 2.0.3
+
+ pkg-types@2.3.0:
+ dependencies:
+ confbox: 0.2.2
+ exsolve: 1.0.8
+ pathe: 2.0.3
+
+ pngjs@5.0.0: {}
+
+ postcss-value-parser@4.2.0: {}
+
+ postcss@8.5.6:
+ dependencies:
+ nanoid: 3.3.11
+ picocolors: 1.1.1
+ source-map-js: 1.2.1
+
+ proxy-from-env@1.1.0: {}
+
+ qqmap@1.0.1: {}
+
+ qrcode@1.5.4:
+ dependencies:
+ dijkstrajs: 1.0.3
+ pngjs: 5.0.0
+ yargs: 15.4.1
+
+ quansync@0.2.11: {}
+
+ queue-microtask@1.2.3: {}
+
+ readdirp@3.6.0:
+ dependencies:
+ picomatch: 2.3.1
+
+ readdirp@4.1.2: {}
+
+ require-directory@2.1.1: {}
+
+ require-main-filename@2.0.0: {}
+
+ resolve@1.22.11:
+ dependencies:
+ is-core-module: 2.16.1
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+
+ reusify@1.1.0: {}
+
+ rollup@3.29.5:
+ optionalDependencies:
+ fsevents: 2.3.3
+
+ run-parallel@1.2.0:
+ dependencies:
+ queue-microtask: 1.2.3
+
+ sass@1.94.2:
+ dependencies:
+ chokidar: 4.0.3
+ immutable: 5.1.4
+ source-map-js: 1.2.1
+ optionalDependencies:
+ '@parcel/watcher': 2.5.1
+
+ scule@1.3.0: {}
+
+ set-blocking@2.0.0: {}
+
+ source-map-js@1.2.1: {}
+
+ string-width@4.2.3:
+ dependencies:
+ emoji-regex: 8.0.0
+ is-fullwidth-code-point: 3.0.0
+ strip-ansi: 6.0.1
+
+ strip-ansi@6.0.1:
+ dependencies:
+ ansi-regex: 5.0.1
+
+ strip-literal@2.1.1:
+ dependencies:
+ js-tokens: 9.0.1
+
+ supports-preserve-symlinks-flag@1.0.0: {}
+
+ tailwindcss@4.1.17: {}
+
+ to-regex-range@5.0.1:
+ dependencies:
+ is-number: 7.0.0
+
+ ufo@1.6.1: {}
+
+ undici-types@6.21.0: {}
+
+ unimport@3.14.6(rollup@3.29.5):
+ dependencies:
+ '@rollup/pluginutils': 5.3.0(rollup@3.29.5)
+ acorn: 8.15.0
+ escape-string-regexp: 5.0.0
+ estree-walker: 3.0.3
+ fast-glob: 3.3.3
+ local-pkg: 1.1.2
+ magic-string: 0.30.21
+ mlly: 1.8.0
+ pathe: 2.0.3
+ picomatch: 4.0.3
+ pkg-types: 1.3.1
+ scule: 1.3.0
+ strip-literal: 2.1.1
+ unplugin: 1.16.1
+ transitivePeerDependencies:
+ - rollup
+
+ unplugin-auto-import@0.17.8(@vueuse/core@9.13.0(vue@3.5.25))(rollup@3.29.5):
+ dependencies:
+ '@antfu/utils': 0.7.10
+ '@rollup/pluginutils': 5.3.0(rollup@3.29.5)
+ fast-glob: 3.3.3
+ local-pkg: 0.5.1
+ magic-string: 0.30.21
+ minimatch: 9.0.5
+ unimport: 3.14.6(rollup@3.29.5)
+ unplugin: 1.16.1
+ optionalDependencies:
+ '@vueuse/core': 9.13.0(vue@3.5.25)
+ transitivePeerDependencies:
+ - rollup
+
+ unplugin-vue-components@0.26.0(@babel/parser@7.28.5)(rollup@3.29.5)(vue@3.5.25):
+ dependencies:
+ '@antfu/utils': 0.7.10
+ '@rollup/pluginutils': 5.3.0(rollup@3.29.5)
+ chokidar: 3.6.0
+ debug: 4.4.3
+ fast-glob: 3.3.3
+ local-pkg: 0.4.3
+ magic-string: 0.30.21
+ minimatch: 9.0.5
+ resolve: 1.22.11
+ unplugin: 1.16.1
+ vue: 3.5.25
+ optionalDependencies:
+ '@babel/parser': 7.28.5
+ transitivePeerDependencies:
+ - rollup
+ - supports-color
+
+ unplugin@1.16.1:
+ dependencies:
+ acorn: 8.15.0
+ webpack-virtual-modules: 0.6.2
+
+ update-browserslist-db@1.2.2(browserslist@4.28.1):
+ dependencies:
+ browserslist: 4.28.1
+ escalade: 3.2.0
+ picocolors: 1.1.1
+
+ vite@4.5.14(@types/node@20.19.25)(sass@1.94.2):
+ dependencies:
+ esbuild: 0.18.20
+ postcss: 8.5.6
+ rollup: 3.29.5
+ optionalDependencies:
+ '@types/node': 20.19.25
+ fsevents: 2.3.3
+ sass: 1.94.2
+
+ vue-cropper@1.1.4: {}
+
+ vue-demi@0.14.10(vue@3.5.25):
+ dependencies:
+ vue: 3.5.25
+
+ vue-router@4.6.3(vue@3.5.25):
+ dependencies:
+ '@vue/devtools-api': 6.6.4
+ vue: 3.5.25
+
+ vue@3.5.25:
+ dependencies:
+ '@vue/compiler-dom': 3.5.25
+ '@vue/compiler-sfc': 3.5.25
+ '@vue/runtime-dom': 3.5.25
+ '@vue/server-renderer': 3.5.25(vue@3.5.25)
+ '@vue/shared': 3.5.25
+
+ webpack-virtual-modules@0.6.2: {}
+
+ which-module@2.0.1: {}
+
+ wrap-ansi@6.2.0:
+ dependencies:
+ ansi-styles: 4.3.0
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+
+ y18n@4.0.3: {}
+
+ yargs-parser@18.1.3:
+ dependencies:
+ camelcase: 5.3.1
+ decamelize: 1.2.0
+
+ yargs@15.4.1:
+ dependencies:
+ cliui: 6.0.0
+ decamelize: 1.2.0
+ find-up: 4.1.0
+ get-caller-file: 2.0.5
+ require-directory: 2.1.1
+ require-main-filename: 2.0.0
+ set-blocking: 2.0.0
+ string-width: 4.2.3
+ which-module: 2.0.1
+ y18n: 4.0.3
+ yargs-parser: 18.1.3
diff --git a/postcss.config.js b/postcss.config.js
new file mode 100644
index 0000000..caf989d
--- /dev/null
+++ b/postcss.config.js
@@ -0,0 +1,6 @@
+module.exports = {
+ plugins: {
+ tailwindcss: {}, // 鑷姩璇诲彇 tailwind.config.js
+ autoprefixer: {}
+ }
+}
\ No newline at end of file
diff --git a/src/App.vue b/src/App.vue
new file mode 100644
index 0000000..4f86acc
--- /dev/null
+++ b/src/App.vue
@@ -0,0 +1,15 @@
+<template>
+ <div>
+ <router-view />
+ </div>
+</template>
+
+
+
+<script setup>
+
+</script>
+
+<style lang="scss">
+@use '@/static/css/comm.scss';
+</style>
diff --git a/src/api/comm.js b/src/api/comm.js
new file mode 100644
index 0000000..849c718
--- /dev/null
+++ b/src/api/comm.js
@@ -0,0 +1,37 @@
+import axios from '@/utils/request'
+// 鑾峰彇搴楅摵閰嶇疆
+export const shopConfigV2 = (params, config = {}) => axios.post('/Api/Common/GetConfigV2', params, {
+ custom: {
+ methodName: 'common.shopConfigV2',
+ needToken: false
+ }
+});
+
+export const getAreaList = (params, config = {}) => axios.post('/Api/Common/GetAreas', params, {
+ custom: {
+ methodName: 'user.getarealist',
+ needToken: false
+ }
+});
+export const getPageConfig = (params, config = {}) => axios.post('/Api/Page/GetPageConfig', params, {
+ custom: {
+ methodName: 'pages.getpageconfig',
+ needToken: false
+ }
+});
+
+ // 鐢ㄦ埛淇℃伅
+ export let userInfo = (params, config = {}) => axios.post('/Api/User/GetUserInfo', params, { custom: { methodName: 'user.info', needToken: true } });
+
+ //鏈湴閫夋嫨鍥剧墖杞琤ase64锛屽啀涓婁紶鏈嶅姟鍣ㄥ瓨鍌ㄨ繑鍥炲湴鍧�
+export let uploadFilesFByBase64 = (params, config = {}) => axios.post('/Api/Common/UploadFilesFByBase64', params, { custom: { methodName: 'topUp.uploadFilesFByBase64', needToken: true } });
+// 涓婁紶澶村儚
+export let changeAvatar = (params, config = {}) => axios.post('/Api/User/ChangeAvatar', params, { custom: { methodName: 'user.changeavatar', needToken: true } });
+ // 缂栬緫鐢ㄦ埛淇℃伅
+ export let editInfo = (params, config = {}) => axios.post('/Api/User/EditInfo', params, { custom: { methodName: 'user.editinfo', needToken: true } });
+
+ export let UploadImages = (params, config = {}) => axios.post('/Api/Common/UploadImages', params, { custom: { methodName: 'user.editinfo', needToken: true } });
+ // 鑾峰彇鎷涜仒淇℃伅
+ export let jobSet = (params, config = {}) => axios.post('/api/Job/jobSet', params, { custom: { methodName: 'user.Job', needToken: false } });
+// 璁剧疆绠�鍘�
+ export let CreatCV = (params, config = {}) => axios.post('/api/Job/CreatCV', params, { custom: { methodName: 'user.Job', needToken: false } });
\ No newline at end of file
diff --git a/src/api/dealer.js b/src/api/dealer.js
new file mode 100644
index 0000000..9cc1d27
--- /dev/null
+++ b/src/api/dealer.js
@@ -0,0 +1,8 @@
+// import axios from '@/utils/request'
+// // 鑾峰彇鍟嗗搧鍒楄〃
+// export let GetGoodsList = (params, config = {}) => axios.post('/api/DistributorGoods/GetGoodsList/GetGoodsList', params, { custom: { methodName: 'goods.GetGoodsList', needToken: true } });
+// // 鍒涘缓
+// export let DoCreate = (params, config = {}) => axios.post('/api/DistributorGoods/DoCreate', params, { custom: { methodName: 'goods.DoCreate', needToken: true } });
+// // 鑾峰彇鍟嗗搧鍒濆鍖栧弬鏁�
+// export let GetInitParam = (params, config = {}) => axios.post('/api/DistributorGoods/GetInitParam/GetInitParam', params, { custom: { methodName: 'goods.GetInitParam', needToken: true } });
+
diff --git a/src/api/distribution.js b/src/api/distribution.js
new file mode 100644
index 0000000..9387754
--- /dev/null
+++ b/src/api/distribution.js
@@ -0,0 +1,7 @@
+import axios from '@/utils/request'
+// 鑾峰彇缁忛攢鍟嗚繘搴︾姸鎬�
+export let getDistributionInfo = (params, config = {}) => axios.post('/Api/Distribution/Info', params, { custom: { methodName: 'distribution_center-api-info', needToken: true } });
+// 鐢宠缁忛攢鍟�
+export let applyDistribution = (params, config = {}) => axios.post('/Api/Distribution/ApplyDistribution', params, { custom: { methodName: 'distribution_center-api-applydistribution', needToken: true } });
+ // 闂ㄥ簵鍒楄〃
+export let storeList = (params, config = {}) => axios.post('/Api/Store/GetStoreList', params, { custom: { methodName: 'store.getstorelist', needToken: false } });
diff --git a/src/api/goods.js b/src/api/goods.js
new file mode 100644
index 0000000..f63eabb
--- /dev/null
+++ b/src/api/goods.js
@@ -0,0 +1,67 @@
+import axios from '@/utils/request'
+// 鑾峰彇鍟嗗搧鍒嗙被
+export const categories = (params, config = {}) => axios.post('/Api/Good/GetAllCategories', params, {
+ custom: {
+ methodName: 'categories.getallcat',
+ needToken: false
+ }
+});
+// 鑾峰彇鍟嗗搧鍒楄〃
+
+export const goodsList = (params, config = {}) => axios.post('/Api/Good/GetGoodsPageList', params, {
+ custom: {
+ methodName: 'goods.goodsList',
+ needToken: false
+ }
+});
+// 鑾峰彇鍟嗗搧璇︽儏
+export const goodsDetail = (params, config = {}) => axios.post('/Api/Good/GetDetial', params, { custom: { methodName: 'goods.getdetial', needToken: false } });
+// 鑾峰彇鍟嗗搧璇︽儏
+export const goodsDetailByToken = (params, config = {}) => axios.post('/Api/Good/GetDetialByToken', params, { custom: { methodName: 'goods.getDetialByToken', needToken: true } });
+// 娣诲姞璐墿杞�
+export let addCart = (params, config = {}) => axios.post('/Api/Cart/AddCart', params, { custom: { methodName: 'cart.add', needToken: true } });
+// 绉婚櫎璐墿杞�
+export let removeCart = (params, config = {}) => axios.post('/Api/Cart/DoDelete', params, { custom: { methodName: 'cart.del', needToken: true } });
+// 鑾峰彇璐墿杞﹀垪琛�
+export let cartList = (params, config = {}) => axios.post('/Api/Cart/GetList', params, { custom: { methodName: 'cart.getlist', needToken: true } });
+// 璁剧疆璐墿杞﹀晢鍝佹暟閲�
+export let setCartNum = (params, config = {}) => axios.post('/Api/Cart/SetCartNum', params, { custom: { methodName: 'cart.setnums', needToken: true } });
+// 鑾峰彇璐墿杞︽暟閲�
+export let getCartNum = (params, config = {}) => axios.post('/Api/User/GetCartNumber', params, { custom: { methodName: 'cart.getnumber', needToken: true } });
+// 鑾峰彇璐墿杞︽暟閲忓拰鍟嗗搧鎬讳环鏍�
+export let getCartNumAndMoney = (params, config = {}) => axios.post('/Api/User/GetCartNumberAndMoney', params, { custom: { methodName: 'cart.getnumber', needToken: true } });
+// 鏍规嵁璐墿杞﹀凡鏈夋暟鎹幏鍙栬兘澶熶娇鐢ㄧ殑浼樻儬鍒�
+export let getCartCoupon = (params, config = {}) => axios.post('/Api/Cart/GetCartAvailableCoupon', params, { custom: { methodName: 'cart.getCartCoupon', needToken: true } });
+// 鑾峰彇鐢ㄦ埛鐨勬敹璐у湴鍧�鍒楄〃
+export let userShip = (params, config = {}) => axios.post('/Api/User/GetUserShip', params, { custom: { methodName: 'user.getusership', needToken: true } });
+// 鑾峰彇鐢ㄦ埛榛樿鏀惰揣鍦板潃
+export let userDefaultShip = (params, config = {}) => axios.post('/Api/User/GetUserDefaultShip', params, { custom: { methodName: 'user.getuserdefaultship', needToken: true } });
+// 瀛樺偍鐢ㄦ埛鏀惰揣鍦板潃
+export let saveUserShip = (params, config = {}) => axios.post('/Api/User/SaveUserShip', params, { custom: { methodName: 'user.vuesaveusership', needToken: true } });
+//鑾峰彇鍖哄煙ID
+export let getAreaId = (params, config = {}) => axios.post('/Api/User/GetAreaId', params, { custom: { methodName: 'user.getareaid', needToken: false } });
+//鏍规嵁鍖�/鍘垮悕绉拌幏鍙栧煄甯俰d淇℃伅
+export let getAreaIdByName = (params, config = {}) => axios.post('/Api/User/GetAreaIdByName', params, { custom: { methodName: 'user.getareaid', needToken: false } });
+// 鑾峰彇鏀惰揣鍦板潃璇︽儏
+export let shipDetail = (params, config = {}) => axios.post('/Api/User/GetShipDetail', params, { custom: { methodName: 'user.getshipdetail', needToken: true } });
+// 鏀惰揣鍦板潃缂栬緫
+export let editShip = (params, config = {}) => axios.post('/Api/User/SaveUserShip', params, { custom: { methodName: 'user.editship', needToken: true } });
+// 鏀惰揣鍦板潃鍒犻櫎
+export let removeShip = (params, config = {}) => axios.post('/Api/User/RemoveShip', params, { custom: { methodName: 'user.removeship', needToken: true } });
+// 璁剧疆榛樿鏀惰揣鍦板潃
+export let setDefShip = (params, config = {}) => axios.post('/Api/User/SetDefShip', params, { custom: { methodName: 'user.setdefship', needToken: true } });
+// 鑾峰彇涓嶅悓绫诲瀷钀ラ攢涓嬪崟鏀寔鐨勯厤閫佹柟寮�
+export let getOrderDistributionModel = (params, config = {}) => axios.post('/Api/Order/GetOrderDistributionModel', params, { custom: { methodName: 'order.getOrderdistributionmodel', needToken: true } });
+ // 鐢熸垚璁㈠崟
+ export let createOrder = (params, config = {}) => axios.post('/Api/Order/CreateOrder', params, { custom: { methodName: 'order.create', needToken: true } });
+ //鑾峰彇鏀粯淇℃伅
+ export let paymentsCheckpay = (params, config = {}) => axios.post('/Api/Payments/CheckPay', params, { custom: { methodName: 'payments.checkpay', needToken: true } });
+ // 鑾峰彇鏀粯鏂瑰紡鍒楄〃
+ export let paymentList = (params, config = {}) => axios.post('/Api/Payments/GetList', params, { custom: { methodName: 'payments.getlist', needToken: false } });
+ // 鑾峰彇鏀粯鍗曡鎯�
+ export let paymentInfo = (params, config = {}) => axios.post('/Api/Payments/GetInfo', params, { custom: { methodName: 'payments.getinfo', needToken: true } });
+ // 鏀粯鎺ュ彛
+ export let pay = (params, config = {}) => axios.post('/Api/User/Pay', params, { custom: { methodName: 'user.pay', needToken: true } });
+
+ // 鑾峰彇榛樿鐨勯棬搴�
+ export let defaultStore = (params, config = {}) => axios.post('/Api/Store/GetDefaultStore', params, { custom: { methodName: 'store.getdefaultstore', needToken: false } });
\ No newline at end of file
diff --git a/src/api/index.js b/src/api/index.js
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/api/index.js
diff --git a/src/api/login.js b/src/api/login.js
new file mode 100644
index 0000000..4dc67cf
--- /dev/null
+++ b/src/api/login.js
@@ -0,0 +1,8 @@
+import axios from '@/utils/request'
+// 鍙戦�佺煭淇¢獙璇佺爜
+export let sms = (params, config = {}) => axios.post('/Api/User/SendSms', params, { custom: { methodName: 'user.sms', needToken: false } });
+// 鐭俊楠岃瘉鐮佺櫥褰�
+export let smsLogin = (params, config = {}) => axios.post('/Api/User/SmsLogin', params, { custom: { methodName: 'user.smslogin', needToken: false } });
+// 閫�鍑虹櫥褰�
+export let logout = (params, config = {}) => axios.post('/Api/User/LogOut', params, { custom: { methodName: 'user.logout', needToken: true } });
+
diff --git a/src/api/order.js b/src/api/order.js
new file mode 100644
index 0000000..6ffa38c
--- /dev/null
+++ b/src/api/order.js
@@ -0,0 +1,66 @@
+import axios from '@/utils/request'
+// 鑾峰彇鍏ㄩ儴璁㈠崟鍒楄〃
+export let orderList = (params, config = {}) => axios.post('/Api/Order/GetOrderList', params, { custom: { methodName: 'order.getorderlist', needToken: true } });
+// 鍙栨秷璁㈠崟
+export let cancelOrder = (params, config = {}) => axios.post('/Api/Order/CancelOrder', params, { custom: { methodName: 'order.cancel', needToken: true } });
+// 鍒犻櫎璁㈠崟
+export let delOrder = (params, config = {}) => axios.post('/Api/Order/DeleteOrder', params, { custom: { methodName: 'order.del', needToken: true } });
+// 鑾峰彇璁㈠崟璇︽儏
+export let orderDetail = (params, config = {}) => axios.post('/Api/Order/OrderDetails', params, { custom: { methodName: 'order.details', needToken: true } });
+
+//鑾峰彇鍙戠エ鏄惁寮�鍏�
+export let checkInvoice = (params, config = {}) => axios.post('/Api/Order/CheckInvoice', params, { custom: { methodName: 'order.checkInvoice', needToken: true } });
+//鎻愪氦鍙戠エ鐢宠
+export let submitInvoiceApply = (params, config = {}) => axios.post('/Api/Order/SubmitInvoiceApply', params, { custom: { methodName: 'order.submitInvoiceApply', needToken: true } });
+
+// 纭鏀惰揣
+export let confirmOrder = (params, config = {}) => axios.post('/Api/Order/OrderConfirm', params, { custom: { methodName: 'order.confirm', needToken: true } });
+
+
+// 鑾峰彇鎴戠殑閭�璇蜂俊鎭�
+export let myInvite = (params, config = {}) => axios.post('/Api/User/MyInvite', params, { custom: { methodName: 'user.myinvite', needToken: true } });
+// 璁剧疆鎴戠殑涓婄骇閭�璇蜂汉
+export let setMyInvite = (params, config = {}) => axios.post('/Api/User/SetMyInvite', params, { custom: { methodName: 'user.SetMyInvite', needToken: true } });
+// 鑾峰彇鎴戠殑涓婄骇閭�璇蜂汉
+export let getMyInvite = (params, config = {}) => axios.post('/Api/User/GetMyInvite', params, { custom: { methodName: 'user.GetMyInvite', needToken: true } });
+//鑾峰彇鎴戠殑涓嬬骇鍙戝睍鐢ㄦ埛鏁伴噺
+export let getMyChildSum = (params, config = {}) => axios.post('/Api/User/GetMyChildSum', params, { custom: { methodName: 'user.GetMyChildSum', needToken: true } });
+
+//缁熶竴鍒嗕韩
+export let share = (params, config = {}) => axios.post('/Api/User/Share', params, { custom: { methodName: 'user.share', needToken: false } });
+//缁熶竴鍒嗕韩瑙g爜
+export let deshare = (params, config = {}) => axios.post('/Api/User/deshare', params, { custom: { methodName: 'user.deshare', needToken: false } });
+
+// 鑾峰彇鐢ㄦ埛浣欓鏄庣粏
+export let getBalanceList = (params, config = {}) => axios.post('/Api/User/UserBalance', params, { custom: { methodName: 'user.balancelist', needToken: true } });
+// 鐢ㄦ埛鎺ㄨ崘鍒楄〃
+export let recommendUserList = (params, config = {}) => axios.post('/Api/User/Recommend', params, { custom: { methodName: 'user.recommend', needToken: true } });
+
+// 鐢ㄦ埛鎻愮幇
+export let userToCash = (params, config = {}) => axios.post('/Api/User/Cash', params, { custom: { methodName: 'user.cash', needToken: true } });
+// 鐢ㄦ埛鎻愮幇鍒楄〃
+export let cashList = (params, config = {}) => axios.post('/Api/User/CashList', params, { custom: { methodName: 'user.cashlist', needToken: true } });
+
+// 鑾峰彇鎴戠殑閾惰鍗″垪琛�
+export let getBankCardList = (params, config = {}) => axios.post('/Api/User/GetMyBankcardsList', params, { custom: { methodName: 'user.getbankcardlist', needToken: true } });
+// 鑾峰彇榛樿鐨勯摱琛屽崱
+export let getDefaultBankCard = (params, config = {}) => axios.post('/Api/User/GetDefaultBankCard', params, { custom: { methodName: 'user.getdefaultbankcard', needToken: true } });
+// 娣诲姞閾惰鍗�
+export let addBankCard = (params, config = {}) => axios.post('/Api/User/AddBankCards', params, { custom: { methodName: 'user.addbankcard', needToken: true } });
+// 鍒犻櫎閾惰鍗�
+export let removeBankCard = (params, config = {}) => axios.post('/Api/User/Removebankcard', params, { custom: { methodName: 'user.removebankcard', needToken: true } });
+// 璁剧疆榛樿閾惰鍗�
+export let setDefaultBankCard = (params, config = {}) => axios.post('/Api/User/SetDefaultBankCard', params, { custom: { methodName: 'user.setdefaultbankcard', needToken: true } });
+// 鑾峰彇閾惰鍗′俊鎭�
+export let getBankCardInfo = (params, config = {}) => axios.post('/Api/User/GetBankCardInfo', params, { custom: { methodName: 'user.getbankcardinfo', needToken: true } });
+// 鑾峰彇閾惰鍗$粍缁囦俊鎭�
+export let getBankCardOrganization = (params, config = {}) => axios.post('/Api/User/GetBankCardsOrganization', params, { custom: { methodName: 'user.getbankcardorganization', needToken: true } });
+
+// 鍞悗鍗曞垪琛�
+export let afterSalesList = (params, config = {}) => axios.post('/Api/Order/AftersalesList', params, { custom: { methodName: 'order.aftersaleslist', needToken: true } });
+// 鍞悗鍗曡鎯�
+export let afterSalesInfo = (params, config = {}) => axios.post('/Api/Order/Aftersalesinfo', params, { custom: { methodName: 'order.aftersalesinfo', needToken: true } });
+// 娣诲姞鍞悗鍗�
+export let addAfterSales = (params, config = {}) => axios.post('/Api/Order/AddAftersales', params, { custom: { methodName: 'order.addaftersales', needToken: true } });
+// 鐢ㄦ埛鍙戦�侀��璐у寘瑁�
+export let sendShip = (params, config = {}) => axios.post('/Api/Order/SendReship', params, { custom: { methodName: 'order.sendreship', needToken: true } });
\ No newline at end of file
diff --git a/src/api/text.js b/src/api/text.js
new file mode 100644
index 0000000..f1bfbe9
--- /dev/null
+++ b/src/api/text.js
@@ -0,0 +1,10 @@
+import axios from '@/utils/request'
+export let advert = (params, config = {}) => axios.post('/Api/Advert/GetPositionList', params, { custom: { methodName: 'advert.getcarousellists', needToken: false } });
+// 鑾峰彇鍏憡鍒楄〃
+export let notice = (params, config = {}) => axios.post('/Api/Notice/NoticeList', params, { custom: { methodName: 'notice.noticeList', needToken: false } });
+// 鑾峰彇鍏憡璇︽儏
+export let noticeInfo = (params, config = {}) => axios.post('/Api/Notice/NoticeInfo', params, { custom: { methodName: 'notice.noticeInfo', needToken: false } });
+// 鑾峰彇鏂囩珷璇︽儏
+export let articleInfo = (params, config = {}) => axios.post('/Api/Article/GetArticleDetail', params, { custom: { methodName: 'articles.getArticleDetail', needToken: false } });
+// 鑾峰彇鏂囩珷鍒楄〃
+export let articleList = (params, config = {}) => axios.post('/Api/Article/GetArticleList', params, { custom: { methodName: 'articles.getArticleList', needToken: false } });
\ No newline at end of file
diff --git a/src/assets/Group1.png b/src/assets/Group1.png
new file mode 100644
index 0000000..258d836
--- /dev/null
+++ b/src/assets/Group1.png
Binary files differ
diff --git a/src/assets/Group2.png b/src/assets/Group2.png
new file mode 100644
index 0000000..358c235
--- /dev/null
+++ b/src/assets/Group2.png
Binary files differ
diff --git a/src/assets/Group3.png b/src/assets/Group3.png
new file mode 100644
index 0000000..186da10
--- /dev/null
+++ b/src/assets/Group3.png
Binary files differ
diff --git a/src/assets/iconfont/demo.css b/src/assets/iconfont/demo.css
new file mode 100644
index 0000000..a67054a
--- /dev/null
+++ b/src/assets/iconfont/demo.css
@@ -0,0 +1,539 @@
+/* Logo 瀛椾綋 */
+@font-face {
+ font-family: "iconfont logo";
+ src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834');
+ src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'),
+ url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'),
+ url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'),
+ url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg');
+}
+
+.logo {
+ font-family: "iconfont logo";
+ font-size: 160px;
+ font-style: normal;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+/* tabs */
+.nav-tabs {
+ position: relative;
+}
+
+.nav-tabs .nav-more {
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ height: 42px;
+ line-height: 42px;
+ color: #666;
+}
+
+#tabs {
+ border-bottom: 1px solid #eee;
+}
+
+#tabs li {
+ cursor: pointer;
+ width: 100px;
+ height: 40px;
+ line-height: 40px;
+ text-align: center;
+ font-size: 16px;
+ border-bottom: 2px solid transparent;
+ position: relative;
+ z-index: 1;
+ margin-bottom: -1px;
+ color: #666;
+}
+
+
+#tabs .active {
+ border-bottom-color: #f00;
+ color: #222;
+}
+
+.tab-container .content {
+ display: none;
+}
+
+/* 椤甸潰甯冨眬 */
+.main {
+ padding: 30px 100px;
+ width: 960px;
+ margin: 0 auto;
+}
+
+.main .logo {
+ color: #333;
+ text-align: left;
+ margin-bottom: 30px;
+ line-height: 1;
+ height: 110px;
+ margin-top: -50px;
+ overflow: hidden;
+ *zoom: 1;
+}
+
+.main .logo a {
+ font-size: 160px;
+ color: #333;
+}
+
+.helps {
+ margin-top: 40px;
+}
+
+.helps pre {
+ padding: 20px;
+ margin: 10px 0;
+ border: solid 1px #e7e1cd;
+ background-color: #fffdef;
+ overflow: auto;
+}
+
+.icon_lists {
+ width: 100% !important;
+ overflow: hidden;
+ *zoom: 1;
+}
+
+.icon_lists li {
+ width: 100px;
+ margin-bottom: 10px;
+ margin-right: 20px;
+ text-align: center;
+ list-style: none !important;
+ cursor: default;
+}
+
+.icon_lists li .code-name {
+ line-height: 1.2;
+}
+
+.icon_lists .icon {
+ display: block;
+ height: 100px;
+ line-height: 100px;
+ font-size: 42px;
+ margin: 10px auto;
+ color: #333;
+ -webkit-transition: font-size 0.25s linear, width 0.25s linear;
+ -moz-transition: font-size 0.25s linear, width 0.25s linear;
+ transition: font-size 0.25s linear, width 0.25s linear;
+}
+
+.icon_lists .icon:hover {
+ font-size: 100px;
+}
+
+.icon_lists .svg-icon {
+ /* 閫氳繃璁剧疆 font-size 鏉ユ敼鍙樺浘鏍囧ぇ灏� */
+ width: 1em;
+ /* 鍥炬爣鍜屾枃瀛楃浉閭绘椂锛屽瀭鐩村榻� */
+ vertical-align: -0.15em;
+ /* 閫氳繃璁剧疆 color 鏉ユ敼鍙� SVG 鐨勯鑹�/fill */
+ fill: currentColor;
+ /* path 鍜� stroke 婧㈠嚭 viewBox 閮ㄥ垎鍦� IE 涓嬩細鏄剧ず
+ normalize.css 涓篃鍖呭惈杩欒 */
+ overflow: hidden;
+}
+
+.icon_lists li .name,
+.icon_lists li .code-name {
+ color: #666;
+}
+
+/* markdown 鏍峰紡 */
+.markdown {
+ color: #666;
+ font-size: 14px;
+ line-height: 1.8;
+}
+
+.highlight {
+ line-height: 1.5;
+}
+
+.markdown img {
+ vertical-align: middle;
+ max-width: 100%;
+}
+
+.markdown h1 {
+ color: #404040;
+ font-weight: 500;
+ line-height: 40px;
+ margin-bottom: 24px;
+}
+
+.markdown h2,
+.markdown h3,
+.markdown h4,
+.markdown h5,
+.markdown h6 {
+ color: #404040;
+ margin: 1.6em 0 0.6em 0;
+ font-weight: 500;
+ clear: both;
+}
+
+.markdown h1 {
+ font-size: 28px;
+}
+
+.markdown h2 {
+ font-size: 22px;
+}
+
+.markdown h3 {
+ font-size: 16px;
+}
+
+.markdown h4 {
+ font-size: 14px;
+}
+
+.markdown h5 {
+ font-size: 12px;
+}
+
+.markdown h6 {
+ font-size: 12px;
+}
+
+.markdown hr {
+ height: 1px;
+ border: 0;
+ background: #e9e9e9;
+ margin: 16px 0;
+ clear: both;
+}
+
+.markdown p {
+ margin: 1em 0;
+}
+
+.markdown>p,
+.markdown>blockquote,
+.markdown>.highlight,
+.markdown>ol,
+.markdown>ul {
+ width: 80%;
+}
+
+.markdown ul>li {
+ list-style: circle;
+}
+
+.markdown>ul li,
+.markdown blockquote ul>li {
+ margin-left: 20px;
+ padding-left: 4px;
+}
+
+.markdown>ul li p,
+.markdown>ol li p {
+ margin: 0.6em 0;
+}
+
+.markdown ol>li {
+ list-style: decimal;
+}
+
+.markdown>ol li,
+.markdown blockquote ol>li {
+ margin-left: 20px;
+ padding-left: 4px;
+}
+
+.markdown code {
+ margin: 0 3px;
+ padding: 0 5px;
+ background: #eee;
+ border-radius: 3px;
+}
+
+.markdown strong,
+.markdown b {
+ font-weight: 600;
+}
+
+.markdown>table {
+ border-collapse: collapse;
+ border-spacing: 0px;
+ empty-cells: show;
+ border: 1px solid #e9e9e9;
+ width: 95%;
+ margin-bottom: 24px;
+}
+
+.markdown>table th {
+ white-space: nowrap;
+ color: #333;
+ font-weight: 600;
+}
+
+.markdown>table th,
+.markdown>table td {
+ border: 1px solid #e9e9e9;
+ padding: 8px 16px;
+ text-align: left;
+}
+
+.markdown>table th {
+ background: #F7F7F7;
+}
+
+.markdown blockquote {
+ font-size: 90%;
+ color: #999;
+ border-left: 4px solid #e9e9e9;
+ padding-left: 0.8em;
+ margin: 1em 0;
+}
+
+.markdown blockquote p {
+ margin: 0;
+}
+
+.markdown .anchor {
+ opacity: 0;
+ transition: opacity 0.3s ease;
+ margin-left: 8px;
+}
+
+.markdown .waiting {
+ color: #ccc;
+}
+
+.markdown h1:hover .anchor,
+.markdown h2:hover .anchor,
+.markdown h3:hover .anchor,
+.markdown h4:hover .anchor,
+.markdown h5:hover .anchor,
+.markdown h6:hover .anchor {
+ opacity: 1;
+ display: inline-block;
+}
+
+.markdown>br,
+.markdown>p>br {
+ clear: both;
+}
+
+
+.hljs {
+ display: block;
+ background: white;
+ padding: 0.5em;
+ color: #333333;
+ overflow-x: auto;
+}
+
+.hljs-comment,
+.hljs-meta {
+ color: #969896;
+}
+
+.hljs-string,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-strong,
+.hljs-emphasis,
+.hljs-quote {
+ color: #df5000;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-type {
+ color: #a71d5d;
+}
+
+.hljs-literal,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-attribute {
+ color: #0086b3;
+}
+
+.hljs-section,
+.hljs-name {
+ color: #63a35c;
+}
+
+.hljs-tag {
+ color: #333333;
+}
+
+.hljs-title,
+.hljs-attr,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-selector-attr,
+.hljs-selector-pseudo {
+ color: #795da3;
+}
+
+.hljs-addition {
+ color: #55a532;
+ background-color: #eaffea;
+}
+
+.hljs-deletion {
+ color: #bd2c00;
+ background-color: #ffecec;
+}
+
+.hljs-link {
+ text-decoration: underline;
+}
+
+/* 浠g爜楂樹寒 */
+/* PrismJS 1.15.0
+https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */
+/**
+ * prism.js default theme for JavaScript, CSS and HTML
+ * Based on dabblet (http://dabblet.com)
+ * @author Lea Verou
+ */
+code[class*="language-"],
+pre[class*="language-"] {
+ color: black;
+ background: none;
+ text-shadow: 0 1px white;
+ font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
+ text-align: left;
+ white-space: pre;
+ word-spacing: normal;
+ word-break: normal;
+ word-wrap: normal;
+ line-height: 1.5;
+
+ -moz-tab-size: 4;
+ -o-tab-size: 4;
+ tab-size: 4;
+
+ -webkit-hyphens: none;
+ -moz-hyphens: none;
+ -ms-hyphens: none;
+ hyphens: none;
+}
+
+pre[class*="language-"]::-moz-selection,
+pre[class*="language-"] ::-moz-selection,
+code[class*="language-"]::-moz-selection,
+code[class*="language-"] ::-moz-selection {
+ text-shadow: none;
+ background: #b3d4fc;
+}
+
+pre[class*="language-"]::selection,
+pre[class*="language-"] ::selection,
+code[class*="language-"]::selection,
+code[class*="language-"] ::selection {
+ text-shadow: none;
+ background: #b3d4fc;
+}
+
+@media print {
+
+ code[class*="language-"],
+ pre[class*="language-"] {
+ text-shadow: none;
+ }
+}
+
+/* Code blocks */
+pre[class*="language-"] {
+ padding: 1em;
+ margin: .5em 0;
+ overflow: auto;
+}
+
+:not(pre)>code[class*="language-"],
+pre[class*="language-"] {
+ background: #f5f2f0;
+}
+
+/* Inline code */
+:not(pre)>code[class*="language-"] {
+ padding: .1em;
+ border-radius: .3em;
+ white-space: normal;
+}
+
+.token.comment,
+.token.prolog,
+.token.doctype,
+.token.cdata {
+ color: slategray;
+}
+
+.token.punctuation {
+ color: #999;
+}
+
+.namespace {
+ opacity: .7;
+}
+
+.token.property,
+.token.tag,
+.token.boolean,
+.token.number,
+.token.constant,
+.token.symbol,
+.token.deleted {
+ color: #905;
+}
+
+.token.selector,
+.token.attr-name,
+.token.string,
+.token.char,
+.token.builtin,
+.token.inserted {
+ color: #690;
+}
+
+.token.operator,
+.token.entity,
+.token.url,
+.language-css .token.string,
+.style .token.string {
+ color: #9a6e3a;
+ background: hsla(0, 0%, 100%, .5);
+}
+
+.token.atrule,
+.token.attr-value,
+.token.keyword {
+ color: #07a;
+}
+
+.token.function,
+.token.class-name {
+ color: #DD4A68;
+}
+
+.token.regex,
+.token.important,
+.token.variable {
+ color: #e90;
+}
+
+.token.important,
+.token.bold {
+ font-weight: bold;
+}
+
+.token.italic {
+ font-style: italic;
+}
+
+.token.entity {
+ cursor: help;
+}
diff --git a/src/assets/iconfont/demo_index.html b/src/assets/iconfont/demo_index.html
new file mode 100644
index 0000000..9b25e7c
--- /dev/null
+++ b/src/assets/iconfont/demo_index.html
@@ -0,0 +1,418 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset="utf-8"/>
+ <title>iconfont Demo</title>
+ <link rel="shortcut icon" href="//img.alicdn.com/imgextra/i4/O1CN01Z5paLz1O0zuCC7osS_!!6000000001644-55-tps-83-82.svg" type="image/x-icon"/>
+ <link rel="icon" type="image/svg+xml" href="//img.alicdn.com/imgextra/i4/O1CN01Z5paLz1O0zuCC7osS_!!6000000001644-55-tps-83-82.svg"/>
+ <link rel="stylesheet" href="https://g.alicdn.com/thx/cube/1.3.2/cube.min.css">
+ <link rel="stylesheet" href="demo.css">
+ <link rel="stylesheet" href="iconfont.css">
+ <script src="iconfont.js"></script>
+ <!-- jQuery -->
+ <script src="https://a1.alicdn.com/oss/uploads/2018/12/26/7bfddb60-08e8-11e9-9b04-53e73bb6408b.js"></script>
+ <!-- 浠g爜楂樹寒 -->
+ <script src="https://a1.alicdn.com/oss/uploads/2018/12/26/a3f714d0-08e6-11e9-8a15-ebf944d7534c.js"></script>
+ <style>
+ .main .logo {
+ margin-top: 0;
+ height: auto;
+ }
+
+ .main .logo a {
+ display: flex;
+ align-items: center;
+ }
+
+ .main .logo .sub-title {
+ margin-left: 0.5em;
+ font-size: 22px;
+ color: #fff;
+ background: linear-gradient(-45deg, #3967FF, #B500FE);
+ -webkit-background-clip: text;
+ -webkit-text-fill-color: transparent;
+ }
+ </style>
+</head>
+<body>
+ <div class="main">
+ <h1 class="logo"><a href="https://www.iconfont.cn/" title="iconfont 棣栭〉" target="_blank">
+ <img width="200" src="https://img.alicdn.com/imgextra/i3/O1CN01Mn65HV1FfSEzR6DKv_!!6000000000514-55-tps-228-59.svg">
+
+ </a></h1>
+ <div class="nav-tabs">
+ <ul id="tabs" class="dib-box">
+ <li class="dib active"><span>Unicode</span></li>
+ <li class="dib"><span>Font class</span></li>
+ <li class="dib"><span>Symbol</span></li>
+ </ul>
+
+ <a href="https://www.iconfont.cn/manage/index?manage_type=myprojects&projectId=5087426" target="_blank" class="nav-more">鏌ョ湅椤圭洰</a>
+
+ </div>
+ <div class="tab-container">
+ <div class="content unicode" style="display: block;">
+ <ul class="icon_lists dib-box">
+
+ <li class="dib">
+ <span class="icon iconfont"></span>
+ <div class="name">瀹氫綅</div>
+ <div class="code-name">&#xe6a2;</div>
+ </li>
+
+ <li class="dib">
+ <span class="icon iconfont"></span>
+ <div class="name">鐢佃瘽</div>
+ <div class="code-name">&#xe8c3;</div>
+ </li>
+
+ <li class="dib">
+ <span class="icon iconfont"></span>
+ <div class="name">鏄熸槦</div>
+ <div class="code-name">&#xe870;</div>
+ </li>
+
+ <li class="dib">
+ <span class="icon iconfont"></span>
+ <div class="name">鎵虫墜</div>
+ <div class="code-name">&#xe600;</div>
+ </li>
+
+ <li class="dib">
+ <span class="icon iconfont"></span>
+ <div class="name">鍚堜綔</div>
+ <div class="code-name">&#xe65b;</div>
+ </li>
+
+ <li class="dib">
+ <span class="icon iconfont"></span>
+ <div class="name">璧勯噾</div>
+ <div class="code-name">&#xe6fc;</div>
+ </li>
+
+ <li class="dib">
+ <span class="icon iconfont"></span>
+ <div class="name">闈跺績</div>
+ <div class="code-name">&#xe604;</div>
+ </li>
+
+ <li class="dib">
+ <span class="icon iconfont"></span>
+ <div class="name">璐ц溅</div>
+ <div class="code-name">&#xe607;</div>
+ </li>
+
+ <li class="dib">
+ <span class="icon iconfont"></span>
+ <div class="name">璐ц溅</div>
+ <div class="code-name">&#xe60d;</div>
+ </li>
+
+ <li class="dib">
+ <span class="icon iconfont"></span>
+ <div class="name">safe</div>
+ <div class="code-name">&#xe6da;</div>
+ </li>
+
+ </ul>
+ <div class="article markdown">
+ <h2 id="unicode-">Unicode 寮曠敤</h2>
+ <hr>
+
+ <p>Unicode 鏄瓧浣撳湪缃戦〉绔渶鍘熷鐨勫簲鐢ㄦ柟寮忥紝鐗圭偣鏄細</p>
+ <ul>
+ <li>鏀寔鎸夊瓧浣撶殑鏂瑰紡鍘诲姩鎬佽皟鏁村浘鏍囧ぇ灏忥紝棰滆壊绛夌瓑銆�</li>
+ <li>榛樿鎯呭喌涓嬩笉鏀寔澶氳壊锛岀洿鎺ユ坊鍔犲鑹插浘鏍囦細鑷姩鍘昏壊銆�</li>
+ </ul>
+ <blockquote>
+ <p>娉ㄦ剰锛氭柊鐗� iconfont 鏀寔涓ょ鏂瑰紡寮曠敤澶氳壊鍥炬爣锛歋VG symbol 寮曠敤鏂瑰紡鍜屽僵鑹插瓧浣撳浘鏍囨ā寮忋�傦紙浣跨敤褰╄壊瀛椾綋鍥炬爣闇�瑕佸湪銆岀紪杈戦」鐩�嶄腑寮�鍚�屽僵鑹层�嶉�夐」鍚庡苟閲嶆柊鐢熸垚銆傦級</p>
+ </blockquote>
+ <p>Unicode 浣跨敤姝ラ濡備笅锛�</p>
+ <h3 id="-font-face">绗竴姝ワ細鎷疯礉椤圭洰涓嬮潰鐢熸垚鐨� <code>@font-face</code></h3>
+<pre><code class="language-css"
+>@font-face {
+ font-family: 'iconfont';
+ src: url('iconfont.woff2?t=1765876018836') format('woff2'),
+ url('iconfont.woff?t=1765876018836') format('woff'),
+ url('iconfont.ttf?t=1765876018836') format('truetype');
+}
+</code></pre>
+ <h3 id="-iconfont-">绗簩姝ワ細瀹氫箟浣跨敤 iconfont 鐨勬牱寮�</h3>
+<pre><code class="language-css"
+>.iconfont {
+ font-family: "iconfont" !important;
+ font-size: 16px;
+ font-style: normal;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+</code></pre>
+ <h3 id="-">绗笁姝ワ細鎸戦�夌浉搴斿浘鏍囧苟鑾峰彇瀛椾綋缂栫爜锛屽簲鐢ㄤ簬椤甸潰</h3>
+<pre>
+<code class="language-html"
+><span class="iconfont">&#x33;</span>
+</code></pre>
+ <blockquote>
+ <p>"iconfont" 鏄綘椤圭洰涓嬬殑 font-family銆傚彲浠ラ�氳繃缂栬緫椤圭洰鏌ョ湅锛岄粯璁ゆ槸 "iconfont"銆�</p>
+ </blockquote>
+ </div>
+ </div>
+ <div class="content font-class">
+ <ul class="icon_lists dib-box">
+
+ <li class="dib">
+ <span class="icon iconfont icon-dingwei"></span>
+ <div class="name">
+ 瀹氫綅
+ </div>
+ <div class="code-name">.icon-dingwei
+ </div>
+ </li>
+
+ <li class="dib">
+ <span class="icon iconfont icon-dianhua"></span>
+ <div class="name">
+ 鐢佃瘽
+ </div>
+ <div class="code-name">.icon-dianhua
+ </div>
+ </li>
+
+ <li class="dib">
+ <span class="icon iconfont icon-xingxing1"></span>
+ <div class="name">
+ 鏄熸槦
+ </div>
+ <div class="code-name">.icon-xingxing1
+ </div>
+ </li>
+
+ <li class="dib">
+ <span class="icon iconfont icon-banshou"></span>
+ <div class="name">
+ 鎵虫墜
+ </div>
+ <div class="code-name">.icon-banshou
+ </div>
+ </li>
+
+ <li class="dib">
+ <span class="icon iconfont icon-hezuo-tianchong"></span>
+ <div class="name">
+ 鍚堜綔
+ </div>
+ <div class="code-name">.icon-hezuo-tianchong
+ </div>
+ </li>
+
+ <li class="dib">
+ <span class="icon iconfont icon-zijin"></span>
+ <div class="name">
+ 璧勯噾
+ </div>
+ <div class="code-name">.icon-zijin
+ </div>
+ </li>
+
+ <li class="dib">
+ <span class="icon iconfont icon-baxin"></span>
+ <div class="name">
+ 闈跺績
+ </div>
+ <div class="code-name">.icon-baxin
+ </div>
+ </li>
+
+ <li class="dib">
+ <span class="icon iconfont icon-truck"></span>
+ <div class="name">
+ 璐ц溅
+ </div>
+ <div class="code-name">.icon-truck
+ </div>
+ </li>
+
+ <li class="dib">
+ <span class="icon iconfont icon-huoche"></span>
+ <div class="name">
+ 璐ц溅
+ </div>
+ <div class="code-name">.icon-huoche
+ </div>
+ </li>
+
+ <li class="dib">
+ <span class="icon iconfont icon-safe"></span>
+ <div class="name">
+ safe
+ </div>
+ <div class="code-name">.icon-safe
+ </div>
+ </li>
+
+ </ul>
+ <div class="article markdown">
+ <h2 id="font-class-">font-class 寮曠敤</h2>
+ <hr>
+
+ <p>font-class 鏄� Unicode 浣跨敤鏂瑰紡鐨勪竴绉嶅彉绉嶏紝涓昏鏄В鍐� Unicode 涔﹀啓涓嶇洿瑙傦紝璇剰涓嶆槑纭殑闂銆�</p>
+ <p>涓� Unicode 浣跨敤鏂瑰紡鐩告瘮锛屽叿鏈夊涓嬬壒鐐癸細</p>
+ <ul>
+ <li>鐩告瘮浜� Unicode 璇剰鏄庣‘锛屼功鍐欐洿鐩磋銆傚彲浠ュ緢瀹规槗鍒嗚鲸杩欎釜 icon 鏄粈涔堛��</li>
+ <li>鍥犱负浣跨敤 class 鏉ュ畾涔夊浘鏍囷紝鎵�浠ュ綋瑕佹浛鎹㈠浘鏍囨椂锛屽彧闇�瑕佷慨鏀� class 閲岄潰鐨� Unicode 寮曠敤銆�</li>
+ </ul>
+ <p>浣跨敤姝ラ濡備笅锛�</p>
+ <h3 id="-fontclass-">绗竴姝ワ細寮曞叆椤圭洰涓嬮潰鐢熸垚鐨� fontclass 浠g爜锛�</h3>
+<pre><code class="language-html"><link rel="stylesheet" href="./iconfont.css">
+</code></pre>
+ <h3 id="-">绗簩姝ワ細鎸戦�夌浉搴斿浘鏍囧苟鑾峰彇绫诲悕锛屽簲鐢ㄤ簬椤甸潰锛�</h3>
+<pre><code class="language-html"><span class="iconfont icon-xxx"></span>
+</code></pre>
+ <blockquote>
+ <p>"
+ iconfont" 鏄綘椤圭洰涓嬬殑 font-family銆傚彲浠ラ�氳繃缂栬緫椤圭洰鏌ョ湅锛岄粯璁ゆ槸 "iconfont"銆�</p>
+ </blockquote>
+ </div>
+ </div>
+ <div class="content symbol">
+ <ul class="icon_lists dib-box">
+
+ <li class="dib">
+ <svg class="icon svg-icon" aria-hidden="true">
+ <use xlink:href="#icon-dingwei"></use>
+ </svg>
+ <div class="name">瀹氫綅</div>
+ <div class="code-name">#icon-dingwei</div>
+ </li>
+
+ <li class="dib">
+ <svg class="icon svg-icon" aria-hidden="true">
+ <use xlink:href="#icon-dianhua"></use>
+ </svg>
+ <div class="name">鐢佃瘽</div>
+ <div class="code-name">#icon-dianhua</div>
+ </li>
+
+ <li class="dib">
+ <svg class="icon svg-icon" aria-hidden="true">
+ <use xlink:href="#icon-xingxing1"></use>
+ </svg>
+ <div class="name">鏄熸槦</div>
+ <div class="code-name">#icon-xingxing1</div>
+ </li>
+
+ <li class="dib">
+ <svg class="icon svg-icon" aria-hidden="true">
+ <use xlink:href="#icon-banshou"></use>
+ </svg>
+ <div class="name">鎵虫墜</div>
+ <div class="code-name">#icon-banshou</div>
+ </li>
+
+ <li class="dib">
+ <svg class="icon svg-icon" aria-hidden="true">
+ <use xlink:href="#icon-hezuo-tianchong"></use>
+ </svg>
+ <div class="name">鍚堜綔</div>
+ <div class="code-name">#icon-hezuo-tianchong</div>
+ </li>
+
+ <li class="dib">
+ <svg class="icon svg-icon" aria-hidden="true">
+ <use xlink:href="#icon-zijin"></use>
+ </svg>
+ <div class="name">璧勯噾</div>
+ <div class="code-name">#icon-zijin</div>
+ </li>
+
+ <li class="dib">
+ <svg class="icon svg-icon" aria-hidden="true">
+ <use xlink:href="#icon-baxin"></use>
+ </svg>
+ <div class="name">闈跺績</div>
+ <div class="code-name">#icon-baxin</div>
+ </li>
+
+ <li class="dib">
+ <svg class="icon svg-icon" aria-hidden="true">
+ <use xlink:href="#icon-truck"></use>
+ </svg>
+ <div class="name">璐ц溅</div>
+ <div class="code-name">#icon-truck</div>
+ </li>
+
+ <li class="dib">
+ <svg class="icon svg-icon" aria-hidden="true">
+ <use xlink:href="#icon-huoche"></use>
+ </svg>
+ <div class="name">璐ц溅</div>
+ <div class="code-name">#icon-huoche</div>
+ </li>
+
+ <li class="dib">
+ <svg class="icon svg-icon" aria-hidden="true">
+ <use xlink:href="#icon-safe"></use>
+ </svg>
+ <div class="name">safe</div>
+ <div class="code-name">#icon-safe</div>
+ </li>
+
+ </ul>
+ <div class="article markdown">
+ <h2 id="symbol-">Symbol 寮曠敤</h2>
+ <hr>
+
+ <p>杩欐槸涓�绉嶅叏鏂扮殑浣跨敤鏂瑰紡锛屽簲璇ヨ杩欐墠鏄湭鏉ョ殑涓绘祦锛屼篃鏄钩鍙扮洰鍓嶆帹鑽愮殑鐢ㄦ硶銆傜浉鍏充粙缁嶅彲浠ュ弬鑰冭繖绡�<a href="">鏂囩珷</a>
+ 杩欑鐢ㄦ硶鍏跺疄鏄仛浜嗕竴涓� SVG 鐨勯泦鍚堬紝涓庡彟澶栦袱绉嶇浉姣斿叿鏈夊涓嬬壒鐐癸細</p>
+ <ul>
+ <li>鏀寔澶氳壊鍥炬爣浜嗭紝涓嶅啀鍙楀崟鑹查檺鍒躲��</li>
+ <li>閫氳繃涓�浜涙妧宸э紝鏀寔鍍忓瓧浣撻偅鏍凤紝閫氳繃 <code>font-size</code>, <code>color</code> 鏉ヨ皟鏁存牱寮忋��</li>
+ <li>鍏煎鎬ц緝宸紝鏀寔 IE9+锛屽強鐜颁唬娴忚鍣ㄣ��</li>
+ <li>娴忚鍣ㄦ覆鏌� SVG 鐨勬�ц兘涓�鑸紝杩樹笉濡� png銆�</li>
+ </ul>
+ <p>浣跨敤姝ラ濡備笅锛�</p>
+ <h3 id="-symbol-">绗竴姝ワ細寮曞叆椤圭洰涓嬮潰鐢熸垚鐨� symbol 浠g爜锛�</h3>
+<pre><code class="language-html"><script src="./iconfont.js"></script>
+</code></pre>
+ <h3 id="-css-">绗簩姝ワ細鍔犲叆閫氱敤 CSS 浠g爜锛堝紩鍏ヤ竴娆″氨琛岋級锛�</h3>
+<pre><code class="language-html"><style>
+.icon {
+ width: 1em;
+ height: 1em;
+ vertical-align: -0.15em;
+ fill: currentColor;
+ overflow: hidden;
+}
+</style>
+</code></pre>
+ <h3 id="-">绗笁姝ワ細鎸戦�夌浉搴斿浘鏍囧苟鑾峰彇绫诲悕锛屽簲鐢ㄤ簬椤甸潰锛�</h3>
+<pre><code class="language-html"><svg class="icon" aria-hidden="true">
+ <use xlink:href="#icon-xxx"></use>
+</svg>
+</code></pre>
+ </div>
+ </div>
+
+ </div>
+ </div>
+ <script>
+ $(document).ready(function () {
+ $('.tab-container .content:first').show()
+
+ $('#tabs li').click(function (e) {
+ var tabContent = $('.tab-container .content')
+ var index = $(this).index()
+
+ if ($(this).hasClass('active')) {
+ return
+ } else {
+ $('#tabs li').removeClass('active')
+ $(this).addClass('active')
+
+ tabContent.hide().eq(index).fadeIn()
+ }
+ })
+ })
+ </script>
+</body>
+</html>
diff --git a/src/assets/iconfont/iconfont.css b/src/assets/iconfont/iconfont.css
new file mode 100644
index 0000000..4d6f4a3
--- /dev/null
+++ b/src/assets/iconfont/iconfont.css
@@ -0,0 +1,55 @@
+@font-face {
+ font-family: "iconfont"; /* Project id 5087426 */
+ src: url('iconfont.woff2?t=1765876018836') format('woff2'),
+ url('iconfont.woff?t=1765876018836') format('woff'),
+ url('iconfont.ttf?t=1765876018836') format('truetype');
+}
+
+.iconfont {
+ font-family: "iconfont" !important;
+ font-size: 16px;
+ font-style: normal;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+.icon-dingwei:before {
+ content: "\e6a2";
+}
+
+.icon-dianhua:before {
+ content: "\e8c3";
+}
+
+.icon-xingxing1:before {
+ content: "\e870";
+}
+
+.icon-banshou:before {
+ content: "\e600";
+}
+
+.icon-hezuo-tianchong:before {
+ content: "\e65b";
+}
+
+.icon-zijin:before {
+ content: "\e6fc";
+}
+
+.icon-baxin:before {
+ content: "\e604";
+}
+
+.icon-truck:before {
+ content: "\e607";
+}
+
+.icon-huoche:before {
+ content: "\e60d";
+}
+
+.icon-safe:before {
+ content: "\e6da";
+}
+
diff --git a/src/assets/iconfont/iconfont.js b/src/assets/iconfont/iconfont.js
new file mode 100644
index 0000000..fa04965
--- /dev/null
+++ b/src/assets/iconfont/iconfont.js
@@ -0,0 +1 @@
+window._iconfont_svg_string_5087426='<svg><symbol id="icon-dingwei" viewBox="0 0 1024 1024"><path d="M803.032 126.653l-2.695-2.695C724.884 45.81 625.179 0 512 0S299.116 45.81 223.663 121.263l-2.695 5.39C148.211 202.105 102.4 307.2 102.4 423.073s45.81 220.97 118.568 296.422l2.695 2.694L512 1024l288.337-299.116 2.695-2.695C875.789 646.737 921.6 541.642 921.6 423.074c0-115.874-45.81-220.969-118.568-296.421zM512 544.337c-78.147 0-142.821-67.369-142.821-148.21 0-35.032 10.779-64.674 29.642-88.927 26.947-35.032 67.368-59.284 113.179-59.284 78.147 0 142.821 67.368 142.821 148.21S590.147 544.336 512 544.336z" ></path></symbol><symbol id="icon-dianhua" viewBox="0 0 1024 1024"><path d="M742.218667 526.666667c107.637333 0 194.848 87.573333 194.848 195.552V725.333333c0 103.168-93.578667 190.4-190.4 190.4h-45.44a30.4 30.4 0 0 1-2.517334-0.106666c-153.898667-12.778667-312.266667-80.128-411.914666-173.888C169.184 631.082667 86.933333 461.44 86.933333 303.818667c0-113.802667 84.405333-195.552 194.848-195.552 107.626667 0 194.837333 87.573333 194.837334 195.552 0 76.032-44.181333 138.773333-111.701334 169.12a507.658667 507.658667 0 0 0 81.6 100.266666c36.288 34.453333 76.544 62.336 118.752 81.813334 26.304-76.170667 94.186667-128.352 176.96-128.352z" fill="#000000" ></path></symbol><symbol id="icon-xingxing1" viewBox="0 0 1024 1024"><path d="M313.991837 914.285714c-20.37551 0-40.228571-6.269388-56.946939-18.808163-30.302041-21.942857-44.930612-58.514286-38.661225-95.085714l24.032654-141.061225c3.134694-18.285714-3.134694-36.571429-16.195919-49.110204L123.297959 509.910204c-26.644898-26.122449-36.04898-64.261224-24.555102-99.787755 11.493878-35.526531 41.795918-61.126531 78.889796-66.35102l141.583674-20.375511c18.285714-2.612245 33.959184-14.106122 41.795918-30.30204l63.216326-128.522449C440.946939 130.612245 474.383673 109.714286 512 109.714286s71.053061 20.897959 87.24898 54.334694L662.987755 292.571429c8.359184 16.195918 24.032653 27.689796 41.795918 30.30204l141.583674 20.375511c37.093878 5.22449 67.395918 30.82449 78.889796 66.35102 11.493878 35.526531 2.089796 73.665306-24.555102 99.787755l-102.4 99.787755c-13.061224 12.538776-19.330612 31.346939-16.195919 49.110204l24.032654 141.061225c6.269388 37.093878-8.359184 73.142857-38.661225 95.085714-30.302041 21.942857-69.485714 24.555102-102.4 7.314286L538.122449 836.440816c-16.195918-8.359184-35.526531-8.359184-51.722449 0l-126.955102 66.87347c-14.628571 7.314286-30.302041 10.971429-45.453061 10.971428z m162.481632-96.653061z" fill="#F2CB51" ></path></symbol><symbol id="icon-banshou" viewBox="0 0 1024 1024"><path d="M388.94592 336.089088c27.281408-64.39936 14.688256-141.676544-37.808128-194.17088-52.494336-52.494336-129.769472-65.089536-194.168832-37.80608l84.71552 84.71552c17.272832 17.272832 17.272832 45.275136 0 62.54592l-31.27296 31.27296c-17.272832 17.272832-45.273088 17.272832-62.54592 0L63.152128 197.92896c-27.283456 64.397312-14.690304 141.674496 37.80608 194.168832 52.496384 52.496384 129.769472 65.089536 194.17088 37.808128l177.965056 177.967104c17.272832 17.268736 45.273088 17.268736 62.54592 0l31.275008-31.275008c17.268736-17.272832 17.268736-45.273088 0-62.54592L388.94592 336.089088 388.94592 336.089088z" fill="#272536" ></path><path d="M460.06272 597.876736c-27.305984 64.387072-14.743552 141.672448 37.732352 194.183168 52.471808 52.516864 129.744896 65.144832 194.154496 37.883904l-84.682752-84.748288c-17.26464-17.281024-17.256448-45.283328 0.024576-62.547968l31.2832-31.258624c17.281024-17.266688 45.28128-17.2544 62.54592 0.024576l84.682752 84.750336c27.308032-64.387072 14.743552-141.668352-37.730304-194.183168-52.477952-52.516864-129.746944-65.140736-194.156544-37.883904l-177.897472-178.038784c-17.26464-17.27488-45.266944-17.28512-62.54592-0.024576l-31.285248 31.260672c-17.27488 17.266688-17.28512 45.268992-0.024576 62.54592L460.06272 597.876736 460.06272 597.876736z" fill="#272536" ></path></symbol><symbol id="icon-hezuo-tianchong" viewBox="0 0 1024 1024"><path d="M411.733333 104.533333c-25.6-25.6-66.133333-25.6-89.6 0L19.2 405.333333c-25.6 25.6-25.6 66.133333 0 91.733334l422.4 422.4c25.6 25.6 66.133333 25.6 89.6 0L576 874.666667 349.866667 648.533333c-8.533333-8.533333-8.533333-21.333333 0-29.866666 8.533333-8.533333 21.333333-8.533333 29.866666 0l226.133334 226.133333 59.733333-59.733333-300.8-302.933334c-8.533333-8.533333-8.533333-21.333333 0-29.866666 8.533333-8.533333 21.333333-8.533333 29.866667 0l302.933333 302.933333 59.733333-59.733333-226.133333-228.266667c-8.533333-8.533333-8.533333-21.333333 0-29.866667 8.533333-8.533333 21.333333-8.533333 29.866667 0L789.333333 663.466667l83.2-89.6-460.8-469.333334zM1004.8 347.733333l-181.333333-181.333333c-25.6-25.6-66.133333-25.6-89.6 0l-102.4 104.533333 270.933333 273.066667 102.4-102.4c25.6-27.733333 25.6-68.266667 0-93.866667z" fill="#666767" ></path></symbol><symbol id="icon-zijin" viewBox="0 0 1026 1024"><path d="M984.064 904.192H750.592c-39.424 49.664-89.088 90.624-145.92 119.808h378.88c22.016 0 39.936-17.92 39.936-39.936v-39.936c0.512-22.016-17.408-39.936-39.424-39.936z m0-225.792H845.312c-5.12 40.96-15.36 81.408-31.232 119.808h170.496c22.016 0 39.936-17.92 39.936-39.936v-39.936c-0.512-22.528-18.432-39.936-40.448-39.936z m0-226.304H814.08c15.872 38.4 26.624 78.336 31.232 119.808h138.752c22.016 0 39.936-17.92 39.936-39.936v-39.936c0-22.016-17.92-39.936-39.936-39.936z m0-225.792H606.208c56.32 29.184 105.472 70.144 144.896 119.808h232.96c22.016 0 39.936-17.92 39.936-39.936V266.24c0-22.528-17.92-39.936-39.936-39.936z m-584.704-0.512C178.688 225.792 0 404.48 0 624.64S178.688 1024 399.36 1024s399.36-178.688 399.36-399.36-179.2-398.848-399.36-398.848zM524.8 619.52v36.352h-90.624l-0.512 0.512v45.568H524.8v36.352h-91.136v82.432h-69.12v-82.432H273.92v-36.352h90.624v-45.568l-0.512-0.512H273.92V619.52h69.632l-104.96-190.976h77.824L399.36 593.92l82.944-165.376h77.824L454.656 619.52H524.8z" ></path></symbol><symbol id="icon-baxin" viewBox="0 0 1043 1024"><path d="M656.932078 111.555848l-8.395309 8.52251c-11.490549 11.53295-22.896297 23.1507-34.429246 34.64125-18.995446 18.868245-38.033294 37.694089-57.071141 56.519933-2.162428 2.120028-4.324856 4.197654-6.444884 6.402483-1.696022 1.738423-3.561646 2.33203-6.020878 1.865624-27.00915-5.38487-54.272704-7.165693-81.748261-5.596872-28.408369 1.56882-56.26553 6.487284-83.571484 14.62819-19.885858 5.936077-39.050907 13.737778-57.495146 23.193101-28.153965 14.416187-53.9759 32.266819-76.956999 54.145502-19.801057 18.825844-37.863691 39.135708-52.619083 62.159207-16.069809 25.143526-29.044377 51.813472-38.330097 80.306642-6.996091 21.454678-11.53295 43.418163-13.90738 65.805654-2.459232 23.320303-2.586434 46.725406-0.593608 70.088109 2.501632 29.637985 9.328121 58.385558 19.801057 86.24272 7.6745 20.437065 17.469027 39.856517 28.874775 58.427958 14.204184 23.065899 31.334007 43.757368 50.668657 62.710413 17.553828 17.214623 36.676476 32.35162 57.495146 45.326189 17.214623 10.727339 35.277258 19.843457 54.145503 27.433156a365.619944 365.619944 0 0 0 73.649755 20.903471c23.193101 4.070453 46.555804 5.596873 70.130511 4.706461 25.44033-1.017613 50.456655-4.494458 75.006573-10.896941 28.917175-7.547298 56.647135-18.147435 82.850675-32.606024 22.048286-12.126557 42.35815-26.712347 61.141593-43.545365 23.489905-21.030673 43.714967-44.73258 60.590387-71.317725 20.691469-32.563623 35.192457-67.586477 43.630166-105.238166a335.769957 335.769957 0 0 0 7.335295-98.030072c-1.187215-16.493814-4.028052-32.775625-8.268107-48.803033-0.678409-2.586434-0.169602-4.070453 1.950425-5.851276 14.797792-12.508162 29.510783-25.143526 44.138973-37.821291 10.345734-8.946516 20.606667-18.062634 30.910001-27.093951 10.896941-9.582524 21.751482-19.165049 32.648424-28.747573 0.678409-0.593608 1.399218-1.102414 2.247229-1.780824 0.424006 0.551207 0.848011 0.975213 1.060013 1.52642a468.653282 468.653282 0 0 1 22.684295 67.586477 405.434061 405.434061 0 0 1 9.370521 50.795859c3.010439 25.313128 3.392044 50.711058 2.459232 76.193789-0.678409 18.868245-2.247229 37.651689-5.512071 56.22313-5.130467 29.341181-13.144171 57.919152-23.744308 85.818713-7.123292 18.783444-15.009795 37.227683-24.380317 54.993514-17.935433 33.962841-39.771716 65.254447-65.424049 93.832418-18.48664 20.649068-38.711702 39.517313-60.463184 56.689535-27.136352 21.369877-56.307931 39.474912-87.514736 54.272705-32.690824 15.518601-66.696065 27.305954-102.015724 35.319658-18.868245 4.282456-37.948492 7.632099-57.240742 9.709726-28.111565 3.05284-56.307931 3.392044-84.504297 1.992826-23.659507-1.187215-47.02221-4.536859-70.215311-9.455323-29.044377-6.14808-57.367944-14.458588-84.801101-25.652333-28.917175-11.787353-56.689536-25.949137-82.850675-43.121359-19.673855-12.889767-38.287697-27.136352-55.926325-42.697354-17.087422-15.094596-33.11483-31.249206-47.997423-48.54863-22.133087-25.694733-41.467738-53.339892-57.367945-83.274681-13.440974-25.313128-24.846722-51.474268-32.860426-79.034626-4.367257-15.052195-8.692113-30.189192-12.041756-45.49579-3.985652-18.317038-6.360083-36.930879-7.6745-55.671922-1.611221-22.557093-1.611221-45.156586-0.80561-67.75608 1.144815-31.122004 6.105679-61.6504 14.373786-91.669989 7.759301-28.323568 17.469027-55.926326 30.316393-82.341869 12.592963-25.864336 27.093952-50.541456 44.308575-73.649756 14.62819-19.673855 30.613197-38.118095 47.827821-55.54472 19.673855-19.928259 41.298136-37.609288 64.406436-53.424694 16.281811-11.151345 33.072429-21.497079 50.626257-30.613197 22.260289-11.53295 45.071785-21.878684 68.900894-29.722786 21.242676-6.996091 42.824556-12.804966 64.788041-17.257023 36.167669-7.292895 72.632143-10.472936 109.47822-9.540124 25.991537 0.678409 51.771072 3.434445 77.338604 8.225706 25.016325 4.706461 49.439042 11.363347 73.352952 19.97066 3.264842 1.187215 6.402483 2.586434 9.624925 3.90085 0.212003 0.084801 0.424006 0.296804 0.932812 0.72081z" ></path><path d="M582.222309 348.744526c-6.402483 6.699287-12.550563 13.271372-18.825844 19.673855-18.317038 18.656242-36.718876 37.227683-55.078315 55.841524-10.388135 10.515336-20.691469 21.030673-31.164405 31.461209-1.187215 1.187215-2.883237 2.077627-4.536858 2.628834-11.236146 3.943251-22.472292 7.886502-32.648424 14.246585-19.843457 12.423361-35.362059 28.662772-43.290962 51.092663-11.193745 31.58841-5.215268 60.251182 16.324212 85.606711 13.780179 16.19701 31.249206 26.712347 52.237478 30.189191 30.146791 5.045665 56.901538-2.33203 79.458631-23.574706 13.483375-12.720165 22.599493-27.984363 27.178753-45.919795 0.720809-2.840837 0.848011-5.808875 1.484019-8.649713 0.254403-1.187215 0.848011-2.544033 1.696022-3.392044 16.493814-15.985007 32.987628-31.927614 49.566243-47.78542 18.910645-18.062634 37.863691-36.040468 56.859138-54.060701 0.76321-0.720809 1.611221-1.399218 2.628834-2.24723 0.254403 0.381605 0.720809 0.932812 1.060014 1.568821 8.268107 16.239411 14.712991 33.11483 18.147435 51.050262 4.62166 24.210714 5.257668 48.506229 2.713636 73.013748-2.628834 25.567532-10.388135 49.693445-21.369878 72.716943a196.954796 196.954796 0 0 1-31.206805 46.895009c-14.840193 16.536215-31.546009 30.782799-50.541456 42.35815-25.737134 15.645803-53.509494 25.821935-83.23228 30.655597-20.352264 3.307243-40.87413 3.688848-61.438397 1.992826a220.563422 220.563422 0 0 1-83.23228-23.744308c-21.666681-11.108944-41.213335-25.143526-58.427958-42.485351-21.454678-21.58188-37.270084-46.767807-47.955022-75.176176-6.105679-16.281811-9.964129-33.15723-11.872155-50.456654-1.653621-15.306599-2.204829-30.697998-1.060013-46.089399 1.441619-18.953046 4.833663-37.524487 10.769739-55.587121 9.921729-30.189192 25.991537-56.731936 47.361415-80.17944 15.136996-16.621016 32.224418-30.910001 51.64387-42.188548 21.963485-12.762566 45.198987-22.217888 70.257712-27.00915 18.52904-3.519246 37.142882-5.342469 55.968726-4.706461 28.408369 0.932812 55.968726 5.936077 82.087465 17.511427 2.416831 1.060014 4.748862 2.416831 7.123293 3.646447 0.381605 0.212003 0.678409 0.551207 1.314417 1.060014z" ></path><path d="M874.616503 171.383024c7.335295 0.424006 14.416187 0.80561 21.497079 1.187215 19.546654 1.017613 39.093307 1.992826 58.639961 3.05284 17.765831 0.932812 35.531661 1.908025 53.297492 2.883237 8.352908 0.466406 16.705817 1.060014 25.058725 1.48402 4.536859 0.212003 8.013704 1.865624 9.540124 6.275281 1.611221 4.664061 0.720809 9.031317-2.840837 12.550563-5.088066 5.003265-10.345734 9.752127-15.4338 14.755391-28.620371 28.111565-57.198342 56.26553-85.776314 84.419496-25.185927 24.846722-50.329453 49.778246-75.51538 74.667369-2.416831 2.374431-4.876063 4.664061-7.335295 6.996091-2.162428 2.035226-4.706461 3.09524-7.7593 2.925638-11.363347-0.636008-22.726695-1.144815-34.090043-1.823224-12.084157-0.720809-24.125913-1.653621-36.21007-2.459232-15.179397-1.017613-30.358794-2.035226-45.538191-2.968039-0.975213-0.042401-2.28963 0.339204-2.968038 0.975213-22.726695 22.048286-45.410989 44.138973-68.052883 66.27206-19.970659 19.546654-39.814117 39.178108-59.742375 58.724762-9.667325 9.455323-19.29225 18.910645-29.086778 28.281167-12.041756 11.53295-26.669946 15.009795-42.824556 13.356173-11.151345-1.144815-20.606667-5.639273-28.153965-14.119383-6.402483-7.208094-9.455323-15.730604-10.472936-25.143526-1.144815-10.854541 0.424006-21.327477 5.130467-31.122004 1.780823-3.646447 4.664061-6.95369 7.589698-9.879328 16.281811-16.324212 32.733225-32.436421 49.099837-48.633431 25.101126-24.846722 50.202251-49.693445 75.218576-74.582568 11.405748-11.363347 22.769095-22.769095 34.047642-34.259645 0.848011-0.890412 1.52642-2.459232 1.441619-3.646447-0.890412-10.430535-2.077627-20.861071-2.968039-31.334006-1.653621-19.589054-3.222442-39.178108-4.706461-58.767163-0.424006-5.766475-0.424006-11.57535-0.76321-17.341825-0.254403-4.112853 1.144815-7.420096 4.070453-10.260933 8.946516-8.649712 17.808231-17.384226 26.669946-26.118739 18.52904-18.232237 37.01568-36.422073 55.502321-54.654309 15.348999-15.094596 30.697998-30.146791 46.004597-45.326189 17.808231-17.681029 35.531661-35.404459 53.255091-53.127889 2.925638-2.925638 6.275281-4.62166 10.388134-4.579259 4.960864 0.042401 8.776914 3.604047 9.20092 8.564911 1.484019 17.469027 2.840837 34.895653 4.367257 52.364679 1.653621 18.868245 3.392044 37.73649 5.088066 56.562334 1.484019 16.451413 3.010439 32.945228 4.536858 49.396641 0.127202 1.399218 0.296804 2.840837 0.466407 4.452058z" ></path></symbol><symbol id="icon-truck" viewBox="0 0 1365 1024"><path d="M1029.804715 780.970667c-40.5504 0-69.4272 34.816-69.4272 69.495466 0 40.482133 34.679467 69.4272 69.4272 69.4272 40.482133 0 69.4272-34.747733 69.4272-69.4272 0-34.747733-34.747733-69.4272-69.4272-69.4272z m-694.272 0c-40.482133 0-69.4272 34.816-69.4272 69.495466 0 40.482133 34.747733 69.4272 69.4272 69.4272 34.747733 5.7344 69.4272-28.945067 69.4272-63.6928 0-40.482133-34.679467-75.1616-69.4272-75.1616z m503.330133 28.945066h34.747733c17.339733-69.4272 80.964267-115.712 150.391467-115.712 75.229867 0 133.12 46.2848 150.391467 115.712h23.210666c40.482133 0 69.358933-34.679467 69.358934-69.4272V549.6832c0-17.339733-5.7344-34.747733-17.339734-46.2848l-173.533866-214.084267c-11.605333-17.339733-34.747733-28.8768-57.890134-28.8768H827.394048v549.546667h11.605333z m-659.456 0c17.271467-69.4272 80.964267-115.712 150.391467-115.712 75.1616 0 133.051733 46.2848 150.391466 115.712h271.906134V161.9968c0-40.482133-34.679467-69.4272-69.4272-69.4272H161.998848c-40.482133 0-69.4272 34.679467-69.4272 69.4272v578.491733c0 40.5504 34.679467 69.4272 69.4272 69.4272h17.339733zM0.002048 161.9968C0.002048 69.4272 69.429248 0 161.998848 0H682.668715a161.723733 161.723733 0 0 1 161.9968 161.9968v11.605333h190.8736c46.2848 0 92.5696 23.074133 121.514666 57.821867l173.533867 214.016c23.210667 28.945067 34.747733 63.6928 34.747733 98.372267v190.941866a161.723733 161.723733 0 0 1-161.9968 161.9968h-23.1424c-17.339733 69.4272-80.964267 115.712-150.391466 115.712-75.229867 0-133.12-46.2848-150.459734-115.712H486.060715c-17.408 69.4272-81.032533 115.712-150.459734 115.712-75.1616 0-133.051733-46.2848-150.391466-115.712h-23.210667A161.723733 161.723733 0 0 1 0.002048 734.754133v-572.757333z" fill="#293644" ></path></symbol><symbol id="icon-huoche" viewBox="0 0 1260 1024"><path d="M991.112409 310.33927a39.083082 39.083082 0 0 0-32.472344-17.37395h-39.033252a39.033252 39.033252 0 0 0-39.033253 39.033253v234.199513a39.033252 39.033252 0 0 0 39.033253 39.033252h156.133009a39.033252 39.033252 0 0 0 39.033252-39.033252v-58.549878a39.232571 39.232571 0 0 0-6.643958-21.592863z m84.710462 255.792376h-156.133009v-234.199513h39.033252l117.099757 175.649635z" fill="#333332" ></path><path d="M1240.443536 485.839416l-157.52824-236.30897a117.930251 117.930251 0 0 0-98.297356-52.620146h-157.54485V118.14618A118.295669 118.295669 0 0 0 708.92691 0H118.16279A118.295669 118.295669 0 0 0 0 118.14618v433.23588a118.312279 118.312279 0 0 0 118.16279 118.14618v118.14618a118.295669 118.295669 0 0 0 118.14618 118.16279h44.979594c17.606488 67.78498 78.76412 118.14618 151.980536 118.14618s134.307607-50.3612 151.897486-118.14618h208.038929c17.606488 67.78498 78.76412 118.14618 151.980535 118.14618s134.307607-50.3612 151.897486-118.14618h45.062644a118.295669 118.295669 0 0 0 118.14618-118.16279V551.38206a117.548224 117.548224 0 0 0-19.848824-65.542644zM118.16279 590.76412a39.39867 39.39867 0 0 1-39.39867-39.38206V118.14618a39.39867 39.39867 0 0 1 39.39867-39.34884h590.76412a39.39867 39.39867 0 0 1 39.38206 39.38206v433.20266a39.39867 39.39867 0 0 1-39.38206 39.38206z m315.10631 354.45515a78.78073 78.78073 0 1 1 78.76412-78.76412 78.76412 78.76412 0 0 1-78.76412 78.76412z m511.95017 0a78.78073 78.78073 0 1 1 78.78073-78.76412 78.76412 78.76412 0 0 1-78.78073 78.76412z m236.30897-157.54485a39.38206 39.38206 0 0 1-39.38206 39.39867h-45.012814c-17.606488-67.78498-78.83056-118.16279-151.914096-118.16279s-134.374047 50.37781-151.980535 118.16279H585.216415c-17.606488-67.78498-78.76412-118.16279-151.914095-118.16279s-134.374047 50.37781-151.980536 118.16279h-45.012814a39.38206 39.38206 0 0 1-39.38206-39.39867v-118.14618h512a118.295669 118.295669 0 0 0 118.14618-118.14618v-275.72425h157.54485a39.43189 39.43189 0 0 1 32.754712 17.523439l157.54485 236.30897a39.664428 39.664428 0 0 1 6.643958 21.858621z" fill="#333332" ></path></symbol><symbol id="icon-safe" viewBox="0 0 1024 1024"><path d="M944.92 116.95l-420-112.33a50.088 50.088 0 0 0-25.84 0l-420 112.33c-22.64 6.05-38.03 27.02-37.04 50.43l14.8 348.08c0.01 0.24 0.02 0.48 0.04 0.71 15.71 276.28 163.28 355.07 350.1 454.81 25.98 13.87 52.84 28.21 80.66 43.735a49.938 49.938 0 0 0 24.37 6.35c8.4 0 16.8-2.11 24.37-6.35 27.82-15.525 54.68-29.865 80.66-43.735 186.82-99.75 334.38-178.53 350.09-454.81 0.01-0.24 0.03-0.48 0.04-0.71l14.8-348.08c0.98-23.41-14.42-44.37-37.05-50.43z m-77.66 393.89c-12.62 219.9-113.77 273.93-297.33 371.93-18.8 10.04-38.05 20.32-57.93 31.18-19.87-10.86-39.13-21.14-57.93-31.18-183.56-98.01-284.72-152.02-297.33-371.92L143.66 203.2 512 104.69l368.34 98.51-13.08 307.64z" fill="#231815" ></path><path d="M356.44 455.43c-19.53-19.53-51.18-19.53-70.71 0-19.53 19.53-19.53 51.18 0 70.71l141.42 141.42a50.724 50.724 0 0 0 5.79 4.98c8.77 6.45 19.17 9.67 29.56 9.67 12.8 0 25.59-4.88 35.36-14.64l240.42-240.42c19.53-19.53 19.53-51.18 0-70.71-19.53-19.53-51.18-19.53-70.71 0L462.5 561.5 356.44 455.43z" fill="#231815" ></path></symbol></svg>',(e=>{var c=(t=(t=document.getElementsByTagName("script"))[t.length-1]).getAttribute("data-injectcss"),t=t.getAttribute("data-disable-injectsvg");if(!t){var l,a,i,o,n,h=function(c,t){t.parentNode.insertBefore(c,t)};if(c&&!e.__iconfont__svg__cssinject__){e.__iconfont__svg__cssinject__=!0;try{document.write("<style>.svgfont {display: inline-block;width: 1em;height: 1em;fill: currentColor;vertical-align: -0.1em;font-size:16px;}</style>")}catch(c){console&&console.log(c)}}l=function(){var c,t=document.createElement("div");t.innerHTML=e._iconfont_svg_string_5087426,(t=t.getElementsByTagName("svg")[0])&&(t.setAttribute("aria-hidden","true"),t.style.position="absolute",t.style.width=0,t.style.height=0,t.style.overflow="hidden",t=t,(c=document.body).firstChild?h(t,c.firstChild):c.appendChild(t))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(l,0):(a=function(){document.removeEventListener("DOMContentLoaded",a,!1),l()},document.addEventListener("DOMContentLoaded",a,!1)):document.attachEvent&&(i=l,o=e.document,n=!1,s(),o.onreadystatechange=function(){"complete"==o.readyState&&(o.onreadystatechange=null,d())})}function d(){n||(n=!0,i())}function s(){try{o.documentElement.doScroll("left")}catch(c){return void setTimeout(s,50)}d()}})(window);
\ No newline at end of file
diff --git a/src/assets/iconfont/iconfont.json b/src/assets/iconfont/iconfont.json
new file mode 100644
index 0000000..f558cf8
--- /dev/null
+++ b/src/assets/iconfont/iconfont.json
@@ -0,0 +1,79 @@
+{
+ "id": "5087426",
+ "name": "chuanyin",
+ "font_family": "iconfont",
+ "css_prefix_text": "icon-",
+ "description": "",
+ "glyphs": [
+ {
+ "icon_id": "3663377",
+ "name": "瀹氫綅",
+ "font_class": "dingwei",
+ "unicode": "e6a2",
+ "unicode_decimal": 59042
+ },
+ {
+ "icon_id": "11372759",
+ "name": "鐢佃瘽",
+ "font_class": "dianhua",
+ "unicode": "e8c3",
+ "unicode_decimal": 59587
+ },
+ {
+ "icon_id": "8289033",
+ "name": "鏄熸槦",
+ "font_class": "xingxing1",
+ "unicode": "e870",
+ "unicode_decimal": 59504
+ },
+ {
+ "icon_id": "1125927",
+ "name": "鎵虫墜",
+ "font_class": "banshou",
+ "unicode": "e600",
+ "unicode_decimal": 58880
+ },
+ {
+ "icon_id": "2570132",
+ "name": "鍚堜綔",
+ "font_class": "hezuo-tianchong",
+ "unicode": "e65b",
+ "unicode_decimal": 58971
+ },
+ {
+ "icon_id": "18887277",
+ "name": "璧勯噾",
+ "font_class": "zijin",
+ "unicode": "e6fc",
+ "unicode_decimal": 59132
+ },
+ {
+ "icon_id": "45531873",
+ "name": "闈跺績",
+ "font_class": "baxin",
+ "unicode": "e604",
+ "unicode_decimal": 58884
+ },
+ {
+ "icon_id": "27602184",
+ "name": "璐ц溅",
+ "font_class": "truck",
+ "unicode": "e607",
+ "unicode_decimal": 58887
+ },
+ {
+ "icon_id": "30423236",
+ "name": "璐ц溅",
+ "font_class": "huoche",
+ "unicode": "e60d",
+ "unicode_decimal": 58893
+ },
+ {
+ "icon_id": "40200795",
+ "name": "safe",
+ "font_class": "safe",
+ "unicode": "e6da",
+ "unicode_decimal": 59098
+ }
+ ]
+}
diff --git a/src/assets/iconfont/iconfont.ttf b/src/assets/iconfont/iconfont.ttf
new file mode 100644
index 0000000..ff8fce8
--- /dev/null
+++ b/src/assets/iconfont/iconfont.ttf
Binary files differ
diff --git a/src/assets/iconfont/iconfont.woff b/src/assets/iconfont/iconfont.woff
new file mode 100644
index 0000000..f9e92bd
--- /dev/null
+++ b/src/assets/iconfont/iconfont.woff
Binary files differ
diff --git a/src/assets/iconfont/iconfont.woff2 b/src/assets/iconfont/iconfont.woff2
new file mode 100644
index 0000000..eca40b7
--- /dev/null
+++ b/src/assets/iconfont/iconfont.woff2
Binary files differ
diff --git a/src/assets/logo.png b/src/assets/logo.png
new file mode 100644
index 0000000..0220175
--- /dev/null
+++ b/src/assets/logo.png
Binary files differ
diff --git a/src/assets/main.css b/src/assets/main.css
new file mode 100644
index 0000000..a461c50
--- /dev/null
+++ b/src/assets/main.css
@@ -0,0 +1 @@
+@import "tailwindcss";
\ No newline at end of file
diff --git a/src/assets/phone-icon.png b/src/assets/phone-icon.png
new file mode 100644
index 0000000..ac8e247
--- /dev/null
+++ b/src/assets/phone-icon.png
Binary files differ
diff --git a/src/assets/qrcode1-plus.png b/src/assets/qrcode1-plus.png
new file mode 100644
index 0000000..6acc3eb
--- /dev/null
+++ b/src/assets/qrcode1-plus.png
Binary files differ
diff --git a/src/assets/qrcode1.png b/src/assets/qrcode1.png
new file mode 100644
index 0000000..9f9a215
--- /dev/null
+++ b/src/assets/qrcode1.png
Binary files differ
diff --git a/src/assets/qrcode2-plus.png b/src/assets/qrcode2-plus.png
new file mode 100644
index 0000000..9c36964
--- /dev/null
+++ b/src/assets/qrcode2-plus.png
Binary files differ
diff --git a/src/assets/qrcode2.png b/src/assets/qrcode2.png
new file mode 100644
index 0000000..db86dea
--- /dev/null
+++ b/src/assets/qrcode2.png
Binary files differ
diff --git a/src/assets/qrcode3-plus.png b/src/assets/qrcode3-plus.png
new file mode 100644
index 0000000..0de11dd
--- /dev/null
+++ b/src/assets/qrcode3-plus.png
Binary files differ
diff --git a/src/assets/qrcode3.png b/src/assets/qrcode3.png
new file mode 100644
index 0000000..bd56967
--- /dev/null
+++ b/src/assets/qrcode3.png
Binary files differ
diff --git a/src/common/ip.js b/src/common/ip.js
new file mode 100644
index 0000000..82b9a61
--- /dev/null
+++ b/src/common/ip.js
@@ -0,0 +1,9 @@
+import jsonp from "jsonp"
+export const Q0Map =(address)=>{
+ return jsonp(`https://apis.map.qq.com/ws/geocoder/v1`,
+ {
+ output:"jsonp",
+ key:'S3UBZ-KJP3Q-Z5A5F-GHMMM-4HADV-6RFFZ',
+ address
+})
+}
\ No newline at end of file
diff --git a/src/common/method.js b/src/common/method.js
new file mode 100644
index 0000000..99f8275
--- /dev/null
+++ b/src/common/method.js
@@ -0,0 +1,83 @@
+
+
+import $router from '../router/index'
+import { ElMessageBox } from 'element-plus'
+
+// const {$meth,$confirm } = getCurrentInstance().appContext.config.globalProperties
+function gourl (url,obj = {}) {
+ $router.push({
+ path:url,
+ query:obj
+ })
+}
+// 鐢变簬json.stringify宓屽寰幆瀵艰嚧鎶ラ敊鐨勮В鍐冲嚱鏁帮紝obj鏄stringify鐨勫璞�
+function circularSafeStringify (obj){
+ const cache = new Set();
+ return JSON.stringify(obj, (key, value) => {
+ if (typeof value === "object" && value !== null) {
+ if (cache.has(value)) {
+ // 褰撳墠瀵硅薄宸茬粡瀛樺湪浜庣紦瀛樹腑锛岃鏄庡瓨鍦ㄥ惊鐜紩鐢紝杩斿洖鍗犱綅绗︽垨鍏朵粬澶勭悊鏂瑰紡
+ return "[Circular Reference]";
+ }
+ cache.add(value);
+ }
+ return value;
+ });
+}
+
+function islogin(el){
+ let newel=el?el:"璇峰厛鐧诲綍"
+ ElMessageBox.confirm(newel, "鎻愮ず",{
+ confirmButtonText: '纭畾',
+ cancelButtonText:"鍙栨秷",
+ type: 'warning',
+ callback: (action) => {
+ if(action=="confirm"){
+ $router.push({path:"/login"})
+
+ }
+
+
+
+ },
+ })
+}
+//闃叉姈
+function debounce(func, delay) {
+ let timeoutId;
+ return function (...args) {
+ clearTimeout(timeoutId);
+ timeoutId = setTimeout(() => {
+ func.apply(this, args);
+ }, delay);
+ };
+ }
+
+ // 鍏ュ弬 fmt-鏍煎紡 date-鏃ユ湡
+function formatDate(fmt, date) {
+ let ret;
+ const opt = {
+ "Y+": date.getFullYear().toString(), // 骞�
+ "m+": (date.getMonth() + 1).toString(), // 鏈�
+ "d+": date.getDate().toString(), // 鏃�
+ "H+": date.getHours().toString(), // 鏃�
+ "M+": date.getMinutes().toString(), // 鍒�
+ "S+": date.getSeconds().toString() // 绉�
+ // 鏈夊叾浠栨牸寮忓寲瀛楃闇�姹傚彲浠ョ户缁坊鍔狅紝蹇呴』杞寲鎴愬瓧绗︿覆
+ };
+ for (let k in opt) {
+ ret = new RegExp("(" + k + ")").exec(fmt);
+ if (ret) {
+ fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
+ };
+ };
+ return fmt;
+}
+
+export {
+ gourl,
+ islogin,
+ debounce,
+ circularSafeStringify,
+ formatDate
+}
\ No newline at end of file
diff --git a/src/common/param.js b/src/common/param.js
new file mode 100644
index 0000000..5903781
--- /dev/null
+++ b/src/common/param.js
@@ -0,0 +1,126 @@
+
+//鏀粯鍗曠被鍨�
+export const paymentType = {
+ //鏅�氳鍗�
+ common: 1,
+ //鎷煎洟璁㈠崟
+ pinTuan: 2,
+ //鍥㈣喘璁㈠崟
+ group: 3,
+ //绉掓潃璁㈠崟
+ seckill: 4,
+ //鐮嶄环
+ bargain: 6,
+ //璧犲搧
+ giveaway: 7,
+ //鎺ラ緳
+ solitaire: 8,
+ //浜ゆ槗缁勪欢
+ transactionComponent: 10,
+ //鍏呭��
+ recharge: 201,
+ //鏈嶅姟璁㈠崟
+ serviceOrder: 501,
+ //琛ㄥ崟浠樻鐮�
+ formPay: 301,
+ //琛ㄥ崟璁㈠崟
+ formOrder: 302,
+};
+
+//鍒嗕韩閾炬帴鍙婃捣鎶ョ被鍨�
+export const shareType = {
+ // 棣栭〉
+ index: 1,
+ // 2鍟嗗搧璇︽儏椤�
+ goods: 2,
+ // 3鎷煎洟璇︽儏椤�
+ pinTuan: 3,
+ // 4缁忛攢搴楅摵
+ inv: 4,
+ // 5鏂囩珷椤甸潰
+ article: 5,
+ // 6鍙傚洟椤甸潰
+ addPinTuan: 6,
+ // 7鑷畾涔夐〉闈�
+ page: 7,
+ // 8鏅鸿兘琛ㄥ崟
+ form: 8,
+ // 9鍥㈣喘
+ group: 9,
+ // 10绉掓潃
+ seckill: 10,
+ // 11浠g悊搴楅摵
+ agent: 11,
+ // 12鎺ラ緳
+ solitaire: 12,
+ // 13 鏈嶅姟鍟嗗搧
+ serviceGoods: 13
+};
+
+//鍒嗕韩缁堢
+export const shareClient = {
+ // 鏅�歨5
+ h5: 1,
+ // 寰俊灏忕▼搴�
+ wxMiNiProgram: 2,
+ // 寰俊鍏紬鍙凤紙h5锛�
+ wxOfficial: 3,
+ // 澶存潯绯诲皬绋嬪簭
+ ttMiNiProgram: 4,
+ // 鐢佃剳pc绔�
+ pc: 5,
+ // 闃块噷灏忕▼搴�
+ aLiMiNiProgram: 6,
+};
+
+
+//鍒嗕韩缁堢
+export const shareModel = {
+ // 閾炬帴鍒嗕韩
+ url: 1,
+ // 浜岀淮鐮�
+ qrCode: 2,
+ // 娴锋姤
+ poster: 3,
+};
+
+export const shareUrl = 'pages/share/jump/jump'; //鍒嗕韩鍒濆鍖栧湴鍧�
+
+
+//鍒楄〃鍔犺浇鐘舵��
+export const loadStatus = {
+ // 鍔犺浇鍓嶇殑鐘舵��
+ loadMore: 'loadmore',
+ // 鍔犺浇涓殑鐘舵��
+ loading: 'loading',
+ // 娌℃湁鏇村鐨勭姸鎬�
+ noMore: 'nomore',
+};
+
+
+//浼樻儬淇冮攢绫诲瀷
+export const promotionType = {
+ // 淇冮攢
+ promotion: 1,
+
+ // 浼樻儬鍒�
+ coupon: 2,
+
+ // 鍥㈣喘
+ group: 3,
+
+ // 绉掓潃
+ seckill: 4,
+};
+
+
+
+//nav椤甸潰瀵艰埅绫诲瀷
+export const navLinkType = {
+ urlLink: 1, //"URL閾炬帴"
+ shop: 2, // "鍟嗗搧"
+ article: 3, // "鏂囩珷"
+ articleCategory: 4, // "鏂囩珷鍒嗙被",
+ intelligentForms: 5, // "鏅鸿兘琛ㄥ崟"
+ shopCategory: 6 // "鍟嗗搧鍒嗙被"
+};
\ No newline at end of file
diff --git a/src/common/validate.js b/src/common/validate.js
new file mode 100644
index 0000000..8591b31
--- /dev/null
+++ b/src/common/validate.js
@@ -0,0 +1,120 @@
+export default {
+ name: [{
+ required: true,
+ message: '璇疯緭鍏ュ鍚�',
+ trigger: ['blur', 'change']
+ }, {
+ min: 2,
+ max: 10,
+ message: '闀垮害鍦�2-10涓瓧绗︿箣闂�'
+ }
+ ],
+ mobile: [{
+ required: true,
+ message: '璇疯緭鍏ユ墜鏈哄彿鐮�',
+ trigger: ['blur', 'change']
+ }, {
+ pattern: /^1[3-9]\d{9}$/,
+ message: '璇疯緭鍏ユ湁鏁堢殑鎵嬫満鍙�',
+ trigger: 'blur'
+ }
+ ],
+ areaCode: [{
+ required: true,
+ message: '璇烽�夋嫨鍦板潃',
+ trigger: ['blur', 'change']
+ }],
+ address: [{
+ required: true,
+ message: '璇疯緭鍏ュ湴鍧�璇︽儏',
+ trigger: ['blur', 'change']
+ }
+ ],
+ sales: [{
+ required: true,
+ message: '璇疯緭鍏ュ勾閿�鍞',
+ trigger: ['blur', 'change']
+ }],
+ dealer: [{
+ required: true,
+ message: '璇疯緭鍏ョ粡閿�鍟嗗鍚�',
+ trigger: ['blur', 'change']
+ }],
+ agreement:[{
+ required: true,
+ message: '璇烽槄璇诲崗璁�',
+ trigger: ['blur', 'change']
+ }],
+
+ taxheader:[{
+ required: true,
+ message: '璇疯緭鍏ョ◣鍔℃姮澶�',
+ trigger: ['blur', 'change']
+ }],
+ taxcode:[{
+ required: true,
+ message: '璇疯緭鍏ョ◣鍔$紪鍙�',
+ trigger: ['blur', 'change']
+ }],
+ bankCard: [{
+ required: true,
+ message: '璇疯緭鍏ラ摱琛岃处鍙�',
+ trigger: ['blur', 'change']
+ }],
+ gender: [{
+ required: true,
+ message: '璇烽�夋嫨鎬у埆',
+ trigger: ['blur', 'change']
+ }],
+ minSalaryRequirement: [{
+ required: true,
+ message: '璇疯緭鍏ユ湡鏈涙湀钖�',
+ trigger: ['blur', 'change']
+ }],
+ dateOfBirth: [{
+ required: true,
+ message: '璇烽�夋嫨鍑虹敓骞存湀',
+ trigger: ['blur', 'change']
+ }],
+ height: [{
+ required: true,
+ message: '璇疯緭鍏ヨ韩楂�',
+ trigger: ['blur', 'change']
+ }],
+ weight: [{
+ required: true,
+ message: '璇疯緭鍏ヤ綋閲�',
+ trigger: ['blur', 'change']
+ }],
+ educationLevel: [{
+ required: true,
+ message: '璇烽�夋嫨瀛﹀巻',
+ trigger: ['blur', 'change']
+ }],
+ smokes: [{
+ required: true,
+ message: '璇烽�夋嫨鏄惁鍚哥儫',
+ trigger: ['blur', 'change']
+ }],
+ drivingSkill: [{
+ required: true,
+ message: '璇烽�夋嫨椹鹃┒鎶�鏈�',
+ trigger: ['blur', 'change']
+ }],
+ maritalStatus: [{
+ required: true,
+ message: '璇烽�夋嫨濠氭亱鐘跺喌',
+ trigger: ['blur', 'change']
+ }],
+ parentalStatus: [{
+ required: true,
+ message: '璇烽�夋嫨鐢熻偛鎯呭喌',
+ trigger: ['blur', 'change']
+ }],
+ startEndDateTimes:[{
+ required: true,
+ message: '璇烽�夋嫨宸ヤ綔璧锋鏃堕棿',
+ trigger: ['blur', 'change']
+ }],
+
+}
\ No newline at end of file
diff --git a/src/components/breadcrumb/index.vue b/src/components/breadcrumb/index.vue
new file mode 100644
index 0000000..cc0fee0
--- /dev/null
+++ b/src/components/breadcrumb/index.vue
@@ -0,0 +1,30 @@
+<template>
+ <div class=" chuany-font14 chuany-marginbottom-20 chuany-flex chuany-justify-start chuany-align-center">
+ <span>褰撳墠浣嶇疆锛�</span>
+ <el-breadcrumb :separator-icon="ArrowRight">
+ <el-breadcrumb-item :to="{ path: '/' }">棣栭〉</el-breadcrumb-item>
+ <el-breadcrumb-item v-for="(item,index) in props.list" :key="index" :to="{ path: item.path }" v-show="item.path!='/'">{{item.name}}</el-breadcrumb-item>
+
+ </el-breadcrumb>
+ </div>
+</template>
+
+
+<script setup>
+import { ArrowRight } from '@element-plus/icons-vue'
+const { $route, $message, $meth } = getCurrentInstance().appContext.config.globalProperties
+import $store from "@/store/index.js";
+import { logout } from '@/api/login.js';
+
+const props = defineProps({
+ list: {
+ type:Array,
+ },
+
+})
+const emit = defineEmits(["click"])
+const currentchange=(el)=>{
+ emit("click", el)
+}
+
+</script>
\ No newline at end of file
diff --git a/src/components/footer/index.vue b/src/components/footer/index.vue
new file mode 100644
index 0000000..9cce4da
--- /dev/null
+++ b/src/components/footer/index.vue
@@ -0,0 +1,74 @@
+<template>
+ <div class="content chuany-font14">
+ <div class="chuany-flex chuany-justify-between chuany-align-center chuany-paddingtop-20">
+ <div>
+ <div> <span class="chuany-font22">瀹㈡湇鐑嚎</span> </div>
+ <div class="chuany-margintop-14 chuany-flex chuany-align-center chuany-justify-center chuany-font26" style="color: #8C8C8C;">
+ <!-- <img :src="phoneicon" alt=""> -->
+ <el-image style="width: 31px; height: 31px;padding: 5px 5px 0 0;" :src="phoneicon" ></el-image>
+ <div class="chuany-marginright-34 ">028-83333222</div>
+ <div>028-83333226</div>
+ </div>
+ </div>
+
+ <div>
+ <p class="chuany-font22">鍏虫敞鎴戜滑锛�</p>
+ <div class="chuany-margintop-14">
+ <el-popover placement="top" width="280" trigger="click">
+ <template #reference>
+ <el-image style="width: 63px; height: 63px;margin-right: 15px;" :src="qrcode1" class="cursor-pointer"></el-image>
+ </template>
+ <el-image style="width: 250px; height: 250px;" :src="qrcode1plus" ></el-image>
+ </el-popover>
+ <el-popover placement="top" width="280" trigger="click">
+ <template #reference>
+ <el-image style="width: 63px; height: 63px;margin-right: 15px;" :src="qrcode2" class="cursor-pointer"></el-image>
+ </template>
+ <el-image style="width: 250px; height: 250px;" :src="qrcode2plus"></el-image>
+ </el-popover>
+ <el-popover placement="top" width="280" trigger="click">
+ <template #reference>
+ <el-image style="width: 63px; height: 63px;" :src="qrcode3" class="cursor-pointer"></el-image>
+ </template>
+ <el-image style="width: 250px; height: 250px;" :src="qrcode3plus" ></el-image>
+ </el-popover>
+
+ </div>
+ </div>
+ </div>
+ <el-divider/>
+ <div class="chuany-text-center chuany-font14" style="padding:20px 0;color: #E4E4E4;">
+ <p class="chuany-margintop-8 golink" @click="goLink">铚�ICP澶�10206670鍙�-3 宸滲2-20120108</p>
+ <p class="chuany-margintop-8">鐗堟潈鎵�鏈� 漏 2005-2011 宸濆嵃鏂囧寲闆嗗洟鑲′唤鏈夐檺鍏徃锛坵ww.cyin.cn锛堿ll Rights Reserved</p>
+ </div>
+ </div>
+</template>
+
+
+<script setup>
+const { $route, $message, $meth } = getCurrentInstance().appContext.config.globalProperties
+import $store from "@/store/index.js";
+import { logout } from '@/api/login.js';
+import logo from '@/static/img/logo.png'
+import { Phone } from '@element-plus/icons-vue'
+import qrcode1 from '@/assets/qrcode1.png'
+import qrcode2 from '@/assets/qrcode2.png'
+import qrcode1plus from '@/assets/qrcode1-plus.png'
+import qrcode2plus from '@/assets/qrcode2-plus.png'
+import qrcode3plus from '@/assets/qrcode3-plus.png'
+import qrcode3 from '@/assets/qrcode3.png'
+import phoneicon from '@/assets/phone-icon.png'
+const goLink = ()=>{
+ window.open('https://beian.miit.gov.cn/#/Integrated/index','_blank')
+}
+</script>
+<style scoped>
+.golink{
+ cursor: pointer;
+}
+.el-divider{
+ color:#8C8C8C;
+ border-top: solid 1px #8C8C8C ;
+}
+
+</style>
\ No newline at end of file
diff --git a/src/components/header/index.vue b/src/components/header/index.vue
new file mode 100644
index 0000000..899ae88
--- /dev/null
+++ b/src/components/header/index.vue
@@ -0,0 +1,157 @@
+<template>
+ <div class="chuany-flex chuany-justify-start chuany-align-center w-[100%]">
+ <div class="chuany-flex chuany-justify-start chuany-align-center content">
+ <div class="mr-20"><el-image :src="logo" style="width:192px;height:27px" /></div>
+ <el-menu ellipsis class="el-menu-popper-demo chuany-flex chuany-justify-between chuany-font18" mode="horizontal" @select="goToIndex" :default-active="data.activeIndex"
+ :popper-offset="16" style="width:75%">
+ <el-menu-item index="/index" @click="inmenu('/index')">棣栭〉</el-menu-item>
+ <el-sub-menu index="2" :popper-offset="0">
+ <template #title>鍏充簬宸濆嵃</template>
+ <el-menu-item index="/aboutus" @click="inmenu('/aboutus')">浼佷笟浠嬬粛</el-menu-item>
+ <el-menu-item index="/qualification" @click="inmenu('/qualification')">璧勮川璁よ瘉</el-menu-item>
+ <el-menu-item index="/service" @click="inmenu('/service')">宸濆嵃鏈嶅姟</el-menu-item>
+ <el-menu-item index="/development" @click="inmenu('/development')">鍙戝睍瑙勫垝</el-menu-item>
+ </el-sub-menu>
+ <el-sub-menu index="3" :popper-offset="0">
+ <template #title>涓氬姟鑼冨洿</template>
+ <el-menu-item index="/examination" @click="inmenu('/examination')">璇曞嵎</el-menu-item>
+ <el-menu-item index="/yiyuan" @click="inmenu('/yiyuan')">鍖婚櫌鍗板埛鍝�</el-menu-item>
+ <el-menu-item index="/workbook" @click="inmenu('/workbook')">浣滀笟鏈�</el-menu-item>
+ <el-menu-item index="/assembly" @click="inmenu('/assembly')">璧勬枡姹囩紪</el-menu-item>
+ <el-menu-item index="/magazine" @click="inmenu('/magazine')">鏈熷垔鏉傚織</el-menu-item>
+ <el-menu-item index="/enrollment" @click="inmenu('/enrollment')">鎷涚敓璧勬枡</el-menu-item>
+ <el-menu-item index="/other" @click="inmenu('/other')">鍏朵粬鍗板埛鍝�</el-menu-item>
+ </el-sub-menu>
+ <el-menu-item index="/servecustomers" @click="inmenu('/servecustomers',{id:1})">鏈嶅姟瀹㈡埛</el-menu-item>
+ <el-menu-item index="/equipment" @click="inmenu('/equipment',{id:1})">璁惧瀹炲姏</el-menu-item>
+ <el-menu-item index="/join" @click="inmenu('/join',{id:1})">鍟嗗姟鍚堜綔</el-menu-item>
+ </el-menu>
+ <div style="width:220px; " class="chuany-flex chuany-justify-end chuany-align-center">
+ <el-menu v-if="$store().userInfo.userName"
+ :default-active="$store().userInfo.userName ? $store().userInfo.userName : 2" mode="horizontal"
+ @select="handleSelect">
+ <el-sub-menu index="2">
+ <!-- <template #title>{{userInfo.userName}}</template> -->
+ <template #title>{{ $store().userInfo.nickName }}</template>
+ <el-menu-item index="/member">涓汉涓績</el-menu-item>
+ <!-- <el-menu-item index="/dealer" v-if="$store().userInfo.gradeName==='缁忛攢鍟�'">缁忛攢鍟嗕腑蹇�</el-menu-item> -->
+ <el-menu-item index="/orders">璁㈠崟涓績</el-menu-item>
+ <!--<el-menu-item index="2-3">鍙戠エ涓績</el-menu-item> -->
+ <el-menu-item index="outlogin">閫�鍑虹櫥褰�</el-menu-item>
+ </el-sub-menu>
+ </el-menu>
+ <div v-else>
+ <el-button type="primary" @click="loginin" round>鐧诲綍</el-button>
+ <!-- <el-button>
+ <a href="http://ycmht.51zhengcai.com:9010/#/user/login" target="_blank">鍛樺伐鐧诲綍</a>
+ </el-button> -->
+
+ </div>
+ </div>
+ </div>
+
+ </div>
+</template>
+
+
+<script setup>
+const { $route, $message, $meth } = getCurrentInstance().appContext.config.globalProperties
+import $store from "@/store/index.js";
+import { logout } from '@/api/login.js';
+import logo from '@/static/img/logo.png'
+import { onMounted, ref } from 'vue';
+// const props = defineProps({
+// userInfo: {
+// type: Object,
+// default: () => {
+// return {};
+// }
+// },
+
+// })
+onMounted(() => {
+ data.activeIndex=$store().headermen
+})
+const data = reactive({
+ activeIndex: '/index',
+
+ // userInfo: $store().userInfo
+
+})
+const goToIndex = (key,keypath)=>{
+ console.log(key,keypath);
+ data.activeIndex = key
+}
+const inmenu = (el, num) => {
+ $meth.gourl(el, num);
+ $store().sethdmen(el);
+}
+const emit = defineEmits(["click"])
+const handleSelect = (el) => {
+ // emit("click", el)
+ if (el == "outlogin") {
+ outlogins()
+ } else {
+ $meth.gourl(el)
+ }
+
+}
+const outlogins = (el) => {
+ logout().then(res => {
+ if (res.status == true) {
+ $store().removeuserInfo()
+ $store().removeToken()
+ data.userInfo = {}
+ $meth.gourl("/login")
+
+
+ } else {
+ $message({
+ message: res.msg,
+ grouping: true,
+ type: 'error',
+ })
+ }
+ })
+}
+
+const loginin = () => {
+ sessionStorage.setItem("redirectPath", $meth.circularSafeStringify($route))
+ console.log($route);
+ $meth.gourl("/tologin")
+}
+</script>
+<style scoped lang="scss">
+.el-menu--horizontal.el-menu {
+ border-bottom: 0px;
+}
+
+.spanmenu span {
+ padding-bottom: 10px;
+}
+
+.actived {
+ border-bottom: 2px solid $main-color;
+}
+
+// .actived::after {
+// content: "";
+// display: block;
+// width: 20px;
+// height: 2px;
+// background:$main-color;
+// margin: 0 auto;
+// }
+a {
+ text-decoration: none;
+ color: inherit;
+}
+
+.el-menu-item {
+ font-size: 18px;
+}
+
+::v-deep(.el-sub-menu__title) {
+ font-size: 18px !important;
+}
+</style>
\ No newline at end of file
diff --git a/src/components/iplocation/index.vue b/src/components/iplocation/index.vue
new file mode 100644
index 0000000..65fa9dd
--- /dev/null
+++ b/src/components/iplocation/index.vue
@@ -0,0 +1,120 @@
+<template>
+
+ <el-dialog :title="props.title" v-model="dialogVisble" width="100%">
+ <div>
+
+ <p> 缁忕含搴︼細{{ loc.lat }},{{ loc.lon }}</p>
+ <p>鍦板潃锛歿{ loc.address }}</p>
+ <div id="container" style="width:100%;height:450px" ref="container">
+
+ </div>
+ </div>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button @click="close">鍙� 娑�</el-button>
+ <el-button type="primary" @click="confirm">纭� 瀹�</el-button>
+ </span>
+
+ </template>
+ </el-dialog>
+</template>
+
+<script setup>
+import { onMounted, ref } from 'vue';
+// 瀹氫箟鎺у埗寮圭獥鏄鹃殣鐨勫彉閲�
+var times
+const dialogVisble = ref(false)
+const props = defineProps({
+ title: {
+ type: String,
+ default: "鎻愮ず"
+ }
+})
+const container = ref(null)
+const loc = ref({
+ lon: 104.07,
+ lat: 30.67,
+ address: "",
+})
+
+watch(() => dialogVisble.value,
+ (val, o) => {
+ console.log('val is ', val)
+
+ }
+)
+
+onMounted(() => {
+ console.log(1111)
+ var times = setTimeout(() => {
+ initmap()
+ }, 9000);
+
+
+})
+
+const initmap = () => {
+ var center = new TMap.LatLng(loc.value.lat, loc.value.lon);//璁剧疆涓績鐐瑰潗鏍�
+ const mapContainer = document.getElementById('container');
+ console.log("mapContainer:", mapContainer)
+ if (mapContainer) {
+ clearTimeout(times)
+ }
+ //鍒濆鍖栧湴鍥�
+ var map = new TMap.Map(mapContainer, {
+ center: center,
+ zoom: 14, //璁剧疆鍦板浘缂╂斁绾у埆
+ });
+ var markerGeo = {
+ id: 'center',
+ position: map.getCenter(),
+ };
+
+ //鍒涘缓骞跺垵濮嬪寲MultiMarker
+ var markerLayer = new TMap.MultiMarker({
+ map: map, //鎸囧畾鍦板浘瀹瑰櫒
+ //鏍峰紡瀹氫箟
+ geometries: [
+ markerGeo
+ ]
+ })
+ var geocoder = new TMap.service.Geocoder(); // 鏂板缓涓�涓閫嗗湴鍧�瑙f瀽绫�
+ //缁戝畾鐐瑰嚮浜嬩欢
+ map.on("click", function (evt) {
+ let poi = evt.poi;
+ console.log('event is ', evt)
+ console.log('poi is ', poi)
+ var lat = evt.latLng.getLat().toFixed(6);
+ var lng = evt.latLng.getLng().toFixed(6);
+ loc.value.lon = lng;
+ loc.value.lat = lat
+
+ // markerGeo.position = map.getCenter();
+ // markerLayer.updateGeometries([markerGeo]);
+ var location = new TMap.LatLng(lat, lng);
+ geocoder.getAddress({ location: location }) // 灏嗙粰瀹氱殑鍧愭爣浣嶇疆杞崲涓哄湴鍧�
+ .then((result) => {
+ loc.value.address = result.result.address + (poi ? poi.name : '')
+ });
+ map.setCenter(new TMap.LatLng(lat, lng));//鍧愭爣涓哄ぉ瀹夐棬
+ // flushLatLon()
+ })
+}
+const emit = defineEmits(["click"])
+const confirm = () => {
+ emit("click", loc.value)
+
+ // dialogVisble.value = false
+}
+
+const close = () => {
+ dialogVisble.value = false
+}
+
+// 灏嗗彉閲忔毚闇插嚭鏉�
+defineExpose({
+ dialogVisble
+})
+</script>
+
+<style></style>
\ No newline at end of file
diff --git a/src/components/pagination/index.vue b/src/components/pagination/index.vue
new file mode 100644
index 0000000..b022aca
--- /dev/null
+++ b/src/components/pagination/index.vue
@@ -0,0 +1,20 @@
+<template>
+
+<el-pagination background layout="prev, pager, next" :total="total" @current-change="currentchange" />
+</template>
+
+<script setup>
+const props = defineProps({
+ total: {
+ type:Number,
+ },
+
+})
+const emit = defineEmits(["click"])
+const currentchange=(el)=>{
+ emit("click", el)
+}
+
+</script>
+
+<style lang="less" scoped></style>
\ No newline at end of file
diff --git a/src/index.css b/src/index.css
new file mode 100644
index 0000000..c726ee5
--- /dev/null
+++ b/src/index.css
@@ -0,0 +1,17 @@
+#app {
+
+
+}
+*{
+ padding: 0;
+ margin: 0;
+}
+/* 鉁� 蹇呴』鐢� @tailwind 鎸囦护锛屼笉鑳藉湪 JS 閲� import 'tailwindcss/base' */
+@tailwind base;
+@tailwind components;
+@tailwind utilities;
+
+/* 娴嬭瘯鐢細鍔犱竴琛岃嚜瀹氫箟鏍峰紡锛岄獙璇佹槸鍚︾敓鏁� */
+.test-tailwind {
+ @apply text-red-500 font-bold;
+}
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
new file mode 100644
index 0000000..e851047
--- /dev/null
+++ b/src/main.js
@@ -0,0 +1,32 @@
+import { createApp } from 'vue'
+import ElementPlus,{ ElMessageBox, ElMessage} from 'element-plus'
+import zhCn from 'element-plus/es/locale/lang/zh-cn'
+import 'element-plus/dist/index.css'
+import App from './App.vue'
+import './index.css'
+import router from './router'
+import { useRoute } from 'vue-router'
+import { createPinia } from 'pinia'
+import VueCropper from "vue-cropper";
+import "vue-cropper/dist/index.css";
+import '@/assets/iconfont/iconfont.css'
+//甯哥敤鏂规硶搴�
+import * as method from '@/common/method.js'
+import * as param from '@/common/param.js'
+const app = createApp(App)
+app.config.globalProperties.$meth = method;
+app.config.globalProperties.$param = param;
+app.config.globalProperties.$route = useRoute();
+import piniaPluginPersistedstate from 'pinia-plugin-persistedstate';
+const pinia = createPinia()
+pinia.use(piniaPluginPersistedstate);
+app.use(pinia)
+app.use(ElMessageBox)
+app.use(ElMessage)
+app.use(VueCropper);
+app.use(ElementPlus, {
+ locale: zhCn,
+ })
+app.use(router)
+app.mount('#app')
+
diff --git a/src/router/index.js b/src/router/index.js
new file mode 100644
index 0000000..2eda9cf
--- /dev/null
+++ b/src/router/index.js
@@ -0,0 +1,135 @@
+import { createRouter, createWebHistory } from 'vue-router'
+import $store from "@/store/index.js";
+// 寮�鍚巻鍙叉ā寮�
+// vue2涓娇鐢� mode: history 瀹炵幇
+const routerHistory = createWebHistory();
+
+const router = createRouter({
+ history: routerHistory,
+ routes: [{
+ path: "/",
+ name: "main",
+ component: () => import("../views/main.vue"),
+ children: [
+ {
+ //瀹炵幇璺敱閲嶅畾鍚戯紝褰撹繘鍏ョ綉椤垫椂锛岃矾鐢辫嚜鍔ㄨ烦杞埌/student璺敱
+ redirect: '/index',
+ path: '/'
+ },
+ {
+ path: "/index",
+ name: "index",
+ component: () => import("../views/index/index.vue"),
+ meta: { title: "" }
+ },
+ {
+ path: "/aboutus",
+ name: "aboutus",
+ component: () => import("../views/aboutus/index.vue"),
+ meta: { title: "鍏充簬宸濆嵃" }
+ },
+ {
+ path: "/qualification",
+ name: "qualification",
+ component: () => import("../views/aboutus/qualification.vue"),
+ meta: { title: "璧勮川璁よ瘉" }
+ },
+ {
+ path: "/service",
+ name: "service",
+ component: () => import("../views/aboutus/service.vue"),
+ meta: { title: "宸濆嵃鏈嶅姟" }
+ },
+ {
+ path: "/development",
+ name: "development",
+ component: () => import("../views/aboutus/development.vue"),
+ meta: { title: "鍙戝睍瑙勫垝" }
+ },
+ {
+ path: "/examination",
+ name: "examination",
+ component: () => import("../views/business/examination.vue"),
+ meta: { title: "璇曞嵎" }
+ },
+ {
+ path: "/yiyuan",
+ name: "yiyuan",
+ component: () => import("../views/business/yiyuan.vue"),
+ meta: { title: "鍖婚櫌鍗板埛鍝�" }
+ },
+ {
+ path: "/workbook",
+ name: "workbook",
+ component: () => import("../views/business/workbook.vue"),
+ meta: { title: "浣滀笟鏈�" }
+ },
+ {
+ path: "/assembly",
+ name: "assembly",
+ component: () => import("../views/business/assembly.vue"),
+ meta: { title: "璧勬枡姹囩紪" }
+ },{
+ path: "/magazine",
+ name: "magazine",
+ component: () => import("../views/business/magazine.vue"),
+ meta: { title: "鏈熷垔鏉傚織" }
+ },{
+ path: "/enrollment",
+ name: "enrollment",
+ component: () => import("../views/business/enrollment.vue"),
+ meta: { title: "鎷涚敓璧勬枡" }
+ },
+ {
+ path: "/other",
+ name: "other",
+ component: () => import("../views/business/other.vue"),
+ meta: { title: "鍏朵粬鍗板埛鍝�" }
+ },
+ {
+ path: "/servecustomers",
+ name: "servecustomers",
+ component: () => import("../views/servecustomers/index.vue"),
+ meta: { title: "鏈嶅姟瀹㈡埛" }
+ },
+ {
+ path: "/equipment",
+ name: "equipment",
+ component: () => import("../views/equipment/index.vue"),
+ meta: { title: "璁惧瀹炲姏" }
+ },
+ {
+ path: "/join",
+ name: "join",
+ component: () => import("../views/join/index.vue"),
+ meta: { title: "鍟嗗姟鍚堜綔" }
+ },
+
+ ]
+ },
+ {
+ path: "/tologin",
+ name: "tologin",
+ component: () => import("../views/login/index.vue"),
+ meta: { title: "鐧诲綍" }
+ }]
+ },
+)
+router.beforeEach((to, from, next) => {
+ // console.log("to",to)
+ // console.log("from",from)
+ let crumblist = [{
+ name: from.meta.title,
+ path: from.fullPath
+ }, {
+ name: to.meta.title,
+ path: to.fullPath
+ },]
+ $store().setcrumb(crumblist)
+ $store().sethdmen(to.path)
+ // console.log("from", $store().crumb)
+ next()
+
+})
+
+export default router
diff --git a/src/static/css/comm.scss b/src/static/css/comm.scss
new file mode 100644
index 0000000..1f3f591
--- /dev/null
+++ b/src/static/css/comm.scss
@@ -0,0 +1,161 @@
+html{
+ font-family:"Source Han Sans SC";
+}
+ul{
+ list-style-type: none;
+}
+.content{
+ width: 68%;
+ margin: 0 auto;
+ overflow: hidden;
+}
+.content1{
+ width: 50%;
+ margin: 0 auto;
+ overflow: hidden;
+}
+
+/* flex寮规�у竷灞� */
+.chuany-flex { display: flex; }
+.chuany-flex-sub { flex: 1; }
+.chuany-flex-twice { flex: 2; }
+.chuany-flex-treble { flex: 3; }
+.chuany-flex-direction { flex-direction: column; }
+.chuany-flex-wrap { flex-wrap: wrap; }
+
+.chuany-flex-direction-row { flex-direction: row }
+.chuany-flex-direction-row-reverse { flex-direction: row-reverse }
+.chuany-flex-direction-column { flex-direction: column }
+.chuany-flex-direction-column-reverse { flex-direction: column-reverse }
+
+.chuany-justify-start { justify-content: flex-start; }
+.chuany-justify-end { justify-content: flex-end; }
+.chuany-justify-center { justify-content: center; }
+.chuany-justify-between { justify-content: space-between; }
+.chuany-justify-around { justify-content: space-around; }
+
+.chuany-align-start { align-items: flex-start; }
+.chuany-align-end { align-items: flex-end; }
+.chuany-align-center { align-items: center; }
+.chuany-align-stretch { align-items: stretch; }
+.chuany-self-start { align-self: flex-start; }
+.chuany-self-center { align-self: flex-center; }
+.chuany-self-end { align-self: flex-end; }
+.chuany-self-stretch { align-self: stretch; }
+
+/*鍗曡*/
+.chuany-clamp { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
+/*澶氳*/
+.chuany-clamp2 { word-wrap: break-word; -webkit-line-clamp: 2; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden; text-overflow: ellipsis; white-space: normal !important; }
+/*瀛椾綋棰滆壊*/
+.chuany-text-green { background-color: #19be6b; color: #fff; }
+.chuany-text-red, .line-red, .lines-red { color: #e54d42; }
+.chuany-text-orange, .line-orange, .lines-orange { color: #f37b1d; }
+.chuany-text-yellow, .line-yellow, .lines-yellow { color: #fbbd08; }
+.chuany-text-olive, .line-olive, .lines-olive { color: #8dc63f; }
+.chuany-text-green, .line-green, .lines-green { color: #39b54a; }
+.chuany-text-cyan, .line-cyan, .lines-cyan { color: #1cbbb4; }
+.chuany-text-blue, .line-blue, .lines-blue { color: #0081ff; }
+.chuany-text-purple, .line-purple, .lines-purple { color: #6739b6; }
+.chuany-text-mauve, .line-mauve, .lines-mauve { color: #9c26b0; }
+.chuany-text-pink, .line-pink, .lines-pink { color: #e03997; }
+.chuany-text-brown, .line-brown, .lines-brown { color: #a5673f; }
+.chuany-text-grey, .line-grey, .lines-grey { color: #8799a3; }
+.chuany-text-gray, .line-gray, .lines-gray { color: #aaaaaa; }
+.chuany-text-black, .line-black, .lines-black { color: #333333; }
+.chuany-text-white, .line-white, .lines-white { color: #ffffff; }
+.text-7f{ color: #7f7f7f; }
+.text-69{ color: #696969; }
+/*鑳屾櫙棰滆壊*/
+.coreshop-bg-red { background-color: #e54d42; color: #ffffff; }
+.coreshop-bg-orange { background-color: #f37b1d; color: #ffffff; }
+.coreshop-bg-yellow { background-color: #fbbd08; color: #333333; }
+.coreshop-bg-olive { background-color: #8dc63f; color: #ffffff; }
+.coreshop-bg-green { background-color: #39b54a; color: #ffffff; }
+.coreshop-bg-cyan { background-color: #1cbbb4; color: #ffffff; }
+.coreshop-bg-blue { background-color: #0081ff; color: #ffffff; }
+.coreshop-bg-purple { background-color: #6739b6; color: #ffffff; }
+.coreshop-bg-mauve { background-color: #9c26b0; color: #ffffff; }
+.coreshop-bg-pink { background-color: #e03997; color: #ffffff; }
+.coreshop-bg-brown { background-color: #a5673f; color: #ffffff; }
+.coreshop-bg-grey { background-color: #8799a3; color: #ffffff; }
+.coreshop-bg-gray { background-color: #f0f0f0; color: #333333; }
+.coreshop-bg-black { background-color: #333333; color: #ffffff; }
+.coreshop-bg-white { background-color: #ffffff; color: #666666; }
+.coreshop-bg-fa { background-color: #fafafa; padding: 10px;
+ background: #fafafa;
+ border: 1px solid #e6e6e6;
+}
+
+.coreshop-f8 { background-color: #F8F8F8; }
+
+/*瀛椾綋楂樺害*/
+.chuany-line-height-initial { line-height: initial }
+
+/*浜烘皯甯佺鍙�*/
+.chuany-text-price::before { content: "楼"; font-size: 80%; margin-right: 2px; }
+
+/*瀛椾綋鏍煎紡*/
+.chuany-text-bold { font-weight: bold; }
+.chuany-family-roman{font-family:'Times New Roman', Times, serif}
+.chuany-font12 { font-size: 12px; }
+.chuany-font13 { font-size: 13px; }
+.chuany-font14 { font-size: 14px; }
+.chuany-font15 { font-size: 15px; }
+.chuany-font17 { font-size: 17px; }
+
+.chuany-flex-nowrap { flex-wrap: nowrap; }
+
+.chuany-text-left { text-align: left; }
+.chuany-text-center { text-align: center; }
+.chuany-text-right { text-align: right; }
+// 闂磋窛
+.chuany-cursor{
+ cursor:pointer
+}
+//鏂囧瓧绔栫潃
+.vertical-text {
+ writing-mode: vertical-rl; /* 鏂囧瓧浠庝笂鍒颁笅锛屼粠鍙冲埌宸� */
+ transform: rotate(0deg); /* 鍙�夛紝浣挎枃瀛楁闈㈡湞涓� */
+ padding: 10px 4px;
+ }
+// 闂磋窛
+// 瀹氫箟瀛椾綋(px)鍗曚綅
+@for $i from 0 through 40 {
+ .chuany-line#{$i} { line-height: $i; }
+}
+@for $i from 0 through 100 {
+ .chuany-width#{$i} { width:$i + #{'%'}; }
+}
+// 瀹氫箟瀛椾綋(px)鍗曚綅
+@for $i from 0 through 40 {
+ .chuany-font#{$i} { font-size: $i + px; }
+}
+
+// 瀹氫箟鍐呭杈硅窛锛屽巻閬�1-200
+@for $i from 0 through 200 {
+ // 鍙鍙屾暟鍜岃兘琚�5闄ゅ敖鐨勬暟
+ @if $i % 2 == 0 or $i % 5 == 0 {
+ // 寰楀嚭锛歝oreshop-margin-30鎴栬�卽-m-30
+ .chuany-margin#{$i}, .c-m-#{$i} { margin: $i + px !important; }
+
+ // 寰楀嚭锛歝oreshop-padding-15鎴栬�卽-p-30
+ .chuany-padding#{$i}, .c-p-#{$i} { padding: $i + px !important; }
+
+ @each $short, $long in l left, t top, r right, b bottom {
+ // 缂╁啓鐗堬紝缁撴灉濡傦細 u-m-l-30
+ // 瀹氫箟澶栬竟璺�
+ .c-m-#{$short}-#{$i} { margin-#{$long}: $i + px !important; }
+
+ // 瀹氫箟鍐呰竟璺�
+ .c-p-#{$short}-#{$i} { padding-#{$long}: $i + px !important; }
+
+ // 瀹屾暣鐗堬紝缁撴灉濡傦細coreshop-margin-left-30
+ // 瀹氫箟澶栬竟璺�
+ .chuany-margin#{$long}-#{$i} { margin-#{$long}: $i + px !important; }
+
+ // 瀹氫箟鍐呰竟璺�
+ .chuany-padding#{$long}-#{$i} { padding-#{$long}: $i + px !important; }
+ }
+ }
+}
diff --git a/src/static/css/index.scss b/src/static/css/index.scss
new file mode 100644
index 0000000..7c2f516
--- /dev/null
+++ b/src/static/css/index.scss
@@ -0,0 +1,2 @@
+$--el-header-height: 100px;
+$main-color:#09a860
\ No newline at end of file
diff --git a/src/static/img/Frame-1.png b/src/static/img/Frame-1.png
new file mode 100644
index 0000000..8540bb5
--- /dev/null
+++ b/src/static/img/Frame-1.png
Binary files differ
diff --git a/src/static/img/Frame-2.png b/src/static/img/Frame-2.png
new file mode 100644
index 0000000..80ab403
--- /dev/null
+++ b/src/static/img/Frame-2.png
Binary files differ
diff --git a/src/static/img/Frame-3.png b/src/static/img/Frame-3.png
new file mode 100644
index 0000000..f9a5496
--- /dev/null
+++ b/src/static/img/Frame-3.png
Binary files differ
diff --git a/src/static/img/Frame-4.png b/src/static/img/Frame-4.png
new file mode 100644
index 0000000..d8e6f0d
--- /dev/null
+++ b/src/static/img/Frame-4.png
Binary files differ
diff --git a/src/static/img/Frame.png b/src/static/img/Frame.png
new file mode 100644
index 0000000..dce8eac
--- /dev/null
+++ b/src/static/img/Frame.png
Binary files differ
diff --git a/src/static/img/assembly1.png b/src/static/img/assembly1.png
new file mode 100644
index 0000000..60c2b5c
--- /dev/null
+++ b/src/static/img/assembly1.png
Binary files differ
diff --git a/src/static/img/assembly2.png b/src/static/img/assembly2.png
new file mode 100644
index 0000000..6376889
--- /dev/null
+++ b/src/static/img/assembly2.png
Binary files differ
diff --git a/src/static/img/assembly3.png b/src/static/img/assembly3.png
new file mode 100644
index 0000000..0b18f7f
--- /dev/null
+++ b/src/static/img/assembly3.png
Binary files differ
diff --git a/src/static/img/assembly4.png b/src/static/img/assembly4.png
new file mode 100644
index 0000000..c1add25
--- /dev/null
+++ b/src/static/img/assembly4.png
Binary files differ
diff --git a/src/static/img/assembly5.png b/src/static/img/assembly5.png
new file mode 100644
index 0000000..8e006aa
--- /dev/null
+++ b/src/static/img/assembly5.png
Binary files differ
diff --git a/src/static/img/assembly6.png b/src/static/img/assembly6.png
new file mode 100644
index 0000000..c4f5566
--- /dev/null
+++ b/src/static/img/assembly6.png
Binary files differ
diff --git a/src/static/img/assembly7.png b/src/static/img/assembly7.png
new file mode 100644
index 0000000..e366f62
--- /dev/null
+++ b/src/static/img/assembly7.png
Binary files differ
diff --git a/src/static/img/assembly8.png b/src/static/img/assembly8.png
new file mode 100644
index 0000000..18f561f
--- /dev/null
+++ b/src/static/img/assembly8.png
Binary files differ
diff --git a/src/static/img/assembly9.png b/src/static/img/assembly9.png
new file mode 100644
index 0000000..d22d3ce
--- /dev/null
+++ b/src/static/img/assembly9.png
Binary files differ
diff --git a/src/static/img/baseyinshuaji.png b/src/static/img/baseyinshuaji.png
new file mode 100644
index 0000000..4192155
--- /dev/null
+++ b/src/static/img/baseyinshuaji.png
Binary files differ
diff --git a/src/static/img/baseyinshuaji1.png b/src/static/img/baseyinshuaji1.png
new file mode 100644
index 0000000..df84ae6
--- /dev/null
+++ b/src/static/img/baseyinshuaji1.png
Binary files differ
diff --git a/src/static/img/chuban.png b/src/static/img/chuban.png
new file mode 100644
index 0000000..addf6b8
--- /dev/null
+++ b/src/static/img/chuban.png
Binary files differ
diff --git a/src/static/img/content-img.png b/src/static/img/content-img.png
new file mode 100644
index 0000000..affdde6
--- /dev/null
+++ b/src/static/img/content-img.png
Binary files differ
diff --git a/src/static/img/cooperation.png b/src/static/img/cooperation.png
new file mode 100644
index 0000000..05d1f05
--- /dev/null
+++ b/src/static/img/cooperation.png
Binary files differ
diff --git a/src/static/img/dengji.png b/src/static/img/dengji.png
new file mode 100644
index 0000000..bf0dee8
--- /dev/null
+++ b/src/static/img/dengji.png
Binary files differ
diff --git a/src/static/img/dev1.png b/src/static/img/dev1.png
new file mode 100644
index 0000000..829efa5
--- /dev/null
+++ b/src/static/img/dev1.png
Binary files differ
diff --git a/src/static/img/dev2.png b/src/static/img/dev2.png
new file mode 100644
index 0000000..cad91ac
--- /dev/null
+++ b/src/static/img/dev2.png
Binary files differ
diff --git a/src/static/img/dev3.png b/src/static/img/dev3.png
new file mode 100644
index 0000000..e187be8
--- /dev/null
+++ b/src/static/img/dev3.png
Binary files differ
diff --git a/src/static/img/dev4.png b/src/static/img/dev4.png
new file mode 100644
index 0000000..7512639
--- /dev/null
+++ b/src/static/img/dev4.png
Binary files differ
diff --git a/src/static/img/dev5.png b/src/static/img/dev5.png
new file mode 100644
index 0000000..f4690ce
--- /dev/null
+++ b/src/static/img/dev5.png
Binary files differ
diff --git a/src/static/img/dev6.png b/src/static/img/dev6.png
new file mode 100644
index 0000000..44a2720
--- /dev/null
+++ b/src/static/img/dev6.png
Binary files differ
diff --git a/src/static/img/dev7.png b/src/static/img/dev7.png
new file mode 100644
index 0000000..662ae85
--- /dev/null
+++ b/src/static/img/dev7.png
Binary files differ
diff --git a/src/static/img/devs1.png b/src/static/img/devs1.png
new file mode 100644
index 0000000..fb9f592
--- /dev/null
+++ b/src/static/img/devs1.png
Binary files differ
diff --git a/src/static/img/devs2.png b/src/static/img/devs2.png
new file mode 100644
index 0000000..fd14ffa
--- /dev/null
+++ b/src/static/img/devs2.png
Binary files differ
diff --git a/src/static/img/devs3.png b/src/static/img/devs3.png
new file mode 100644
index 0000000..f37cafa
--- /dev/null
+++ b/src/static/img/devs3.png
Binary files differ
diff --git a/src/static/img/devs4.png b/src/static/img/devs4.png
new file mode 100644
index 0000000..0aa3128
--- /dev/null
+++ b/src/static/img/devs4.png
Binary files differ
diff --git a/src/static/img/devs5.png b/src/static/img/devs5.png
new file mode 100644
index 0000000..6221aff
--- /dev/null
+++ b/src/static/img/devs5.png
Binary files differ
diff --git a/src/static/img/devs6.png b/src/static/img/devs6.png
new file mode 100644
index 0000000..981d4f4
--- /dev/null
+++ b/src/static/img/devs6.png
Binary files differ
diff --git a/src/static/img/devs7.png b/src/static/img/devs7.png
new file mode 100644
index 0000000..27b2afe
--- /dev/null
+++ b/src/static/img/devs7.png
Binary files differ
diff --git a/src/static/img/devs8.png b/src/static/img/devs8.png
new file mode 100644
index 0000000..7425cf7
--- /dev/null
+++ b/src/static/img/devs8.png
Binary files differ
diff --git a/src/static/img/devs9.png b/src/static/img/devs9.png
new file mode 100644
index 0000000..73e23c7
--- /dev/null
+++ b/src/static/img/devs9.png
Binary files differ
diff --git a/src/static/img/dianzi.png b/src/static/img/dianzi.png
new file mode 100644
index 0000000..3a95093
--- /dev/null
+++ b/src/static/img/dianzi.png
Binary files differ
diff --git a/src/static/img/enrollment1.png b/src/static/img/enrollment1.png
new file mode 100644
index 0000000..1d7c113
--- /dev/null
+++ b/src/static/img/enrollment1.png
Binary files differ
diff --git a/src/static/img/enrollment2.png b/src/static/img/enrollment2.png
new file mode 100644
index 0000000..85bd938
--- /dev/null
+++ b/src/static/img/enrollment2.png
Binary files differ
diff --git a/src/static/img/enrollment3.png b/src/static/img/enrollment3.png
new file mode 100644
index 0000000..0b2f3eb
--- /dev/null
+++ b/src/static/img/enrollment3.png
Binary files differ
diff --git a/src/static/img/enrollment4.png b/src/static/img/enrollment4.png
new file mode 100644
index 0000000..2e3b86e
--- /dev/null
+++ b/src/static/img/enrollment4.png
Binary files differ
diff --git a/src/static/img/enrollment5.png b/src/static/img/enrollment5.png
new file mode 100644
index 0000000..e0c6772
--- /dev/null
+++ b/src/static/img/enrollment5.png
Binary files differ
diff --git a/src/static/img/enrollment6.png b/src/static/img/enrollment6.png
new file mode 100644
index 0000000..a2774fc
--- /dev/null
+++ b/src/static/img/enrollment6.png
Binary files differ
diff --git a/src/static/img/equipment1.png b/src/static/img/equipment1.png
new file mode 100644
index 0000000..2d58db9
--- /dev/null
+++ b/src/static/img/equipment1.png
Binary files differ
diff --git a/src/static/img/equipment2.png b/src/static/img/equipment2.png
new file mode 100644
index 0000000..f673805
--- /dev/null
+++ b/src/static/img/equipment2.png
Binary files differ
diff --git a/src/static/img/ertong1.png b/src/static/img/ertong1.png
new file mode 100644
index 0000000..7ff859c
--- /dev/null
+++ b/src/static/img/ertong1.png
Binary files differ
diff --git a/src/static/img/fumoji.png b/src/static/img/fumoji.png
new file mode 100644
index 0000000..5d84e11
--- /dev/null
+++ b/src/static/img/fumoji.png
Binary files differ
diff --git a/src/static/img/heibai.png b/src/static/img/heibai.png
new file mode 100644
index 0000000..44b8c6f
--- /dev/null
+++ b/src/static/img/heibai.png
Binary files differ
diff --git a/src/static/img/huanjing1.png b/src/static/img/huanjing1.png
new file mode 100644
index 0000000..d002cec
--- /dev/null
+++ b/src/static/img/huanjing1.png
Binary files differ
diff --git a/src/static/img/indexbanner.png b/src/static/img/indexbanner.png
new file mode 100644
index 0000000..ed1f0db
--- /dev/null
+++ b/src/static/img/indexbanner.png
Binary files differ
diff --git a/src/static/img/indeximg.png b/src/static/img/indeximg.png
new file mode 100644
index 0000000..8bb7b66
--- /dev/null
+++ b/src/static/img/indeximg.png
Binary files differ
diff --git a/src/static/img/jiankang1.png b/src/static/img/jiankang1.png
new file mode 100644
index 0000000..5803487
--- /dev/null
+++ b/src/static/img/jiankang1.png
Binary files differ
diff --git a/src/static/img/jingshi1.png b/src/static/img/jingshi1.png
new file mode 100644
index 0000000..50ffd22
--- /dev/null
+++ b/src/static/img/jingshi1.png
Binary files differ
diff --git a/src/static/img/jinkouMBO.png b/src/static/img/jinkouMBO.png
new file mode 100644
index 0000000..361c844
--- /dev/null
+++ b/src/static/img/jinkouMBO.png
Binary files differ
diff --git a/src/static/img/joinbanner.png b/src/static/img/joinbanner.png
new file mode 100644
index 0000000..14db501
--- /dev/null
+++ b/src/static/img/joinbanner.png
Binary files differ
diff --git a/src/static/img/joinbanner2.png b/src/static/img/joinbanner2.png
new file mode 100644
index 0000000..5b48960
--- /dev/null
+++ b/src/static/img/joinbanner2.png
Binary files differ
diff --git a/src/static/img/kaoshi1.png b/src/static/img/kaoshi1.png
new file mode 100644
index 0000000..4742b49
--- /dev/null
+++ b/src/static/img/kaoshi1.png
Binary files differ
diff --git a/src/static/img/kaoshi2.png b/src/static/img/kaoshi2.png
new file mode 100644
index 0000000..b3796d7
--- /dev/null
+++ b/src/static/img/kaoshi2.png
Binary files differ
diff --git a/src/static/img/kaoshi3.png b/src/static/img/kaoshi3.png
new file mode 100644
index 0000000..091dff3
--- /dev/null
+++ b/src/static/img/kaoshi3.png
Binary files differ
diff --git a/src/static/img/kaoshi4.png b/src/static/img/kaoshi4.png
new file mode 100644
index 0000000..c3195a2
--- /dev/null
+++ b/src/static/img/kaoshi4.png
Binary files differ
diff --git a/src/static/img/kaoshi5.png b/src/static/img/kaoshi5.png
new file mode 100644
index 0000000..6da71e6
--- /dev/null
+++ b/src/static/img/kaoshi5.png
Binary files differ
diff --git a/src/static/img/lekouji.png b/src/static/img/lekouji.png
new file mode 100644
index 0000000..e626717
--- /dev/null
+++ b/src/static/img/lekouji.png
Binary files differ
diff --git a/src/static/img/login1.png b/src/static/img/login1.png
new file mode 100644
index 0000000..c7ce2af
--- /dev/null
+++ b/src/static/img/login1.png
Binary files differ
diff --git a/src/static/img/login2.png b/src/static/img/login2.png
new file mode 100644
index 0000000..e9a5a3f
--- /dev/null
+++ b/src/static/img/login2.png
Binary files differ
diff --git a/src/static/img/login3.png b/src/static/img/login3.png
new file mode 100644
index 0000000..b2086b3
--- /dev/null
+++ b/src/static/img/login3.png
Binary files differ
diff --git a/src/static/img/login4.png b/src/static/img/login4.png
new file mode 100644
index 0000000..bcdfe03
--- /dev/null
+++ b/src/static/img/login4.png
Binary files differ
diff --git a/src/static/img/login5.png b/src/static/img/login5.png
new file mode 100644
index 0000000..cfc57ca
--- /dev/null
+++ b/src/static/img/login5.png
Binary files differ
diff --git a/src/static/img/login6.png b/src/static/img/login6.png
new file mode 100644
index 0000000..cfc57ca
--- /dev/null
+++ b/src/static/img/login6.png
Binary files differ
diff --git a/src/static/img/logo.png b/src/static/img/logo.png
new file mode 100644
index 0000000..b98fde2
--- /dev/null
+++ b/src/static/img/logo.png
Binary files differ
diff --git a/src/static/img/lunzhuan.png b/src/static/img/lunzhuan.png
new file mode 100644
index 0000000..7692469
--- /dev/null
+++ b/src/static/img/lunzhuan.png
Binary files differ
diff --git a/src/static/img/lunzhuanbeijing.png b/src/static/img/lunzhuanbeijing.png
new file mode 100644
index 0000000..c851086
--- /dev/null
+++ b/src/static/img/lunzhuanbeijing.png
Binary files differ
diff --git a/src/static/img/magazine1.png b/src/static/img/magazine1.png
new file mode 100644
index 0000000..48e4c27
--- /dev/null
+++ b/src/static/img/magazine1.png
Binary files differ
diff --git a/src/static/img/magazine2.png b/src/static/img/magazine2.png
new file mode 100644
index 0000000..91fb778
--- /dev/null
+++ b/src/static/img/magazine2.png
Binary files differ
diff --git a/src/static/img/magazine3.png b/src/static/img/magazine3.png
new file mode 100644
index 0000000..4eafb63
--- /dev/null
+++ b/src/static/img/magazine3.png
Binary files differ
diff --git a/src/static/img/magazine4.png b/src/static/img/magazine4.png
new file mode 100644
index 0000000..7635c65
--- /dev/null
+++ b/src/static/img/magazine4.png
Binary files differ
diff --git a/src/static/img/magazine5.png b/src/static/img/magazine5.png
new file mode 100644
index 0000000..c15d9b2
--- /dev/null
+++ b/src/static/img/magazine5.png
Binary files differ
diff --git a/src/static/img/magazine6.png b/src/static/img/magazine6.png
new file mode 100644
index 0000000..ba49937
--- /dev/null
+++ b/src/static/img/magazine6.png
Binary files differ
diff --git a/src/static/img/magazine7.png b/src/static/img/magazine7.png
new file mode 100644
index 0000000..63227d6
--- /dev/null
+++ b/src/static/img/magazine7.png
Binary files differ
diff --git a/src/static/img/magazine8.png b/src/static/img/magazine8.png
new file mode 100644
index 0000000..0d1d218
--- /dev/null
+++ b/src/static/img/magazine8.png
Binary files differ
diff --git a/src/static/img/magazine9.png b/src/static/img/magazine9.png
new file mode 100644
index 0000000..d84d752
--- /dev/null
+++ b/src/static/img/magazine9.png
Binary files differ
diff --git a/src/static/img/mainbg.png b/src/static/img/mainbg.png
new file mode 100644
index 0000000..6103dea
--- /dev/null
+++ b/src/static/img/mainbg.png
Binary files differ
diff --git a/src/static/img/moqieji.png b/src/static/img/moqieji.png
new file mode 100644
index 0000000..a116279
--- /dev/null
+++ b/src/static/img/moqieji.png
Binary files differ
diff --git a/src/static/img/other1.png b/src/static/img/other1.png
new file mode 100644
index 0000000..fe077a8
--- /dev/null
+++ b/src/static/img/other1.png
Binary files differ
diff --git a/src/static/img/other10.png b/src/static/img/other10.png
new file mode 100644
index 0000000..9e31e07
--- /dev/null
+++ b/src/static/img/other10.png
Binary files differ
diff --git a/src/static/img/other11.png b/src/static/img/other11.png
new file mode 100644
index 0000000..97261bf
--- /dev/null
+++ b/src/static/img/other11.png
Binary files differ
diff --git a/src/static/img/other12.png b/src/static/img/other12.png
new file mode 100644
index 0000000..a73ccdc
--- /dev/null
+++ b/src/static/img/other12.png
Binary files differ
diff --git a/src/static/img/other2.png b/src/static/img/other2.png
new file mode 100644
index 0000000..818e4c1
--- /dev/null
+++ b/src/static/img/other2.png
Binary files differ
diff --git a/src/static/img/other3.png b/src/static/img/other3.png
new file mode 100644
index 0000000..d47c601
--- /dev/null
+++ b/src/static/img/other3.png
Binary files differ
diff --git a/src/static/img/other4.png b/src/static/img/other4.png
new file mode 100644
index 0000000..56632b1
--- /dev/null
+++ b/src/static/img/other4.png
Binary files differ
diff --git a/src/static/img/other5.png b/src/static/img/other5.png
new file mode 100644
index 0000000..c5a3d9e
--- /dev/null
+++ b/src/static/img/other5.png
Binary files differ
diff --git a/src/static/img/other6.png b/src/static/img/other6.png
new file mode 100644
index 0000000..81d1ccf
--- /dev/null
+++ b/src/static/img/other6.png
Binary files differ
diff --git a/src/static/img/other7.png b/src/static/img/other7.png
new file mode 100644
index 0000000..6563b46
--- /dev/null
+++ b/src/static/img/other7.png
Binary files differ
diff --git a/src/static/img/other8.png b/src/static/img/other8.png
new file mode 100644
index 0000000..5053700
--- /dev/null
+++ b/src/static/img/other8.png
Binary files differ
diff --git a/src/static/img/other9.png b/src/static/img/other9.png
new file mode 100644
index 0000000..94f73ce
--- /dev/null
+++ b/src/static/img/other9.png
Binary files differ
diff --git a/src/static/img/pingpai.png b/src/static/img/pingpai.png
new file mode 100644
index 0000000..fc45212
--- /dev/null
+++ b/src/static/img/pingpai.png
Binary files differ
diff --git a/src/static/img/pingpai1.png b/src/static/img/pingpai1.png
new file mode 100644
index 0000000..7cf39dd
--- /dev/null
+++ b/src/static/img/pingpai1.png
Binary files differ
diff --git a/src/static/img/pingpai2.png b/src/static/img/pingpai2.png
new file mode 100644
index 0000000..85d97aa
--- /dev/null
+++ b/src/static/img/pingpai2.png
Binary files differ
diff --git a/src/static/img/promise.png b/src/static/img/promise.png
new file mode 100644
index 0000000..8dffb68
--- /dev/null
+++ b/src/static/img/promise.png
Binary files differ
diff --git a/src/static/img/qualification.png b/src/static/img/qualification.png
new file mode 100644
index 0000000..98e354d
--- /dev/null
+++ b/src/static/img/qualification.png
Binary files differ
diff --git a/src/static/img/severbanner.png b/src/static/img/severbanner.png
new file mode 100644
index 0000000..45ec275
--- /dev/null
+++ b/src/static/img/severbanner.png
Binary files differ
diff --git a/src/static/img/shengchan1.png b/src/static/img/shengchan1.png
new file mode 100644
index 0000000..4179740
--- /dev/null
+++ b/src/static/img/shengchan1.png
Binary files differ
diff --git a/src/static/img/shifan.png b/src/static/img/shifan.png
new file mode 100644
index 0000000..34163c9
--- /dev/null
+++ b/src/static/img/shifan.png
Binary files differ
diff --git a/src/static/img/shijuan1.png b/src/static/img/shijuan1.png
new file mode 100644
index 0000000..53bec7e
--- /dev/null
+++ b/src/static/img/shijuan1.png
Binary files differ
diff --git a/src/static/img/shijuan2.png b/src/static/img/shijuan2.png
new file mode 100644
index 0000000..04731d0
--- /dev/null
+++ b/src/static/img/shijuan2.png
Binary files differ
diff --git a/src/static/img/shijuan3.png b/src/static/img/shijuan3.png
new file mode 100644
index 0000000..624f9fc
--- /dev/null
+++ b/src/static/img/shijuan3.png
Binary files differ
diff --git a/src/static/img/shijuan4.png b/src/static/img/shijuan4.png
new file mode 100644
index 0000000..d017c4e
--- /dev/null
+++ b/src/static/img/shijuan4.png
Binary files differ
diff --git a/src/static/img/shijuan5.png b/src/static/img/shijuan5.png
new file mode 100644
index 0000000..9e01a3a
--- /dev/null
+++ b/src/static/img/shijuan5.png
Binary files differ
diff --git a/src/static/img/shijuan6.png b/src/static/img/shijuan6.png
new file mode 100644
index 0000000..6a8bb0c
--- /dev/null
+++ b/src/static/img/shijuan6.png
Binary files differ
diff --git a/src/static/img/shijuan7.png b/src/static/img/shijuan7.png
new file mode 100644
index 0000000..be0dd20
--- /dev/null
+++ b/src/static/img/shijuan7.png
Binary files differ
diff --git a/src/static/img/shijuan8.png b/src/static/img/shijuan8.png
new file mode 100644
index 0000000..6681355
--- /dev/null
+++ b/src/static/img/shijuan8.png
Binary files differ
diff --git a/src/static/img/shouxin1.png b/src/static/img/shouxin1.png
new file mode 100644
index 0000000..22d2671
--- /dev/null
+++ b/src/static/img/shouxin1.png
Binary files differ
diff --git a/src/static/img/sufengji.png b/src/static/img/sufengji.png
new file mode 100644
index 0000000..994e019
--- /dev/null
+++ b/src/static/img/sufengji.png
Binary files differ
diff --git a/src/static/img/suoxianji.png b/src/static/img/suoxianji.png
new file mode 100644
index 0000000..e17aecc
--- /dev/null
+++ b/src/static/img/suoxianji.png
Binary files differ
diff --git a/src/static/img/tangjinji.png b/src/static/img/tangjinji.png
new file mode 100644
index 0000000..5db1608
--- /dev/null
+++ b/src/static/img/tangjinji.png
Binary files differ
diff --git a/src/static/img/usbanner.png b/src/static/img/usbanner.png
new file mode 100644
index 0000000..23c7448
--- /dev/null
+++ b/src/static/img/usbanner.png
Binary files differ
diff --git a/src/static/img/workbook1.png b/src/static/img/workbook1.png
new file mode 100644
index 0000000..7dee930
--- /dev/null
+++ b/src/static/img/workbook1.png
Binary files differ
diff --git a/src/static/img/workbook10.png b/src/static/img/workbook10.png
new file mode 100644
index 0000000..c372b38
--- /dev/null
+++ b/src/static/img/workbook10.png
Binary files differ
diff --git a/src/static/img/workbook11.png b/src/static/img/workbook11.png
new file mode 100644
index 0000000..b200c95
--- /dev/null
+++ b/src/static/img/workbook11.png
Binary files differ
diff --git a/src/static/img/workbook12.png b/src/static/img/workbook12.png
new file mode 100644
index 0000000..d19481a
--- /dev/null
+++ b/src/static/img/workbook12.png
Binary files differ
diff --git a/src/static/img/workbook13.png b/src/static/img/workbook13.png
new file mode 100644
index 0000000..bd3011f
--- /dev/null
+++ b/src/static/img/workbook13.png
Binary files differ
diff --git a/src/static/img/workbook14.png b/src/static/img/workbook14.png
new file mode 100644
index 0000000..70fc166
--- /dev/null
+++ b/src/static/img/workbook14.png
Binary files differ
diff --git a/src/static/img/workbook15.png b/src/static/img/workbook15.png
new file mode 100644
index 0000000..a4e9049
--- /dev/null
+++ b/src/static/img/workbook15.png
Binary files differ
diff --git a/src/static/img/workbook2.png b/src/static/img/workbook2.png
new file mode 100644
index 0000000..3393df1
--- /dev/null
+++ b/src/static/img/workbook2.png
Binary files differ
diff --git a/src/static/img/workbook3.png b/src/static/img/workbook3.png
new file mode 100644
index 0000000..ca57f05
--- /dev/null
+++ b/src/static/img/workbook3.png
Binary files differ
diff --git a/src/static/img/workbook4.png b/src/static/img/workbook4.png
new file mode 100644
index 0000000..88ae2ea
--- /dev/null
+++ b/src/static/img/workbook4.png
Binary files differ
diff --git a/src/static/img/workbook5.png b/src/static/img/workbook5.png
new file mode 100644
index 0000000..c799f0b
--- /dev/null
+++ b/src/static/img/workbook5.png
Binary files differ
diff --git a/src/static/img/workbook6.png b/src/static/img/workbook6.png
new file mode 100644
index 0000000..b8b6868
--- /dev/null
+++ b/src/static/img/workbook6.png
Binary files differ
diff --git a/src/static/img/workbook7.png b/src/static/img/workbook7.png
new file mode 100644
index 0000000..9365148
--- /dev/null
+++ b/src/static/img/workbook7.png
Binary files differ
diff --git a/src/static/img/workbook8.png b/src/static/img/workbook8.png
new file mode 100644
index 0000000..0edf19f
--- /dev/null
+++ b/src/static/img/workbook8.png
Binary files differ
diff --git a/src/static/img/workbook9.png b/src/static/img/workbook9.png
new file mode 100644
index 0000000..83f45d9
--- /dev/null
+++ b/src/static/img/workbook9.png
Binary files differ
diff --git a/src/static/img/yingyezhizhao.png b/src/static/img/yingyezhizhao.png
new file mode 100644
index 0000000..444ea46
--- /dev/null
+++ b/src/static/img/yingyezhizhao.png
Binary files differ
diff --git a/src/static/img/yinshua1.png b/src/static/img/yinshua1.png
new file mode 100644
index 0000000..212d4cb
--- /dev/null
+++ b/src/static/img/yinshua1.png
Binary files differ
diff --git a/src/static/img/yinshuapeizhi2.png b/src/static/img/yinshuapeizhi2.png
new file mode 100644
index 0000000..aab7b71
--- /dev/null
+++ b/src/static/img/yinshuapeizhi2.png
Binary files differ
diff --git a/src/static/img/yinshuapeizhibanner.png b/src/static/img/yinshuapeizhibanner.png
new file mode 100644
index 0000000..bec1a13
--- /dev/null
+++ b/src/static/img/yinshuapeizhibanner.png
Binary files differ
diff --git a/src/static/img/yinshuashebei1.png b/src/static/img/yinshuashebei1.png
new file mode 100644
index 0000000..5e35bc1
--- /dev/null
+++ b/src/static/img/yinshuashebei1.png
Binary files differ
diff --git a/src/static/img/yiyuan1.png b/src/static/img/yiyuan1.png
new file mode 100644
index 0000000..6d355fb
--- /dev/null
+++ b/src/static/img/yiyuan1.png
Binary files differ
diff --git a/src/static/img/yiyuan10.png b/src/static/img/yiyuan10.png
new file mode 100644
index 0000000..0c5c28b
--- /dev/null
+++ b/src/static/img/yiyuan10.png
Binary files differ
diff --git a/src/static/img/yiyuan11.png b/src/static/img/yiyuan11.png
new file mode 100644
index 0000000..8574aaf
--- /dev/null
+++ b/src/static/img/yiyuan11.png
Binary files differ
diff --git a/src/static/img/yiyuan12.png b/src/static/img/yiyuan12.png
new file mode 100644
index 0000000..65ee169
--- /dev/null
+++ b/src/static/img/yiyuan12.png
Binary files differ
diff --git a/src/static/img/yiyuan2.png b/src/static/img/yiyuan2.png
new file mode 100644
index 0000000..a3c1033
--- /dev/null
+++ b/src/static/img/yiyuan2.png
Binary files differ
diff --git a/src/static/img/yiyuan3.png b/src/static/img/yiyuan3.png
new file mode 100644
index 0000000..ebc880e
--- /dev/null
+++ b/src/static/img/yiyuan3.png
Binary files differ
diff --git a/src/static/img/yiyuan4.png b/src/static/img/yiyuan4.png
new file mode 100644
index 0000000..a28adc8
--- /dev/null
+++ b/src/static/img/yiyuan4.png
Binary files differ
diff --git a/src/static/img/yiyuan5.png b/src/static/img/yiyuan5.png
new file mode 100644
index 0000000..90f763e
--- /dev/null
+++ b/src/static/img/yiyuan5.png
Binary files differ
diff --git a/src/static/img/yiyuan6.png b/src/static/img/yiyuan6.png
new file mode 100644
index 0000000..7f69d39
--- /dev/null
+++ b/src/static/img/yiyuan6.png
Binary files differ
diff --git a/src/static/img/yiyuan7.png b/src/static/img/yiyuan7.png
new file mode 100644
index 0000000..0bbc4c1
--- /dev/null
+++ b/src/static/img/yiyuan7.png
Binary files differ
diff --git a/src/static/img/yiyuan8.png b/src/static/img/yiyuan8.png
new file mode 100644
index 0000000..4f8f20f
--- /dev/null
+++ b/src/static/img/yiyuan8.png
Binary files differ
diff --git a/src/static/img/yiyuan9.png b/src/static/img/yiyuan9.png
new file mode 100644
index 0000000..2a4bfa6
--- /dev/null
+++ b/src/static/img/yiyuan9.png
Binary files differ
diff --git a/src/static/img/youmo1.png b/src/static/img/youmo1.png
new file mode 100644
index 0000000..47045a4
--- /dev/null
+++ b/src/static/img/youmo1.png
Binary files differ
diff --git a/src/static/img/zhanxinfeng.png b/src/static/img/zhanxinfeng.png
new file mode 100644
index 0000000..ae23f9e
--- /dev/null
+++ b/src/static/img/zhanxinfeng.png
Binary files differ
diff --git a/src/static/img/zhanyeji.png b/src/static/img/zhanyeji.png
new file mode 100644
index 0000000..29c7e51
--- /dev/null
+++ b/src/static/img/zhanyeji.png
Binary files differ
diff --git a/src/static/img/zhiliang1.png b/src/static/img/zhiliang1.png
new file mode 100644
index 0000000..236a366
--- /dev/null
+++ b/src/static/img/zhiliang1.png
Binary files differ
diff --git a/src/static/img/zhuangding1.png b/src/static/img/zhuangding1.png
new file mode 100644
index 0000000..35dacb1
--- /dev/null
+++ b/src/static/img/zhuangding1.png
Binary files differ
diff --git a/src/static/img/zhuangding2.png b/src/static/img/zhuangding2.png
new file mode 100644
index 0000000..e18df08
--- /dev/null
+++ b/src/static/img/zhuangding2.png
Binary files differ
diff --git a/src/static/img/zhuangding3.png b/src/static/img/zhuangding3.png
new file mode 100644
index 0000000..6c266a2
--- /dev/null
+++ b/src/static/img/zhuangding3.png
Binary files differ
diff --git a/src/static/img/zz1biaozhi.png b/src/static/img/zz1biaozhi.png
new file mode 100644
index 0000000..7c5e452
--- /dev/null
+++ b/src/static/img/zz1biaozhi.png
Binary files differ
diff --git a/src/store/index.js b/src/store/index.js
new file mode 100644
index 0000000..fe87689
--- /dev/null
+++ b/src/store/index.js
@@ -0,0 +1,75 @@
+import { defineStore } from 'pinia';
+// import { persist } from 'pinia-plugin-persistedstate'
+export const useStore = defineStore('useStore',{
+ state: () => ({
+ // locatebase:process.env.NODE_ENV === "development" ? 'adds' : "https://apis.map.qq.com/",//瀹氫綅鍦板潃
+ token: null,
+ apiBaseUrl:"http://192.168.0.18",//"https://ycm.51zhengcai.com",
+ headermen:'/index',
+ areaList:[],//鍦板尯
+ userInfo:{},//涓汉淇℃伅
+ sector:[{
+ value: '鏂囧叿搴�',
+ label: '鏂囧叿搴�',
+ },{
+ value: '骞垮憡搴�',
+ label: '骞垮憡搴�',
+ },{
+ value: '灏忓崠閮�',
+ label: '灏忓崠閮�',
+ },{
+ value: '寰晢',
+ label: '寰晢',
+ },{
+ value: '鐭棰戜富鎾�',
+ label: '鐭棰戜富鎾�',
+ },{
+ value: '鏁欏笀',
+ label: '鏁欏笀',
+ }],
+ config:{},
+ crumb:[]
+
+ }),
+ actions: {
+ setToken(newToken) {
+ this.token = newToken;
+ },
+ removeToken() {
+ this.token = null;
+ },
+ setArea(newArea) {
+ this.areaList = newArea;
+ },
+ removeArea() {
+ this.areaList = null;
+ },
+ setuserInfo(newArea) {
+ this.userInfo = newArea;
+ },
+ removeuserInfo() {
+ this.userInfo = null;
+ },
+ setconfig(value){
+ this.config = value;
+ },
+ removeconfig() {
+ this.config = null;
+ },
+ sethdmen(val){
+ this.headermen = val;
+ },
+ setcrumb(val){
+ this.crumb = val;
+ },
+
+ },
+ persist: true,
+ // persist:{
+ // storage:sessionStorage
+ // }
+
+})
+
+export default useStore
+
diff --git a/src/styles/element/index.scss b/src/styles/element/index.scss
new file mode 100644
index 0000000..2515eee
--- /dev/null
+++ b/src/styles/element/index.scss
@@ -0,0 +1,7 @@
+$--el-header-height: 100px;
+$main-color:#09a860;
+
+
+// If you just import on demand, you can ignore the following content.
+// 濡傛灉浣犳兂瀵煎叆鎵�鏈夋牱寮�:
+// @use "element-plus/theme-chalk/src/index.scss" as *;
\ No newline at end of file
diff --git a/src/utils/request.js b/src/utils/request.js
new file mode 100644
index 0000000..fa321c9
--- /dev/null
+++ b/src/utils/request.js
@@ -0,0 +1,121 @@
+
+import axios from "axios";
+import router from "../router";
+import $store from "@/store/index.js";
+import { ElMessageBox, ElMessage } from 'element-plus'
+// 閲嶇疆鎻愪氦鏁版嵁瀛楃闆� api
+var baseUrl = process.env.NODE_ENV === "development" ? 'Api' : "https://ycm.51zhengcai.com";
+console.log(baseUrl,'baseUrl');
+const service = axios.create({
+ baseURL: baseUrl, // api 鐨� process.env.BASE_API
+ timeout: 60000, // request timeout 'application/json; charset=utf-8' 'application/x-www-form-urlencoded; charset=UTF-8'
+ headers: {
+ "Content-Type": "application/json; charset=utf-8",
+
+ }
+ //withCredentials: true //鍏佽璇锋眰鎼哄甫cookie淇℃伅
+});
+let invalidationMark = true;
+//璇锋眰璁剧疆
+export const RESPONSETYPE = {
+ ARRAYBUFFER: 'arraybuffer',
+ BLOB: 'blob',
+ DOCUMENT: 'document',
+ JSON: 'json',
+ STREAM: 'stream',
+ TEXT: 'text',
+}
+service.interceptors.request.use(
+ config => { // 鍙娇鐢╝sync await 鍋氬紓姝ユ搷浣�
+ // 鍒濆鍖栬姹傛嫤鎴櫒鏃讹紝浼氭墽琛屾鏂规硶锛屾鏃禿ata涓簎ndefined锛岃祴浜堥粯璁}
+ // console.log("config:",config)
+ config.data = config.data || {}
+ const userToken = $store().token;
+ if (config?.custom?.needToken) {
+ // 鑾峰彇鐢ㄦ埛token
+ if (!userToken) {
+ ElMessageBox.confirm('璇峰厛鐧诲綍', "鎻愮ず", {
+ confirmButtonText: '纭畾',
+ cancelButtonText: "鍙栨秷",
+ type: 'warning',
+ callback: (action) => {
+ if (action == "confirm") {
+ router.push({ path: "/login" })
+
+ }
+ },
+ })
+
+ } else {
+ config.headers['Authorization'] = 'Bearer ' + userToken;
+ }
+ }
+ //棰濆闇�姹�
+ if (config.custom.methodName == 'user.share' || config.custom.methodName == "pages.getpageconfig" || config.custom.methodName == "goods.goodsList") {
+ // const userToken = db.get("userToken");
+ config.headers['Authorization'] = 'Bearer ' + userToken ? userToken : '';
+ }
+
+ return config
+ }, config => { // 鍙娇鐢╝sync await 鍋氬紓姝ユ搷浣�
+ return Promise.reject(config)
+ })
+// 鍝嶅簲璁剧疆
+service.interceptors.response.use(
+ response => {
+ const data = response.data
+ if (response.statusCode == 200) {
+ if (data.data === 14007 || data.data === 14006) {
+
+ }
+
+ }
+ return data === undefined ? {} : data
+ },
+ error => {
+ const responseType = error.config?.responseType;
+ const errorData = responseType === RESPONSETYPE.ARRAYBUFFER ? arrayBufferHandler(error.response.data) : error.response?.data;
+ const status = error.response?.status
+ switch(status) {
+ case 500:
+ case 501:
+ case 502:
+ case 503:
+ messageHandler('鏈嶅姟鏆傛湭鍚姩锛岃绋嶇瓑涓�浼氬効鍐嶈瘯~~', 'error');
+ return Promise.reject(Error('鏈嶅姟鏆傛湭鍚姩'));
+ case 401:
+ return permissionHandler();
+ default:
+ const msg = errorData?.msg || errorData?.errorMsg || '绯荤粺鍐呴儴寮傚父锛岃鑱旂郴缃戠珯绠$悊鍛�';
+ messageHandler(msg, 'error');
+ return Promise.reject(errorData);
+ }
+ // return Promise.reject(error);
+ }
+);
+function messageHandler(msg, type) {
+ ElMessage({
+ message: msg,
+ type: type,
+ grouping: true,
+ duration: 3000
+ });
+}
+
+function permissionHandler() {
+ if (invalidationMark) {
+ invalidationMark = false;
+ ElMessageBox.alert(
+ '浣犲凡琚櫥鍑猴紝鍙互鍙栨秷缁х画鐣欏湪璇ラ〉闈紝鎴栬�呴噸鏂扮櫥褰�',
+ '纭畾鐧诲嚭',
+ {
+ confirmButtonText: '纭畾',
+ callback: () => {
+ router.push({ path: "/login" })
+ invalidationMark = true;
+ }
+ }
+ )
+ }
+}
+export default service;
diff --git a/src/views/aboutus/development.vue b/src/views/aboutus/development.vue
new file mode 100644
index 0000000..6be1dea
--- /dev/null
+++ b/src/views/aboutus/development.vue
@@ -0,0 +1,212 @@
+<template>
+ <div class="bannerbg chuany-width100 h-[450px] flex items-center">
+ <div
+ class="content text-white font-['Source_Han_Sans_SC'] font-bold text-[50px] leading-[80px] tracking-[11%] capitalize ">
+ <p class="pb-3">宸濆嵃闆嗗洟鈥斺��</p>
+ <p>涓撴敞鍝佽川锛屾垚灏卞崜瓒�</p>
+ </div>
+ </div>
+ <div class="w-100 chuany-font14 chuany-text-black coreshop-bg-white pt-16 mb-16">
+ <p class="font-['Source_Code_Pro'] font-semibold text-[36px] leading-[50px] tracking-[5%] text-center align-middle capitalize" style="color:#000;">寤鸿涓殑宸濆嵃闆嗗洟鈥滅瀵嗚浇浣撳嵃鍒跺熀鍦扳��</p>
+ <div class="flex items-center justify-center w-[100%]">
+ <el-image style="width: 1077px; height: 548px" :src="dev1" class=" content mt-10 mb-16"></el-image>
+ </div>
+ </div>
+ <div class="w-100 chuany-font14 chuany-text-black pt-6 mb-16">
+ <p class="font-['Source_Code_Pro'] font-semibold text-[36px] leading-[50px] tracking-[5%] text-center align-middle capitalize" style="color:#000;">鑸掗�傘�佹儸鎰忕殑鍏ラ棻鐜</p>
+ <div class="flex items-center justify-center w-[100%]">
+ <el-image :src="dev2" style="width: 1077px; height: 640px" class=" content mt-12 mr-auto"></el-image>
+ </div>
+ <p class="text-center font-['Source_Han_Sans_SC'] font-normal text-[20px] leading-[27.2px] tracking-[4%] capitalize text-[#696969] mt-6">瀹㈡埛鎺ュ緟涓績</p>
+ <div class="flex items-center justify-center w-[100%]">
+ <el-image :src="dev3" style="width: 1077px; height: 490.64px" class=" content mt-12 mr-auto"></el-image>
+ </div>
+ <p class="text-center font-['Source_Han_Sans_SC'] font-normal text-[20px] leading-[27.2px] tracking-[4%] capitalize text-[#696969] mt-6">瀹㈡埛鎺ュ緟涓績</p>
+ <div class="flex items-center justify-center w-[100%]">
+ <el-image :src="dev4" style="width: 1077px; height: 549.92px" class=" content mt-12 mr-auto"></el-image>
+ </div>
+ <p class="text-center font-['Source_Han_Sans_SC'] font-normal text-[20px] leading-[27.2px] tracking-[4%] capitalize text-[#696969] mt-6">鍥藉缁熶竴鑰冭瘯璇曞嵎鍗板埗杞﹂棿</p>
+ <div class="flex items-center justify-center w-[100%]">
+ <el-image :src="dev5" style="width: 1077px; height: 932.88px" class=" content mt-12 mr-auto"></el-image>
+ </div>
+ <p class="text-center font-['Source_Han_Sans_SC'] font-normal text-[20px] leading-[27.2px] tracking-[4%] capitalize text-[#696969] mt-6">娑夊瘑鏂囦欢璧勬枡鍗板埗杞﹂棿</p>
+ </div>
+ <div class="w-100 chuany-font14 chuany-text-black coreshop-bg-white pt-16 pb-16">
+ <p class="font-['Source_Code_Pro'] font-semibold text-[36px] leading-[50px] tracking-[5%] text-center align-middle capitalize" style="color:#000;">浼犵粺鍚堥櫌涓庣幇浠e缓绛戠殑铻嶅悎 姣忎竴鏍嬪缓绛戦兘鏄綉绾㈣壓鏈搧</p>
+ <div class="flex items-center justify-center w-[100%]">
+ <el-image :src="dev6" style="width: 1077px; height: 689.34px" class=" content mt-12 mr-auto"></el-image>
+
+ </div>
+ <div class="flex items-center justify-center w-[100%]">
+ <el-image :src="dev7" style="width: 1077px; height: 628.4px" class=" content mt-12 mr-auto"></el-image>
+ </div>
+ <p class="text-center font-['Source_Han_Sans_SC'] font-normal text-[20px] leading-[27.2px] tracking-[4%] capitalize text-[#696969] mt-6">鍏ラ棻鏈嶅姟澶у巺</p>
+ <div class="w-[1077px] flex flex-wrap items-center justify-between" style="margin: 0 auto;">
+ <div v-for="(item, index) in images" :key="index">
+ <el-image :src="item.url" style="width: 334.28px; height: 273.55px" class=" content mt-12 mr-auto"></el-image>
+ <p class="text-center font-['Source_Han_Sans_SC'] font-normal text-[20px] leading-[27.2px] tracking-[4%] capitalize text-[#696969] mt-3">{{ item.name }}</p>
+ </div>
+ </div>
+ </div>
+ <div class="w-100 chuany-font14 chuany-text-black pt-16 mb-16">
+ <p class="font-['Source_Code_Pro'] font-semibold text-[36px] leading-[50px] tracking-[5%] text-center align-middle capitalize" style="color:#000;">姣楅偦榛戦緳婊╁ぉ鐒舵哀鍚� 100浜╄秴澶у叆闂卞満鎵�</p>
+ <p class="w-[977px] font-['Source_Han_Sans_SC'] font-normal text-[20px] leading-[38px] tracking-[4%] text-center capitalize text-[#696969] p-10" style="margin: 0 auto;">鍨傞挀銆佸帹鑹恒�佸挅鍟°�佽敩鑿溿�佸洓瀛f按鏋滆嚜鐢遍噰鎽橈紱
+娓告吵銆佸仴韬�佺憸浼姐�佹鐗屻�並TV銆佷功鐢诲锛岄厤濂楅綈鍏紱
+绡悆銆佺綉鐞冦�佺窘姣涚悆銆佷箳涔撶悆銆佺豢閬擄紝搴旀湁灏芥湁锛�
+涓ぎ绌鸿皟銆佸湴鏆栥�佹柊椋庛�佸噣姘撮厤濂楁墍鏈夋埧闂村拰璁炬柦锛�
+娓呮柊銆佹竻鍑�銆佹竻鐖斤紝
+鎶婂叆闂卞彉鎴愬害鍋囷紒</p>
+ <div class="w-[1077px] flex flex-wrap items-center justify-between" style="margin: 0 auto;">
+ <div v-for="(item, index) in imageskaoshi" :key="index">
+ <el-image :src="item.url" :class="item.url.includes('1')?'w-[1077px] h-[427px]':'w-[526.12px] h-[303.57px]'" class=" content mt-10 mr-auto"></el-image>
+ <p class="text-center font-['Source_Han_Sans_SC'] font-normal text-[20px] leading-[27.2px] tracking-[4%] capitalize text-[#696969] mt-3">{{ item.name }}</p>
+ </div>
+ </div>
+
+ </div>
+</template>
+
+<script setup>
+import usbanner from '@/static/img/usbanner.png'
+import contentimg from '@/static/img/content-img.png'
+const { $meth } = getCurrentInstance().appContext.config.globalProperties
+import { articleInfo } from '@/api/text.js'
+const { $route } = getCurrentInstance().appContext.config.globalProperties
+import $store from "@/store/index.js";
+
+import dev1 from '@/static/img/dev1.png'
+import dev2 from '@/static/img/dev2.png'
+import dev3 from '@/static/img/dev3.png'
+import dev4 from '@/static/img/dev4.png'
+import dev5 from '@/static/img/dev5.png'
+import dev6 from '@/static/img/dev6.png'
+import dev7 from '@/static/img/dev7.png'
+import devs1 from '@/static/img/devs1.png'
+import devs2 from '@/static/img/devs2.png'
+import devs3 from '@/static/img/devs3.png'
+import devs4 from '@/static/img/devs4.png'
+import devs5 from '@/static/img/devs5.png'
+import devs6 from '@/static/img/devs6.png'
+import devs7 from '@/static/img/devs7.png'
+import devs8 from '@/static/img/devs8.png'
+import devs9 from '@/static/img/devs9.png'
+import kaoshi1 from '@/static/img/kaoshi1.png'
+import kaoshi2 from '@/static/img/kaoshi2.png'
+import kaoshi3 from '@/static/img/kaoshi3.png'
+import kaoshi4 from '@/static/img/kaoshi4.png'
+import kaoshi5 from '@/static/img/kaoshi5.png'
+
+const data = reactive({
+ activeName: "1",
+ gettab4: {}
+})
+const images = ref([{
+ url: devs1,
+ name: "鐢垫鍘�"
+}, {
+ url: devs2,
+ name: "妤煎眰璧板粖"
+},
+ {
+ url: devs3,
+ name: "妫嬬墝瀹�"
+},{
+ url: devs4,
+ name: "鑷姪椁愬巺"
+},{
+ url: devs5,
+ name: "甯﹂槦棰嗗濂楁埧"
+},{
+ url: devs6,
+ name: "鍏ラ棻鑰佸笀浣忔埧"
+},{
+ url: devs7,
+ name: "鍋ヨ韩鎴�"
+}, {
+ url: devs8,
+ name: "鐟滀冀瀹�"
+}, {
+ url: devs9,
+ name: "涔︾敾瀹�"
+}
+])
+const imageskaoshi = ref([{
+ url: kaoshi1,
+ name: "鑰冭瘯鍛介涓績锛堜竴锛�"
+}, {
+ url: kaoshi2,
+ name: "鑰冭瘯鍛介涓績锛堜簩锛�"
+},
+ {
+ url: kaoshi3,
+ name: "鑰冭瘯鍛介涓績锛堜笁锛�"
+},{
+ url: kaoshi4,
+ name: "鑰冭瘯鍛介涓績锛堝洓锛�"
+},{
+ url: kaoshi5,
+ name: "鑰冭瘯鍛介涓績锛堜簲锛�"
+}
+])
+onMounted(() => {
+
+ articleInfos(1)
+});
+const handleClick = (el) => {//tab鍒囨崲
+ console.log("el:", el.props.name)
+ data.gettab4 = {}
+ if (el.props.name == 1 || el.props.name == 4) {
+ articleInfos(el.props.name)
+ }
+
+}
+const articleInfos = (el) => {
+ articleInfo({ id: el }).then(res => {
+ if (res.status == true) {
+ data.gettab4 = res.data.contentBody
+
+ //
+ } else {
+ $message({
+ message: res.msg,
+ grouping: true,
+ type: 'error',
+ })
+ }
+ })
+
+}
+</script>
+<style scoped>
+.demo-tabs>.el-tabs__content {
+ padding: 32px;
+ color: #6b778c;
+ font-size: 32px;
+ font-weight: 600;
+}
+
+.jianjietab p {
+ margin-top: 15px;
+ margin-bottom: 15px;
+ line-height: 2.5em;
+}
+
+.phonetab {
+ padding: 100px;
+}
+
+.bannerbg {
+ background:
+ linear-gradient(90deg, #0e61ce 10%, rgba(108, 160, 255, 0.5) 100%),
+ url('@/static/img/usbanner.png') center/cover no-repeat;
+}
+
+.my-icon {
+ cursor: pointer;
+}
+
+.my-icon:hover {
+ color: #fff;
+ /* 婊戣繃鍙樿摑鑹诧紝鑷畾涔夐鑹插�� */
+}
+</style>
\ No newline at end of file
diff --git a/src/views/aboutus/index.vue b/src/views/aboutus/index.vue
new file mode 100644
index 0000000..a5e42b8
--- /dev/null
+++ b/src/views/aboutus/index.vue
@@ -0,0 +1,95 @@
+<template>
+ <div class="bannerbg chuany-width100 h-[450px] flex items-center">
+ <div class="content text-white font-['Source_Han_Sans_SC'] font-bold text-[50px] leading-[80px] tracking-[11%] capitalize ">
+ <p class="pb-3">宸濆嵃闆嗗洟鈥斺��</p>
+ <p>涓撴敞鍝佽川锛屾垚灏卞崜瓒�</p>
+ </div>
+ </div>
+ <div class="w-100 chuany-font14 chuany-text-black coreshop-bg-white">
+ <div class="chuany-padding30 text-2xl text-[#696969]">
+ <div class="content font-['Source_Han_Sans_SC'] font-normal text-[20px] leading-[38px] tracking-[4%] text-justify capitalize" style=" text-indent: 40px;">
+ <div class="mt-16 mb-16">
+ <p>宸濆嵃鏂囧寲闆嗗洟鑲′唤鏈夐檺鍏徃绠�绉扳�滃窛鍗伴泦鍥⑩�濓紝浜�2015骞�4鏈堢粡鎴愰兘甯傚伐鍟嗚鏀跨鐞嗗眬鎵瑰噯鎴愮珛锛屽伐鍘備綅浜庢垚閮藉競钂叉睙鍘垮瀹夊伐涓氬尯锛岃窛绂绘垚閮藉競鍖�60KM銆�40鍒嗛挓杞︾▼銆�</p>
+ <p>宸濆嵃闆嗗洟鍏锋湁鈥滄秹瀵嗘枃浠惰祫鏂欌�濆拰鈥滃浗瀹剁粺涓�鑰冭瘯璇曞嵎鈥濅袱涓浗瀹剁瀵嗚浇浣撳嵃鍒惰祫璐紝鑷湁3涓叏灏侀棴寮忕幇浠e寲鏍囧噯娑夊瘑鍗板埗杞﹂棿锛屽伐鍘傞潰绉�10028銕°��</p>
+ <p>
+ 宸濆嵃闆嗗洟鎷ユ湁杩涘彛鏌揪鍏ㄨ嚜鍔ㄦ暟瀛楀埗鐗堟満銆佹捣寰峰牎鍏ㄥ紑鍥涜壊鍗板埛鏈恒�佹捣寰峰牎鍏ㄥ紑鍏壊鍗板埛鏈恒�佸寮�鍙岄潰鍗板埛鏈恒�佸寮�鍙岄潰鍙岃壊杞浆鍗板埛鏈恒�佸叓鑹叉爣绛惧嵃鍒锋満銆丮BO鍏ㄨ嚜鍔ㄦ姌椤垫満銆侀樋鏂壒鍏ㄨ嚜鍔ㄩ攣绾挎満銆侀┈澶╁凹鍏ㄨ嚜鍔ㄨ兌瑁呰仈鍔ㄧ敓浜х嚎銆佸叏鑷姩楠戦┈閽夎仈鍔ㄧ敓浜х嚎銆佸叏鑷姩涔﹀皝闈㈠嫆鍙f満銆佸叏鑷姩濉戝皝鏈恒�佸叏鑷姩绮樹俊灏佹満銆佸叏鑷姩鏁扮焊鏈恒�佺儷閲戞満銆佸帇鐥曟満绛夊叏绯诲垪鍏ㄦ柊涓栫晫椤跺皷鍗板墠銆佸嵃鍒峰拰鍗板悗璁惧锛屾槸瑗垮崡鍦板尯璁惧鏈�鍏堣繘銆佹渶榻愬叏鐨勫嵃鍒蜂紒涓氥��
+ </p>
+ <p>宸濆嵃闆嗗洟涓撲笟浠庝簨涓�冭瘯鍗枫�佽亴涓氳祫鏍艰�冭瘯璇曞嵎銆佸叕鍔″憳锛堜簨涓氬崟浣嶏級鑰冭瘯璇曞嵎銆佽嚜涓绘嫑鐢熻�冭瘯璇曞嵎銆侀珮鏍$粨涓氳�冭瘯璇曞嵎绛夊浗瀹剁粺涓�鑰冭瘯璇曞嵎鍗板埗锛屾枃浠躲�佽祫鏂欍�佹眹缂栥�佸啗浜嬪湴鍥剧瓑娑夊瘑鏂囦欢璧勬枡鍗板埗涓氬姟銆�</p>
+ <p>
+ 宸濆嵃闆嗗洟瀹炶鐜颁唬浼佷笟绠$悊鍒跺害锛屽埗瀹氫簡涓�鏁村淇濆瘑鍗板埗绠$悊鎺у埗浣撶郴锛屼弗鏍兼寜鐓SO9001璐ㄩ噺绠$悊浣撶郴銆佸畨鍏ㄧ敓浜ф爣鍑嗗寲銆佽亴涓氬仴搴锋爣鍑嗗寲銆佷腑鍥界幆澧冩爣蹇椾骇鍝佽璇佹爣鍑嗙粍缁囩敓浜х鐞嗭紝缁撳悎椤跺皷鐨勫嵃浠惰澶囧拰浼樼鐨勪汉鍔涜祫婧愶紝纭繚娑夊瘑鍗板埗璁㈠崟鈥滈浂鈥濆け璇��
+ </p>
+ <p>宸濆嵃闆嗗洟鏀垮簻閲囪喘鎷涙姇鏍囩粡楠屼赴瀵岋紝鍚勭璧勮川銆佽璇侀綈鍏紝鍙互涓哄鎴锋彁渚涢噰璐渶姹傜紪鍒躲�侀噰璐挩璇€�佸饱绾﹂獙鏀剁瓑鏈嶅姟鍜屾敮鎸侊紝鏄箍澶ф嫑鐢熻�冭瘯銆佹暀鑲茬爺绌跺崟浣嶃�佹暀鍔¢儴闂ㄣ�佹斂搴滄満鍏炽�佸啗闃熸秹瀵嗘枃浠惰祫鏂欏嵃鍒跺拰娑夊瘑鑰冭瘯璇曞嵎鍗板埗鐨勬渶浣冲悎浣滀紮浼达紒
+ </p>
+ </div>
+ <el-image class="h-[100%] w-[100%] mb-16" :src="contentimg"></el-image>
+ </div>
+ </div>
+ </div>
+</template>
+
+<script setup>
+import usbanner from '@/static/img/usbanner.png'
+import contentimg from '@/static/img/content-img.png'
+const { $meth } = getCurrentInstance().appContext.config.globalProperties
+import { articleInfo } from '@/api/text.js'
+const { $route } = getCurrentInstance().appContext.config.globalProperties
+import $store from "@/store/index.js";
+
+const data = reactive({
+ activeName: "1",
+ gettab4: {}
+})
+
+onMounted(() => {
+
+ articleInfos(1)
+});
+const handleClick = (el) => {//tab鍒囨崲
+ console.log("el:", el.props.name)
+ data.gettab4 = {}
+ if (el.props.name == 1 || el.props.name == 4) {
+ articleInfos(el.props.name)
+ }
+
+}
+const articleInfos = (el) => {
+ articleInfo({ id: el }).then(res => {
+ if (res.status == true) {
+ data.gettab4 = res.data.contentBody
+
+ //
+ } else {
+ $message({
+ message: res.msg,
+ grouping: true,
+ type: 'error',
+ })
+ }
+ })
+
+}
+</script>
+<style scoped>
+.demo-tabs>.el-tabs__content {
+ padding: 32px;
+ color: #6b778c;
+ font-size: 32px;
+ font-weight: 600;
+}
+
+.jianjietab p {
+ margin-top: 15px;
+ margin-bottom: 15px;
+ line-height: 2.5em;
+}
+
+.phonetab {
+ padding: 100px;
+}
+
+.bannerbg {
+ background:
+ linear-gradient(90deg, #0e61ce 10%, rgba(108, 160, 255, 0.5) 100%),
+ url('@/static/img/usbanner.png') center/cover no-repeat;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/aboutus/qualification.vue b/src/views/aboutus/qualification.vue
new file mode 100644
index 0000000..47b6847
--- /dev/null
+++ b/src/views/aboutus/qualification.vue
@@ -0,0 +1,157 @@
+<template>
+ <div class="bannerbg chuany-width100 h-[450px] flex items-center">
+ <div
+ class="content text-white font-['Source_Han_Sans_SC'] font-bold text-[50px] leading-[80px] tracking-[11%] capitalize ">
+ <p class="pb-3">宸濆嵃闆嗗洟鈥斺��</p>
+ <p>涓撴敞鍝佽川锛屾垚灏卞崜瓒�</p>
+ </div>
+ </div>
+ <div class="w-100 chuany-font14 chuany-text-black coreshop-bg-white">
+ <div class="chuany-padding30 text-[#696969] content">
+ <div class="chuany-flex chuany-flex-wrap chuany-justify-between " style="margin: 0 auto;">
+ <div v-for="(item, index) in images" :key="index" class="chuany-paddingbottom-20">
+ <div class="flex chuany-flex-wrap justify-center ml-6" :class="item.url.includes('1')?'w-[372.37px] h-[419.91px]':'w-[372.37px] h-[320px]'">
+ <el-image :src="item.url" :preview-src-list="[item.url]" fit="cover" :class="item.url.includes('1')&&'w-[290px]'"
+ ></el-image>
+ <p class="font-['Source_Han_Sans_SC'] text-center mt-3 ">{{ item.name }}</p>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</template>
+
+<script setup>
+import usbanner from '@/static/img/usbanner.png'
+import contentimg from '@/static/img/content-img.png'
+const { $meth } = getCurrentInstance().appContext.config.globalProperties
+import { articleInfo } from '@/api/text.js'
+const { $route } = getCurrentInstance().appContext.config.globalProperties
+import $store from "@/store/index.js";
+import yingyezhizhao from '@/static/img/yingyezhizhao.png'
+import dengji from '@/static/img/dengji.png'
+import chuban from '@/static/img/chuban.png'
+import dianzi from '@/static/img/dianzi.png'
+import shifan from '@/static/img/shifan.png'
+import shouxin from '@/static/img/shouxin1.png'
+import zz1biaozhi from '@/static/img/zz1biaozhi.png'
+import shengchan from '@/static/img/shengchan1.png'
+import ertong from '@/static/img/ertong1.png'
+import zhiliang from '@/static/img/zhiliang1.png'
+import huanjing from '@/static/img/huanjing1.png'
+import jiankang from '@/static/img/jiankang1.png'
+import youmo from '@/static/img/youmo1.png'
+import jingshi from '@/static/img/jingshi1.png'
+import yinshua from '@/static/img/yinshua1.png'
+const images = ref([{
+ url: yingyezhizhao,
+ name: "浼佷笟钀ヤ笟鎵х収"
+}, {
+ url: dengji,
+ name: "浼佷笟闆嗗洟鐧昏璇�"
+},
+ {
+ url: chuban,
+ name: "鍑虹増鐗╁嵃鍒疯鍙瘉"
+},{
+ url: dianzi,
+ name: "鎴愰兘甯傚垱鏂板瀷鐢靛瓙鍟嗗姟浼佷笟"
+},{
+ url: shifan,
+ name: "鍥涘窛鐪佽瘹淇″畧娉曠ず鑼冧紒涓�"
+},{
+ url: shouxin,
+ name: "鈥滃畧鍚堝悓閲嶄俊鐢ㄢ�濅紒涓氬叕绀鸿瘉鏄�"
+},{
+ url: zz1biaozhi,
+ name: "涓浗鐜鏍囧織浜у搧璁よ瘉璇佷功"
+}, {
+ url: shengchan,
+ name: "瀹夊叏鐢熶骇鏍囧噯鍖栬瘉涔�"
+}, {
+ url: ertong,
+ name: "鍎跨闈掑皯骞村涔犵敤鍝佽繎瑙嗛槻鎺у崼鐢熻姹傝璇�"
+},
+{
+ url: zhiliang,
+ name: "璐ㄩ噺绠$悊浣撶郴璁よ瘉璇佷功"
+},
+{
+ url: huanjing,
+ name: "鐜绠$悊浣撶郴璁よ瘉璇佷功"
+},
+{
+ url: jiankang,
+ name: "鑱屼笟鍋ュ悍瀹夊叏绠$悊浣撶郴璁よ瘉璇佷功"
+},
+{
+ url: youmo,
+ name: "闃茶繎瑙嗘补澧ㄥ強鍏跺埗澶囨柟娉曞彂鏄庝笓鍒╄瘉涔�"
+},
+{
+ url: jingshi,
+ name: "棰勯槻杩戣鐨勪功鍐欑焊鍙戞槑涓撳埄璇佷功"
+},
+{
+ url: yinshua,
+ name: "鐢靛瓙鍗板埛璁$畻鍣ㄥ彂鏄庝笓鍒╄瘉涔�"
+},
+])
+const data = reactive({
+ activeName: "1",
+ gettab4: {}
+})
+
+onMounted(() => {
+
+ articleInfos(1)
+});
+const handleClick = (el) => {//tab鍒囨崲
+ console.log("el:", el.props.name)
+ data.gettab4 = {}
+ if (el.props.name == 1 || el.props.name == 4) {
+ articleInfos(el.props.name)
+ }
+
+}
+const articleInfos = (el) => {
+ articleInfo({ id: el }).then(res => {
+ if (res.status == true) {
+ data.gettab4 = res.data.contentBody
+
+ //
+ } else {
+ $message({
+ message: res.msg,
+ grouping: true,
+ type: 'error',
+ })
+ }
+ })
+
+}
+</script>
+<style scoped>
+.demo-tabs>.el-tabs__content {
+ padding: 32px;
+ color: #6b778c;
+ font-size: 32px;
+ font-weight: 600;
+}
+
+.jianjietab p {
+ margin-top: 15px;
+ margin-bottom: 15px;
+ line-height: 2.5em;
+}
+
+.phonetab {
+ padding: 100px;
+}
+
+.bannerbg {
+ background:
+ linear-gradient(90deg, #0e61ce 10%, rgba(108, 160, 255, 0.5) 100%),
+ url('@/static/img/qualification.png') center/cover no-repeat;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/aboutus/service.vue b/src/views/aboutus/service.vue
new file mode 100644
index 0000000..e8d3789
--- /dev/null
+++ b/src/views/aboutus/service.vue
@@ -0,0 +1,135 @@
+<template>
+ <div class="bannerbg chuany-width100 h-[450px] flex items-center">
+ <div
+ class="content text-white font-['Source_Han_Sans_SC'] font-bold text-[50px] leading-[80px] tracking-[11%] capitalize ">
+ <p class="pb-3">宸濆嵃闆嗗洟鈥斺��</p>
+ <p>涓撴敞鍝佽川锛屾垚灏卞崜瓒�</p>
+ </div>
+ </div>
+ <div class="w-100 chuany-font14 chuany-text-black coreshop-bg-white">
+ <p class="chuany-text-center chuany-text-bold chuany-font38 pt-14" style="color:#000;">鐗╂祦閰嶉��</p>
+ <div class="content flex justify-between pt-14 pb-20">
+ <div
+ class="w-[358.5px] h-[221.5px] rounded-[20px] bg-[#F3F3F3] text-[#000] pl-10 pt-8 hover:bg-[#0E61CE] hover:text-[#fff] cursor-pointer">
+ <!-- <el-image style="width: 100px; height: 100px" :src="car" ></el-image> -->
+ <i class="iconfont icon-truck text-6xl my-icon" style="font-size: 80px;"></i>
+ <p
+ class="font-['Source_Han_Sans_SC'] font-medium text-[28px] leading-[38px] tracking-[4%] text-center capitalize mt-10 ">
+ 鑷湁鐗╂祦閰嶉�佸洟闃�</p>
+ </div>
+ <div
+ class="w-[358.5px] h-[221.5px] rounded-[20px] bg-[#F3F3F3] text-[#000] pl-10 pt-8 hover:bg-[#0E61CE] hover:text-[#fff] cursor-pointer">
+ <!-- <el-image style="width: 100px; height: 100px" :src="car1" ></el-image> -->
+ <i class="iconfont icon-huoche text-6xl" style="font-size: 80px;"></i>
+
+ <p
+ class="font-['Source_Han_Sans_SC'] font-medium text-[28px] leading-[38px] tracking-[4%] text-center capitalize pt-10 ">
+ 6杈嗘秹瀵嗛�佽揣涓撹溅</p>
+ </div>
+ <div
+ class="w-[358.5px] h-[221.5px] rounded-[20px] bg-[#F3F3F3] text-[#000] pl-10 pt-8 hover:bg-[#0E61CE] hover:text-[#fff] cursor-pointer">
+ <!-- <el-image style="width: 100px; height: 100px" :src="safe" ></el-image> -->
+
+ <i class="iconfont icon-safe text-6xl" style="font-size: 80px;"></i>
+ <p
+ class="font-['Source_Han_Sans_SC'] font-medium text-[28px] leading-[38px] tracking-[4%] capitalize text-center pt-10 ">
+ 纭繚鍑嗘椂瀹夊叏閫佽揪</p>
+ </div>
+ </div>
+ </div>
+ <div class="bg-[#F8F9FB] pt-24 relative">
+ <div class="content pb-14">
+ <p class="chuany-text-bold chuany-font28">鏈嶅姟鎵胯</p>
+ <div class="flex justify-between">
+ <div class="font-['Source_Han_Sans_SC'] font-medium text-[24px] leading-[100px] tracking-[4%] text-justify capitalize">
+ <p><span class="font-['Figtree'] font-medium text-[36px] leading-[100px] tracking-[4%] text-justify capitalize pr-5">01</span>涓撲汉鎺ュ崟銆佽窡鍗�</p>
+ <p><span class="font-['Figtree'] font-medium text-[36px] leading-[100px] tracking-[4%] text-justify capitalize pr-5">02</span>鎸夋椂浜よ揣</p>
+ <p><span class="font-['Figtree'] font-medium text-[36px] leading-[100px] tracking-[4%] text-justify capitalize pr-5">03</span>鍏ㄩ儴浜у搧鐢辨垚閮藉競鏈�濂界殑鍗板墠銆佸嵃鍒枫�佽璁㈣澶囩敓浜�</p>
+ <p><span class="font-['Figtree'] font-medium text-[36px] leading-[100px] tracking-[4%] text-justify capitalize pr-5">04</span>鍗板埛銆佽璁㈣川閲忔棤鍙寫鍓�</p>
+ <p><span class="font-['Figtree'] font-medium text-[36px] leading-[100px] tracking-[4%] text-justify capitalize pr-5">05</span>涓哄鎴锋彁渚涙斂搴滈噰璐嫑鎶曟爣鍜ㄨ鏈嶅姟</p>
+ <p><span class="font-['Figtree'] font-medium text-[36px] leading-[100px] tracking-[4%] text-justify capitalize pr-5">06</span>鍗忓姪瀹㈡埛闇�姹傝璇併�佺紪鍒堕噰璐枃浠�</p>
+ </div>
+ <el-image style="width: 480px; height: 747px" :src="promise"></el-image>
+ </div>
+ </div>
+ <div class="w-[100%] float-left bg-[#0E61CE] h-[125px] absolute bottom-0"></div>
+ </div>
+</template>
+
+<script setup>
+import usbanner from '@/static/img/usbanner.png'
+import contentimg from '@/static/img/content-img.png'
+const { $meth } = getCurrentInstance().appContext.config.globalProperties
+import { articleInfo } from '@/api/text.js'
+const { $route } = getCurrentInstance().appContext.config.globalProperties
+import $store from "@/store/index.js";
+
+import promise from '@/static/img/promise.png'
+
+const data = reactive({
+ activeName: "1",
+ gettab4: {}
+})
+
+onMounted(() => {
+
+ articleInfos(1)
+});
+const handleClick = (el) => {//tab鍒囨崲
+ console.log("el:", el.props.name)
+ data.gettab4 = {}
+ if (el.props.name == 1 || el.props.name == 4) {
+ articleInfos(el.props.name)
+ }
+
+}
+const articleInfos = (el) => {
+ articleInfo({ id: el }).then(res => {
+ if (res.status == true) {
+ data.gettab4 = res.data.contentBody
+
+ //
+ } else {
+ $message({
+ message: res.msg,
+ grouping: true,
+ type: 'error',
+ })
+ }
+ })
+
+}
+</script>
+<style scoped>
+.demo-tabs>.el-tabs__content {
+ padding: 32px;
+ color: #6b778c;
+ font-size: 32px;
+ font-weight: 600;
+}
+
+.jianjietab p {
+ margin-top: 15px;
+ margin-bottom: 15px;
+ line-height: 2.5em;
+}
+
+.phonetab {
+ padding: 100px;
+}
+
+.bannerbg {
+ background:
+ linear-gradient(90deg, #0e61ce 10%, rgba(108, 160, 255, 0.5) 100%),
+ url('@/static/img/qualification.png') center/cover no-repeat;
+}
+
+.my-icon {
+ cursor: pointer;
+}
+
+.my-icon:hover {
+ color: #fff;
+ /* 婊戣繃鍙樿摑鑹诧紝鑷畾涔夐鑹插�� */
+}
+</style>
\ No newline at end of file
diff --git a/src/views/business/assembly.vue b/src/views/business/assembly.vue
new file mode 100644
index 0000000..bd64fd3
--- /dev/null
+++ b/src/views/business/assembly.vue
@@ -0,0 +1,97 @@
+<template>
+ <div class="bannerbg chuany-width100 h-[450px] flex items-center">
+ <div class="content text-white font-['Source_Han_Sans_SC'] font-bold text-[50px] leading-[80px] tracking-[11%] capitalize ">
+ <p class="pb-3">宸濆嵃闆嗗洟鈥斺��</p>
+ <p>涓撴敞鍝佽川锛屾垚灏卞崜瓒�</p>
+ </div>
+ </div>
+ <div class="w-100 chuany-font14 chuany-text-black coreshop-bg-white pt-10 pb-20">
+ <div v-for="(item,index) in images" :key="index">
+ <p class="font-['Source_Han_Sans_CN_VF'] font-bold text-[40px] leading-[50px] tracking-[10%] text-center align-middle capitalize pt-10" style="color:#000;">{{item.name}}</p>
+ <p class="font-['Source_Han_Sans_SC'] font-normal text-[20px] leading-[38px] tracking-[20%] text-center capitalize text-[#696969] p-10" >{{ item.text }}</p>
+ <div class="content flex flex-between flex-wrap" >
+ <el-image :src="url" v-for="(url,index) in item.urls" :key="index" style="width: 385.51px; height: 459.32px" class=" content mt-2 mr-auto mx-6"></el-image>
+ </div>
+ </div>
+ </div>
+</template>
+
+<script setup>
+import usbanner from '@/static/img/usbanner.png'
+import contentimg from '@/static/img/content-img.png'
+const { $meth } = getCurrentInstance().appContext.config.globalProperties
+import { articleInfo } from '@/api/text.js'
+const { $route } = getCurrentInstance().appContext.config.globalProperties
+import $store from "@/store/index.js";
+import assembly1 from '@/static/img/assembly1.png'
+import assembly2 from '@/static/img/assembly2.png'
+import assembly3 from '@/static/img/assembly3.png'
+import assembly4 from '@/static/img/assembly4.png'
+import assembly5 from '@/static/img/assembly5.png'
+import assembly6 from '@/static/img/assembly6.png'
+import assembly7 from '@/static/img/assembly7.png'
+import assembly8 from '@/static/img/assembly8.png'
+import assembly9 from '@/static/img/assembly9.png'
+const data = reactive({
+ activeName: "1",
+ gettab4: {}
+})
+const images = ref([{
+ urls: [assembly1,assembly2,assembly3,assembly4,assembly5,assembly6,assembly7,assembly8,assembly9],
+ name: "璧勬枡姹囩紪",
+ text:'淇℃伅娓呮櫚鍛堢幇锛屾祦绋嬬簿鍑嗘寚寮曪紝涓哄尰鎮f矡閫氭彁渚涗笓涓氳浇浣�'
+}
+])
+onMounted(() => {
+
+ articleInfos(1)
+});
+const handleClick = (el) => {//tab鍒囨崲
+ console.log("el:", el.props.name)
+ data.gettab4 = {}
+ if (el.props.name == 1 || el.props.name == 4) {
+ articleInfos(el.props.name)
+ }
+
+}
+const articleInfos = (el) => {
+ articleInfo({ id: el }).then(res => {
+ if (res.status == true) {
+ data.gettab4 = res.data.contentBody
+
+ //
+ } else {
+ $message({
+ message: res.msg,
+ grouping: true,
+ type: 'error',
+ })
+ }
+ })
+
+}
+</script>
+<style scoped>
+.demo-tabs>.el-tabs__content {
+ padding: 32px;
+ color: #6b778c;
+ font-size: 32px;
+ font-weight: 600;
+}
+
+.jianjietab p {
+ margin-top: 15px;
+ margin-bottom: 15px;
+ line-height: 2.5em;
+}
+
+.phonetab {
+ padding: 100px;
+}
+
+.bannerbg {
+ background:
+ linear-gradient(90deg, #0e61ce 10%, rgba(108, 160, 255, 0.5) 100%),
+ url('@/static/img/usbanner.png') center/cover no-repeat;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/business/enrollment.vue b/src/views/business/enrollment.vue
new file mode 100644
index 0000000..98128d5
--- /dev/null
+++ b/src/views/business/enrollment.vue
@@ -0,0 +1,94 @@
+<template>
+ <div class="bannerbg chuany-width100 h-[450px] flex items-center">
+ <div class="content text-white font-['Source_Han_Sans_SC'] font-bold text-[50px] leading-[80px] tracking-[11%] capitalize ">
+ <p class="pb-3">宸濆嵃闆嗗洟鈥斺��</p>
+ <p>涓撴敞鍝佽川锛屾垚灏卞崜瓒�</p>
+ </div>
+ </div>
+ <div class="w-100 chuany-font14 chuany-text-black coreshop-bg-white pt-10 pb-20">
+ <div v-for="(item,index) in images" :key="index">
+ <p class="font-['Source_Han_Sans_CN_VF'] font-bold text-[40px] leading-[50px] tracking-[10%] text-center align-middle capitalize pt-10" style="color:#000;">{{item.name}}</p>
+ <p class="font-['Source_Han_Sans_SC'] font-normal text-[20px] leading-[38px] tracking-[20%] text-center capitalize text-[#696969] p-10" >{{ item.text }}</p>
+ <div class="content flex flex-between flex-wrap" >
+ <el-image :src="url" v-for="(url,index) in item.urls" :key="index" style="width: 385.51px; height: 459.32px" class=" content mt-2 mr-auto mx-6"></el-image>
+ </div>
+ </div>
+ </div>
+</template>
+
+<script setup>
+import usbanner from '@/static/img/usbanner.png'
+import contentimg from '@/static/img/content-img.png'
+const { $meth } = getCurrentInstance().appContext.config.globalProperties
+import { articleInfo } from '@/api/text.js'
+const { $route } = getCurrentInstance().appContext.config.globalProperties
+import $store from "@/store/index.js";
+import enrollment1 from '@/static/img/enrollment1.png'
+import enrollment2 from '@/static/img/enrollment2.png'
+import enrollment3 from '@/static/img/enrollment3.png'
+import enrollment4 from '@/static/img/enrollment4.png'
+import enrollment5 from '@/static/img/enrollment5.png'
+import enrollment6 from '@/static/img/enrollment6.png'
+const data = reactive({
+ activeName: "1",
+ gettab4: {}
+})
+const images = ref([{
+ urls: [enrollment1,enrollment2,enrollment3,enrollment4,enrollment5,enrollment6],
+ name: "鎷涚敓璧勬枡",
+ text:'淇℃伅娓呮櫚鍛堢幇锛屾祦绋嬬簿鍑嗘寚寮曪紝涓哄尰鎮f矡閫氭彁渚涗笓涓氳浇浣�'
+}
+])
+onMounted(() => {
+
+ articleInfos(1)
+});
+const handleClick = (el) => {//tab鍒囨崲
+ console.log("el:", el.props.name)
+ data.gettab4 = {}
+ if (el.props.name == 1 || el.props.name == 4) {
+ articleInfos(el.props.name)
+ }
+
+}
+const articleInfos = (el) => {
+ articleInfo({ id: el }).then(res => {
+ if (res.status == true) {
+ data.gettab4 = res.data.contentBody
+
+ //
+ } else {
+ $message({
+ message: res.msg,
+ grouping: true,
+ type: 'error',
+ })
+ }
+ })
+
+}
+</script>
+<style scoped>
+.demo-tabs>.el-tabs__content {
+ padding: 32px;
+ color: #6b778c;
+ font-size: 32px;
+ font-weight: 600;
+}
+
+.jianjietab p {
+ margin-top: 15px;
+ margin-bottom: 15px;
+ line-height: 2.5em;
+}
+
+.phonetab {
+ padding: 100px;
+}
+
+.bannerbg {
+ background:
+ linear-gradient(90deg, #0e61ce 10%, rgba(108, 160, 255, 0.5) 100%),
+ url('@/static/img/usbanner.png') center/cover no-repeat;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/business/examination.vue b/src/views/business/examination.vue
new file mode 100644
index 0000000..9735ef6
--- /dev/null
+++ b/src/views/business/examination.vue
@@ -0,0 +1,105 @@
+<template>
+ <div class="bannerbg chuany-width100 h-[450px] flex items-center">
+ <div class="content text-white font-['Source_Han_Sans_SC'] font-bold text-[50px] leading-[80px] tracking-[11%] capitalize ">
+ <p class="pb-3">宸濆嵃闆嗗洟鈥斺��</p>
+ <p>涓撴敞鍝佽川锛屾垚灏卞崜瓒�</p>
+ </div>
+ </div>
+ <div class="w-100 chuany-font14 chuany-text-black coreshop-bg-white pt-10 pb-20 ">
+ <div v-for="(item,index) in images" :key="index">
+ <p class="font-['Source_Han_Sans_CN_VF'] font-bold text-[40px] leading-[50px] tracking-[10%] text-center align-middle capitalize pt-10" style="color:#000;">{{item.name}}</p>
+ <p class="font-['Source_Han_Sans_SC'] font-normal text-[20px] leading-[38px] tracking-[20%] text-center capitalize text-[#696969] p-10" >{{ item.text }}</p>
+ <div class="content flex flex-between flex-wrap" >
+ <el-image :src="url" v-for="(url,index) in item.urls" :key="index" style="width: 585.75px; height: 423.79px" class=" content mt-12 mr-auto"></el-image>
+ </div>
+ </div>
+ </div>
+</template>
+
+<script setup>
+import usbanner from '@/static/img/usbanner.png'
+import contentimg from '@/static/img/content-img.png'
+const { $meth } = getCurrentInstance().appContext.config.globalProperties
+import { articleInfo } from '@/api/text.js'
+const { $route } = getCurrentInstance().appContext.config.globalProperties
+import $store from "@/store/index.js";
+import shijuan1 from '@/static/img/shijuan1.png'
+import shijuan2 from '@/static/img/shijuan2.png'
+import shijuan3 from '@/static/img/shijuan3.png'
+import shijuan4 from '@/static/img/shijuan4.png'
+import shijuan5 from '@/static/img/shijuan5.png'
+import shijuan6 from '@/static/img/shijuan6.png'
+import shijuan7 from '@/static/img/shijuan7.png'
+import shijuan8 from '@/static/img/shijuan8.png'
+const data = reactive({
+ activeName: "1",
+ gettab4: {}
+})
+const images = ref([{
+ urls: [shijuan1,shijuan2],
+ name: "涓�冭瘯鍗�",
+ text:'鍗板埗瑙勮寖涓ヨ皑锛岀‘淇濆畨鍏ㄤ繚瀵嗭紝鐢ㄥ績鏈嶅姟鏁欏娴嬭瘎'
+}, {
+ urls: [shijuan3,shijuan4,shijuan5,shijuan6],
+ name: "涓皬瀛︽湡鏈娴嬭瘯鍗�",
+ text:'鍗板埗瑙勮寖涓ヨ皑锛岀‘淇濆畨鍏ㄤ繚瀵嗭紝鐢ㄥ績鏈嶅姟鏁欏娴嬭瘎'
+},
+{
+ urls: [shijuan7,shijuan8],
+ name: "楂樻牎璇曞嵎",
+ text:'鍗板埗瑙勮寖涓ヨ皑锛岀‘淇濆畨鍏ㄤ繚瀵嗭紝鐢ㄥ績鏈嶅姟鏁欏娴嬭瘎'
+},
+])
+onMounted(() => {
+
+ articleInfos(1)
+});
+const handleClick = (el) => {//tab鍒囨崲
+ console.log("el:", el.props.name)
+ data.gettab4 = {}
+ if (el.props.name == 1 || el.props.name == 4) {
+ articleInfos(el.props.name)
+ }
+
+}
+const articleInfos = (el) => {
+ articleInfo({ id: el }).then(res => {
+ if (res.status == true) {
+ data.gettab4 = res.data.contentBody
+
+ //
+ } else {
+ $message({
+ message: res.msg,
+ grouping: true,
+ type: 'error',
+ })
+ }
+ })
+
+}
+</script>
+<style scoped>
+.demo-tabs>.el-tabs__content {
+ padding: 32px;
+ color: #6b778c;
+ font-size: 32px;
+ font-weight: 600;
+}
+
+.jianjietab p {
+ margin-top: 15px;
+ margin-bottom: 15px;
+ line-height: 2.5em;
+}
+
+.phonetab {
+ padding: 100px;
+}
+
+.bannerbg {
+ background:
+ linear-gradient(90deg, #0e61ce 10%, rgba(108, 160, 255, 0.5) 100%),
+ url('@/static/img/usbanner.png') center/cover no-repeat;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/business/magazine.vue b/src/views/business/magazine.vue
new file mode 100644
index 0000000..0f93f07
--- /dev/null
+++ b/src/views/business/magazine.vue
@@ -0,0 +1,97 @@
+<template>
+ <div class="bannerbg chuany-width100 h-[450px] flex items-center">
+ <div class="content text-white font-['Source_Han_Sans_SC'] font-bold text-[50px] leading-[80px] tracking-[11%] capitalize ">
+ <p class="pb-3">宸濆嵃闆嗗洟鈥斺��</p>
+ <p>涓撴敞鍝佽川锛屾垚灏卞崜瓒�</p>
+ </div>
+ </div>
+ <div class="w-100 chuany-font14 chuany-text-black coreshop-bg-white pt-10 pb-20">
+ <div v-for="(item,index) in images" :key="index">
+ <p class="font-['Source_Han_Sans_CN_VF'] font-bold text-[40px] leading-[50px] tracking-[10%] text-center align-middle capitalize pt-10" style="color:#000;">{{item.name}}</p>
+ <p class="font-['Source_Han_Sans_SC'] font-normal text-[20px] leading-[38px] tracking-[20%] text-center capitalize text-[#696969] p-10" >{{ item.text }}</p>
+ <div class="content flex flex-between flex-wrap" >
+ <el-image :src="url" v-for="(url,index) in item.urls" :key="index" style="width: 385.51px; height: 459.32px" class=" content mt-2 mr-auto mx-6"></el-image>
+ </div>
+ </div>
+ </div>
+</template>
+
+<script setup>
+import usbanner from '@/static/img/usbanner.png'
+import contentimg from '@/static/img/content-img.png'
+const { $meth } = getCurrentInstance().appContext.config.globalProperties
+import { articleInfo } from '@/api/text.js'
+const { $route } = getCurrentInstance().appContext.config.globalProperties
+import $store from "@/store/index.js";
+import magazine1 from '@/static/img/magazine1.png'
+import magazine2 from '@/static/img/magazine2.png'
+import magazine3 from '@/static/img/magazine3.png'
+import magazine4 from '@/static/img/magazine4.png'
+import magazine5 from '@/static/img/magazine5.png'
+import magazine6 from '@/static/img/magazine6.png'
+import magazine7 from '@/static/img/magazine7.png'
+import magazine8 from '@/static/img/magazine8.png'
+import magazine9 from '@/static/img/magazine9.png'
+const data = reactive({
+ activeName: "1",
+ gettab4: {}
+})
+const images = ref([{
+ urls: [magazine1,magazine2,magazine3,magazine4,magazine5,magazine6,magazine7,magazine8,magazine9],
+ name: "鏈熷垔鏉傚織",
+ text:'淇℃伅娓呮櫚鍛堢幇锛屾祦绋嬬簿鍑嗘寚寮曪紝涓哄尰鎮f矡閫氭彁渚涗笓涓氳浇浣�'
+}
+])
+onMounted(() => {
+
+ articleInfos(1)
+});
+const handleClick = (el) => {//tab鍒囨崲
+ console.log("el:", el.props.name)
+ data.gettab4 = {}
+ if (el.props.name == 1 || el.props.name == 4) {
+ articleInfos(el.props.name)
+ }
+
+}
+const articleInfos = (el) => {
+ articleInfo({ id: el }).then(res => {
+ if (res.status == true) {
+ data.gettab4 = res.data.contentBody
+
+ //
+ } else {
+ $message({
+ message: res.msg,
+ grouping: true,
+ type: 'error',
+ })
+ }
+ })
+
+}
+</script>
+<style scoped>
+.demo-tabs>.el-tabs__content {
+ padding: 32px;
+ color: #6b778c;
+ font-size: 32px;
+ font-weight: 600;
+}
+
+.jianjietab p {
+ margin-top: 15px;
+ margin-bottom: 15px;
+ line-height: 2.5em;
+}
+
+.phonetab {
+ padding: 100px;
+}
+
+.bannerbg {
+ background:
+ linear-gradient(90deg, #0e61ce 10%, rgba(108, 160, 255, 0.5) 100%),
+ url('@/static/img/usbanner.png') center/cover no-repeat;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/business/other.vue b/src/views/business/other.vue
new file mode 100644
index 0000000..3e1c7d0
--- /dev/null
+++ b/src/views/business/other.vue
@@ -0,0 +1,154 @@
+<template>
+ <div class="bannerbg chuany-width100 h-[450px] flex items-center">
+ <div
+ class="content text-white font-['Source_Han_Sans_SC'] font-bold text-[50px] leading-[80px] tracking-[11%] capitalize ">
+ <p class="pb-3">宸濆嵃闆嗗洟鈥斺��</p>
+ <p>涓撴敞鍝佽川锛屾垚灏卞崜瓒�</p>
+ </div>
+ </div>
+ <div class="w-100 chuany-font14 chuany-text-black ">
+ <div v-for="(item, index) in images" :key="index" :class="index == 1 ? 'pt-5 pb-16' : 'coreshop-bg-white pt-5 pb-16'">
+ <p class="font-['Source_Han_Sans_CN_VF'] font-bold text-[40px] leading-[50px] tracking-[10%] text-center align-middle capitalize pt-10" style="color:#000;">{{ item.name }}</p>
+ <p class="font-['Source_Han_Sans_SC'] font-normal text-[20px] leading-[38px] tracking-[20%] text-center capitalize text-[#696969] p-5">{{ item.text }}</p>
+ <div class="content flex flex-wrap flex-between" style="justify-content: space-between;">
+ <div v-for="(url, index) in item.urls" :key="index" class="w-[371.65px] h-[232.91px] group relative cursor-pointer overflow-hidden mt-12 mx-6 hover:shadow-[0px_6px_18px_0px_#054CB726] transition-shadow duration-300">
+ <el-image :src="url.url" style="width: 371.65px; height: 232.91px" class="mr-auto"></el-image>
+ <div class="absolute inset-0 bg-[#3E597D99]/30 transition-all duration-300 group-hover:opacity-0 "></div>
+ <span class="font-['Source_Han_Sans_SC'] font-bold text-[24px] leading-[38px] tracking-[10%] text-center capitalize text-[#fff] absolute inset-0 flex items-center justify-center transition-all duration-300 group-hover:opacity-0">{{ url.name }}</span>
+ </div>
+ </div>
+ </div>
+ </div>
+</template>
+
+<script setup>
+import usbanner from '@/static/img/usbanner.png'
+import contentimg from '@/static/img/content-img.png'
+const { $meth } = getCurrentInstance().appContext.config.globalProperties
+import { articleInfo } from '@/api/text.js'
+const { $route } = getCurrentInstance().appContext.config.globalProperties
+import $store from "@/store/index.js";
+import other1 from '@/static/img/other1.png'
+import other2 from '@/static/img/other2.png'
+import other3 from '@/static/img/other3.png'
+import other4 from '@/static/img/other4.png'
+import other5 from '@/static/img/other5.png'
+import other6 from '@/static/img/other6.png'
+import other7 from '@/static/img/other7.png'
+import other8 from '@/static/img/other8.png'
+import other9 from '@/static/img/other9.png'
+import other10 from '@/static/img/other10.png'
+import other11 from '@/static/img/other11.png'
+import other12 from '@/static/img/other12.png'
+const data = reactive({
+ activeName: "1",
+ gettab4: {}
+})
+const images = ref([{
+ urls: [
+ {
+ name: '娑夊瘑鏂囦欢',
+ url: other1,
+ },
+ {
+ name: '鎵嬫彁琚�',
+ url: other2,
+ },
+ {
+ name: '鎶橀〉',
+ url: other3,
+ },
+ {
+ name: '绗旇鏈�',
+ url: other4,
+ },
+ {
+ name: '鍗$墖',
+ url: other5,
+ },
+ {
+ name: '璧勮川璇佷功',
+ url: other6,
+ },
+ {
+ name: '姣曚笟璇佷功',
+ url: other7,
+ },
+ {
+ name: '鍐涗簨鍦板浘',
+ url: other8,
+ },
+ {
+ name: '璐㈠姟鍗曟嵁',
+ url: other9,
+ },
+ {
+ name: '濂栫姸',
+ url: other10,
+ },
+ {
+ name: '鏁欒緟',
+ url: other11,
+ },
+ {
+ name: '鈥︹��',
+ url: other12,
+ },
+ ],
+ name: "鍏朵粬",
+ text: '鍚勭璧勬枡璁捐銆佺収鎺掋�佸嵃鍒凤紱璧勬枡妗f瑁呰锛涙秹瀵嗘枃浠惰祫鏂欓攢姣佲�︹��'
+},
+])
+onMounted(() => {
+
+ articleInfos(1)
+});
+const handleClick = (el) => {//tab鍒囨崲
+ console.log("el:", el.props.name)
+ data.gettab4 = {}
+ if (el.props.name == 1 || el.props.name == 4) {
+ articleInfos(el.props.name)
+ }
+
+}
+const articleInfos = (el) => {
+ articleInfo({ id: el }).then(res => {
+ if (res.status == true) {
+ data.gettab4 = res.data.contentBody
+
+ //
+ } else {
+ $message({
+ message: res.msg,
+ grouping: true,
+ type: 'error',
+ })
+ }
+ })
+
+}
+</script>
+<style scoped>
+.demo-tabs>.el-tabs__content {
+ padding: 32px;
+ color: #6b778c;
+ font-size: 32px;
+ font-weight: 600;
+}
+
+.jianjietab p {
+ margin-top: 15px;
+ margin-bottom: 15px;
+ line-height: 2.5em;
+}
+
+.phonetab {
+ padding: 100px;
+}
+
+.bannerbg {
+ background:
+ linear-gradient(90deg, #0e61ce 10%, rgba(108, 160, 255, 0.5) 100%),
+ url('@/static/img/usbanner.png') center/cover no-repeat;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/business/workbook.vue b/src/views/business/workbook.vue
new file mode 100644
index 0000000..d507881
--- /dev/null
+++ b/src/views/business/workbook.vue
@@ -0,0 +1,112 @@
+<template>
+ <div class="bannerbg chuany-width100 h-[450px] flex items-center">
+ <div class="content text-white font-['Source_Han_Sans_SC'] font-bold text-[50px] leading-[80px] tracking-[11%] capitalize ">
+ <p class="pb-3">宸濆嵃闆嗗洟鈥斺��</p>
+ <p>涓撴敞鍝佽川锛屾垚灏卞崜瓒�</p>
+ </div>
+ </div>
+ <div class="w-100 chuany-font14 chuany-text-black ">
+ <div v-for="(item,index) in images" :key="index" :class="index==1?'pt-5 pb-16':'coreshop-bg-white pt-5 pb-16'">
+ <p class="font-['Source_Han_Sans_CN_VF'] font-bold text-[40px] leading-[50px] tracking-[10%] text-center align-middle capitalize pt-10" style="color:#000;">{{item.name}}</p>
+ <p class="font-['Source_Han_Sans_SC'] font-normal text-[20px] leading-[38px] tracking-[20%] text-center capitalize text-[#696969] p-5" >{{ item.text }}</p>
+ <div class="content flex flex-between flex-wrap" >
+ <el-image :src="url" v-for="(url,index) in item.urls" :key="index" style="width: 385.51px; height: 431.79px" class=" content mt-6 mr-auto mx-6"></el-image>
+ </div>
+ </div>
+ </div>
+</template>
+
+<script setup>
+import usbanner from '@/static/img/usbanner.png'
+import contentimg from '@/static/img/content-img.png'
+const { $meth } = getCurrentInstance().appContext.config.globalProperties
+import { articleInfo } from '@/api/text.js'
+const { $route } = getCurrentInstance().appContext.config.globalProperties
+import $store from "@/store/index.js";
+import workbook1 from '@/static/img/workbook1.png'
+import workbook2 from '@/static/img/workbook2.png'
+import workbook3 from '@/static/img/workbook3.png'
+import workbook4 from '@/static/img/workbook4.png'
+import workbook5 from '@/static/img/workbook5.png'
+import workbook6 from '@/static/img/workbook6.png'
+import workbook7 from '@/static/img/workbook7.png'
+import workbook8 from '@/static/img/workbook8.png'
+import workbook9 from '@/static/img/workbook9.png'
+import workbook10 from '@/static/img/workbook10.png'
+import workbook11 from '@/static/img/workbook11.png'
+import workbook12 from '@/static/img/workbook12.png'
+import workbook13 from '@/static/img/workbook13.png'
+import workbook14 from '@/static/img/workbook14.png'
+import workbook15 from '@/static/img/workbook15.png'
+const data = reactive({
+ activeName: "1",
+ gettab4: {}
+})
+const images = ref([{
+ urls: [workbook1,workbook2,workbook3],
+ name: "鐧惧垎鍏垫硶闃茶繎瑙嗕綔涓氭湰",
+ text:'浼橀�夋姢鐪肩焊寮狅紝涓撲负鎸佷箙涔﹀啓鎵撻��'
+}, {
+ urls: [workbook4,workbook5,workbook6,workbook7,workbook8,workbook9],
+ name: "鍥涘窛鐪佷箟鍔℃暀鑲插厤璐逛綔涓氭湰",
+ text:'涔夊姟鏁欒偛闃舵閫傜敤锛岀鍚堝浗瀹舵爣鍑嗭紝浼橀�夌焊寮犵殑鍝佽川涔嬮��'
+},
+{
+ urls: [workbook10,workbook11,workbook12,workbook13,workbook14,workbook15],
+ name: "涔夊姟鏁欒偛涓�у寲瀹氬埗浣滀笟鏈�",
+ text:'鏀寔鎸夋偍鐨勪釜鎬у寲璁捐瀹氬埗涓撳睘灏侀潰锛屽崟鏈捣璁紝鏁伴噺涓嶉檺'
+},
+])
+onMounted(() => {
+
+ articleInfos(1)
+});
+const handleClick = (el) => {//tab鍒囨崲
+ console.log("el:", el.props.name)
+ data.gettab4 = {}
+ if (el.props.name == 1 || el.props.name == 4) {
+ articleInfos(el.props.name)
+ }
+
+}
+const articleInfos = (el) => {
+ articleInfo({ id: el }).then(res => {
+ if (res.status == true) {
+ data.gettab4 = res.data.contentBody
+
+ //
+ } else {
+ $message({
+ message: res.msg,
+ grouping: true,
+ type: 'error',
+ })
+ }
+ })
+
+}
+</script>
+<style scoped>
+.demo-tabs>.el-tabs__content {
+ padding: 32px;
+ color: #6b778c;
+ font-size: 32px;
+ font-weight: 600;
+}
+
+.jianjietab p {
+ margin-top: 15px;
+ margin-bottom: 15px;
+ line-height: 2.5em;
+}
+
+.phonetab {
+ padding: 100px;
+}
+
+.bannerbg {
+ background:
+ linear-gradient(90deg, #0e61ce 10%, rgba(108, 160, 255, 0.5) 100%),
+ url('@/static/img/usbanner.png') center/cover no-repeat;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/business/yiyuan.vue b/src/views/business/yiyuan.vue
new file mode 100644
index 0000000..6baf067
--- /dev/null
+++ b/src/views/business/yiyuan.vue
@@ -0,0 +1,100 @@
+<template>
+ <div class="bannerbg chuany-width100 h-[450px] flex items-center">
+ <div class="content text-white font-['Source_Han_Sans_SC'] font-bold text-[50px] leading-[80px] tracking-[11%] capitalize ">
+ <p class="pb-3">宸濆嵃闆嗗洟鈥斺��</p>
+ <p>涓撴敞鍝佽川锛屾垚灏卞崜瓒�</p>
+ </div>
+ </div>
+ <div class="w-100 chuany-font14 chuany-text-black coreshop-bg-white pt-10 pb-20">
+ <div v-for="(item,index) in images" :key="index">
+ <p class="font-['Source_Han_Sans_CN_VF'] font-bold text-[40px] leading-[50px] tracking-[10%] text-center align-middle capitalize pt-10" style="color:#000;">{{item.name}}</p>
+ <p class="font-['Source_Han_Sans_SC'] font-normal text-[20px] leading-[38px] tracking-[20%] text-center capitalize text-[#696969] p-10" >{{ item.text }}</p>
+ <div class="content flex flex-between flex-wrap" >
+ <el-image :src="url" v-for="(url,index) in item.urls" :key="index" style="width: 385.51px; height: 309.03px" class=" content mt-2 mr-auto mx-6"></el-image>
+ </div>
+ </div>
+ </div>
+</template>
+
+<script setup>
+import usbanner from '@/static/img/usbanner.png'
+import contentimg from '@/static/img/content-img.png'
+const { $meth } = getCurrentInstance().appContext.config.globalProperties
+import { articleInfo } from '@/api/text.js'
+const { $route } = getCurrentInstance().appContext.config.globalProperties
+import $store from "@/store/index.js";
+import yiyuan1 from '@/static/img/yiyuan1.png'
+import yiyuan2 from '@/static/img/yiyuan2.png'
+import yiyuan3 from '@/static/img/yiyuan3.png'
+import yiyuan4 from '@/static/img/yiyuan4.png'
+import yiyuan5 from '@/static/img/yiyuan5.png'
+import yiyuan6 from '@/static/img/yiyuan6.png'
+import yiyuan7 from '@/static/img/yiyuan7.png'
+import yiyuan8 from '@/static/img/yiyuan8.png'
+import yiyuan9 from '@/static/img/yiyuan9.png'
+import yiyuan10 from '@/static/img/yiyuan10.png'
+import yiyuan11 from '@/static/img/yiyuan11.png'
+import yiyuan12 from '@/static/img/yiyuan12.png'
+const data = reactive({
+ activeName: "1",
+ gettab4: {}
+})
+const images = ref([{
+ urls: [yiyuan1,yiyuan2,yiyuan3,yiyuan4,yiyuan5,yiyuan6,yiyuan7,yiyuan8,yiyuan9,yiyuan10,yiyuan11,yiyuan12],
+ name: "鍖婚櫌鍗板埗鍝�",
+ text:'淇℃伅娓呮櫚鍛堢幇锛屾祦绋嬬簿鍑嗘寚寮曪紝涓哄尰鎮f矡閫氭彁渚涗笓涓氳浇浣�'
+}
+])
+onMounted(() => {
+
+ articleInfos(1)
+});
+const handleClick = (el) => {//tab鍒囨崲
+ console.log("el:", el.props.name)
+ data.gettab4 = {}
+ if (el.props.name == 1 || el.props.name == 4) {
+ articleInfos(el.props.name)
+ }
+
+}
+const articleInfos = (el) => {
+ articleInfo({ id: el }).then(res => {
+ if (res.status == true) {
+ data.gettab4 = res.data.contentBody
+
+ //
+ } else {
+ $message({
+ message: res.msg,
+ grouping: true,
+ type: 'error',
+ })
+ }
+ })
+
+}
+</script>
+<style scoped>
+.demo-tabs>.el-tabs__content {
+ padding: 32px;
+ color: #6b778c;
+ font-size: 32px;
+ font-weight: 600;
+}
+
+.jianjietab p {
+ margin-top: 15px;
+ margin-bottom: 15px;
+ line-height: 2.5em;
+}
+
+.phonetab {
+ padding: 100px;
+}
+
+.bannerbg {
+ background:
+ linear-gradient(90deg, #0e61ce 10%, rgba(108, 160, 255, 0.5) 100%),
+ url('@/static/img/usbanner.png') center/cover no-repeat;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/equipment/index.vue b/src/views/equipment/index.vue
new file mode 100644
index 0000000..2801977
--- /dev/null
+++ b/src/views/equipment/index.vue
@@ -0,0 +1,318 @@
+<template>
+ <div>
+ <div class="bannerbg chuany-width100 h-[450px] flex items-center">
+ <div
+ class="content text-white font-['Source_Han_Sans_SC'] font-bold text-[50px] leading-[80px] tracking-[11%] capitalize ">
+ <p class="pb-3">鍏ㄦ柟浣嶅嵃鍒疯В鍐虫柟妗� 鈥斺�� </p>
+ <p>椤跺皷璁惧锛屽崜瓒婂搧璐紝婊¤冻鎮ㄧ殑姣忎竴椤瑰嵃鍒烽渶姹�</p>
+ </div>
+ </div>
+ <!-- <el-image class="chuany-width100" :src="data.joinbanner"></el-image> -->
+ <div class="bg-white">
+ <div class="content">
+ <ul style="width:60%;"
+ class="chuany-flex chuany-justify-between chuany-align-center content chuany-font20 chuany-padding10 h-[60px]">
+ <li :class="['chuany-cursor', data.tab == 1 ? 'actived' : '']" @click="tabchange(1)">鍒剁増璁惧</li>
+ <li :class="['chuany-cursor', data.tab == 2 ? 'actived' : '']" @click="tabchange(2)">鍗板埛璁惧</li>
+ <li :class="['chuany-cursor', data.tab == 3 ? 'actived' : '']" @click="tabchange(3)">瑁呰璁惧</li>
+ <li :class="['chuany-cursor', data.tab == 4 ? 'actived' : '']" @click="tabchange(4)">鍏朵粬瑁呰</li>
+ </ul>
+ </div>
+ </div>
+ <div v-if="data.tab == 1">
+ <p
+ class="font-['Source_Code_Pro'] font-semibold text-[36px] leading-[50px] tracking-[10%] align-middle capitalize text-center my-12">
+ 鏌揪鍏ㄨ嚜鍔–TP鏁板瓧鐩存帴鍒剁増鏈�</p>
+ <div class="content flex justify-center pb-12">
+ <el-image style="width: 578.03px; height: 386.84px" :src="equipment1" class="mr-16"></el-image>
+ <el-image style="width: 578.03px; height: 386.84px" :src="equipment2" class="ml-16"></el-image>
+ </div>
+ </div>
+ <div v-if="data.tab == 2" class="bg-white">
+ <div class="content flex justify-center items-center px-16 py-8">
+ <div class=" mx-16 px-16">
+ <p class="w-1/2 font-['Source_Code_Pro'] font-semibold text-[36px] align-middle capitalize">鏁扮爜鍗板埛</p>
+ <div class="font-['Source_Han_Sans_SC'] font-normal text-[24px] tracking-[4%] capitalize text-[#696969] mt-16">
+ <p >鑷湁鏁扮爜鍗板埛璁惧锛�</p>
+ <p> 鎵撴牱瀹夊叏淇濆瘑鎬ヤ欢绔嬬瓑鍙彇</p>
+ </div>
+ </div>
+ <el-image style="width: 511.13px; height: 527.12px" :src="yinshuashebei1"></el-image>
+ </div>
+ <div class="shebeipeizhi2 h-[997.73px]">
+ <div class="content">
+ <p class="font-['Source_Code_Pro'] font-semibold text-[36px] align-middle capitalize text-center text-white py-16">褰╄壊鍗板埛</p>
+ <div class="flex justify-center">
+ <div class="p-6 bg-white w-[587.98px] h-[695.5px] flex flex-wrap items-center justify-center" style="margin: 0 auto;">
+ <el-image style="width: 540px; height: 364.01px;margin: 0 auto;" :src="baseyinshuaji"></el-image>
+ <p class="w-[416.69px] h-[75.76px] bg-[linear-gradient(114.84deg,rgba(14,88,209,0.81)_35.46%,rgba(51,109,252,0.63)_93.3%)] font-['Source_Han_Sans_SC'] font-medium text-[32px] leading-[75.76px] tracking-[5%] capitalize text-center text-white">娴峰痉鍫″叓鑹插嵃鍒锋満</p>
+ <div class="font-['Source_Han_Sans_SC'] font-normal text-[24px] leading-[41px] tracking-[10%] text-center capitalize">
+ <p>鍗板埛閫熷害锛�15200寮�/灏忔椂</p>
+ <p>鍗板埛绾稿紶鍏嬮噸锛�52鍏�-300鍏�</p>
+ <p>鏈�澶у嵃鍒烽潰绉細720脳1020mm</p>
+ </div>
+ </div>
+ <div class="p-6 bg-white w-[587.98px] h-[695.5px] flex flex-wrap items-center justify-center" style="margin: 0 auto;">
+ <el-image style="width: 540px; height: 364.01px;margin: 0 auto;" :src="baseyinshuaji1"></el-image>
+ <p class="w-[416.69px] h-[75.76px] bg-[linear-gradient(114.84deg,rgba(14,88,209,0.81)_35.46%,rgba(51,109,252,0.63)_93.3%)] font-['Source_Han_Sans_SC'] font-medium text-[32px] leading-[75.76px] tracking-[5%] capitalize text-center text-white">娴峰痉鍫″洓鑹插嵃鍒锋満</p>
+ <div class="font-['Source_Han_Sans_SC'] font-normal text-[24px] leading-[41px] tracking-[10%] text-center capitalize">
+ <p>鍗板埛閫熷害锛�15200寮�/灏忔椂</p>
+ <p>鍗板埛绾稿紶鍏嬮噸锛�52鍏�-300鍏�</p>
+ <p>鏈�澶у嵃鍒烽潰绉細720脳1020mm</p>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="content flex justify-center items-center px-16 py-16">
+ <el-image style="width: 658.09px; height: 466.33px" :src="heibai"></el-image>
+ <div class=" mx-16 px-16">
+ <p class="w-1/2 font-['Source_Code_Pro'] font-semibold text-[36px] align-middle capitalize">榛戠櫧鍗板埛</p>
+ <p class="font-['Source_Han_Sans_SC'] font-medium text-[32px] leading-[50px] tracking-[5%] capitalize h-[50px] flex items-center text-[#2646B3] mt-8">楂橀�熷寮�鍙岄潰鍗板埛鏈�</p>
+ <div class="font-['Source_Han_Sans_SC'] font-normal text-[24px] tracking-[4%] capitalize text-[#696969] mt-8">
+ <p >鏈�澶у嵃鍒烽潰绉細630脳920mm</p>
+ <p> 鍗板埛閫熷害锛�10000寮犲弻闈�/灏忔椂</p>
+ <p> 鍗板埛绾稿紶鍏嬮噸锛�40鍏嬧��200鍏�</p>
+ </div>
+ </div>
+ </div>
+ <div class="lunzhuanbg px-16 py-16">
+ <div class="content flex justify-center items-center ">
+ <div class=" mx-16 px-16">
+ <p class="w-1/2 font-['Source_Code_Pro'] font-semibold text-[36px] align-middle capitalize">杞浆鍗板埛</p>
+ <p class="font-['Source_Han_Sans_SC'] font-medium text-[32px] leading-[50px] tracking-[5%] capitalize h-[50px] flex items-center text-[#2646B3] mt-8">鍏ㄦ柊杞浆鍗板埛鏈�</p>
+ <div class="font-['Source_Han_Sans_SC'] font-normal text-[24px] tracking-[4%] capitalize text-[#696969] mt-8">
+ <p >鍗板埛閫熷害锛氱害30000 寮�/灏忔椂</p>
+ <p> 绾稿紶鍏嬮噸鑼冨洿锛�45g/m虏 - 150g/m虏</p>
+ <p> 鏈�澶у嵃鍒烽潰绉細787mm 脳 546mm</p>
+ </div>
+ </div>
+ <el-image style="width: 658.09px; height: 466.33px" :src="lunzhuan"></el-image>
+ </div>
+
+ </div>
+ </div>
+ <div v-if="data.tab == 3" class="bg-white ">
+ <div class="zhuangding1">
+ <div class="content relative z-0">
+ <div class=" contentbg w-[512.66px] h-[540.71px] relative left-0 pl-16 pt-8 float-right">
+ <p class="font-['Source_Code_Pro'] font-semibold text-[36px] align-middle capitalize py-16 text-white">鐙寮曡繘椹ぉ灏煎叏鑷姩<br>鑳惰鑱斿姩绾�</p>
+ <div class="font-['Source_Han_Sans_SC'] font-normal text-[22px] leading-[37.4px] tracking-[0%] capitalize text-white">
+ <p>19澶�20閰�</p>
+ <p>鑷姩鎵弿鍥炬枃妫�娴嬮敊璐�</p>
+ <p>閰嶉〉銆佽兌鍖呫�佷慨鍒囦竴娆″畬鎴�</p>
+ <p>姣忓皬鏃�7000鍐�</p>
+ <p>鑳惰鐗㈠浐锛屼笉鏄撴挄鎵垎绂�</p>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="content pb-14">
+ <p class="font-['Source_Code_Pro'] font-semibold text-[36px] align-middle capitalize text-center py-16">椹ぉ灏奸湽闆抽┈MC</p>
+ <div class="flex justify-evenly">
+ <div v-for="(item,index) in images" :key="index" class="flex flex-wrap w-[70px] items-center justify-center">
+ <el-image style="width: 50px; height: 50px" :src="item.url"></el-image>
+ <p>{{ item.name }}</p>
+ </div>
+ </div>
+ <el-image style="width: 1402.41px; height: 291.58px" :src="zhuangding2" class="my-6"></el-image>
+ <p class="font-['Source_Han_Sans_SC'] font-normal text-[22px] leading-[41px] tracking-[0%] capitalize text-[#333] text-center">
+ 鏈�澶у嵃鍒烽潰绉細2100 脳 1600 mm
+
+ 鍗板埛閫熷害锛�14,000 鏈�/灏忔椂
+
+ 鍗板埛绾稿紶鍏嬮噸锛�0.2 - 0.4 mm
+ </p>
+ </div>
+ <div class="zhuangding3">
+ <div class="content relative z-0">
+ <div class=" contentbg w-[512.66px] h-[540.71px] relative right-0 pl-16 pt-8">
+ <p class="font-['Source_Code_Pro'] font-semibold text-[36px] align-middle capitalize py-16 text-white">浜斿彴鍏ㄨ嚜鍔ㄩ獞椹鑱斿姩绾�</p>
+ <div class="font-['Source_Han_Sans_SC'] font-normal text-[22px] leading-[37.4px] tracking-[0%] capitalize text-white">
+ <p>鏈�澶ц璁㈠昂瀵� 315脳360mm</p>
+ <p>鏈�灏忚璁㈠昂瀵� 210脳140mm</p>
+ <p>鏈�澶ц璁㈠笘鏁� 6甯�+灏侀潰</p>
+ <p>瑁呰閫熷害 8000鍐�/灏忔椂</p>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div v-if="data.tab == 4" class="bg-white pb-10">
+ <p class="font-['Source_Han_Sans_SC'] font-normal text-[24px] leading-[41px] tracking-[10%] text-center capitalize text-[#696969] py-12">
+ 鎵�鏈夊伐搴忥紝鏃犻渶澶栧崗锛屽窛鍗伴兘鑳藉畬鎴�</p>
+ <div class="content flex flex-wrap justify-between pb-8">
+ <div v-for="(item,index) in arrayList" class=" pb-4 hover:text-[#0D61CE] cursor-pointer ">
+ <el-image style="width: 380px; height: 300px" :src="item.url" class="hover:shadow-[0px_6px_18px_0px_#054CB726] transition-shadow duration-300"></el-image>
+ <p class="font-['Source_Han_Sans'] font-medium text-[24px] leading-[50px] tracking-[5%] text-center capitalize pt-1">{{ item.name }}</p>
+ </div>
+ </div>
+ </div>
+ </div>
+</template>
+
+<script setup>
+
+const { $route ,$router} = getCurrentInstance().appContext.config.globalProperties
+
+import $store from "@/store/index.js";
+import equipment1 from '@/static/img/equipment1.png'
+import equipment2 from '@/static/img/equipment2.png'
+import moqieji from '@/static/img/moqieji.png'
+import fumoji from '@/static/img/fumoji.png'
+import jinkouMBO from '@/static/img/jinkouMBO.png'
+import lekouji from '@/static/img/lekouji.png'
+import sufengji from '@/static/img/sufengji.png'
+import zhanyeji from '@/static/img/zhanyeji.png'
+import tangjinji from '@/static/img/tangjinji.png'
+import suoxianji from '@/static/img/suoxianji.png'
+import zhanxinfeng from '@/static/img/zhanxinfeng.png'
+import yinshuashebei1 from '@/static/img/yinshuashebei1.png'
+import baseyinshuaji from '@/static/img/baseyinshuaji.png'
+import baseyinshuaji1 from '@/static/img/baseyinshuaji1.png'
+import heibai from '@/static/img/heibai.png'
+import lunzhuan from '@/static/img/lunzhuan.png'
+import zhuangding2 from '@/static/img/zhuangding2.png'
+import Frame from '@/static/img/Frame.png'
+import Frame1 from '@/static/img/Frame-1.png'
+import Frame2 from '@/static/img/Frame-2.png'
+import Frame3 from '@/static/img/Frame-3.png'
+import Frame4 from '@/static/img/Frame-4.png'
+
+const data = reactive({
+ tab: 1,
+})
+const images = [
+ {
+ name:'鏅烘帶蹇',
+ url:Frame4
+ },
+ {
+ name:'楂樻晥楂橀��',
+ url:Frame
+ },
+ {
+ name:'瑁佸垏绮惧噯',
+ url:Frame1
+ },
+ {
+ name:'楂樺害鑷姩',
+ url:Frame2
+ },
+ {
+ name:'鎿嶄綔绠�鏄�',
+ url:Frame3
+ },
+]
+const arrayList = [
+ {
+ name:'妯″垏鏈�',
+ url:moqieji
+ },
+ {
+ name:'鍕掑彛鏈�',
+ url:lekouji
+ },
+ {
+ name:'濉戝皝鏈�',
+ url:sufengji
+ },
+ {
+ name:'绮橀〉鏈�',
+ url:zhanyeji
+ },
+ {
+ name:'绮樹俊灏佹満',
+ url:zhanxinfeng
+ },
+ {
+ name:'鐑噾鏈�',
+ url:tangjinji
+ },
+ {
+ name:'瑕嗚啘鏈�',
+ url:fumoji
+ },
+ {
+ name:'杩涘彛MBO鍏ㄨ嚜鍔ㄦ姌椤垫満',
+ url:jinkouMBO
+ },
+ {
+ name:'杩涘彛闃挎柉鐗瑰叏鑷姩閿佺嚎鏈�',
+ url:suoxianji
+ },
+]
+const tabchange = (el) => {
+ $router.push({
+ path: '/equipment',
+ query: { id: el }
+ })
+ data.tab = el
+ $route.query.id = el
+
+}
+
+onMounted(() => {
+ data.tab = $route.query.id;
+})
+</script>
+
+<style scoped>
+.el-button {
+ width: 309.52px;
+ height: 77.34px;
+ font-size: 28px;
+}
+
+.actived {
+ line-height: 52px;
+ border-bottom: 4px solid #09a860;
+}
+
+.bannerbg {
+ background: linear-gradient(90deg, rgba(14, 97, 206, 0.9) 30%, rgba(108, 160, 255, 0.18) 100%),
+ url('@/static/img/yinshuapeizhibanner.png') center/cover no-repeat;
+}
+
+.bannerbg1 {
+ background: linear-gradient(90deg, rgba(14, 97, 206, 0.9) 30%, rgba(108, 160, 255, 0.18) 100%),
+ url('@/static/img/yinshuapeizhibanner.png') center/cover no-repeat;
+}
+.shebeipeizhi2{
+ background: linear-gradient(114.84deg, rgba(14, 88, 209, 0.9) 35.46%, rgba(51, 109, 252, 0.7) 93.3%),
+ url('@/static/img/yinshuapeizhi2.png') center/cover no-repeat;
+
+}
+.zhuangding1{
+ width: 100%;
+ height: 540.71px;
+ background: linear-gradient(90deg, rgba(140, 140, 140, 0.3) 0%, rgba(38, 38, 38, 0.42) 77.99%),
+ url('@/static/img/zhuangding1.png') center/cover no-repeat;
+ background-blend-mode: multiply;
+}
+.contentbg{
+ background: linear-gradient(114.84deg, rgba(14, 88, 209, 0.9) 35.46%, rgba(51, 109, 252, 0.7) 93.3%);
+}
+.zhuangding3{
+ width: 100%;
+ height: 540.71px;
+ background: linear-gradient(90deg, rgba(140, 140, 140, 0.3) 0%, rgba(38, 38, 38, 0.42) 77.99%),url('@/static/img/zhuangding3.png') center/cover no-repeat;
+
+}
+
+.lunzhuanbg {
+ position: relative;
+ z-index: 1;
+}
+.lunzhuanbg::before {
+ content: "";
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background: #F8FAFF url('@/static/img/lunzhuanbeijing.png') center/cover no-repeat;
+ opacity: 0.3; /* 鑳屾櫙鑹�+鑳屾櫙鍥鹃兘30%閫忔槑 */
+ z-index: -1;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/index/index.vue b/src/views/index/index.vue
new file mode 100644
index 0000000..3909ccf
--- /dev/null
+++ b/src/views/index/index.vue
@@ -0,0 +1,113 @@
+<template>
+ <div class=" chuany-font14">
+ <el-image class="chuany-width100 bannerbg" :src="indexbanner"></el-image>
+ <div class="chuany-paddingtop-40 chuany-paddingbottom-40 coreshop-bg-white">
+ <div class="content">
+ <div class="chuany-text-black chuany-flex chuany-justify-between chuany-align-center">
+ <div class="chuany-font16" style="width:100% ;color:#696969;">
+ <p class="font-['Source_Code_Pro'] font-semibold text-[36px] leading-[50px] tracking-[5%] text-center align-middle capitalize" style="color:#000;">鍖犲績鎺掔増路瀹炲姏鍗板埛路鎷涙姇鏍囧叏閾捐祴鑳�</p>
+ <div class="chuany-flex chuany-justify-around chuany-align-center h-509 mt-20 mb-20">
+ <div style="height: 27rem" class="w-80 text-[#000000] flex flex-col items-center bg-[#F6F9FF] p-5 rounded-2xl cursor-pointer hover:text-[#0D61CE] hover:shadow-lg hover:shadow-gray-200 ">
+ <el-image style="width: 120px; height: 120px" :src="Group1" class="mt-10"></el-image>
+ <p class="chuany-text-center chuany-text-bold chuany-font26 ">璁捐鎺掔増路涓撲笟鏈嶅姟</p>
+ <p class="p-5 text-[#383838]">鎴戜滑姹囪仛浜嗚涓氶《灏栫収鎺掋�佽璁°�佺紪杈戜笌鏍″涓撳锛屽叏娴佺▼涓ユ帶鍑哄搧鏍囧噯锛岃姣忎竴椤甸兘缁忓緱璧蜂笓涓氫笌鏃堕棿鐨勫弻閲嶈�冮獙銆�</p>
+ </div>
+ <div style="height: 27rem" class="w-80 text-[#000000] flex flex-col items-center bg-[#F6F9FF] p-5 rounded-2xl cursor-pointer hover:text-[#0D61CE] hover:shadow-lg hover:shadow-gray-200">
+ <el-image style="width: 120px; height: 120px" :src="Group2" class="mt-10"></el-image>
+ <p class="chuany-text-center chuany-text-bold chuany-font26">椤跺皷璁惧路寮哄ぇ瀹炲姏</p>
+ <p class="p-5 text-[#383838]">鎴戜滑寮曡繘浜嗗浗闄呰繘鍙i珮绔嵃鍒疯澶囬泦缇わ紝棰嗗厛瑗垮崡鍦板尯鐨勮澶囬厤缃紝閫傞厤涓嶅悓鏉愯川涓庡嵃鍒峰伐鑹猴紝楂樼簿搴﹁繕鍘熻壊褰╀笌缁嗚妭锛屽苟寤虹珛鍏ㄦ祦绋嬭川妫�浣撶郴锛岀‘淇濅氦浠樺搧璐ㄧǔ瀹氱粺涓�銆�</p>
+ </div>
+ <div @click="goLink" style="height: 27rem" class="w-80 text-[#000000] flex flex-col items-center bg-[#F6F9FF] p-5 rounded-2xl cursor-pointer hover:text-[#0D61CE] hover:shadow-lg hover:shadow-gray-200">
+ <el-image style="width: 120px; height: 120px" :src="Group3" class="mt-10"></el-image>
+ <p class="chuany-text-center chuany-text-bold chuany-font26">鎷涙姇鏍嚶风簿閫氳祴鑳�</p>
+ <p class="p-5 text-[#383838]">鎴戜滑鐔熸倝鎷涙姇鏍囨斂绛栨硶瑙勶紝鍙姪鍔涢噰璐汉鎷嗚В鏍稿績闇�姹傦紝杞寲涓鸿鑼冨彲钀藉湴鐨勫嵃鍒锋妧鏈弬鏁颁笌閲囪喘鏍囧噯锛屾惌寤哄悎瑙勯珮鏁堢殑閲囪喘鍐呮帶娴佺▼锛岄伩鍏嶉渶姹傚亸宸紝楂樻晥瀹屾垚閲囪喘娴佺▼銆�</p>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ </div>
+ </div>
+</template>
+<script setup>
+const { $meth } = getCurrentInstance().appContext.config.globalProperties
+import { getPageConfig, getAreaList, userInfo, shopConfigV2 } from '@/api/comm.js'
+const { $route } = getCurrentInstance().appContext.config.globalProperties
+import indexbanner from '@/static/img/indexbanner.png'
+
+import $store from "@/store/index.js";
+import Group1 from '@/assets/Group1.png'
+import Group2 from '@/assets/Group2.png'
+import Group3 from '@/assets/Group3.png'
+const data = reactive({
+ value: 1,
+ agreement: false,
+ // getgoods:goods.list1,
+ currentIndex: 0,
+ opacity: 0,
+ scrollTop: 0,
+ pageData: [],
+ pageCode: 'pc_h5', //椤甸潰甯冨眬缂栫爜
+ kefupara: '', //瀹㈡湇浼犻�掕祫鏂�
+ copy: false,
+ // shareUrl: $globalConstVars.shareUrl,
+ isScorll: false,
+ homeTitle: '',
+ modalShow: false,
+})
+onMounted(() => {
+ // getPageConfigs()
+ getAreaLists()
+ shopConfigV2s()
+ if ($store().token) {
+ userInfos()
+ }
+
+});
+
+const goLink = () => {
+ window.open('http://zc.51zhengcai.com/login','_blank')
+}
+const getPageConfigs = () => {
+ getPageConfig({ code: data.pageCode }).then(res => {
+ if (res.status == true) {
+ data.pageData = res.data.items;
+ console.log("pageData:", data.pageData)
+ }
+
+ });
+}
+const shopConfigV2s = () => {
+ shopConfigV2().then(res => {
+ if (res.status == true) {
+ $store().setconfig(res.data)
+ }
+
+ });
+}
+const getAreaLists = () => {
+ getAreaList().then(res => {
+ if (res.status == true) {
+ $store().setArea(res.data)
+
+ }
+ });
+}
+const userInfos = () => {
+ userInfo().then(res => {
+ if (res.status == true) {
+ $store().setuserInfo(res.data)
+ }
+ });
+}
+
+const getlist = (url, obj) => {
+ $meth.gourl(url, obj)
+}
+</script>
+<style>
+.bannerbg {
+ background: linear-gradient(90deg, rgba(14, 97, 206, 0.12) 30%, rgba(108, 160, 255, 0.04) 100%);
+}
+</style>
\ No newline at end of file
diff --git a/src/views/join/index.vue b/src/views/join/index.vue
new file mode 100644
index 0000000..43d89b8
--- /dev/null
+++ b/src/views/join/index.vue
@@ -0,0 +1,625 @@
+<template>
+ <div>
+ <div class="bannerbg chuany-width100 h-96 flex items-center">
+ <div
+ class="content text-black font-['Source_Han_Sans_SC'] font-bold text-[50px] leading-[80px] tracking-[11%] capitalize ">
+ <p class="pb-3">鎶婃彙宸濆嵃鍚堜綔鏃朵唬鏈洪亣锛�</p>
+ <p>寮�鎷撳叡璧㈡柊绡囷紒</p>
+ </div>
+ </div>
+ <!-- <el-image class="chuany-width100" :src="data.joinbanner"></el-image> -->
+ <div class="content">
+ <ul style="width:100%;"
+ class="chuany-flex chuany-justify-center chuany-align-center content chuany-font20 chuany-padding10 h-[60px]">
+ <li :class="['chuany-cursor', data.tab == 1 ? 'actived' : '']" style="margin-right:20%;" @click="tabchange(1)">鎷涙姇鏍囧悎浣�
+ </li>
+ <li :class="['chuany-cursor', data.tab == 2 ? 'actived' : '']" @click="tabchange(2)">浠g悊鍔犵洘</li>
+ </ul>
+ </div>
+ <div v-if="data.tab == 1">
+ <div class="pt-[80px] chuany-font14 coreshop-bg-white text-[#000]">
+ <div class="flex justify-center content">
+ <el-image style="width: 483.46px; height: 537.45px" :src="cooperation" class="mr-10"></el-image>
+ <div class="right pb-16">
+ <p
+ class="font-['Source_Code_Pro'] font-semibold text-[36px] leading-[50px] tracking-[10%] align-middle capitalize">
+ 鏀垮簻閲囪喘鍚堜綔</p>
+ <p class="font-['Source_Han_Sans_SC'] font-normal text-[22px] leading-[38px] tracking-[0%] capitalize pt-3">
+ 鑱斿悎浣撴姇鏍囷紝鍒嗕韩鍒╂鼎鏇村锛屼腑鏍囨満鐜囨洿澶�</p>
+ <div class="flex py-4 px-2 hover:text-[#0D61CE] cursor-pointer">
+ <div><i class="iconfont icon-banshou pr-5" style="font-size: 26px;"></i></div>
+ <div>
+ <p class="font-['Source_Han_Sans_SC'] font-medium text-[24px] leading-[26px] tracking-[10%] capitalize">
+ 璁惧瀹炲姏闆勫帤</p>
+ <p
+ class="font-['Source_Han_Sans_SC'] font-normal text-[16px] leading-[25px] tracking-normal text-justify capitalize text-[#696969] pt-2">
+ 閰嶅鍏堣繘鍗板埛涓庡悗閬撳姞宸ヨ澶囷紝婊¤冻澶ф壒閲忋�侀珮绮惧害鍗板埛闇�姹傘��</p>
+ </div>
+ </div>
+ <div class="flex py-4 px-2 hover:text-[#0D61CE] cursor-pointer">
+ <div><i class="iconfont icon-xingxing1 pr-5" style="font-size: 26px;"></i></div>
+ <div>
+ <p class="font-['Source_Han_Sans_SC'] font-medium text-[24px] leading-[26px] tracking-[10%] capitalize">
+ 鍚勭璧勮川榻愬叏</p>
+ <p
+ class="font-['Source_Han_Sans_SC'] font-normal text-[16px] leading-[25px] tracking-normal text-justify capitalize text-[#696969] pt-2">
+ 鎸佹湁瀹屾暣鍗板埛璧勮川涓庤璇侊紝纭繚鍝佽川涓庡悎瑙勩��</p>
+ </div>
+ </div>
+ <div class="flex py-4 px-2 hover:text-[#0D61CE] cursor-pointer">
+ <div><i class="iconfont icon-baxin pr-5" style="font-size: 26px;"></i></div>
+ <div>
+ <p class="font-['Source_Han_Sans_SC'] font-medium text-[24px] leading-[26px] tracking-[10%] capitalize">
+ 绮鹃�氭嫑鎶曟爣绋嬪簭</p>
+ <p
+ class="font-['Source_Han_Sans_SC'] font-normal text-[16px] leading-[25px] tracking-normal text-justify capitalize text-[#696969] pt-2">
+ 涓板瘜鐨勬斂搴滃強浼佷簨涓氬崟浣嶉」鐩粡楠岋紝楂樻晥鎵挎帴鍚勭被鍗板埛宸ョ▼銆�</p>
+ </div>
+ </div>
+ <div class="flex py-4 px-2 hover:text-[#0D61CE] cursor-pointer">
+ <div><i class="iconfont icon-hezuo-tianchong pr-5" style="font-size: 26px;"></i></div>
+ <div>
+ <p class="font-['Source_Han_Sans_SC'] font-medium text-[24px] leading-[26px] tracking-[10%] capitalize">
+ 鍚堜綔鏈哄埗鐏垫椿</p>
+ <p
+ class="font-['Source_Han_Sans_SC'] font-normal text-[16px] leading-[25px] tracking-normal text-justify capitalize text-[#696969] pt-2">
+ 澶氭牱鍖栧悎浣滄ā寮忥紝鎸夐渶瀹氬埗锛屽姪鍔涢檷鏈鏁堛��</p>
+ </div>
+ </div>
+ <div class="flex py-4 px-2 hover:text-[#0D61CE] cursor-pointer">
+ <div><i class="iconfont icon-zijin pr-5" style="font-size: 26px;"></i></div>
+ <div>
+ <p class="font-['Source_Han_Sans_SC'] font-medium text-[24px] leading-[26px] tracking-[10%] capitalize">
+ 鍨祫鑳藉姏寮�</p>
+ <p
+ class="font-['Source_Han_Sans_SC'] font-normal text-[16px] leading-[25px] tracking-normal text-justify capitalize text-[#696969] pt-2">
+ 璧勯噾瀹炲姏闆勫帤锛屽彲鎻愪緵椤圭洰鍨祫鏀寔锛屼繚闅滈『鍒╀氦浠樸��</p>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div>
+
+ </div>
+ </div>
+ <div>
+ <div class="content pb-16">
+ <p
+ class="font-['Source_Code_Pro'] font-semibold text-[36px] leading-[50px] tracking-[3.6px] text-center capitalize pt-10">
+ 鍜ㄨ鐑嚎</p>
+ <p
+ class="font-['Source_Han_Sans_SC'] font-normal text-[26px] leading-[50px] tracking-[10%] text-center align-middle capitalize text-[#696969] py-5">
+ 濡傛灉鏈変换浣曢棶棰樿鑱旂郴鎴戜滑锛屾垜浠皢绔瘹涓烘偍鏈嶅姟</p>
+ <div class="w-[70%] flex justify-between pt-10" style="margin: 0 auto;">
+ <div
+ class="w-[486.06px] h-[117.46px] rounded-lg bg-[#F3F3F3] flex items-center hover:bg-[#0D61CE] hover:text-white group">
+ <div><i class="iconfont icon-dianhua pr-14 pl-14 text-[#0D61CE] group-hover:text-white"
+ style="font-size: 26px;"></i></div>
+ <div class="font-['Figtree'] font-medium text-[22.62px] leading-[20.1px] tracking-[3%] capitalize ">
+ <p class="">鑱旂郴鐢佃瘽锛�</p>
+ <p class="pt-4 text-[#696969] group-hover:text-white">028-83333222</p>
+ </div>
+ </div>
+ <div
+ class="w-[486.06px] h-[117.46px] rounded-lg bg-[#F3F3F3] flex items-center hover:bg-[#0D61CE] hover:text-white group">
+ <div><i class="iconfont icon-dingwei pr-14 pl-14 text-[#0D61CE] group-hover:text-white"
+ style="font-size: 26px;"></i></div>
+ <div class="font-['Figtree'] font-medium text-[22.62px] leading-[20.1px] tracking-[3%] capitalize">
+ <p>鍏徃鍦板潃锛�</p>
+ <p class="pt-4 text-[#696969] group-hover:text-white">鎴愰兘甯傝挷姹熷幙瀵垮畨宸ヤ笟鍖�</p>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div v-else>
+ <div class="coreshop-bg-white">
+ <div class="content pt-10 pb-10">
+ <p
+ class="font-['Source_Code_Pro'] font-semibold text-[36px] leading-[50px] tracking-[10%] align-middle capitalize pb-6">
+ 鍝佺墝鏁呬簨</p>
+ <div class="flex justify-between">
+ <div class="flex justify-center items-center relative mr-16">
+ <el-image style="width: 612.47px; height: 321.98px" :src="pingpai1"></el-image>
+ <p
+ class="font-['Source_Han_Sans_SC'] font-normal text-lg leading-[34px] tracking-normal text-justify capitalize px-10 absolute">
+ 鐧惧垎鍏垫硶鏄竴涓笓娉ㄤ簬闃茶繎瑙嗕綔涓氭湰鐨勬枃鍏峰搧鐗岋紝绉夋壙瀹堟姢瀛╁瓙鐪肩潧鍋ュ悍鐨勫潥瀹氭効鏅紝鍧氭寔浠ュ瀛愬拰绉戞妧涓烘牳蹇冨垱鏂颁骇鍝併�傚叾鐢靛晢骞冲彴杩炴帴浣滀笟鏈敓浜у巶鍟嗕笌鏂囧叿搴楋紝鍔╁姏鍗板埛浼佷笟娑堝寲搴撳瓨銆佹嫇灞曡鍗曪紝鍚屾椂涓烘枃鍏峰簵鍙婂闀挎彁渚涗环寤夌墿缇庣殑浣滀笟鏈揣婧愩�傝瘹閭�鍗板埛浼佷笟銆佹枃鍏峰簵鍙婄ぞ浼氬悇鐣屼汉澹姞鍏ワ紝鍏卞垱寰晢浜嬩笟銆�
+ </p>
+ </div>
+ <div class="ml-16">
+ <el-image style="width: 554.24px; height: 321.98px" :src="pingpai"></el-image>
+
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="content pt-10 pb-10 flex justify-center">
+ <div class="flex flex-wrap items-center mr-16">
+ <div>
+ <p
+ class="font-['Source_Code_Pro'] font-semibold text-[36px] leading-[50px] tracking-[10%] align-middle capitalize ">
+ 鎼烘墜鐧惧垎鍏垫硶锛�</p>
+ <p
+ class="font-['Source_Code_Pro'] font-semibold text-[36px] leading-[50px] tracking-[10%] align-middle capitalize pb-6">
+ 骞撮攢鐧句竾浣滀笟鏈殑璐㈠瘜閫氶亾</p>
+ </div>
+ <div class="apply">
+ <p
+ class="font-['Source_Han_Sans_SC'] font-normal text-xl leading-[38px] tracking-[4%] text-justify capitalize text-[#696969] ">
+ 鍖哄煙浠g悊甯綅浜夋姠涓紝绔嬪嵆鎶㈠崰涓皬瀛︿綔涓氭湰鏍囨潌骞�</p>
+ <p
+ class="font-['Source_Han_Sans_SC'] font-normal text-xl leading-[38px] tracking-[4%] text-justify capitalize text-[#696969]">
+ 鍙帮紝鍏辫耽绱犺川鏁欒偛鏂拌禌閬撱��</p>
+ <el-button type="primary" color="#0D61CE" size="large" class=" mt-16 mb-8"
+ @click="apply">鐢宠鎴愪负鍔犵洘鍟�</el-button>
+ </div>
+ </div>
+ <div class=" w-[50%] ml-16">
+ <el-image style="width: 403.64px; height: 403.64px" :src="pingpai2"></el-image>
+ </div>
+
+ </div>
+ <!-- <div v-if="data.isdistribution">
+ <div class="chuany-text-right "><el-button type="primary" @click="changedistributor">鐢宠鎴愪负缁忛攢鍟�</el-button></div>
+ <div v-html="data.distributionhtml" class="chuany-line2"></div>
+ </div> -->
+ <!-- <div class=" chuany-font14" v-else>
+ <el-form :model="data.form" :rules="data.rules" label-width="auto" style="max-width: 600px" ref="form">
+ <el-form-item label="琛屼笟锛�" prop="profession">
+ <el-select v-model="data.form.profession" placeholder="Select" style="width: 100%">
+ <el-option v-for="item in data.sectorlist" :key="item.index" :label="item.label"
+ :value="item.value" />
+ </el-select>
+ </el-form-item>
+
+ <el-form-item label="鐪佸競鍖猴細" prop="areaIds">
+ <el-cascader placeholder="璇烽�夋嫨鐪佸競鍖�" ref="cascader" style="width: 100%" v-model="data.form.areaCodes"
+ :options="data.getarea" @change="handleChange" :emitPath="false" filterable clearable />
+ </el-form-item>
+
+ <el-form-item label="璇︾粏鍦板潃锛�" prop="address">
+ <el-input placeholder="璇疯緭鍏ヨ缁嗗湴鍧�" type="textarea" v-model="data.form.address" @click="addressclick" />
+ </el-form-item>
+ <el-form-item label="鑱旂郴浜�:" prop="name">
+ <el-input placeholder="璇疯緭鍏ヨ仈绯讳汉" type="text" v-model="data.form.name" />
+ </el-form-item>
+ <el-form-item label="鑱旂郴鐢佃瘽锛�" prop="mobile">
+ <el-input placeholder="璇疯緭鍏ヨ仈绯荤數璇�" type="number" v-model="data.form.mobile" />
+ </el-form-item>
+
+ <el-form-item label="骞撮攢鍞锛�" prop="sales">
+ <el-input placeholder="璇疯緭鍏ュ勾閿�鍞" type="number" v-model="data.form.sales"><template #append>涓囧厓</template></el-input>
+</el-form-item>
+<el-form-item label="搴楅摵鍚嶇О锛�" prop="storeName"
+ v-if="data.form.profession=='鏂囧叿搴�'|| data.form.profession=='骞垮憡搴�'|| data.form.profession=='灏忓崠閮�'">
+ <el-input placeholder="璇疯緭鍏ュ簵閾哄悕绉�" type="text" v-model="data.form.storeName" />
+</el-form-item>
+
+<el-form-item label="搴楅摵鐓х墖锛�" prop="storeName"
+ v-if="data.form.profession=='鏂囧叿搴�'|| data.form.profession=='骞垮憡搴�'|| data.form.profession=='灏忓崠閮�'">
+ <el-upload class="avatar-uploader" action="" limit="2" :show-file-list="false" :on-change="handleimage"
+ :before-upload="beforeAvatarUpload" :auto-upload="false" :on-remove="handleRemove">
+ <img v-if="data.imageUrl" :src="data.imageUrl" style="width:80px;height80px" />
+ <el-icon v-else class="avatar-uploader-icon">
+ <Plus />
+ </el-icon>
+ </el-upload>
+</el-form-item>
+
+<el-form-item label="缁忛攢鍟嗭細" prop="checked">
+ <el-switch v-model="data.form.checked" @change="agreement" />
+</el-form-item>
+
+<el-form-item label="">
+ <el-button type="primary" @click="onSubmit(data.form)">鐢宠鎴愪负缁忛攢鍟�</el-button>
+</el-form-item>
+</el-form>
+</div> -->
+ <el-dialog v-model="applyVisible" title="鍔犵洘鍟嗘嫑鍕�" width="1000" :before-close="handleClose">
+ <div class=" chuany-font14">
+ <el-form :model="data.form" :rules="data.rules" label-width="auto" style="max-width: 1000px" ref="form">
+ <el-row :gutter="20">
+ <el-col :span="8">
+ <el-form-item label="琛屼笟锛�" prop="profession" label-position="top">
+ <el-select v-model="data.form.profession" placeholder="Select" style="width: 100%">
+ <el-option v-for="item in data.sectorlist" :key="item.index" :label="item.label"
+ :value="item.value" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="鍖哄煙锛�" prop="areaIds" label-position="top">
+ <el-cascader placeholder="璇烽�夋嫨鐪併�佸競銆佸尯鍘�" ref="cascader" style="width: 100%" v-model="data.form.areaCodes"
+ :options="data.getarea" @change="handleChange" :emitPath="false" filterable clearable />
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="搴楅摵瀹氫綅锛�" prop="address" label-position="top">
+ <el-input placeholder="璇风偣鍑诲畾浣�" v-model="data.form.address" @click="addressclick" readonly/>
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="鑱旂郴浜�:" prop="name" label-position="top">
+ <el-input placeholder="璇疯緭鍏ヨ仈绯讳汉" type="text" v-model="data.form.name" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="鑱旂郴鐢佃瘽锛�" prop="mobile" label-position="top">
+ <el-input placeholder="璇疯緭鍏ヨ仈绯荤數璇�" type="number" v-model="data.form.mobile" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="骞撮攢鍞锛�" prop="sales" label-position="top">
+ <el-input placeholder="璇疯緭鍏ュ勾閿�鍞" type="number" v-model="data.form.sales"><template
+ #append>涓囧厓</template></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="搴楅摵鍚嶇О锛�" prop="storeName" label-position="top"
+ v-if="data.form.profession == '鏂囧叿搴�' || data.form.profession == '骞垮憡搴�' || data.form.profession == '灏忓崠閮�'">
+ <el-input placeholder="璇疯緭鍏ュ簵閾哄悕绉�" type="text" v-model="data.form.storeName" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <el-form-item label="">
+ <el-checkbox label="鍔犵洘鍟嗗崗璁�"></el-checkbox>
+ </el-form-item>
+ </el-col>
+ <!-- <el-col :span="24" style="margin: 0 auto;">
+ <el-form-item label="">
+ <el-button type="primary" @click="applyVisible = false">鐢宠鎴愪负鍔犵洘鍟�</el-button>
+ </el-form-item>
+ </el-col> -->
+ </el-row>
+
+
+
+
+
+
+
+
+
+ <!-- <el-form-item label="搴楅摵鍚嶇О锛�" prop="storeName"
+ v-if="data.form.profession == '鏂囧叿搴�' || data.form.profession == '骞垮憡搴�' || data.form.profession == '灏忓崠閮�'">
+ <el-input placeholder="璇疯緭鍏ュ簵閾哄悕绉�" type="text" v-model="data.form.storeName" />
+ </el-form-item>
+
+ <el-form-item label="搴楅摵鐓х墖锛�" prop="storeName"
+ v-if="data.form.profession == '鏂囧叿搴�' || data.form.profession == '骞垮憡搴�' || data.form.profession == '灏忓崠閮�'">
+ <el-upload class="avatar-uploader" action="" limit="2" :show-file-list="false" :on-change="handleimage"
+ :before-upload="beforeAvatarUpload" :auto-upload="false" :on-remove="handleRemove">
+ <img v-if="data.imageUrl" :src="data.imageUrl" style="width:80px;height80px" />
+ <el-icon v-else class="avatar-uploader-icon">
+ <Plus />
+ </el-icon>
+ </el-upload>
+ </el-form-item> -->
+
+ <!-- <el-form-item label="缁忛攢鍟嗭細" prop="checked">
+ <el-switch v-model="data.form.checked" @change="agreement" />
+ </el-form-item>
+
+ <el-form-item label="">
+ <el-button type="primary" @click="onSubmit(data.form)">鐢宠鎴愪负缁忛攢鍟�</el-button>
+ </el-form-item> -->
+
+ </el-form>
+ </div>
+ <template #footer>
+ <div class="dialog-footer">
+ <!-- <el-button @click="applyVisible = false">Cancel</el-button> -->
+ <el-button type="primary" @click="applyVisible = false" style="margin: 0 auto;">
+ 鐢宠鎴愪负鍔犵洘鍟�
+ </el-button>
+ </div>
+ </template>
+ </el-dialog>
+ </div>
+ <iplocation ref="visiableDialog" @click="getip"></iplocation>
+ </div>
+</template>
+
+<script setup>
+import { Plus } from '@element-plus/icons-vue'
+const { $meth, $message, $msgbox, $route, $router } = getCurrentInstance().appContext.config.globalProperties
+import { applyDistribution, getDistributionInfo } from '@/api/distribution.js'
+import { uploadFilesFByBase64, jobSet } from '@/api/comm.js'
+import axios from "axios";
+import verify from "@/common/validate.js";
+import $store from "@/store/index.js";
+import joinbanner from '@/static/img/joinbanner.png'
+import cooperation from '@/static/img/cooperation.png'
+import joinbanner2 from '@/static/img/joinbanner2.png'
+import pingpai2 from '@/static/img/pingpai2.png'
+import pingpai1 from '@/static/img/pingpai1.png'
+import pingpai from '@/static/img/pingpai.png'
+import iplocation from '@/components/iplocation/index.vue';
+import { ref } from 'vue';
+const cascader = ref();
+const visiableDialog = ref(false);
+const applyVisible = ref(false)
+const data = reactive({
+ dialogVisible: false,
+ joinbanner: joinbanner,
+ tab: 2,
+ form: {
+ name: '',
+ mobile: "",
+ storeName: "", //搴楅摵
+ arealabel: "",
+ areaCodes: [],
+ areaCode: "",
+ address: "",
+ storeBanner: "", //搴楅摵闂ㄥご form.storeBanner
+ sales: "", //閿�鍞搴�
+ profession: "鏂囧叿搴�", //鎵�灞炶涓�
+ checked: false,
+ agreement: 'off',
+ latitude: "",
+ longitude: "",
+ street: "",
+ storeCoordinate: ""
+ },
+ imageUrl: "",
+ sectorlist: $store().sector,
+ getarea: [],
+ rules: {
+ areaCode: verify.areaCode,
+ address: verify.address,
+ name: verify.name,
+ storeName: "",
+ mobile: verify.mobile,
+ sales: verify.sales,
+ checked: verify.agreement
+ },
+ distributionhtml: $store().config.distributionNotes,
+ isdistribution: true,
+ fileList: [],
+
+ recruit: []
+})
+onMounted(() => {
+ data.tab = $route.query.id;
+ data.getarea = $store().areaList;
+ jobSets()
+})
+const tabchange = (el) => {
+ data.isdistribution = true
+ $router.push({
+ path: '/join',
+ query: { id: el }
+ })
+ data.tab = el
+ $route.query.id = el
+
+}
+const handleClick = (el) => {//搴旇仒
+ console.log("el:", el.id)
+ if ($store().token) {
+ $meth.gourl('/recruitinfo', { id: el.id, position: el.position })
+ } else {
+ sessionStorage.setItem("redirectPath", $meth.circularSafeStringify($route))
+ $meth.islogin()
+ }
+
+}
+const handleClose = (done) => {
+ ElMessageBox.confirm('Are you sure to close this dialog?')
+ .then(() => {
+ done()
+ })
+ .catch(() => {
+ // catch error
+ })
+}
+// 鍗忚
+const agreement = (el) => {
+ if (el) {
+ $msgbox.alert(data.distributionhtml, {
+ dangerouslyUseHTMLString: true,
+ })
+ data.form.agreement = "on"
+ }
+}
+
+const form = ref()
+const onSubmit = () => {
+ form.value.validate((valid, fields) => {
+ if (valid) {
+ console.log("sss:", data.form)
+ applyDistributions()
+ // response2()
+ } else {
+ console.log('error submit!', fields)
+ }
+ })
+}
+
+
+
+//鑾峰彇鎷涜仒淇℃伅
+const jobSets = (el) => {
+ jobSet().then(res => {
+ if (res.status == true) {
+ data.recruit = res.data
+
+ } else {
+ $message({
+ message: res.msg,
+ grouping: true,
+ type: 'error',
+ })
+ }
+ });
+}
+
+//鐢宠缁忛攢鍟�
+const applyDistributions = (el) => {
+ // data.form.storeBanner=data.fileList.join(",")
+ data.form.storeBanner = data.imageUrl
+ applyDistribution(data.form).then(res => {
+ if (res.status == true) {
+ $message({
+ message: res.msg,
+ grouping: true,
+ type: 'success',
+ })
+ } else {
+ $message({
+ message: res.msg,
+ grouping: true,
+ type: 'error',
+ })
+ }
+ });
+}
+
+//缁忛攢鍟� 鍛婄煡 鐢宠
+const changedistributor = () => {
+ if ($store().token) {
+ getDistributionInfos()
+ } else {
+ sessionStorage.setItem("redirectPath", $meth.circularSafeStringify($route))
+ $meth.islogin()
+ }
+
+}
+
+//鐢宠缁忛攢鍟嗚繘搴�
+const getDistributionInfos = (el) => {
+
+ getDistributionInfo().then(res => {
+ if (res.status == true) {
+ if (res.data.hasOwnProperty('verifyStatus')) {
+ if (res.data.verifyStatus == 1 || (!res.data.needApply && res.data)) {
+ $meth.gourl('/distribution')
+ } else if (res.data.verifyStatus == 2) {
+ $message({
+ message: "瀹℃牳涓�",
+ grouping: true,
+ type: 'success',
+ })
+
+ } else if (res.data.verifyStatus > 2) {
+ $message({
+ message: "鎶辨瓑锛屾偍鐨勭敵璇疯椹冲洖鎴栧彇娑堣祫鏍�",
+ grouping: true,
+ type: 'success',
+ })
+ } else {
+ data.isdistribution = !data.isdistribution
+ }
+ }
+ } else {
+ $message({
+ message: res.msg,
+ grouping: true,
+ type: 'error',
+ })
+ }
+ });
+}
+
+const handleChange = (el) => {
+ data.form.areaCode = el.join(",")
+ data.form.arealabel = cascader.value.getCheckedNodes()[0].pathLabels.join(" ")
+
+}
+//閫夋嫨鍥剧墖
+const handleimage = (response, uploadFile) => {
+ getBase64(response.raw).then(res => {
+ uploadFilesFByBase64s(res)
+ })
+}
+//閫夋嫨鍥剧墖
+const handleRemove = (uploadFile, uploadFiles) => {
+ console.log("鍒犻櫎:", uploadFiles)
+
+}
+//涓婁紶鍥剧墖Base64
+const uploadFilesFByBase64s = (el) => {
+ uploadFilesFByBase64({ base64: el }).then(res => {
+ if (res.code == 0) {
+ console.log("涓婁紶鎴愬姛锛�", res.data.src)
+ // data.fileList.Plus(res.data.src)
+ data.imageUrl = res.data.src
+ // data.fileList.push(res.data.src)
+ } else {
+ $message({
+ message: res.msg,
+ grouping: true,
+ type: 'error',
+ })
+ }
+ });
+}
+
+const getBase64 = (file) => {
+ return new Promise((resolve, reject) => {
+ const reader = new FileReader()
+ let imgResult = ""
+ reader.readAsDataURL(file)
+ reader.onload = function () {
+ imgResult = reader.result
+ }
+ reader.onerror = function (error) {
+ reject(error)
+ }
+ reader.onloadend = function () {
+ resolve(imgResult)
+ }
+ })
+}
+
+const addressclick = () => {
+ visiableDialog.value.dialogVisble = true
+
+}
+const apply = () => {
+ applyVisible.value = true
+}
+const getip = (el) => {//鑾峰彇寮圭獥涓殑鍦板潃
+ console.log(el.lon)
+ data.form.longitude = el.lon
+ data.form.latitude = el.lat
+ data.form.address = el.address
+ visiableDialog.value.dialogVisble = false
+
+}
+</script>
+
+<style scoped>
+ .apply .el-button {
+ width: 309.52px;
+ height: 77.34px;
+ font-size: 28px;
+}
+
+.avatar-uploader-icon {
+ font-size: 28px;
+ color: #8c939d;
+ width: 80px;
+ height: 80px;
+ text-align: center;
+ border: 1px dashed var(--el-border-color);
+}
+
+.actived {
+ line-height: 52px;
+ border-bottom: 4px solid #09a860;
+}
+
+.bannerbg {
+ background: url('@/static/img/joinbanner.png') center/cover no-repeat;
+}
+
+.div1 {
+ background: url('@/static/img/pingpai1.png') center/cover no-repeat;
+}
+
+.div2 {
+ background: url('@/static/img/pingpai.png') center/cover no-repeat;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/login/index.vue b/src/views/login/index.vue
new file mode 100644
index 0000000..cf6d0c9
--- /dev/null
+++ b/src/views/login/index.vue
@@ -0,0 +1,91 @@
+<template>
+ <div>
+ <el-container style="min-height:100vh;height:100%">
+ <el-header class="flex justify-between items-center mx-10">
+ <el-image :src="logo" style="width:192px;height:27px" />
+ <p @click="goIndex" class="cursor-pointer">棣栭〉</p>
+ </el-header>
+ <el-main style="padding:0;" class="mainbg" >
+ <div class="content flex flex-wrap justify-between pt-16">
+ <div v-for="(item,index) in arrayList" @click="goWeb(item.link)" class="relative mt-6 cursor-pointer w-[30%] h-[20%]" style="margin: 0 auto;">
+ <el-image style="width: 100%; height: 100%" :src="item.url"></el-image>
+ <p class="absolute inset-0 whitespace-pre-line font-['Source_Han_Sans_CN_VF'] font-medium text-[32px] leading-[50px] tracking-[-5%] capitalize p-10 pl-14">{{ item.name }}</p>
+ </div>
+ </div>
+ </el-main>
+ <el-footer height="100%" class="coreshop-bg-black">
+ <div class="chuany-text-center chuany-font14" style="padding:20px 0;color: #E4E4E4;">
+ <p class="chuany-margintop-8 golink" @click="goLink">铚�ICP澶�10206670鍙�-3 宸滲2-20120108</p>
+ <p class="chuany-margintop-8">鐗堟潈鎵�鏈� 漏 2005-2011 宸濆嵃鏂囧寲闆嗗洟鑲′唤鏈夐檺鍏徃锛坵ww.cyin.cn锛堿ll Rights Reserved</p>
+ </div>
+ </el-footer>
+ </el-container>
+ </div>
+</template>
+
+
+<script setup>
+const { $route, $meth } = getCurrentInstance().appContext.config.globalProperties
+
+import logo from '@/static/img/logo.png'
+import login1 from '@/static/img/login1.png'
+import login2 from '@/static/img/login2.png'
+import login3 from '@/static/img/login3.png'
+import login4 from '@/static/img/login4.png'
+import login5 from '@/static/img/login5.png'
+import login6 from '@/static/img/login6.png'
+
+const arrayList = [
+ {
+ name:'鏀块噰鎷涙爣淇℃伅缃�',
+ url:login1,
+ link:'http://zc.51zhengcai.com/login'
+ },
+ {
+ name:'鏀块噰鍜ㄨ缃�',
+ url:login2,
+ link:'https://51zhengcai.com/login'
+ },
+ {
+ name:'鏀块噰鎷涙姇鏍囧挩璇�',
+ url:login3,
+ link:'https://oa.51zhengcai.com/'
+ },
+ {
+ name:'鍗板埛鍦ㄧ嚎\n浜ゆ槗骞冲彴',
+ url:login4,
+ link:'http://www.cyin.cn/login.html'
+ },
+ {
+ name:'鐧惧垎鍏垫硶',
+ url:login5,
+ link:'http://scyin.com/login'
+ },
+ {
+ name:'鐧惧垎鍏垫硶\n璁㈠崟绠$悊绯荤粺',
+ url:login6,
+ link:'http://ycmht.51zhengcai.com:9010/#/user/login'
+ }
+]
+
+const goLink = ()=>{
+ window.open('https://beian.miit.gov.cn/#/Integrated/index','_blank')
+}
+
+const goWeb = (linkstr)=>{
+ window.open(linkstr,'_blank')
+}
+
+const goIndex = () => {
+ sessionStorage.setItem("redirectPath", $meth.circularSafeStringify($route))
+ console.log($route);
+ $meth.gourl("/")
+}
+</script>
+<style scoped lang="scss">
+.mainbg {
+ background:
+
+ url('@/static/img/mainbg.png') center/cover no-repeat;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/main.vue b/src/views/main.vue
new file mode 100644
index 0000000..be99995
--- /dev/null
+++ b/src/views/main.vue
@@ -0,0 +1,62 @@
+
+<template>
+ <div>
+ <el-container style="min-height:100vh;height:100%">
+ <el-header >
+ <commheader @click="changeheader" :userInfo="userInfo" />
+ </el-header>
+ <el-main style="padding:0;background-color:#F8F8F8;">
+ <router-view />
+ </el-main>
+ <el-footer height="100%" class="coreshop-bg-black">
+ <commFooter></commFooter>
+ </el-footer>
+ </el-container>
+ </div>
+</template>
+
+
+<script setup>
+const { $route, $message, $meth } = getCurrentInstance().appContext.config.globalProperties
+import $store from "@/store/index.js";
+import { logout } from '@/api/login.js'
+import commheader from '@/components/header/index.vue';
+import commFooter from '@/components/footer/index.vue';
+const userInfo = ref({});
+// const data = reactive({
+// userInfo: $store().userInfo
+// })
+onMounted(() => {
+// userInfo.value=$store().userInfo
+})
+
+const changeheader=(el)=>{
+ if (el == "outlogin") {
+ outlogins()
+ } else {
+ $meth.gourl(el)
+ }
+
+}
+// const outlogins = (el) => {
+// logout().then(res => {
+// if (res.status == true) {
+// $store().removeuserInfo()
+// $store().removeToken()
+// data.userInfo={}
+// $meth.gourl("/login")
+
+
+// } else {
+// $message({
+// message: res.msg,
+// grouping: true,
+// type: 'error',
+// })
+// }
+// })
+// }
+</script>
+<style scoped lang="scss">
+
+</style>
\ No newline at end of file
diff --git a/src/views/servecustomers/index.vue b/src/views/servecustomers/index.vue
new file mode 100644
index 0000000..e37788c
--- /dev/null
+++ b/src/views/servecustomers/index.vue
@@ -0,0 +1,199 @@
+<template>
+ <div>
+ <div class="bannerbg chuany-width100 h-[450px] flex items-center">
+ <div
+ class="content text-black font-['Source_Han_Sans_SC'] font-bold text-[50px] leading-[80px] tracking-[11%] capitalize ">
+ <p class="pb-3">閾炬帴澶氬厓瀹㈡埛锛�</p>
+ <p>鍏卞缓鏇村己鍚堜綔鐢熸��</p>
+ </div>
+ </div>
+ <!-- <el-image class="chuany-width100" :src="data.joinbanner"></el-image> -->
+ <div class="bg-white">
+ <p class="font-['Source_Code_Pro'] font-semibold text-[36px] leading-[50px] tracking-[10%] align-middle capitalize text-center py-4">澶氳涓氳鐩栵紝鍚堜綔鐗堝浘鎸佺画鎵╁睍</p>
+ <div class="content">
+ <ul style="width:60%;" class="chuany-flex chuany-justify-between chuany-align-center content chuany-font20 chuany-padding10 h-[60px]">
+ <li :class="['chuany-cursor', data.tab == 1 ? 'actived' : '']" ><a href="#part0">鏀垮簻鍗曚綅</a></li>
+ <li :class="['chuany-cursor', data.tab == 2 ? 'actived' : '']" ><a href="#part1">鍖荤枟鏈烘瀯</a></li>
+ <li :class="['chuany-cursor', data.tab == 2 ? 'actived' : '']" ><a href="#part2">鏁欒偛鏈烘瀯</a></li>
+ <li :class="['chuany-cursor', data.tab == 2 ? 'actived' : '']" ><a href="#part3">瀛︽牎</a></li>
+ </ul>
+ </div>
+ </div>
+ <div :class="index1%2==0?'':'bg-white'" v-for="(item,index1) in arrayList" :key="index1" :id="`part${index1}`">
+ <p class="font-['Source_Code_Pro'] font-semibold text-[36px] leading-[50px] tracking-[10%] align-middle capitalize text-center py-4">{{ item.name }}</p>
+ <div class="content" :class="index1==arrayList.length-1?'':'pb-16'">
+ <el-row :gutter="20">
+ <el-col :span="6" v-for="(value,index) in item.value" :key="index" class="rounded-lg">
+ <p class="text-center py-4 rounded-lg my-3" :class="index1%2==0?'bg-white':'bg-[#F2F6FF]'">{{ value }}</p>
+ </el-col>
+ </el-row>
+ </div>
+ </div>
+ <p class="text-center bg-white py-4">* 閮ㄥ垎瀹㈡埛鍚嶅崟</p>
+
+ <div class="bannerbg1 h-96 text-center text-white flex justify-center items-center">
+ <div>
+ <p class="font-['Source_Han_Sans_SC'] font-bold text-[36px] leading-[50px] tracking-[10%] capitalize">鏈嶅姟瀹㈡湇</p>
+ <p class="font-['Figtree'] font-black text-[56px] leading-[50px] tracking-[10%] text-center capitalize my-4 pb-4">2000+</p>
+ <p class="font-['Source_Han_Sans_SC'] font-normal text-[20px] leading-[38px] tracking-[20%] text-center capitalize">鎴戜滑鏈嶅姟鐨勫鎴风被鍨嬪鏍凤紝瑕嗙洊鏀垮簻鏈烘瀯銆佸浗鏈変紒涓氥�佸尰鐤椼�佹暀鑲插強鍚勭被瀛︽牎绛夊涓鍩熴�傚嚟鍊熺ǔ瀹氱殑浜�</p>
+ <p class="font-['Source_Han_Sans_SC'] font-normal text-[20px] leading-[38px] tracking-[20%] text-center capitalize">浠樿兘鍔涘拰涓撲笟鏈嶅姟锛屾垜浠湪涓嶅悓鍦烘櫙涓嬮兘鑾峰緱浜嗗鎴风殑楂樺害璁ゅ彲锛屽苟鎸佺画鎷撳睍鏇村箍娉涚殑鍚堜綔鑼冨洿銆�</p>
+ </div>
+ </div>
+ </div>
+</template>
+
+<script setup>
+
+const { $route } = getCurrentInstance().appContext.config.globalProperties
+
+import $store from "@/store/index.js";
+
+
+const data = reactive({
+ tab: 1,
+})
+const arrayList = [
+ {
+ name:'鏀垮簻鍗曚綅',
+ value:[
+ "鎴愰兘甯傞噾鐗涘尯铻嶅獟浣撲腑蹇�",
+ "鍥涘窛鐪佹硶瀛︿細",
+ "缁电鍗氱墿棣�",
+ "鎴愰兘鍦伴搧杩愯惀鏈夐檺鍏徃",
+ "鎴愰兘甯傜◣鍔″眬",
+ "鍥涘窛鐪佸尰鐤椾繚闅滄湇鍔′腑蹇�",
+ "缁甸槼甯傚叕瀹夊眬",
+ "鍥涘窛鏂板崕寮哄埗闅旂鎴掓瘨鎵�",
+ "鍥涘窛鐪佺ぞ浼氱瀛﹂櫌",
+ "鍥涘窛鐪佷汉姘戞瀵熼櫌",
+ "鎴愰兘浣忔埧鍏Н閲戠鐞嗕腑蹇�",
+ "鎴愰兘甯傚叕瀹夊眬鎴愬崕鍖哄垎灞�",
+ "鍥涘窛鐪佸鏀挎硶濮斿憳浼�",
+ "鍥涘窛鐪佸洟鏍�",
+ "缁甸槼甯傚競鍦虹洃鐫g鐞嗗眬甯傚眬",
+ "涓叡缁甸槼甯傚鍏氭牎",
+ "鎴愰兘浜哄ぇ鍔炲叕鍘�",
+ "鍥涘窛鐪佹垚閮藉競涓骇浜烘皯娉曢櫌",
+ "鍥涘窛鐪佺柧鎺т腑蹇�",
+ "鍗楀厖甯傚叕瀹夊眬椤哄簡鍖哄垎灞�",
+ "璧勯槼甯傝嚜鐒惰祫婧愬拰瑙勫垝灞�",
+ "涓叡涓睙鍘垮鍏氬彶鐮旂┒瀹�",
+ "鍥涘窛鐪佸叕瀹夊巺鎴樿涓績",
+ "鎴愰兘甯傚叕瀹夊眬澶╁簻鏂板尯鍒嗗眬"
+ ]
+ },
+ {
+ name:'鍖荤枟鏈烘瀯',
+ value:[
+ "瀹滃甯傜浜斾汉姘戝尰闄�",
+ "鏂伴兘铚�閮界ぞ鍖哄崼鐢熸湇鍔′腑蹇�",
+ "缁甸槼甯傜涓変汉姘戝尰闄�",
+ "杈惧窞甯備腑蹇冨尰闄�",
+ "鐧藉簷闀囦腑蹇冨崼鐢熼櫌",
+ "鍙屾祦鍖轰笢鍗囩ぞ鍖哄崼鐢熸湇鍔′腑蹇�",
+ "鎴愰兘甯備腑瑗垮尰缁撳悎鍖婚櫌",
+ "娉稿窞甯備腑鍖诲尰闄�",
+ "鎴愰兘甯傜鍥涗汉姘戝尰闄�",
+ "鍙屾祦鍖鸿タ鑸腐绀惧尯鍗敓鏈嶅姟涓績",
+ "閬傚畞甯傚畨灞呭尯浜烘皯鍖婚櫌",
+ "鍙屾祦鍖轰腑鍖诲尰闄�",
+ "閬傚畞甯傜涓�浜烘皯鍖婚櫌",
+ "姝︿警鍖虹孩鐗屾ゼ绀惧尯鍗敓鏈嶅姟涓績",
+ "鑱斾繚淇濋殰閮ㄩ槦绗節鍥涘尰闄�",
+ "瀵岄『鍘夸腑鍖诲尰闄�",
+ "鑷础甯傜涓�浜烘皯鍖婚櫌",
+ "鎴愰兘甯傚叕鍏卞崼鐢熶复搴婂尰鐤椾腑蹇�",
+ "鎴愰兘楂樻柊鍖哄濂冲効绔ュ尰闄�",
+ "闆呭畨甯備腑鍖诲尰闄�",
+ "姝﹁鍥涘窛鐪佹�婚槦鍖婚櫌",
+ "寰烽槼缁忔祹鎶�鏈紑鍙戝尯浜烘皯鍖婚櫌",
+ "鎴愰兘涓尰鑽ぇ瀛﹂檮灞炲尰闄�",
+ "寰烽槼甯備汉姘戝尰闄�"
+ ]
+ },
+ {
+ name:'鏁欒偛鏈烘瀯',
+ value:[
+ "钂叉睙鍘挎暀鑲插眬",
+ "绠�闃冲競鏁欒偛灞�",
+ "涔愯嚦鍘挎暀鑲插拰浣撹偛灞�",
+ "鑷础甯傛部婊╁尯鏁欒偛鍜屼綋鑲插眬",
+ "閲戝爞鍘挎暀鑲插眬",
+ "闃垮潩鍘挎暀鑲插眬",
+ "鑹茶揪鍘挎暀鑲插拰浣撹偛灞�",
+ "甯冩嫋鍘挎暀鑲蹭綋鑲插拰绉戝鎶�鏈眬",
+ "閭绘按鍘挎暀灞�",
+ "榛戞按鍘挎暀鑲插眬",
+ "闈掔鍘挎暀鑲插拰浣撹偛灞�",
+ "鏈ㄩ噷鍘挎暀鑲蹭綋鑲插拰绉戝鎶�鏈眬",
+ "姹夋簮鍘挎暀鑲插眬",
+ "澶╁叏鍘挎暀鑲插眬",
+ "搴峰畾甯傛暀鑲插拰浣撹偛灞�",
+ "鍥涘窛鐪佹暀鑲茶�冭瘯闄�",
+ "闆锋尝鍘挎暀鑲插眬",
+ "浠�閭″競鏁欒偛灞�",
+ "寰楄崳鍘挎暀鑲插拰浣撹偛灞�",
+ "姝︿警鍖烘暀绉戦櫌",
+ "榫欐硥椹垮尯鏁欑闄�",
+ "鐧界帀鍘挎暀鑲插眬",
+ "浠�閭″競鏁欒偛鍜屼綋鑲插眬",
+ "涔愬北甯傛嫑鐢熻�冭瘯涓績"
+ ]
+ },
+ {
+ name:'瀛︽牎',
+ value:[
+ "瑗垮崡浜ら�氬ぇ瀛�",
+ "鎴愰兘鐞嗗伐澶у",
+ "瑗垮崡浜ら�氬ぇ瀛�",
+ "鍥涘窛璀﹀療瀛﹂櫌",
+ "鍥涘窛鍐滀笟澶у",
+ "鎴愰兘鑱屼笟鎶�鏈闄�",
+ "瑗垮崕澶у鍖�",
+ "鎴愰兘鍖诲闄�",
+ "缁甸槼甯堣寖瀛﹂櫌",
+ "瑗垮崡璐㈢粡澶у",
+ "缁甸槼甯堣寖瀛﹂櫌",
+ "鍥涘窛璐㈢粡瀛﹂櫌",
+ "鎴愰兘甯傛爲寰蜂腑瀛�",
+ "鍥涘窛鍗庢柊鐜颁唬鑱屼笟瀛﹂櫌",
+ "寰烽槼甯傜涓�灏忓鏍�",
+ "鍥涘窛鐪佸唴姹熷尰绉戝鏍�",
+ "鍥涘窛鐪佹垚閮介珮鏂板尯瀹為獙灏忓",
+ "鍥涘窛鐪佷俊鎭�氫俊瀛︽牎",
+ "鍥涘窛鐪佷箰灞卞競绗竴涓鏍�",
+ "鍗楀厖鑱屼笟鎶�鏈闄�",
+ "鎴愰兘涓滈儴鏂板尯鍏婚┈楂樼骇涓",
+ "鎴愰兘鍐滀笟绉戞妧鑱屼笟瀛﹂櫌",
+ "鍥涘窛鏂囩悊瀛﹂櫌",
+ "瑗胯棌涓鏍�"
+ ]
+ }
+]
+onMounted(() => {
+ data.tab = $route.query.id;
+})
+</script>
+
+<style scoped>
+ .el-button {
+ width: 309.52px;
+ height: 77.34px;
+ font-size: 28px;
+}
+
+.actived {
+ line-height: 52px;
+ border-bottom: 4px solid #09a860;
+}
+
+.bannerbg {
+ background: url('@/static/img/severbanner.png') center/cover no-repeat;
+}
+
+.bannerbg1 {
+ background: linear-gradient(114.84deg, rgba(14, 88, 209, 0.9) 35.46%, rgba(51, 109, 252, 0.7) 93.3%),
+ url('@/static/img/severbanner.png') center/cover no-repeat;
+ background-blend-mode: multiply;
+}
+</style>
\ No newline at end of file
diff --git a/tailwind.config.js b/tailwind.config.js
new file mode 100644
index 0000000..4cfff68
--- /dev/null
+++ b/tailwind.config.js
@@ -0,0 +1,19 @@
+// tailwind.config.js
+/** @type {import('tailwindcss').Config} */
+module.exports = {
+ content: [
+ "./index.html",
+ "./src/**/*.{vue,js,ts,jsx,tsx}",
+ ],
+ theme: {
+ screens: {
+ 'xs': '320px',
+ 'sm': '375px',
+ 'md': '414px',
+ 'lg': '768px',
+ 'xl': '1024px',
+ },
+ extend: {},
+ },
+ plugins: [],
+}
\ No newline at end of file
diff --git a/vite.config.js b/vite.config.js
new file mode 100644
index 0000000..915d27f
--- /dev/null
+++ b/vite.config.js
@@ -0,0 +1,70 @@
+import { defineConfig } from 'vite'
+import vue from '@vitejs/plugin-vue'
+import AutoImport from 'unplugin-auto-import/vite'
+import Components from 'unplugin-vue-components/vite'
+import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
+import ElementPlus from 'unplugin-element-plus/vite'
+import path from "path";
+
+export default defineConfig({
+ plugins: [
+ vue(),
+ AutoImport({
+ resolvers: [ElementPlusResolver()],
+ imports:["vue","vue-router"]//鑷姩寮曞叆vue vue-router鐩稿叧鍑芥暟
+ }),
+ Components({
+ resolvers: [ElementPlusResolver()],
+ }),
+ ElementPlus({
+ useSource: true,
+ }),
+ ],
+ server: {
+ host: "127.0.0.1",
+ https: false,//鏄惁鍚敤 http 2
+ open: true,//涓哄紑鍙戞湇鍔″櫒閰嶇疆 CORS 锛岄粯璁ゅ惎鐢ㄥ苟鍏佽浠讳綍婧怌ors:open: true,//鏈嶅姟鍚姩鏃惰嚜鍔ㄥ湪娴嬭鍣ㄤ腑鎵撳紑搴旂敤
+ port: "3000",
+ strictPort: false,//璁句负true鏃剁鍙h鍗犵敤鍒欑洿鎺ラ��鍑猴紝涓嶄細灏濊瘯涓嬩竴涓彲鐢ㄧ鍙orce: true,//鏄惁寮哄埗渚濊禆棰勬瀯寤�
+ hmr: true,//绂佺敤鎴栭厤缃� HMR 杩炴帴
+ proxy: {
+ '/Api': {
+ target: 'https://ycm.51zhengcai.com/', //鎺ュ彛鍩熷悕 https://ycm.51zhengcai.com/ http://192.168.0.9:2015/ http://192.168.0.36:2015/
+ changeOrigin: true, //鏄惁璺ㄥ煙
+ secure: true, //鏄惁https鎺ュ彛
+ rewrite: path => path.replace(/^\/Api/, ''),
+ bypass(req, res, options) {//鐪熷疄鍦板潃
+ const proxyUrl = new URL(req.url || "", options.target)?.href || "";
+ res.setHeader("x-res-proxyUrl", proxyUrl);
+ },
+ },
+ }
+
+ },
+ resolve: {
+ // 閰嶇疆璺緞鍒悕
+ alias: {
+ '@': path.resolve(__dirname, './src'),
+ },
+ },
+ css: {
+ preprocessorOptions: {
+ scss: {
+ additionalData: `@use "@/styles/element/index.scss" as *;`,
+ },
+ },
+ // postcss: {
+ // plugins: [
+ // require('autoprefixer')({
+ // overrideBrowserslist: [
+ // 'Android 4.1',
+ // 'iOS 7.1',
+ // 'Chrome > 31',
+ // 'ff > 31',
+ // 'ie >= 8'
+ // ]
+ // })
+ // ]
+ // }
+ },
+})
\ No newline at end of file
--
Gitblit v1.9.1