From 661caf875d16b79301a47991292c33506b0fd9b0 Mon Sep 17 00:00:00 2001 From: Lsj <1163927332@qq.com> Date: Wed, 18 Dec 2024 23:35:21 +0800 Subject: [PATCH] teacher client by lsj --- teacher/.gitignore | 24 + teacher/.vscode/extensions.json | 3 + teacher/README.md | 5 + teacher/index.html | 13 + teacher/package-lock.json | 726 ++++++++++++++++++++++++ teacher/package.json | 22 + teacher/public/user.png | Bin 0 -> 83953 bytes teacher/public/vite.svg | 1 + teacher/src/App.vue | 24 + teacher/src/assets/vue.svg | 1 + teacher/src/main.js | 19 + teacher/src/request.js | 5 + teacher/src/router.js | 91 +++ teacher/src/store/index.js | 15 + teacher/src/style.css | 79 +++ teacher/src/view/Login.vue | 63 ++ teacher/src/view/Register.vue | 139 +++++ teacher/src/view/user/Correct.vue | 9 + teacher/src/view/user/HandCorrect.vue | 9 + teacher/src/view/user/RandomCorrect.vue | 9 + teacher/src/view/user/firstpage.vue | 96 ++++ teacher/src/view/user/index.vue | 126 ++++ teacher/src/view/user/information.vue | 114 ++++ teacher/src/view/user/myinfo.vue | 94 +++ teacher/src/view/user/notice.vue | 161 ++++++ teacher/src/view/user/student.vue | 82 +++ teacher/src/view/user/teacher.vue | 157 +++++ teacher/vite.config.js | 7 + teacher/yarn.lock | 668 ++++++++++++++++++++++ 29 files changed, 2762 insertions(+) create mode 100644 teacher/.gitignore create mode 100644 teacher/.vscode/extensions.json create mode 100644 teacher/README.md create mode 100644 teacher/index.html create mode 100644 teacher/package-lock.json create mode 100644 teacher/package.json create mode 100644 teacher/public/user.png create mode 100644 teacher/public/vite.svg create mode 100644 teacher/src/App.vue create mode 100644 teacher/src/assets/vue.svg create mode 100644 teacher/src/main.js create mode 100644 teacher/src/request.js create mode 100644 teacher/src/router.js create mode 100644 teacher/src/store/index.js create mode 100644 teacher/src/style.css create mode 100644 teacher/src/view/Login.vue create mode 100644 teacher/src/view/Register.vue create mode 100644 teacher/src/view/user/Correct.vue create mode 100644 teacher/src/view/user/HandCorrect.vue create mode 100644 teacher/src/view/user/RandomCorrect.vue create mode 100644 teacher/src/view/user/firstpage.vue create mode 100644 teacher/src/view/user/index.vue create mode 100644 teacher/src/view/user/information.vue create mode 100644 teacher/src/view/user/myinfo.vue create mode 100644 teacher/src/view/user/notice.vue create mode 100644 teacher/src/view/user/student.vue create mode 100644 teacher/src/view/user/teacher.vue create mode 100644 teacher/vite.config.js create mode 100644 teacher/yarn.lock diff --git a/teacher/.gitignore b/teacher/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/teacher/.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/teacher/.vscode/extensions.json b/teacher/.vscode/extensions.json new file mode 100644 index 0000000..a7cea0b --- /dev/null +++ b/teacher/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["Vue.volar"] +} diff --git a/teacher/README.md b/teacher/README.md new file mode 100644 index 0000000..1511959 --- /dev/null +++ b/teacher/README.md @@ -0,0 +1,5 @@ +# Vue 3 + Vite + +This template should help get you started developing with Vue 3 in Vite. The template uses Vue 3 ` + + diff --git a/teacher/package-lock.json b/teacher/package-lock.json new file mode 100644 index 0000000..0e1f611 --- /dev/null +++ b/teacher/package-lock.json @@ -0,0 +1,726 @@ +{ + "name": "yzb", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "yzb", + "version": "0.0.0", + "dependencies": { + "element-plus": "^2.8.7", + "vue": "^3.4.37" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^5.1.2", + "vite": "^5.4.1" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.8", + "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.25.4", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.25.4.tgz", + "integrity": "sha512-nq+eWrOgdtu3jG5Os4TQP3x3cLA8hR8TvJNjD8vnPa20WGycimcparWnLK4jJhElTK6SDyuJo1weMKO/5LpmLA==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.4" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.25.4", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.25.4.tgz", + "integrity": "sha512-zQ1ijeeCXVEh+aNL0RlmkPkG8HUiDcU2pzQQFjtbntgAczRASFzj4H+6+bV+dy1ntKR14I/DypeuRG1uma98iQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" + }, + "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.1", + "resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz", + "integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==", + "license": "MIT", + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@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/@floating-ui/core": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.8.tgz", + "integrity": "sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.8" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.6.12", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.12.tgz", + "integrity": "sha512-NP83c0HjokcGVEMeoStg317VD9W7eDlGK7457dMBANbKA6GJZdc7rjujdgqzTaz93jkGgc5P/jeWbaCHnMNc+w==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.6.0", + "@floating-ui/utils": "^0.2.8" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.8.tgz", + "integrity": "sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==", + "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.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/rollup-win32-x64-msvc": { + "version": "4.21.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.1.tgz", + "integrity": "sha512-xGiIH95H1zU7naUyTKEyOA/I0aexNMUdO9qRv0bLKN3qu25bBdrxZHqA3PTJ24YNN/GdMzG4xkDcd/GvjuhfLg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/lodash": { + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.13.tgz", + "integrity": "sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg==", + "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/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.1.2", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-5.1.2.tgz", + "integrity": "sha512-nY9IwH12qeiJqumTCLJLE7IiNx7HZ39cbHaysEUd+Myvbz9KAqd2yq+U01Kab1R/H1BmiyM2ShTYlNH32Fzo3A==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "vite": "^5.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.4.38", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.4.38.tgz", + "integrity": "sha512-8IQOTCWnLFqfHzOGm9+P8OPSEDukgg3Huc92qSG49if/xI2SAwLHQO2qaPQbjCWPBcQoO1WYfXfTACUrWV3c5A==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.24.7", + "@vue/shared": "3.4.38", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.4.38", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.4.38.tgz", + "integrity": "sha512-Osc/c7ABsHXTsETLgykcOwIxFktHfGSUDkb05V61rocEfsFDcjDLH/IHJSNJP+/Sv9KeN2Lx1V6McZzlSb9EhQ==", + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.4.38", + "@vue/shared": "3.4.38" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.4.38", + "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.4.38.tgz", + "integrity": "sha512-s5QfZ+9PzPh3T5H4hsQDJtI8x7zdJaew/dCGgqZ2630XdzaZ3AD8xGZfBqpT8oaD/p2eedd+pL8tD5vvt5ZYJQ==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.24.7", + "@vue/compiler-core": "3.4.38", + "@vue/compiler-dom": "3.4.38", + "@vue/compiler-ssr": "3.4.38", + "@vue/shared": "3.4.38", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.10", + "postcss": "^8.4.40", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.4.38", + "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.4.38.tgz", + "integrity": "sha512-YXznKFQ8dxYpAz9zLuVvfcXhc31FSPFDcqr0kyujbOwNhlmaNvL2QfIy+RZeJgSn5Fk54CWoEUeW+NVBAogGaw==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.4.38", + "@vue/shared": "3.4.38" + } + }, + "node_modules/@vue/reactivity": { + "version": "3.4.38", + "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.4.38.tgz", + "integrity": "sha512-4vl4wMMVniLsSYYeldAKzbk72+D3hUnkw9z8lDeJacTxAkXeDAP1uE9xr2+aKIN0ipOL8EG2GPouVTH6yF7Gnw==", + "license": "MIT", + "dependencies": { + "@vue/shared": "3.4.38" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.4.38", + "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.4.38.tgz", + "integrity": "sha512-21z3wA99EABtuf+O3IhdxP0iHgkBs1vuoCAsCKLVJPEjpVqvblwBnTj42vzHRlWDCyxu9ptDm7sI2ZMcWrQqlA==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.4.38", + "@vue/shared": "3.4.38" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.4.38", + "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.4.38.tgz", + "integrity": "sha512-afZzmUreU7vKwKsV17H1NDThEEmdYI+GCAK/KY1U957Ig2NATPVjCROv61R19fjZNzMmiU03n79OMnXyJVN0UA==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.4.38", + "@vue/runtime-core": "3.4.38", + "@vue/shared": "3.4.38", + "csstype": "^3.1.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.4.38", + "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.4.38.tgz", + "integrity": "sha512-NggOTr82FbPEkkUvBm4fTGcwUY8UuTsnWC/L2YZBmvaQ4C4Jl/Ao4HHTB+l7WnFCt5M/dN3l0XLuyjzswGYVCA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-ssr": "3.4.38", + "@vue/shared": "3.4.38" + }, + "peerDependencies": { + "vue": "3.4.38" + } + }, + "node_modules/@vue/shared": { + "version": "3.4.38", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.4.38.tgz", + "integrity": "sha512-q0xCiLkuWWQLzVrecPb0RMsNWyxICOjPrcrwxTUEHb1fsnvni4dcuyG7RT/Ie7VPTvnjzIaWzRMUBsrqNj/hhw==", + "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/core/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/@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/@vueuse/shared/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/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/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.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", + "license": "MIT" + }, + "node_modules/element-plus": { + "version": "2.8.7", + "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.8.7.tgz", + "integrity": "sha512-oGQyFRufFOgjd872tZc+T4xQAYLlX4hj6d3ixeY13L4fFNUuc1N49JHAqJGPda0tdx3qCnjceZoh1kqqj2+tXQ==", + "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.3", + "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/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/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/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/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/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/magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "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/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "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.npmjs.org/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", + "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==", + "license": "BSD-3-Clause" + }, + "node_modules/picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "license": "ISC" + }, + "node_modules/postcss": { + "version": "8.4.41", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.41.tgz", + "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", + "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.7", + "picocolors": "^1.0.1", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/rollup": { + "version": "4.21.1", + "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.21.1.tgz", + "integrity": "sha512-ZnYyKvscThhgd3M5+Qt3pmhO4jIRR5RGzaSovB6Q7rGNrK5cUncrtLmcTTJVSdcKXyZjW8X8MB0JMSuH9bcAJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.21.1", + "@rollup/rollup-android-arm64": "4.21.1", + "@rollup/rollup-darwin-arm64": "4.21.1", + "@rollup/rollup-darwin-x64": "4.21.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.21.1", + "@rollup/rollup-linux-arm-musleabihf": "4.21.1", + "@rollup/rollup-linux-arm64-gnu": "4.21.1", + "@rollup/rollup-linux-arm64-musl": "4.21.1", + "@rollup/rollup-linux-powerpc64le-gnu": "4.21.1", + "@rollup/rollup-linux-riscv64-gnu": "4.21.1", + "@rollup/rollup-linux-s390x-gnu": "4.21.1", + "@rollup/rollup-linux-x64-gnu": "4.21.1", + "@rollup/rollup-linux-x64-musl": "4.21.1", + "@rollup/rollup-win32-arm64-msvc": "4.21.1", + "@rollup/rollup-win32-ia32-msvc": "4.21.1", + "@rollup/rollup-win32-x64-msvc": "4.21.1", + "fsevents": "~2.3.2" + } + }, + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/vite": { + "version": "5.4.2", + "resolved": "https://registry.npmmirror.com/vite/-/vite-5.4.2.tgz", + "integrity": "sha512-dDrQTRHp5C1fTFzcSaMxjk6vdpKvT+2/mIdE07Gw2ykehT49O0z/VHS3zZ8iV/Gh8BJJKHWOe5RjaNrW5xf/GA==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.41", + "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.4.38", + "resolved": "https://registry.npmmirror.com/vue/-/vue-3.4.38.tgz", + "integrity": "sha512-f0ZgN+mZ5KFgVv9wz0f4OgVKukoXtS3nwET4c2vLBGQR50aI8G0cqbFtLlX9Yiyg3LFGBitruPHt2PxwTduJEw==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.4.38", + "@vue/compiler-sfc": "3.4.38", + "@vue/runtime-dom": "3.4.38", + "@vue/server-renderer": "3.4.38", + "@vue/shared": "3.4.38" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + } + } +} diff --git a/teacher/package.json b/teacher/package.json new file mode 100644 index 0000000..83da325 --- /dev/null +++ b/teacher/package.json @@ -0,0 +1,22 @@ +{ + "name": "yzb", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview" + }, + "dependencies": { + "axios": "1.2.1", + "element-plus": "^2.8.7", + "pinia": "2.0.27", + "vue": "^3.4.37", + "vue-router": "4" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^5.1.2", + "vite": "^5.4.1" + } +} diff --git a/teacher/public/user.png b/teacher/public/user.png new file mode 100644 index 0000000000000000000000000000000000000000..07b82ccf35d74b9f10373f0fdba0f5f5928048d8 GIT binary patch literal 83953 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 iG2z0oD^MH{j&CD@KHQ-0g|<^KbDzKi_; literal 0 HcmV?d00001 diff --git a/teacher/public/vite.svg b/teacher/public/vite.svg new file mode 100644 index 0000000..e7b8dfb --- /dev/null +++ b/teacher/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/teacher/src/App.vue b/teacher/src/App.vue new file mode 100644 index 0000000..a99979f --- /dev/null +++ b/teacher/src/App.vue @@ -0,0 +1,24 @@ + + + + + diff --git a/teacher/src/assets/vue.svg b/teacher/src/assets/vue.svg new file mode 100644 index 0000000..770e9d3 --- /dev/null +++ b/teacher/src/assets/vue.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/teacher/src/main.js b/teacher/src/main.js new file mode 100644 index 0000000..6d5aa62 --- /dev/null +++ b/teacher/src/main.js @@ -0,0 +1,19 @@ +import { createApp } from 'vue'; // 导入 Vue +//import App from './App.vue'; // 导入主 App 组件 +import ElementPlus from 'element-plus'; // 导入 Element Plus +import 'element-plus/dist/index.css'; // 正确导入 Element Plus 样式 +//import App from './view/user/teacher.vue' +import App from './App.vue' +import router from './router.js' +import './style.css' +import {createPinia} from 'pinia' +// 创建 Vue 应用实例 +const app = createApp(App); + +// 使用 Element Plus 插件 +app.use(ElementPlus); +app.use(router) +const pinia=createPinia() +app.use(pinia) +// 挂载应用到 DOM 中 +app.mount('#app'); \ No newline at end of file diff --git a/teacher/src/request.js b/teacher/src/request.js new file mode 100644 index 0000000..860820e --- /dev/null +++ b/teacher/src/request.js @@ -0,0 +1,5 @@ +import axios from "axios" +const request = axios.create({ + timeout:2000 +}) +export default request \ No newline at end of file diff --git a/teacher/src/router.js b/teacher/src/router.js new file mode 100644 index 0000000..b170994 --- /dev/null +++ b/teacher/src/router.js @@ -0,0 +1,91 @@ +import { + createRouter, + createWebHashHistory +} from "vue-router" +import { + userStore +} from "./store" +import { + storeToRefs +} from "pinia" +const router = createRouter({ + history: createWebHashHistory(), + routes: [{ + path: '/', + redirect: '/login' + }, + { + path: '/login', + name: 'Login', + component: () => import('./view/Login.vue') + }, + { + path: "/admin", + name: 'admin', + //redirect:'/user/myInfo', + component: () => import('./view/user/index.vue'), + // redirect: '/admin/firstpage', + children: [{ + path: 'student', + component: () => import('./view/user/student.vue') + }, + { + path: 'teacher', + component: () => import('./view/user/teacher.vue') + }, + { + path: 'information', + component: () => import('./view/user/information.vue') + }, + { + path: 'myinfo', + component: () => import('./view/user/myinfo.vue') + }, + { + path: 'firstpage', + component: () => import('./view/user/firstpage.vue') + }, + { + path: 'notice', + component: () => import('./view/user/notice.vue') + }, + { + path: 'random', + component: () => import('./view/user/RandomCorrect.vue') + }, + { + path: 'hand', + component: () => import('./view/user/HandCorrect.vue') + }, + { + path: 'cor', + component: () => import('./view/user/Correct.vue') + } + ] + }, + { + path: "/Register", + name: 'Register', + component: () => import('./view/Register.vue') + } + ] +}) +// router.beforeEach((to,from,next)=>{ +// const store=userStore() +// const{ +// loginState +// }=storeToRefs(store) +// console.log("路由守卫",loginState.value) +// if(to.name=="Login"){ +// next() +// }else{ +// if(loginState.value){ +// next() +// }else{ +// next({ +// name:'Login' +// }) +// } +// } +// }) +export default router \ No newline at end of file diff --git a/teacher/src/store/index.js b/teacher/src/store/index.js new file mode 100644 index 0000000..2fe527e --- /dev/null +++ b/teacher/src/store/index.js @@ -0,0 +1,15 @@ +import {defineStore} from "pinia"; + +export const userStore=defineStore('storeId',{ + state:()=>{ + return{ + loginState:false + } + }, + getters:{}, + actions:{ + setLoginState(state){ + this.loginState=state + } + } +}) \ No newline at end of file diff --git a/teacher/src/style.css b/teacher/src/style.css new file mode 100644 index 0000000..bb131d6 --- /dev/null +++ b/teacher/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 auto; + padding: 2rem; + 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/teacher/src/view/Login.vue b/teacher/src/view/Login.vue new file mode 100644 index 0000000..3af0bee --- /dev/null +++ b/teacher/src/view/Login.vue @@ -0,0 +1,63 @@ + + + + + diff --git a/teacher/src/view/Register.vue b/teacher/src/view/Register.vue new file mode 100644 index 0000000..471fd25 --- /dev/null +++ b/teacher/src/view/Register.vue @@ -0,0 +1,139 @@ + + + + + diff --git a/teacher/src/view/user/Correct.vue b/teacher/src/view/user/Correct.vue new file mode 100644 index 0000000..127e396 --- /dev/null +++ b/teacher/src/view/user/Correct.vue @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/teacher/src/view/user/HandCorrect.vue b/teacher/src/view/user/HandCorrect.vue new file mode 100644 index 0000000..b047baf --- /dev/null +++ b/teacher/src/view/user/HandCorrect.vue @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/teacher/src/view/user/RandomCorrect.vue b/teacher/src/view/user/RandomCorrect.vue new file mode 100644 index 0000000..ef4ee2f --- /dev/null +++ b/teacher/src/view/user/RandomCorrect.vue @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/teacher/src/view/user/firstpage.vue b/teacher/src/view/user/firstpage.vue new file mode 100644 index 0000000..43b2b9c --- /dev/null +++ b/teacher/src/view/user/firstpage.vue @@ -0,0 +1,96 @@ + + + + + diff --git a/teacher/src/view/user/index.vue b/teacher/src/view/user/index.vue new file mode 100644 index 0000000..609c13a --- /dev/null +++ b/teacher/src/view/user/index.vue @@ -0,0 +1,126 @@ + + + + + diff --git a/teacher/src/view/user/information.vue b/teacher/src/view/user/information.vue new file mode 100644 index 0000000..e78f93f --- /dev/null +++ b/teacher/src/view/user/information.vue @@ -0,0 +1,114 @@ + + + + + \ No newline at end of file diff --git a/teacher/src/view/user/myinfo.vue b/teacher/src/view/user/myinfo.vue new file mode 100644 index 0000000..cb2e462 --- /dev/null +++ b/teacher/src/view/user/myinfo.vue @@ -0,0 +1,94 @@ + + + + + diff --git a/teacher/src/view/user/notice.vue b/teacher/src/view/user/notice.vue new file mode 100644 index 0000000..586aecf --- /dev/null +++ b/teacher/src/view/user/notice.vue @@ -0,0 +1,161 @@ + + + + + + diff --git a/teacher/src/view/user/student.vue b/teacher/src/view/user/student.vue new file mode 100644 index 0000000..8030645 --- /dev/null +++ b/teacher/src/view/user/student.vue @@ -0,0 +1,82 @@ + + + + + diff --git a/teacher/src/view/user/teacher.vue b/teacher/src/view/user/teacher.vue new file mode 100644 index 0000000..3203276 --- /dev/null +++ b/teacher/src/view/user/teacher.vue @@ -0,0 +1,157 @@ + + + + + + diff --git a/teacher/vite.config.js b/teacher/vite.config.js new file mode 100644 index 0000000..05c1740 --- /dev/null +++ b/teacher/vite.config.js @@ -0,0 +1,7 @@ +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [vue()], +}) diff --git a/teacher/yarn.lock b/teacher/yarn.lock new file mode 100644 index 0000000..978b47f --- /dev/null +++ b/teacher/yarn.lock @@ -0,0 +1,668 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/helper-string-parser@^7.24.8": + version "7.24.8" + resolved "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz" + integrity sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ== + +"@babel/helper-validator-identifier@^7.24.7": + version "7.24.7" + resolved "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz" + integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w== + +"@babel/parser@^7.24.7": + version "7.25.4" + resolved "https://registry.npmmirror.com/@babel/parser/-/parser-7.25.4.tgz" + integrity sha512-nq+eWrOgdtu3jG5Os4TQP3x3cLA8hR8TvJNjD8vnPa20WGycimcparWnLK4jJhElTK6SDyuJo1weMKO/5LpmLA== + dependencies: + "@babel/types" "^7.25.4" + +"@babel/types@^7.25.4": + version "7.25.4" + resolved "https://registry.npmmirror.com/@babel/types/-/types-7.25.4.tgz" + integrity sha512-zQ1ijeeCXVEh+aNL0RlmkPkG8HUiDcU2pzQQFjtbntgAczRASFzj4H+6+bV+dy1ntKR14I/DypeuRG1uma98iQ== + dependencies: + "@babel/helper-string-parser" "^7.24.8" + "@babel/helper-validator-identifier" "^7.24.7" + to-fast-properties "^2.0.0" + +"@ctrl/tinycolor@^3.4.1": + version "3.6.1" + resolved "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz" + integrity sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA== + +"@element-plus/icons-vue@^2.3.1": + version "2.3.1" + resolved "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz" + integrity sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg== + +"@esbuild/aix-ppc64@0.21.5": + version "0.21.5" + resolved "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz#c7184a326533fcdf1b8ee0733e21c713b975575f" + integrity sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ== + +"@esbuild/android-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz#09d9b4357780da9ea3a7dfb833a1f1ff439b4052" + integrity sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A== + +"@esbuild/android-arm@0.21.5": + version "0.21.5" + resolved "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz#9b04384fb771926dfa6d7ad04324ecb2ab9b2e28" + integrity sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg== + +"@esbuild/android-x64@0.21.5": + version "0.21.5" + resolved "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz#29918ec2db754cedcb6c1b04de8cd6547af6461e" + integrity sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA== + +"@esbuild/darwin-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz#e495b539660e51690f3928af50a76fb0a6ccff2a" + integrity sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ== + +"@esbuild/darwin-x64@0.21.5": + version "0.21.5" + resolved "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz#c13838fa57372839abdddc91d71542ceea2e1e22" + integrity sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw== + +"@esbuild/freebsd-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz#646b989aa20bf89fd071dd5dbfad69a3542e550e" + integrity sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g== + +"@esbuild/freebsd-x64@0.21.5": + version "0.21.5" + resolved "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz#aa615cfc80af954d3458906e38ca22c18cf5c261" + integrity sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ== + +"@esbuild/linux-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz#70ac6fa14f5cb7e1f7f887bcffb680ad09922b5b" + integrity sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q== + +"@esbuild/linux-arm@0.21.5": + version "0.21.5" + resolved "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz#fc6fd11a8aca56c1f6f3894f2bea0479f8f626b9" + integrity sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA== + +"@esbuild/linux-ia32@0.21.5": + version "0.21.5" + resolved "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz#3271f53b3f93e3d093d518d1649d6d68d346ede2" + integrity sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg== + +"@esbuild/linux-loong64@0.21.5": + version "0.21.5" + resolved "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz#ed62e04238c57026aea831c5a130b73c0f9f26df" + integrity sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg== + +"@esbuild/linux-mips64el@0.21.5": + version "0.21.5" + resolved "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz#e79b8eb48bf3b106fadec1ac8240fb97b4e64cbe" + integrity sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg== + +"@esbuild/linux-ppc64@0.21.5": + version "0.21.5" + resolved "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz#5f2203860a143b9919d383ef7573521fb154c3e4" + integrity sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w== + +"@esbuild/linux-riscv64@0.21.5": + version "0.21.5" + resolved "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz#07bcafd99322d5af62f618cb9e6a9b7f4bb825dc" + integrity sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA== + +"@esbuild/linux-s390x@0.21.5": + version "0.21.5" + resolved "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz#b7ccf686751d6a3e44b8627ababc8be3ef62d8de" + integrity sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A== + +"@esbuild/linux-x64@0.21.5": + version "0.21.5" + resolved "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz#6d8f0c768e070e64309af8004bb94e68ab2bb3b0" + integrity sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ== + +"@esbuild/netbsd-x64@0.21.5": + version "0.21.5" + resolved "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz#bbe430f60d378ecb88decb219c602667387a6047" + integrity sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg== + +"@esbuild/openbsd-x64@0.21.5": + version "0.21.5" + resolved "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz#99d1cf2937279560d2104821f5ccce220cb2af70" + integrity sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow== + +"@esbuild/sunos-x64@0.21.5": + version "0.21.5" + resolved "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz#08741512c10d529566baba837b4fe052c8f3487b" + integrity sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg== + +"@esbuild/win32-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz#675b7385398411240735016144ab2e99a60fc75d" + integrity sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A== + +"@esbuild/win32-ia32@0.21.5": + version "0.21.5" + resolved "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz#1bfc3ce98aa6ca9a0969e4d2af72144c59c1193b" + integrity sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA== + +"@esbuild/win32-x64@0.21.5": + version "0.21.5" + resolved "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz" + integrity sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw== + +"@floating-ui/core@^1.6.0": + version "1.6.8" + resolved "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.8.tgz" + integrity sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA== + dependencies: + "@floating-ui/utils" "^0.2.8" + +"@floating-ui/dom@^1.0.1": + version "1.6.12" + resolved "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.12.tgz" + integrity sha512-NP83c0HjokcGVEMeoStg317VD9W7eDlGK7457dMBANbKA6GJZdc7rjujdgqzTaz93jkGgc5P/jeWbaCHnMNc+w== + dependencies: + "@floating-ui/core" "^1.6.0" + "@floating-ui/utils" "^0.2.8" + +"@floating-ui/utils@^0.2.8": + version "0.2.8" + resolved "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.8.tgz" + integrity sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig== + +"@jridgewell/sourcemap-codec@^1.5.0": + version "1.5.0" + resolved "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz" + integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== + +"@popperjs/core@npm:@sxzz/popperjs-es@^2.11.7": + version "2.11.7" + resolved "https://registry.npmjs.org/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz" + integrity sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ== + +"@rollup/rollup-android-arm-eabi@4.21.1": + version "4.21.1" + resolved "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.1.tgz#c3a7938551273a2b72820cf5d22e54cf41dc206e" + integrity sha512-2thheikVEuU7ZxFXubPDOtspKn1x0yqaYQwvALVtEcvFhMifPADBrgRPyHV0TF3b+9BgvgjgagVyvA/UqPZHmg== + +"@rollup/rollup-android-arm64@4.21.1": + version "4.21.1" + resolved "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.1.tgz#fa3693e4674027702c42fcbbb86bbd0c635fd3b9" + integrity sha512-t1lLYn4V9WgnIFHXy1d2Di/7gyzBWS8G5pQSXdZqfrdCGTwi1VasRMSS81DTYb+avDs/Zz4A6dzERki5oRYz1g== + +"@rollup/rollup-darwin-arm64@4.21.1": + version "4.21.1" + resolved "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.1.tgz#e19922f4ac1e4552a230ff8f49d5688c5c07d284" + integrity sha512-AH/wNWSEEHvs6t4iJ3RANxW5ZCK3fUnmf0gyMxWCesY1AlUj8jY7GC+rQE4wd3gwmZ9XDOpL0kcFnCjtN7FXlA== + +"@rollup/rollup-darwin-x64@4.21.1": + version "4.21.1" + resolved "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.1.tgz#897f8d47b115ea84692a29cf2366899499d4d915" + integrity sha512-dO0BIz/+5ZdkLZrVgQrDdW7m2RkrLwYTh2YMFG9IpBtlC1x1NPNSXkfczhZieOlOLEqgXOFH3wYHB7PmBtf+Bg== + +"@rollup/rollup-linux-arm-gnueabihf@4.21.1": + version "4.21.1" + resolved "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.1.tgz#7d1e2a542f3a5744f5c24320067bd5af99ec9d62" + integrity sha512-sWWgdQ1fq+XKrlda8PsMCfut8caFwZBmhYeoehJ05FdI0YZXk6ZyUjWLrIgbR/VgiGycrFKMMgp7eJ69HOF2pQ== + +"@rollup/rollup-linux-arm-musleabihf@4.21.1": + version "4.21.1" + resolved "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.1.tgz#88bec1c9df85fc5e24d49f783e19934717dd69b5" + integrity sha512-9OIiSuj5EsYQlmwhmFRA0LRO0dRRjdCVZA3hnmZe1rEwRk11Jy3ECGGq3a7RrVEZ0/pCsYWx8jG3IvcrJ6RCew== + +"@rollup/rollup-linux-arm64-gnu@4.21.1": + version "4.21.1" + resolved "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.1.tgz#6dc60f0fe7bd49ed07a2d4d9eab15e671b3bd59d" + integrity sha512-0kuAkRK4MeIUbzQYu63NrJmfoUVicajoRAL1bpwdYIYRcs57iyIV9NLcuyDyDXE2GiZCL4uhKSYAnyWpjZkWow== + +"@rollup/rollup-linux-arm64-musl@4.21.1": + version "4.21.1" + resolved "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.1.tgz#a03b78775c129e8333aca9e1e420e8e217ee99b9" + integrity sha512-/6dYC9fZtfEY0vozpc5bx1RP4VrtEOhNQGb0HwvYNwXD1BBbwQ5cKIbUVVU7G2d5WRE90NfB922elN8ASXAJEA== + +"@rollup/rollup-linux-powerpc64le-gnu@4.21.1": + version "4.21.1" + resolved "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.1.tgz#ee3810647faf2c105a5a4e71260bb90b96bf87bc" + integrity sha512-ltUWy+sHeAh3YZ91NUsV4Xg3uBXAlscQe8ZOXRCVAKLsivGuJsrkawYPUEyCV3DYa9urgJugMLn8Z3Z/6CeyRQ== + +"@rollup/rollup-linux-riscv64-gnu@4.21.1": + version "4.21.1" + resolved "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.1.tgz#385d76a088c27db8054d9f3f28d64d89294f838e" + integrity sha512-BggMndzI7Tlv4/abrgLwa/dxNEMn2gC61DCLrTzw8LkpSKel4o+O+gtjbnkevZ18SKkeN3ihRGPuBxjaetWzWg== + +"@rollup/rollup-linux-s390x-gnu@4.21.1": + version "4.21.1" + resolved "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.1.tgz#daa2b62a6e6f737ebef6700a12a93c9764e18583" + integrity sha512-z/9rtlGd/OMv+gb1mNSjElasMf9yXusAxnRDrBaYB+eS1shFm6/4/xDH1SAISO5729fFKUkJ88TkGPRUh8WSAA== + +"@rollup/rollup-linux-x64-gnu@4.21.1": + version "4.21.1" + resolved "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.1.tgz#790ae96118cc892464e9f10da358c0c8a6b9acdd" + integrity sha512-kXQVcWqDcDKw0S2E0TmhlTLlUgAmMVqPrJZR+KpH/1ZaZhLSl23GZpQVmawBQGVhyP5WXIsIQ/zqbDBBYmxm5w== + +"@rollup/rollup-linux-x64-musl@4.21.1": + version "4.21.1" + resolved "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.1.tgz#d613147f7ac15fafe2a0b6249e8484e161ca2847" + integrity sha512-CbFv/WMQsSdl+bpX6rVbzR4kAjSSBuDgCqb1l4J68UYsQNalz5wOqLGYj4ZI0thGpyX5kc+LLZ9CL+kpqDovZA== + +"@rollup/rollup-win32-arm64-msvc@4.21.1": + version "4.21.1" + resolved "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.1.tgz#18349db8250559a5460d59eb3575f9781be4ab98" + integrity sha512-3Q3brDgA86gHXWHklrwdREKIrIbxC0ZgU8lwpj0eEKGBQH+31uPqr0P2v11pn0tSIxHvcdOWxa4j+YvLNx1i6g== + +"@rollup/rollup-win32-ia32-msvc@4.21.1": + version "4.21.1" + resolved "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.1.tgz#199648b68271f7ab9d023f5c077725d51d12d466" + integrity sha512-tNg+jJcKR3Uwe4L0/wY3Ro0H+u3nrb04+tcq1GSYzBEmKLeOQF2emk1whxlzNqb6MMrQ2JOcQEpuuiPLyRcSIw== + +"@rollup/rollup-win32-x64-msvc@4.21.1": + version "4.21.1" + resolved "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.1.tgz" + integrity sha512-xGiIH95H1zU7naUyTKEyOA/I0aexNMUdO9qRv0bLKN3qu25bBdrxZHqA3PTJ24YNN/GdMzG4xkDcd/GvjuhfLg== + +"@types/estree@1.0.5": + version "1.0.5" + resolved "https://registry.npmmirror.com/@types/estree/-/estree-1.0.5.tgz" + integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== + +"@types/lodash-es@^4.17.6": + version "4.17.12" + resolved "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.12.tgz" + integrity sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ== + dependencies: + "@types/lodash" "*" + +"@types/lodash@*", "@types/lodash@^4.14.182": + version "4.17.13" + resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.13.tgz" + integrity sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg== + +"@types/web-bluetooth@^0.0.16": + version "0.0.16" + resolved "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz" + integrity sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ== + +"@vitejs/plugin-vue@^5.1.2": + version "5.1.2" + resolved "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-5.1.2.tgz" + integrity sha512-nY9IwH12qeiJqumTCLJLE7IiNx7HZ39cbHaysEUd+Myvbz9KAqd2yq+U01Kab1R/H1BmiyM2ShTYlNH32Fzo3A== + +"@vue/compiler-core@3.4.38": + version "3.4.38" + resolved "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.4.38.tgz" + integrity sha512-8IQOTCWnLFqfHzOGm9+P8OPSEDukgg3Huc92qSG49if/xI2SAwLHQO2qaPQbjCWPBcQoO1WYfXfTACUrWV3c5A== + dependencies: + "@babel/parser" "^7.24.7" + "@vue/shared" "3.4.38" + entities "^4.5.0" + estree-walker "^2.0.2" + source-map-js "^1.2.0" + +"@vue/compiler-dom@3.4.38": + version "3.4.38" + resolved "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.4.38.tgz" + integrity sha512-Osc/c7ABsHXTsETLgykcOwIxFktHfGSUDkb05V61rocEfsFDcjDLH/IHJSNJP+/Sv9KeN2Lx1V6McZzlSb9EhQ== + dependencies: + "@vue/compiler-core" "3.4.38" + "@vue/shared" "3.4.38" + +"@vue/compiler-sfc@3.4.38": + version "3.4.38" + resolved "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.4.38.tgz" + integrity sha512-s5QfZ+9PzPh3T5H4hsQDJtI8x7zdJaew/dCGgqZ2630XdzaZ3AD8xGZfBqpT8oaD/p2eedd+pL8tD5vvt5ZYJQ== + dependencies: + "@babel/parser" "^7.24.7" + "@vue/compiler-core" "3.4.38" + "@vue/compiler-dom" "3.4.38" + "@vue/compiler-ssr" "3.4.38" + "@vue/shared" "3.4.38" + estree-walker "^2.0.2" + magic-string "^0.30.10" + postcss "^8.4.40" + source-map-js "^1.2.0" + +"@vue/compiler-ssr@3.4.38": + version "3.4.38" + resolved "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.4.38.tgz" + integrity sha512-YXznKFQ8dxYpAz9zLuVvfcXhc31FSPFDcqr0kyujbOwNhlmaNvL2QfIy+RZeJgSn5Fk54CWoEUeW+NVBAogGaw== + dependencies: + "@vue/compiler-dom" "3.4.38" + "@vue/shared" "3.4.38" + +"@vue/devtools-api@^6.4.5", "@vue/devtools-api@^6.6.4": + version "6.6.4" + resolved "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz#cbe97fe0162b365edc1dba80e173f90492535343" + integrity sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g== + +"@vue/reactivity@3.4.38": + version "3.4.38" + resolved "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.4.38.tgz" + integrity sha512-4vl4wMMVniLsSYYeldAKzbk72+D3hUnkw9z8lDeJacTxAkXeDAP1uE9xr2+aKIN0ipOL8EG2GPouVTH6yF7Gnw== + dependencies: + "@vue/shared" "3.4.38" + +"@vue/runtime-core@3.4.38": + version "3.4.38" + resolved "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.4.38.tgz" + integrity sha512-21z3wA99EABtuf+O3IhdxP0iHgkBs1vuoCAsCKLVJPEjpVqvblwBnTj42vzHRlWDCyxu9ptDm7sI2ZMcWrQqlA== + dependencies: + "@vue/reactivity" "3.4.38" + "@vue/shared" "3.4.38" + +"@vue/runtime-dom@3.4.38": + version "3.4.38" + resolved "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.4.38.tgz" + integrity sha512-afZzmUreU7vKwKsV17H1NDThEEmdYI+GCAK/KY1U957Ig2NATPVjCROv61R19fjZNzMmiU03n79OMnXyJVN0UA== + dependencies: + "@vue/reactivity" "3.4.38" + "@vue/runtime-core" "3.4.38" + "@vue/shared" "3.4.38" + csstype "^3.1.3" + +"@vue/server-renderer@3.4.38": + version "3.4.38" + resolved "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.4.38.tgz" + integrity sha512-NggOTr82FbPEkkUvBm4fTGcwUY8UuTsnWC/L2YZBmvaQ4C4Jl/Ao4HHTB+l7WnFCt5M/dN3l0XLuyjzswGYVCA== + dependencies: + "@vue/compiler-ssr" "3.4.38" + "@vue/shared" "3.4.38" + +"@vue/shared@3.4.38": + version "3.4.38" + resolved "https://registry.npmmirror.com/@vue/shared/-/shared-3.4.38.tgz" + integrity sha512-q0xCiLkuWWQLzVrecPb0RMsNWyxICOjPrcrwxTUEHb1fsnvni4dcuyG7RT/Ie7VPTvnjzIaWzRMUBsrqNj/hhw== + +"@vueuse/core@^9.1.0": + version "9.13.0" + resolved "https://registry.npmjs.org/@vueuse/core/-/core-9.13.0.tgz" + integrity sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw== + dependencies: + "@types/web-bluetooth" "^0.0.16" + "@vueuse/metadata" "9.13.0" + "@vueuse/shared" "9.13.0" + vue-demi "*" + +"@vueuse/metadata@9.13.0": + version "9.13.0" + resolved "https://registry.npmjs.org/@vueuse/metadata/-/metadata-9.13.0.tgz" + integrity sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ== + +"@vueuse/shared@9.13.0": + version "9.13.0" + resolved "https://registry.npmjs.org/@vueuse/shared/-/shared-9.13.0.tgz" + integrity sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw== + dependencies: + vue-demi "*" + +async-validator@^4.2.5: + version "4.2.5" + resolved "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz" + integrity sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +axios@1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/axios/-/axios-1.2.1.tgz#44cf04a3c9f0c2252ebd85975361c026cb9f864a" + integrity sha512-I88cFiGu9ryt/tfVEi4kX2SITsvDddTajXTOFmt2uK1ZVA8LytjtdeyefdQWEf5PU8w+4SSJDoYnggflB5tW4A== + dependencies: + follow-redirects "^1.15.0" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +csstype@^3.1.3: + version "3.1.3" + resolved "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz" + integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== + +dayjs@^1.11.3: + version "1.11.13" + resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz" + integrity sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg== + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + +element-plus@^2.8.7: + version "2.8.7" + resolved "https://registry.npmjs.org/element-plus/-/element-plus-2.8.7.tgz" + integrity sha512-oGQyFRufFOgjd872tZc+T4xQAYLlX4hj6d3ixeY13L4fFNUuc1N49JHAqJGPda0tdx3qCnjceZoh1kqqj2+tXQ== + 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.3" + 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" + +entities@^4.5.0: + version "4.5.0" + resolved "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + +esbuild@^0.21.3: + version "0.21.5" + resolved "https://registry.npmmirror.com/esbuild/-/esbuild-0.21.5.tgz" + integrity sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw== + 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" + +escape-html@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + +estree-walker@^2.0.2: + 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== + +follow-redirects@^1.15.0: + version "1.15.9" + resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" + integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== + +form-data@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz#ba1076daaaa5bfd7e99c1a6cb02aa0a5cff90d48" + integrity sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +fsevents@~2.3.2, fsevents@~2.3.3: + version "2.3.3" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +lodash-es@^4.17.21: + version "4.17.21" + resolved "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz" + integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== + +lodash-unified@^1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/lodash-unified/-/lodash-unified-1.0.3.tgz" + integrity sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ== + +lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +magic-string@^0.30.10: + version "0.30.11" + resolved "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.11.tgz" + integrity sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A== + dependencies: + "@jridgewell/sourcemap-codec" "^1.5.0" + +memoize-one@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz" + integrity sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw== + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12: + version "2.1.35" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +nanoid@^3.3.7: + version "3.3.7" + resolved "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + +normalize-wheel-es@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz" + integrity sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw== + +picocolors@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.1.tgz" + integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== + +pinia@2.0.27: + version "2.0.27" + resolved "https://registry.npmjs.org/pinia/-/pinia-2.0.27.tgz#cf13a8dca2792a613c1d8bb8ef50707756e5a6ef" + integrity sha512-nOnXP0OFeL8R4WjAHsterU+11vptda643gH02xKNtSCDPiRzVfRYodOLihLDoa0gL1KKuQKV+KOzEgdt3YvqEw== + dependencies: + "@vue/devtools-api" "^6.4.5" + vue-demi "*" + +postcss@^8.4.40, postcss@^8.4.41: + version "8.4.41" + resolved "https://registry.npmmirror.com/postcss/-/postcss-8.4.41.tgz" + integrity sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.1" + source-map-js "^1.2.0" + +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + +rollup@^4.20.0: + version "4.21.1" + resolved "https://registry.npmmirror.com/rollup/-/rollup-4.21.1.tgz" + integrity sha512-ZnYyKvscThhgd3M5+Qt3pmhO4jIRR5RGzaSovB6Q7rGNrK5cUncrtLmcTTJVSdcKXyZjW8X8MB0JMSuH9bcAJg== + dependencies: + "@types/estree" "1.0.5" + optionalDependencies: + "@rollup/rollup-android-arm-eabi" "4.21.1" + "@rollup/rollup-android-arm64" "4.21.1" + "@rollup/rollup-darwin-arm64" "4.21.1" + "@rollup/rollup-darwin-x64" "4.21.1" + "@rollup/rollup-linux-arm-gnueabihf" "4.21.1" + "@rollup/rollup-linux-arm-musleabihf" "4.21.1" + "@rollup/rollup-linux-arm64-gnu" "4.21.1" + "@rollup/rollup-linux-arm64-musl" "4.21.1" + "@rollup/rollup-linux-powerpc64le-gnu" "4.21.1" + "@rollup/rollup-linux-riscv64-gnu" "4.21.1" + "@rollup/rollup-linux-s390x-gnu" "4.21.1" + "@rollup/rollup-linux-x64-gnu" "4.21.1" + "@rollup/rollup-linux-x64-musl" "4.21.1" + "@rollup/rollup-win32-arm64-msvc" "4.21.1" + "@rollup/rollup-win32-ia32-msvc" "4.21.1" + "@rollup/rollup-win32-x64-msvc" "4.21.1" + fsevents "~2.3.2" + +source-map-js@^1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.0.tgz" + integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +vite@^5.4.1: + version "5.4.2" + resolved "https://registry.npmmirror.com/vite/-/vite-5.4.2.tgz" + integrity sha512-dDrQTRHp5C1fTFzcSaMxjk6vdpKvT+2/mIdE07Gw2ykehT49O0z/VHS3zZ8iV/Gh8BJJKHWOe5RjaNrW5xf/GA== + dependencies: + esbuild "^0.21.3" + postcss "^8.4.41" + rollup "^4.20.0" + optionalDependencies: + fsevents "~2.3.3" + +vue-demi@*: + version "0.14.10" + resolved "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz" + integrity sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg== + +vue-router@4: + version "4.4.5" + resolved "https://registry.npmjs.org/vue-router/-/vue-router-4.4.5.tgz#bdf535e4cf32414ebdea6b4b403593efdb541388" + integrity sha512-4fKZygS8cH1yCyuabAXGUAsyi1b2/o/OKgu/RUb+znIYOxPRxdkytJEx+0wGcpBE1pX6vUgh5jwWOKRGvuA/7Q== + dependencies: + "@vue/devtools-api" "^6.6.4" + +vue@^3.4.37: + version "3.4.38" + resolved "https://registry.npmmirror.com/vue/-/vue-3.4.38.tgz" + integrity sha512-f0ZgN+mZ5KFgVv9wz0f4OgVKukoXtS3nwET4c2vLBGQR50aI8G0cqbFtLlX9Yiyg3LFGBitruPHt2PxwTduJEw== + dependencies: + "@vue/compiler-dom" "3.4.38" + "@vue/compiler-sfc" "3.4.38" + "@vue/runtime-dom" "3.4.38" + "@vue/server-renderer" "3.4.38" + "@vue/shared" "3.4.38"