From 2bf1371e6d527980f40e4e402991fcdf37eddca3 Mon Sep 17 00:00:00 2001 From: no99 <17663930442@163.com> Date: Fri, 21 Feb 2025 09:33:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=99=BA=E8=83=BD=E5=AE=A2=E6=9C=8D=E6=BA=90?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 11 + .env.production | 19 + .gitignore | 24 + .vscode/extensions.json | 3 + README.md | 14 +- index.html | 17 + package-lock.json | 1710 ++++++++++++++++++++++++++ package.json | 22 + public/vite.svg | 1 + src/App.vue | 16 + src/api/sword.js | 44 + src/assets/img/avatar/小柒.png | Bin 0 -> 69362 bytes src/assets/img/avatar/超级云脑按钮.png | Bin 0 -> 30939 bytes src/assets/js/useAppBridge.js | 50 + src/assets/js/useProjectTracking.js | 159 +++ src/assets/vue.svg | 1 + src/components/HelloWorld.vue | 43 + src/config/env.development.js | 10 + src/config/env.production.js | 9 + src/config/index.js | 32 + src/main.js | 14 + src/router/index.js | 20 + src/store/userPermissionCode.js | 65 + src/style.css | 79 ++ src/utils/request.js | 130 ++ src/utils/storage.js | 43 + src/views/chat.vue | 444 +++++++ vite.config.js | 75 ++ 28 files changed, 3054 insertions(+), 1 deletion(-) create mode 100644 .env.development create mode 100644 .env.production create mode 100644 .gitignore create mode 100644 .vscode/extensions.json create mode 100644 index.html create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 public/vite.svg create mode 100644 src/App.vue create mode 100644 src/api/sword.js create mode 100644 src/assets/img/avatar/小柒.png create mode 100644 src/assets/img/avatar/超级云脑按钮.png create mode 100644 src/assets/js/useAppBridge.js create mode 100644 src/assets/js/useProjectTracking.js create mode 100644 src/assets/vue.svg create mode 100644 src/components/HelloWorld.vue create mode 100644 src/config/env.development.js create mode 100644 src/config/env.production.js create mode 100644 src/config/index.js create mode 100644 src/main.js create mode 100644 src/router/index.js create mode 100644 src/store/userPermissionCode.js create mode 100644 src/style.css create mode 100644 src/utils/request.js create mode 100644 src/utils/storage.js create mode 100644 src/views/chat.vue create mode 100644 vite.config.js diff --git a/.env.development b/.env.development new file mode 100644 index 0000000..1320e72 --- /dev/null +++ b/.env.development @@ -0,0 +1,11 @@ +# must start with VITE_ +VITE_ENV='development' +VITE_OUTPUT_DIR='dev' +# public path +VITE_PUBLIC_PATH=/ +# VITE_APP_API_API = '/api' + +#新数据接口 +VITE_APP_API_BASE_URL="http://39.101.133.168:8828/link" +# Whether to open mock +VITE_USE_MOCK=true diff --git a/.env.production b/.env.production new file mode 100644 index 0000000..5c74376 --- /dev/null +++ b/.env.production @@ -0,0 +1,19 @@ +# must start with VITE_ +VITE_ENV = 'production' +VITE_OUTPUT_DIR = 'dist' +# public path +VITE_PUBLIC_PATH = / + +# Whether to open mock +VITE_USE_MOCK = true + +#新数据接口 +VITE_APP_API_BASE_URL = https://api.homilychart.com/link + +# Whether to enable gzip or brotli compression +# Optional: gzip | brotli | none +# If you need multiple forms, you can use `,` to separate +VITE_BUILD_COMPRESS = 'none' + +# Whether to delete origin files when using compress, default false +VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE = false \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..a7cea0b --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["Vue.volar"] +} diff --git a/README.md b/README.md index f636697..6f0ae81 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,14 @@ -# znkf-vue +# Vue 3 + Vite +This template should help get you started developing with Vue 3 in Vite. The template uses Vue 3 ` + + + \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..a56dd8d --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1710 @@ +{ + "name": "ics", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "ics", + "version": "0.0.0", + "dependencies": { + "@element-plus/icons-vue": "^2.3.1", + "axios": "^1.7.9", + "element-plus": "^2.9.4", + "vue": "^3.5.13", + "vue-router": "^4.5.0" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^5.2.1", + "vite": "^6.1.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.26.9", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.26.9.tgz", + "integrity": "sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.26.9" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.26.9", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.26.9.tgz", + "integrity": "sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "3.6.1", + "resolved": "https://registry.npmmirror.com/@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.1", + "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz", + "integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==", + "license": "MIT", + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.24.2", + "resolved": "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.24.2.tgz", + "integrity": "sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.24.2", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.24.2.tgz", + "integrity": "sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.24.2.tgz", + "integrity": "sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.24.2.tgz", + "integrity": "sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.24.2.tgz", + "integrity": "sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.24.2.tgz", + "integrity": "sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.2.tgz", + "integrity": "sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.24.2.tgz", + "integrity": "sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.24.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.24.2.tgz", + "integrity": "sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.24.2.tgz", + "integrity": "sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.24.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.24.2.tgz", + "integrity": "sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.24.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.24.2.tgz", + "integrity": "sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.24.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.24.2.tgz", + "integrity": "sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.24.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.24.2.tgz", + "integrity": "sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.24.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.24.2.tgz", + "integrity": "sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.24.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.24.2.tgz", + "integrity": "sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.24.2.tgz", + "integrity": "sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.24.2.tgz", + "integrity": "sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.24.2.tgz", + "integrity": "sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.2.tgz", + "integrity": "sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.24.2.tgz", + "integrity": "sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.24.2.tgz", + "integrity": "sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.24.2.tgz", + "integrity": "sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.24.2", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.24.2.tgz", + "integrity": "sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.24.2.tgz", + "integrity": "sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.6.9", + "resolved": "https://registry.npmmirror.com/@floating-ui/core/-/core-1.6.9.tgz", + "integrity": "sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.9" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.6.13", + "resolved": "https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.6.13.tgz", + "integrity": "sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.6.0", + "@floating-ui/utils": "^0.2.9" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.9", + "resolved": "https://registry.npmmirror.com/@floating-ui/utils/-/utils-0.2.9.tgz", + "integrity": "sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==", + "license": "MIT" + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "license": "MIT" + }, + "node_modules/@popperjs/core": { + "name": "@sxzz/popperjs-es", + "version": "2.11.7", + "resolved": "https://registry.npmmirror.com/@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/rollup-android-arm-eabi": { + "version": "4.34.8", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.34.8.tgz", + "integrity": "sha512-q217OSE8DTp8AFHuNHXo0Y86e1wtlfVrXiAlwkIvGRQv9zbc6mE3sjIVfwI8sYUyNxwOg0j/Vm1RKM04JcWLJw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.34.8", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.34.8.tgz", + "integrity": "sha512-Gigjz7mNWaOL9wCggvoK3jEIUUbGul656opstjaUSGC3eT0BM7PofdAJaBfPFWWkXNVAXbaQtC99OCg4sJv70Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.34.8", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.8.tgz", + "integrity": "sha512-02rVdZ5tgdUNRxIUrFdcMBZQoaPMrxtwSb+/hOfBdqkatYHR3lZ2A2EGyHq2sGOd0Owk80oV3snlDASC24He3Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.34.8", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.8.tgz", + "integrity": "sha512-qIP/elwR/tq/dYRx3lgwK31jkZvMiD6qUtOycLhTzCvrjbZ3LjQnEM9rNhSGpbLXVJYQ3rq39A6Re0h9tU2ynw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.34.8", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.34.8.tgz", + "integrity": "sha512-IQNVXL9iY6NniYbTaOKdrlVP3XIqazBgJOVkddzJlqnCpRi/yAeSOa8PLcECFSQochzqApIOE1GHNu3pCz+BDA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.34.8", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.34.8.tgz", + "integrity": "sha512-TYXcHghgnCqYFiE3FT5QwXtOZqDj5GmaFNTNt3jNC+vh22dc/ukG2cG+pi75QO4kACohZzidsq7yKTKwq/Jq7Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.34.8", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.34.8.tgz", + "integrity": "sha512-A4iphFGNkWRd+5m3VIGuqHnG3MVnqKe7Al57u9mwgbyZ2/xF9Jio72MaY7xxh+Y87VAHmGQr73qoKL9HPbXj1g==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.34.8", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.34.8.tgz", + "integrity": "sha512-S0lqKLfTm5u+QTxlFiAnb2J/2dgQqRy/XvziPtDd1rKZFXHTyYLoVL58M/XFwDI01AQCDIevGLbQrMAtdyanpA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.34.8", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.8.tgz", + "integrity": "sha512-jpz9YOuPiSkL4G4pqKrus0pn9aYwpImGkosRKwNi+sJSkz+WU3anZe6hi73StLOQdfXYXC7hUfsQlTnjMd3s1A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.34.8", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.8.tgz", + "integrity": "sha512-KdSfaROOUJXgTVxJNAZ3KwkRc5nggDk+06P6lgi1HLv1hskgvxHUKZ4xtwHkVYJ1Rep4GNo+uEfycCRRxht7+Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.34.8", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.34.8.tgz", + "integrity": "sha512-NyF4gcxwkMFRjgXBM6g2lkT58OWztZvw5KkV2K0qqSnUEqCVcqdh2jN4gQrTn/YUpAcNKyFHfoOZEer9nwo6uQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.34.8", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.34.8.tgz", + "integrity": "sha512-LMJc999GkhGvktHU85zNTDImZVUCJ1z/MbAJTnviiWmmjyckP5aQsHtcujMjpNdMZPT2rQEDBlJfubhs3jsMfw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.34.8", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.34.8.tgz", + "integrity": "sha512-xAQCAHPj8nJq1PI3z8CIZzXuXCstquz7cIOL73HHdXiRcKk8Ywwqtx2wrIy23EcTn4aZ2fLJNBB8d0tQENPCmw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.34.8", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.34.8.tgz", + "integrity": "sha512-DdePVk1NDEuc3fOe3dPPTb+rjMtuFw89gw6gVWxQFAuEqqSdDKnrwzZHrUYdac7A7dXl9Q2Vflxpme15gUWQFA==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.34.8", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.34.8.tgz", + "integrity": "sha512-8y7ED8gjxITUltTUEJLQdgpbPh1sUQ0kMTmufRF/Ns5tI9TNMNlhWtmPKKHCU0SilX+3MJkZ0zERYYGIVBYHIA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.34.8", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.8.tgz", + "integrity": "sha512-SCXcP0ZpGFIe7Ge+McxY5zKxiEI5ra+GT3QRxL0pMMtxPfpyLAKleZODi1zdRHkz5/BhueUrYtYVgubqe9JBNQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.34.8", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.8.tgz", + "integrity": "sha512-YHYsgzZgFJzTRbth4h7Or0m5O74Yda+hLin0irAIobkLQFRQd1qWmnoVfwmKm9TXIZVAD0nZ+GEb2ICicLyCnQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.34.8", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.34.8.tgz", + "integrity": "sha512-r3NRQrXkHr4uWy5TOjTpTYojR9XmF0j/RYgKCef+Ag46FWUTltm5ziticv8LdNsDMehjJ543x/+TJAek/xBA2w==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.34.8", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.8.tgz", + "integrity": "sha512-U0FaE5O1BCpZSeE6gBl3c5ObhePQSfk9vDRToMmTkbhCOgW4jqvtS5LGyQ76L1fH8sM0keRp4uDTsbjiUyjk0g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmmirror.com/@types/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-w/P33JFeySuhN6JLkysYUK2gEmy9kHHFN7E8ro0tkfmlDOgxBDzWEZ/J8cWA+fHqFevpswDTFZnDx+R9lbL6xw==", + "license": "MIT" + }, + "node_modules/@types/lodash-es": { + "version": "4.17.12", + "resolved": "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.12.tgz", + "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", + "license": "MIT", + "dependencies": { + "@types/lodash": "*" + } + }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.16", + "resolved": "https://registry.npmmirror.com/@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.1", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-5.2.1.tgz", + "integrity": "sha512-cxh314tzaWwOLqVes2gnnCtvBDcM1UMdn+iFR+UjAn411dPT3tOmqrJjbMd7koZpMAmBM/GqeV4n9ge7JSiJJQ==", + "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.13", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.5.13.tgz", + "integrity": "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.25.3", + "@vue/shared": "3.5.13", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.5.13", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz", + "integrity": "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.5.13", + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.13", + "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz", + "integrity": "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.25.3", + "@vue/compiler-core": "3.5.13", + "@vue/compiler-dom": "3.5.13", + "@vue/compiler-ssr": "3.5.13", + "@vue/shared": "3.5.13", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.11", + "postcss": "^8.4.48", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.13", + "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz", + "integrity": "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.13", + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/devtools-api": { + "version": "6.6.4", + "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.6.4.tgz", + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==", + "license": "MIT" + }, + "node_modules/@vue/reactivity": { + "version": "3.5.13", + "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.5.13.tgz", + "integrity": "sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==", + "license": "MIT", + "dependencies": { + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.5.13", + "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.5.13.tgz", + "integrity": "sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.13", + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.5.13", + "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.5.13.tgz", + "integrity": "sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.13", + "@vue/runtime-core": "3.5.13", + "@vue/shared": "3.5.13", + "csstype": "^3.1.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.13", + "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.5.13.tgz", + "integrity": "sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-ssr": "3.5.13", + "@vue/shared": "3.5.13" + }, + "peerDependencies": { + "vue": "3.5.13" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.13", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.13.tgz", + "integrity": "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==", + "license": "MIT" + }, + "node_modules/@vueuse/core": { + "version": "9.13.0", + "resolved": "https://registry.npmmirror.com/@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/core/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmmirror.com/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/@vueuse/metadata": { + "version": "9.13.0", + "resolved": "https://registry.npmmirror.com/@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.npmmirror.com/@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/@vueuse/shared/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmmirror.com/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/async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/axios": { + "version": "1.7.9", + "resolved": "https://registry.npmmirror.com/axios/-/axios-1.7.9.tgz", + "integrity": "sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/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/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/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/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" + }, + "node_modules/dayjs": { + "version": "1.11.13", + "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.13.tgz", + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", + "license": "MIT" + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/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/element-plus": { + "version": "2.9.4", + "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.9.4.tgz", + "integrity": "sha512-sGnW0wd9zf6lEGixXV2gfwx3X6VTMkP52qTkX7zbURJ2oariyslrKTBh2txt1sdn1pUvj2l0KY3OfSXoZGmDOw==", + "license": "MIT", + "dependencies": { + "@ctrl/tinycolor": "^3.4.1", + "@element-plus/icons-vue": "^2.3.1", + "@floating-ui/dom": "^1.0.1", + "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", + "@types/lodash": "^4.14.182", + "@types/lodash-es": "^4.17.6", + "@vueuse/core": "^9.1.0", + "async-validator": "^4.2.5", + "dayjs": "^1.11.13", + "escape-html": "^1.0.3", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "lodash-unified": "^1.0.2", + "memoize-one": "^6.0.0", + "normalize-wheel-es": "^1.2.0" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.24.2", + "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.24.2.tgz", + "integrity": "sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.24.2", + "@esbuild/android-arm": "0.24.2", + "@esbuild/android-arm64": "0.24.2", + "@esbuild/android-x64": "0.24.2", + "@esbuild/darwin-arm64": "0.24.2", + "@esbuild/darwin-x64": "0.24.2", + "@esbuild/freebsd-arm64": "0.24.2", + "@esbuild/freebsd-x64": "0.24.2", + "@esbuild/linux-arm": "0.24.2", + "@esbuild/linux-arm64": "0.24.2", + "@esbuild/linux-ia32": "0.24.2", + "@esbuild/linux-loong64": "0.24.2", + "@esbuild/linux-mips64el": "0.24.2", + "@esbuild/linux-ppc64": "0.24.2", + "@esbuild/linux-riscv64": "0.24.2", + "@esbuild/linux-s390x": "0.24.2", + "@esbuild/linux-x64": "0.24.2", + "@esbuild/netbsd-arm64": "0.24.2", + "@esbuild/netbsd-x64": "0.24.2", + "@esbuild/openbsd-arm64": "0.24.2", + "@esbuild/openbsd-x64": "0.24.2", + "@esbuild/sunos-x64": "0.24.2", + "@esbuild/win32-arm64": "0.24.2", + "@esbuild/win32-ia32": "0.24.2", + "@esbuild/win32-x64": "0.24.2" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "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.2", + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.2.tgz", + "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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-intrinsic": { + "version": "1.2.7", + "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.2.7.tgz", + "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "function-bind": "^1.1.2", + "get-proto": "^1.0.0", + "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.npmmirror.com/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/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/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-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==", + "license": "MIT" + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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/nanoid": { + "version": "3.3.8", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", + "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/normalize-wheel-es": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", + "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==", + "license": "BSD-3-Clause" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/postcss": { + "version": "8.5.2", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.5.2.tgz", + "integrity": "sha512-MjOadfU3Ys9KYoX0AdkBlFEF1Vx37uCCeN4ZHnmwm9FfpbsGWMZeBLMmmpY+6Ocqod7mkdZ0DT31OlbsFrLlkA==", + "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.8", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, + "node_modules/rollup": { + "version": "4.34.8", + "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.34.8.tgz", + "integrity": "sha512-489gTVMzAYdiZHFVA/ig/iYFllCcWFHMvUHI1rpFmkoUtRlQxqh6/yiNqnYibjMZ2b/+FUQwldG+aLsEt6bglQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.6" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.34.8", + "@rollup/rollup-android-arm64": "4.34.8", + "@rollup/rollup-darwin-arm64": "4.34.8", + "@rollup/rollup-darwin-x64": "4.34.8", + "@rollup/rollup-freebsd-arm64": "4.34.8", + "@rollup/rollup-freebsd-x64": "4.34.8", + "@rollup/rollup-linux-arm-gnueabihf": "4.34.8", + "@rollup/rollup-linux-arm-musleabihf": "4.34.8", + "@rollup/rollup-linux-arm64-gnu": "4.34.8", + "@rollup/rollup-linux-arm64-musl": "4.34.8", + "@rollup/rollup-linux-loongarch64-gnu": "4.34.8", + "@rollup/rollup-linux-powerpc64le-gnu": "4.34.8", + "@rollup/rollup-linux-riscv64-gnu": "4.34.8", + "@rollup/rollup-linux-s390x-gnu": "4.34.8", + "@rollup/rollup-linux-x64-gnu": "4.34.8", + "@rollup/rollup-linux-x64-musl": "4.34.8", + "@rollup/rollup-win32-arm64-msvc": "4.34.8", + "@rollup/rollup-win32-ia32-msvc": "4.34.8", + "@rollup/rollup-win32-x64-msvc": "4.34.8", + "fsevents": "~2.3.2" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/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/vite": { + "version": "6.1.1", + "resolved": "https://registry.npmmirror.com/vite/-/vite-6.1.1.tgz", + "integrity": "sha512-4GgM54XrwRfrOp297aIYspIti66k56v16ZnqHvrIM7mG+HjDlAwS7p+Srr7J6fGvEdOJ5JcQ/D9T7HhtdXDTzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.24.2", + "postcss": "^8.5.2", + "rollup": "^4.30.1" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.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 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vue": { + "version": "3.5.13", + "resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.13.tgz", + "integrity": "sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.13", + "@vue/compiler-sfc": "3.5.13", + "@vue/runtime-dom": "3.5.13", + "@vue/server-renderer": "3.5.13", + "@vue/shared": "3.5.13" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-router": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.5.0.tgz", + "integrity": "sha512-HDuk+PuH5monfNuY+ct49mNmkCRK4xJAV9Ts4z9UFc4rzdDnxQLyCMGGc8pKhZhHTVzfanpNwB/lwqevcBwI4w==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^6.6.4" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..2277a63 --- /dev/null +++ b/package.json @@ -0,0 +1,22 @@ +{ + "name": "ics", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite --host --port 8080", + "build": "vite build", + "preview": "vite preview" + }, + "dependencies": { + "@element-plus/icons-vue": "^2.3.1", + "axios": "^1.7.9", + "element-plus": "^2.9.4", + "vue": "^3.5.13", + "vue-router": "^4.5.0" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^5.2.1", + "vite": "^6.1.0" + } +} diff --git a/public/vite.svg b/public/vite.svg new file mode 100644 index 0000000..e7b8dfb --- /dev/null +++ b/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..38042dd --- /dev/null +++ b/src/App.vue @@ -0,0 +1,16 @@ + + + + diff --git a/src/api/sword.js b/src/api/sword.js new file mode 100644 index 0000000..1ee2cfa --- /dev/null +++ b/src/api/sword.js @@ -0,0 +1,44 @@ +import request from '../utils/request' + +// 路径 +const APIurl = import.meta.env.VITE_APP_API_BASE_URL + +//统计用户行为接口 +export const computedUsersAPI = function (params) { + return request({ + url: `${APIurl}/BrainStatistics/getStatistic`, + method: 'post', + data: new URLSearchParams(params), + headers: { + 'Content-Type': 'application/x-www-form-urlencoded' + } + }) +} + +//各个模块权限code接口 +export const permissionAPI = function (params) { + return request({ + url: `${APIurl}/api/brain/privilege`, + method: 'post', + data: new URLSearchParams(params), + headers: { + 'Content-Type': 'application/x-www-form-urlencoded' + } + }) +} +//数据接口 +export const dataListAPI = function (params) { + // URLSearchParams只接受全部字符串的数据 + // 将传入数据转化成字符串 + const StringParams = new URLSearchParams( + Object.entries(params).map(([key, value]) => [key, String(value)]) + ) + return request({ + url: `${APIurl}/api/brain/data`, + method: 'post', + data: StringParams, + headers: { + 'Content-Type': 'application/x-www-form-urlencoded' + } + }) +} diff --git a/src/assets/img/avatar/小柒.png b/src/assets/img/avatar/小柒.png new file mode 100644 index 0000000000000000000000000000000000000000..efa003fa5788a02614512193ebafc5fd4f238365 GIT binary patch literal 69362 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ⅈ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 O0000 { + let result = Math.random() * (m + 1 - n) + n + while (result > m) { + result = Math.random() * (m + 1 - n) + n; + } + return Math.floor(result); + } + + const packageFun = (funName, fun = () => { }, platform, data = {}) => { + const JWrandom = fullClose(10000, 99999) + data.JWrandom = JWrandom + + window[funName + JWrandom] = fun + + try { + const params = { + name: funName, + extra: { data } + } + + switch (platform) { + case 2: // APP - 使用 Apicloud 框架开发 + window.api.sendEvent(params); + break; + case 3: // APP - iOS 系统 + window.webkit.messageHandlers.getData.postMessage(JSON.stringify(params)); + break; + case 4: // APP - Android 系统 + window.android.getData(JSON.stringify(params)); + break; + case 5: // APP - 使用 UniApp 框架开发 + window.uni.postMessage({ + data: { + val: JSON.stringify(params) + } + }); + break; + } + } catch (e) { + console.error('Error in packageFun:', e) + } + } + + return { + packageFun, + fullClose + } +} diff --git a/src/assets/js/useProjectTracking.js b/src/assets/js/useProjectTracking.js new file mode 100644 index 0000000..a826240 --- /dev/null +++ b/src/assets/js/useProjectTracking.js @@ -0,0 +1,159 @@ +import { ref, onMounted, onBeforeUnmount, watch } from 'vue' +import { useRouter } from 'vue-router' +import { computedUsersAPI } from '@/api/sword' + +export function useProjectTracking(projectRoutes) { + const router = useRouter() + const entryTime = ref(Date.now()) + const isInProject = ref(true) + const hasRecordedEntry = ref(sessionStorage.getItem('hasRecordedEntry') === 'true') + // const parentUrl = window.parent.location.href + // console.log('Link平台地址:', parentUrl) + + let isPageRefreshing = false // 标志位:是否刷新页面 + + // 记录用户进入项目的时间 + const recordEntryTime = () => { + if (hasRecordedEntry.value) { + return + } + + entryTime.value = Date.now() + const date = new Date(entryTime.value) + const formattedDate = `${date.getFullYear()}-${(date.getMonth() + 1) + .toString() + .padStart(2, '0')}-${date.getDate().toString().padStart(2, '0')} ${date + .getHours() + .toString() + .padStart(2, '0')}:${date.getMinutes().toString().padStart(2, '0')}:${date + .getSeconds() + .toString() + .padStart(2, '0')}` + sessionStorage.setItem('projectEntryTime', formattedDate) + sessionStorage.setItem('hasRecordedEntry', 'true') + isInProject.value = true + hasRecordedEntry.value = true + console.log('记录首次进入时间:', formattedDate) + } + + // 发送追踪数据到后端 + const sendTrackingData = async () => { + if (!isInProject.value) return + + const storedEntryTime = sessionStorage.getItem('projectEntryTime') + if (!storedEntryTime) { + console.warn('未找到存储的进入时间,取消发送跟踪数据') + return + } + + let timestamp + try { + timestamp = new Date(storedEntryTime.replace(' ', 'T')).getTime() + if (isNaN(timestamp)) throw new Error('无效日期') + } catch (error) { + console.error('解析存储的进入时间时出错:', error) + return + } + + const exitTime = Date.now() + const duration = Math.floor((exitTime - timestamp) / 1000) + const localToken = localStorage.getItem('localToken') + console.log('进入项目的时间', storedEntryTime) + console.log('停留时间', duration) + + const params = { + stayTime: duration, + loginTime: storedEntryTime, + token: localToken + } + + if (localToken) { + try { + const res = await computedUsersAPI(params) + console.log('跟踪数据已发送:', res) + sessionStorage.removeItem('projectEntryTime') + sessionStorage.removeItem('hasRecordedEntry') + isInProject.value = false + hasRecordedEntry.value = false + } catch (error) { + console.error('发送跟踪数据失败:', error) + } + } + } + + // 页面可见性变化时触发 + const handleVisibilityChange = () => { + // console.log(window.location.pathname.includes('duobaoqibing'), '路径是否包含了页面不可见触发') + // if (window.location.pathname.includes('duobaoqibing')) { + // console.log('在 searchCode.html 页面,不发送数据') + // return + // } + if (document.visibilityState === 'hidden') { + console.log('页面不可见,用户可能离开或切换标签页') + sendTrackingData() + } + } + + // 页面关闭或刷新时触发 + const handleBeforeUnload = (event) => { + // console.log(window.location.pathname) + // console.log( + // window.location.pathname.includes('duobaoqibing'), + // '路径是否包含了页面关闭了啦啦啦啦啦啦触发' + // ) + // if (window.location.pathname.includes('duobaoqibing')) { + // console.log('在 searchCode.html 页面,不发送数据') + // return + // } + if (isPageRefreshing) { + console.log('页面刷新,不触发数据发送') + return + } + + console.log('页面即将关闭或跳转') + sendTrackingData() + } + + const handleRefreshDetection = () => { + isPageRefreshing = true + } + + // 监听路由变化 + watch( + () => router.currentRoute.value.path, + (newPath) => { + const isProjectRoute = projectRoutes.some((route) => newPath.startsWith(route)) + let isProjectRouteName = projectRoutes[0] + console.log(isProjectRouteName) + // 判断是否是 searchCode.html 的访问 + const isSearchCodePage = window.location.pathname.includes('duobaoqibing') + if (!isProjectRoute && !isSearchCodePage) { + console.log('离开项目路由:', newPath) + sendTrackingData() + } else if (isProjectRouteName && !hasRecordedEntry.value) { + console.log('首次进入项目路由:', newPath) + recordEntryTime() + } + } + ) + + // 添加事件监听 + onMounted(() => { + document.addEventListener('visibilitychange', handleVisibilityChange) + window.addEventListener('beforeunload', handleBeforeUnload) + window.addEventListener('unload', handleRefreshDetection) + }) + + // 移除事件监听 + onBeforeUnmount(() => { + document.removeEventListener('visibilitychange', handleVisibilityChange) + window.removeEventListener('beforeunload', handleBeforeUnload) + window.removeEventListener('unload', handleRefreshDetection) + }) + + return { + entryTime, + isInProject, + sendTrackingData + } +} diff --git a/src/assets/vue.svg b/src/assets/vue.svg new file mode 100644 index 0000000..770e9d3 --- /dev/null +++ b/src/assets/vue.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/components/HelloWorld.vue b/src/components/HelloWorld.vue new file mode 100644 index 0000000..546ebbc --- /dev/null +++ b/src/components/HelloWorld.vue @@ -0,0 +1,43 @@ + + + + + diff --git a/src/config/env.development.js b/src/config/env.development.js new file mode 100644 index 0000000..e4ea651 --- /dev/null +++ b/src/config/env.development.js @@ -0,0 +1,10 @@ +// 本地环境配置 +export default { + env: 'development', + title: '开发', + baseUrl: '', // 项目地址 + // baseApi: 'http://39.101.133.168:8828/link', // 本地api请求地址,如果使用了代理,设置成'/' + baseApi: '', // 使用了代理设置成'/' + APPSECRET: 'xxx', + $cdn: 'https://imgs.solui.cn' +} diff --git a/src/config/env.production.js b/src/config/env.production.js new file mode 100644 index 0000000..c4b68ef --- /dev/null +++ b/src/config/env.production.js @@ -0,0 +1,9 @@ +// 正式 +export default { + env: 'production', + title: '生产', + baseUrl: '', // 正式项目地址 + baseApi: 'https://api.homilychart.com/scms/api', // 正式api请求地址 + APPSECRET: 'xxx', + $cdn: 'https://imgs.solui.cn' +} diff --git a/src/config/index.js b/src/config/index.js new file mode 100644 index 0000000..9ef6ed3 --- /dev/null +++ b/src/config/index.js @@ -0,0 +1,32 @@ +// 定义配置对象结构 +const IConfig = { + env: '', // 开发环境 + title: '', // 项目title + baseUrl: '', // 项目地址 + baseApi: '', // api请求地址 + $cdn: '' // cdn公共资源路径 +}; + +const envMap = {}; // 存储不同环境下的配置文件 +// import.meta.globEager 批量导入指定目录下的模块-------导入所有的js文件(路径:模块内容) +const globalModules = import.meta.glob('./*.js', { eager: true }); +Object.entries(globalModules).forEach(([key, value]) => { + // key.match(/\.\/env\.(\S*)\.ts/) + const name = key.replace(/\.\/env\.(.*)\.js$/, '$1'); // 解析出环境名称 + envMap[name] = value; // 模块的内容 +}); + +// 检查环境变量是否存在 +if (!import.meta.env.VITE_ENV) { + console.error('VITE_ENV 环境变量未定义,请检查配置。'); +} + +// 根据环境引入不同配置 +const config = envMap[import.meta.env.VITE_ENV] ? envMap[import.meta.env.VITE_ENV].default : null; +if (!config) { + console.error(`未找到对应 ${import.meta.env.VITE_ENV} 环境的配置文件,请检查。`); +} + +console.log('根据环境引入不同配置', config); + +export { config }; \ No newline at end of file diff --git a/src/main.js b/src/main.js new file mode 100644 index 0000000..539f5a5 --- /dev/null +++ b/src/main.js @@ -0,0 +1,14 @@ +import { createApp } from 'vue' +import './style.css' +import App from './App.vue' +import router from './router' +import ElementPlus from 'element-plus' +import 'element-plus/dist/index.css' +import * as ElementPlusIconsVue from '@element-plus/icons-vue' +const app = createApp(App) +for (const [key, component] of Object.entries(ElementPlusIconsVue)) { + app.component(key, component) +} +app.use(router) +app.use(ElementPlus) +app.mount('#app') diff --git a/src/router/index.js b/src/router/index.js new file mode 100644 index 0000000..4ee88e5 --- /dev/null +++ b/src/router/index.js @@ -0,0 +1,20 @@ +import { createRouter, createWebHistory } from 'vue-router' +const routes = [ + { + path: '/', + redirect: 'chat' + }, + { + path: '/chat', + name: 'chat', + component: () => import('../views/chat.vue') + }, + +] +// 创建路由实例 +const router = createRouter({ + history: createWebHistory(import.meta.env.VITE_PUBLIC_PATH), + routes +}) +// 导出 +export default router diff --git a/src/store/userPermissionCode.js b/src/store/userPermissionCode.js new file mode 100644 index 0000000..600daa3 --- /dev/null +++ b/src/store/userPermissionCode.js @@ -0,0 +1,65 @@ +import { ref, onMounted } from 'vue' +// 修正拼写错误 +import { permissionAPI } from '../api/sword' + +// 封装成一个普通的组合式函数 +export const useUserInfo = () => { + const userRole = ref('') + const loading = ref(false) + const isReady = ref(false) + const getAppToken = ref('') + + const getQueryVariable = (variable) => { + const query = window.location.search.substring(1) + console.log('query', query) + const vars = query.split('&') + console.log('vars', vars) + for (let i = 0; i < vars.length; i++) { + const pair = vars[i].split('=') + if (pair[0] === variable) { + return pair[1] + } + } + return '' + } + + const fetchUserInfo = async () => { + getAppToken.value = localStorage.getItem('localToken') + ? String(localStorage.getItem('localToken')) + : '' + loading.value = true + try { + const requestParams = { + ...{ token: getAppToken.value || '' } + } + // 修正拼写错误 + const res = await permissionAPI(requestParams) + // 更新状态,移除类型断言 + userRole.value = res.data.userRole + isReady.value = true + } catch (err) { + console.error('Error fetching user data:', err) + } finally { + loading.value = false + } + } + + const init = () => { + if (!isReady.value) { + fetchUserInfo() + } + } + + onMounted(() => { + init() + }) + + return { + userRole, + loading, + isReady, + init, + fetchUserInfo, + getQueryVariable + } +} \ No newline at end of file diff --git a/src/style.css b/src/style.css new file mode 100644 index 0000000..7820c46 --- /dev/null +++ b/src/style.css @@ -0,0 +1,79 @@ +:root { + font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +.card { + padding: 2em; +} + +#app { + max-width: 1280px; + margin: 0; + padding: 0; + text-align: center; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} diff --git a/src/utils/request.js b/src/utils/request.js new file mode 100644 index 0000000..6588165 --- /dev/null +++ b/src/utils/request.js @@ -0,0 +1,130 @@ +import axios from 'axios' +import { ElMessageBox, ElMessage } from 'element-plus' +import { config } from '../config' +import router from '../router' + +const ERROR_MESSAGES = { + badRequest: '请求错误(400)', + unauthorized: '未授权,请登录(401)', + forbidden: '拒绝访问(403)', + notFound: `请求地址出错: ${'[具体 URL 将在这里被替换]'}`, + methodNotAllowed: '请求方法未允许(405)', + requestTimeout: '请求超时(408)', + internalServerError: '服务器内部错误(500)', + notImplemented: '服务未实现(501)', + badGateway: '网络错误(502)', + serviceUnavailable: '服务不可用(503)', + gatewayTimeout: '网络超时(504)', + httpVersionNotSupported: 'HTTP 版本不受支持(505)', + defaultConnectionError: '连接错误: [原始错误消息]', + networkError: '网络异常,请检查后重试!', + serverFailure: '连接到服务器失败,请联系管理员' +} + +const service = axios.create({ + baseURL: '/zhinengkefu', // url = base url + request url+ + timeout: 5000, + withCredentials: false // send cookies when cross-domain requests + // headers: { + // // clear cors + // 'Cache-Control': 'no-cache', + // Pragma: 'no-cache' + // } +}) + +const setErrorMsg = (error) => { + if (error && error.response) { + switch (error.response.status) { + case 400: + error.message = ERROR_MESSAGES.badRequest + break + case 401: + error.message = ERROR_MESSAGES.unauthorized + break + case 403: + error.message = ERROR_MESSAGES.forbidden + break + case 404: + error.message = ERROR_MESSAGES.notFound.replace( + '[具体 URL 将在这里被替换]', + error.response.config.url + ) + break + case 405: + error.message = ERROR_MESSAGES.methodNotAllowed + break + case 408: + error.message = ERROR_MESSAGES.requestTimeout + break + case 500: + error.message = ERROR_MESSAGES.internalServerError + break + case 501: + error.message = ERROR_MESSAGES.notImplemented + break + case 502: + error.message = ERROR_MESSAGES.badGateway + break + case 503: + error.message = ERROR_MESSAGES.serviceUnavailable + break + case 504: + error.message = ERROR_MESSAGES.gatewayTimeout + break + case 505: + error.message = ERROR_MESSAGES.httpVersionNotSupported + break + default: + error.message = ERROR_MESSAGES.defaultConnectionError.replace( + '[原始错误消息]', + error.message + ) + } + } else { + if (error.message === 'Network Error') { + error.message = ERROR_MESSAGES.networkError + } else { + error.message = ERROR_MESSAGES.serverFailure + } + } + return error.message +} + +// Request interceptors +service.interceptors.request.use( + (config) => { + // 在此处添加请求头等,如添加 token + // if (store.state.token) { + // config.headers['Authorization'] = `Bearer ${store.state.token}` + // } + return config + }, + (error) => { + return Promise.reject(error) + } +) + +// Response interceptors +service.interceptors.response.use( + async (response) => { + // await new Promise(resolve => setTimeout(resolve, 3000)); // 修正拼写错误 + // if (response.config.loadingInstance) { + // response.config.loadingInstance.close(); + // } + const res = response.data + if (res.code !== 200) { + const errorMsg = res.msg || 'Unknown error' // 修正拼写错误 + ElMessage.error(errorMsg) + // return Promise.reject(new Error(res.msg || 'Error')) + } else { + return response.data + } + }, + (error) => { + const errorMessage = setErrorMsg(error) + ElMessage.error(errorMessage) + return Promise.reject(error) + } +) + +export default service diff --git a/src/utils/storage.js b/src/utils/storage.js new file mode 100644 index 0000000..2912a10 --- /dev/null +++ b/src/utils/storage.js @@ -0,0 +1,43 @@ +/** + * 封装操作localstorage本地存储的方法 + */ +export const storage = { + // 存储 + set(key, value) { + localStorage.setItem(key, JSON.stringify(value)); + }, + // 取出数据 + get(key) { + const value = localStorage.getItem(key); + if (value && value !== 'undefined' && value !== 'null') { + return JSON.parse(value); + } + return null; + }, + // 删除数据 + remove(key) { + localStorage.removeItem(key); + } +}; + +/** + * 封装操作sessionStorage本地存储的方法 + */ +export const sessionStorageUtil = { + // 存储 + set(key, value) { + window.sessionStorage.setItem(key, JSON.stringify(value)); + }, + // 取出数据 + get(key) { + const value = window.sessionStorage.getItem(key); + if (value && value !== 'undefined' && value !== 'null') { + return JSON.parse(value); + } + return null; + }, + // 删除数据 + remove(key) { + window.sessionStorage.removeItem(key); + } +}; \ No newline at end of file diff --git a/src/views/chat.vue b/src/views/chat.vue new file mode 100644 index 0000000..3ff3c58 --- /dev/null +++ b/src/views/chat.vue @@ -0,0 +1,444 @@ + + + + \ No newline at end of file diff --git a/vite.config.js b/vite.config.js new file mode 100644 index 0000000..e5bc483 --- /dev/null +++ b/vite.config.js @@ -0,0 +1,75 @@ +import { defineConfig, loadEnv } from 'vite' +import vue from '@vitejs/plugin-vue' +import path from 'path' + +// https://vite.dev/config/ +export default defineConfig(({ mode }) => { + // 加载对应模式的环境变量 + const env = loadEnv(mode, process.cwd()); + + let config = { + plugins: [vue()], + resolve: { + // 配置别名 + alias: { + '@': path.resolve(__dirname, 'src'), + }, + }, + css: { + preprocessorOptions: { + // 配置全局样式 + scss: { + additionalData: `@import "@/styles/variables.scss";`, + }, + }, + }, + }; + + if (mode === 'development') { + // 开发模式下的配置 + config = { + ...config, + server: { + host: env.VITE_DEV_HOST || '0.0.0.0', // 允许通过网络访问,从环境变量获取host + port: parseInt(env.VITE_DEV_PORT, 10) || 8080, // 自定义端口,从环境变量获取port + open: true, // 自动打开浏览器 + // 配置代理 + proxy: { + '/api': { + target: env.VITE_DEV_API_URL, + changeOrigin: true, + rewrite: (path) => path.replace(/^\/api/, ''), + }, + }, + }, + }; + } else if (mode === 'production') { + // 生产模式下的配置 + config = { + ...config, + build: { + terserOptions: { + compress: { + drop_console: env.VITE_BUILD_DROP_CONSOLE === 'true', // 移除 console 语句,从环境变量获取是否移除console + }, + }, + // 配置打包输出目录 + outDir: 'dist', + // 配置资源文件名格式 + assetsDir: 'assets', + rollupOptions: { + output: { + // 手动分割代码 + manualChunks(id) { + if (id.includes('node_modules')) { + return id.toString().split('node_modules/')[1].split('/')[0].toString(); + } + }, + }, + }, + }, + }; + } + + return config; +})