| @ -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? | ||||||
| @ -0,0 +1,3 @@ | |||||||
|  | { | ||||||
|  |   "recommendations": ["Vue.volar"] | ||||||
|  | } | ||||||
| @ -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 `<script setup>` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more. | ||||||
|  | 
 | ||||||
|  | Learn more about IDE Support for Vue in the [Vue Docs Scaling up Guide](https://vuejs.org/guide/scaling-up/tooling.html#ide-support). | ||||||
| @ -0,0 +1,13 @@ | |||||||
|  | <!doctype html> | ||||||
|  | <html lang="en"> | ||||||
|  |   <head> | ||||||
|  |     <meta charset="UTF-8" /> | ||||||
|  |     <link rel="icon" type="image/svg+xml" href="/vite.svg" /> | ||||||
|  |     <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||||||
|  |     <title>Vite + Vue</title> | ||||||
|  |   </head> | ||||||
|  |   <body> | ||||||
|  |     <div id="app"></div> | ||||||
|  |     <script type="module" src="/src/main.js"></script> | ||||||
|  |   </body> | ||||||
|  | </html> | ||||||
| @ -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 | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
| @ -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" | ||||||
|  |   } | ||||||
|  | } | ||||||
| After Width: | Height: | Size: 89 KiB | 
| After Width: | Height: | Size: 23 KiB | 
| After Width: | Height: | Size: 71 KiB | 
| After Width: | Height: | Size: 28 KiB | 
| After Width: | Height: | Size: 271 KiB | 
| After Width: | Height: | Size: 90 KiB | 
| After Width: | Height: | Size: 178 KiB | 
| After Width: | Height: | Size: 26 KiB | 
| After Width: | Height: | Size: 170 KiB | 
| After Width: | Height: | Size: 170 KiB | 
| After Width: | Height: | Size: 17 KiB | 
| After Width: | Height: | Size: 178 KiB | 
| After Width: | Height: | Size: 82 KiB | 
| After Width: | Height: | Size: 1.5 KiB | 
| @ -0,0 +1,24 @@ | |||||||
|  | <script setup> | ||||||
|  | 
 | ||||||
|  | </script> | ||||||
|  | 
 | ||||||
|  | <template> | ||||||
|  |   <div> | ||||||
|  | 	  <router-view></router-view> | ||||||
|  |   </div> | ||||||
|  | </template> | ||||||
|  | 
 | ||||||
|  | <style scoped> | ||||||
|  | .logo { | ||||||
|  |   height: 6em; | ||||||
|  |   padding: 1.5em; | ||||||
|  |   will-change: filter; | ||||||
|  |   transition: filter 300ms; | ||||||
|  | } | ||||||
|  | .logo:hover { | ||||||
|  |   filter: drop-shadow(0 0 2em #646cffaa); | ||||||
|  | } | ||||||
|  | .logo.vue:hover { | ||||||
|  |   filter: drop-shadow(0 0 2em #42b883aa); | ||||||
|  | } | ||||||
|  | </style> | ||||||
| After Width: | Height: | Size: 496 B | 
| @ -0,0 +1,73 @@ | |||||||
|  | <template> | ||||||
|  |   <div class="cold-transport"> | ||||||
|  |     <div class="card"> | ||||||
|  |       <img src="/11.jpg" alt="通知" class="card-image" /> | ||||||
|  |       <div class="card-content"> | ||||||
|  |         <h3>通知</h3> | ||||||
|  |         <p> | ||||||
|  |           通知通知通知通知通知通知通知通知通知通知通知通知通知 | ||||||
|  |         </p> | ||||||
|  |       </div> | ||||||
|  |     </div> | ||||||
|  |     <div class="card"> | ||||||
|  |       <img src="/12.png" alt="通知" class="card-image" /> | ||||||
|  |       <div class="card-content"> | ||||||
|  |         <h3>通知</h3> | ||||||
|  |         <p> | ||||||
|  |           通知通知通知通知通知通知通知通知通知通知通知通知通知 | ||||||
|  |         </p> | ||||||
|  |       </div> | ||||||
|  |     </div> | ||||||
|  |   </div> | ||||||
|  | </template> | ||||||
|  | 
 | ||||||
|  | <script> | ||||||
|  | export default { | ||||||
|  |   name: "ColdTransport", | ||||||
|  | }; | ||||||
|  | </script> | ||||||
|  | 
 | ||||||
|  | <style scoped> | ||||||
|  | .cold-transport { | ||||||
|  |   display: flex; | ||||||
|  |   justify-content: space-between; | ||||||
|  |   gap: 16px; | ||||||
|  |   padding: 20px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .card { | ||||||
|  |   width: 48%; | ||||||
|  |   border: 1px solid #ddd; | ||||||
|  |   border-radius: 8px; | ||||||
|  |   overflow: hidden; | ||||||
|  |   box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); | ||||||
|  |   background: #fff; | ||||||
|  |   transition: transform 0.3s ease; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .card:hover { | ||||||
|  |   transform: translateY(-5px); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .card-image { | ||||||
|  |   width: 100%; | ||||||
|  |   height: 180px; | ||||||
|  |   object-fit: cover; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .card-content { | ||||||
|  |   padding: 16px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .card-content h3 { | ||||||
|  |   font-size: 18px; | ||||||
|  |   margin-bottom: 8px; | ||||||
|  |   color: #333; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .card-content p { | ||||||
|  |   font-size: 14px; | ||||||
|  |   color: #666; | ||||||
|  |   line-height: 1.6; | ||||||
|  | } | ||||||
|  | </style> | ||||||
| @ -0,0 +1,73 @@ | |||||||
|  | <template> | ||||||
|  |   <div class="cold-transport"> | ||||||
|  |     <div class="card"> | ||||||
|  |       <img src="/21.png" alt="通知" class="card-image" /> | ||||||
|  |       <div class="card-content"> | ||||||
|  |         <h3>通知</h3> | ||||||
|  |         <p> | ||||||
|  |           通知通知通知通知通知通知通知通知通知通知通知通知通知通知通知通知通知 | ||||||
|  |         </p> | ||||||
|  |       </div> | ||||||
|  |     </div> | ||||||
|  |     <div class="card"> | ||||||
|  |       <img src="/22.png" alt="通知" class="card-image" /> | ||||||
|  |       <div class="card-content"> | ||||||
|  |         <h3>通知</h3> | ||||||
|  |         <p> | ||||||
|  |           通知通知通知通知通知通知通知通知通知通知通知通知通知通知通知通知通知 | ||||||
|  |         </p> | ||||||
|  |       </div> | ||||||
|  |     </div> | ||||||
|  |   </div> | ||||||
|  | </template> | ||||||
|  | 
 | ||||||
|  | <script> | ||||||
|  | export default { | ||||||
|  |   name: "ColdTransport", | ||||||
|  | }; | ||||||
|  | </script> | ||||||
|  | 
 | ||||||
|  | <style scoped> | ||||||
|  | .cold-transport { | ||||||
|  |   display: flex; | ||||||
|  |   justify-content: space-between; | ||||||
|  |   gap: 16px; | ||||||
|  |   padding: 20px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .card { | ||||||
|  |   width: 48%; | ||||||
|  |   border: 1px solid #ddd; | ||||||
|  |   border-radius: 8px; | ||||||
|  |   overflow: hidden; | ||||||
|  |   box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); | ||||||
|  |   background: #fff; | ||||||
|  |   transition: transform 0.3s ease; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .card:hover { | ||||||
|  |   transform: translateY(-5px); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .card-image { | ||||||
|  |   width: 100%; | ||||||
|  |   height: 180px; | ||||||
|  |   object-fit: cover; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .card-content { | ||||||
|  |   padding: 16px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .card-content h3 { | ||||||
|  |   font-size: 18px; | ||||||
|  |   margin-bottom: 8px; | ||||||
|  |   color: #333; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .card-content p { | ||||||
|  |   font-size: 14px; | ||||||
|  |   color: #666; | ||||||
|  |   line-height: 1.6; | ||||||
|  | } | ||||||
|  | </style> | ||||||
| @ -0,0 +1,73 @@ | |||||||
|  | <template> | ||||||
|  |   <div class="cold-transport"> | ||||||
|  |     <div class="card"> | ||||||
|  |       <img src="/31.jpg" alt="通知" class="card-image" /> | ||||||
|  |       <div class="card-content"> | ||||||
|  |         <h3>通知</h3> | ||||||
|  |         <p> | ||||||
|  |           通知通知通知通知通知通知通知通知通知通知通知通知通知通知通知通知 | ||||||
|  |         </p> | ||||||
|  |       </div> | ||||||
|  |     </div> | ||||||
|  |     <div class="card"> | ||||||
|  |       <img src="/32.png" alt="通知" class="card-image" /> | ||||||
|  |       <div class="card-content"> | ||||||
|  |         <h3>通知</h3> | ||||||
|  |         <p> | ||||||
|  |           通知通知通知通知通知通知通知通知通知通知通知通知通知通知通知通知 | ||||||
|  |         </p> | ||||||
|  |       </div> | ||||||
|  |     </div> | ||||||
|  |   </div> | ||||||
|  | </template> | ||||||
|  | 
 | ||||||
|  | <script> | ||||||
|  | export default { | ||||||
|  |   name: "ColdTransport", | ||||||
|  | }; | ||||||
|  | </script> | ||||||
|  | 
 | ||||||
|  | <style scoped> | ||||||
|  | .cold-transport { | ||||||
|  |   display: flex; | ||||||
|  |   justify-content: space-between; | ||||||
|  |   gap: 16px; | ||||||
|  |   padding: 20px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .card { | ||||||
|  |   width: 48%; | ||||||
|  |   border: 1px solid #ddd; | ||||||
|  |   border-radius: 8px; | ||||||
|  |   overflow: hidden; | ||||||
|  |   box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); | ||||||
|  |   background: #fff; | ||||||
|  |   transition: transform 0.3s ease; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .card:hover { | ||||||
|  |   transform: translateY(-5px); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .card-image { | ||||||
|  |   width: 100%; | ||||||
|  |   height: 180px; | ||||||
|  |   object-fit: cover; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .card-content { | ||||||
|  |   padding: 16px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .card-content h3 { | ||||||
|  |   font-size: 18px; | ||||||
|  |   margin-bottom: 8px; | ||||||
|  |   color: #333; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .card-content p { | ||||||
|  |   font-size: 14px; | ||||||
|  |   color: #666; | ||||||
|  |   line-height: 1.6; | ||||||
|  | } | ||||||
|  | </style> | ||||||
| @ -0,0 +1,73 @@ | |||||||
|  | <template> | ||||||
|  |   <div class="cold-transport"> | ||||||
|  |     <div class="card"> | ||||||
|  |       <img src="/41.png" alt="通知" class="card-image" /> | ||||||
|  |       <div class="card-content"> | ||||||
|  |         <h3>通知</h3> | ||||||
|  |         <p> | ||||||
|  |           通知通知通知通知通知通知通知通知通知通知通知通知通知通知通知通知通知通知通知通知 | ||||||
|  |         </p> | ||||||
|  |       </div> | ||||||
|  |     </div> | ||||||
|  |     <div class="card"> | ||||||
|  |       <img src="/42.jpg" alt="通知" class="card-image" /> | ||||||
|  |       <div class="card-content"> | ||||||
|  |         <h3>通知</h3> | ||||||
|  |         <p> | ||||||
|  |           通知通知通知通知通知通知通知通知通知通知通知通知通知通知通知通知通知通知通知通知 | ||||||
|  |         </p> | ||||||
|  |       </div> | ||||||
|  |     </div> | ||||||
|  |   </div> | ||||||
|  | </template> | ||||||
|  | 
 | ||||||
|  | <script> | ||||||
|  | export default { | ||||||
|  |   name: "ColdTransport", | ||||||
|  | }; | ||||||
|  | </script> | ||||||
|  | 
 | ||||||
|  | <style scoped> | ||||||
|  | .cold-transport { | ||||||
|  |   display: flex; | ||||||
|  |   justify-content: space-between; | ||||||
|  |   gap: 16px; | ||||||
|  |   padding: 20px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .card { | ||||||
|  |   width: 48%; | ||||||
|  |   border: 1px solid #ddd; | ||||||
|  |   border-radius: 8px; | ||||||
|  |   overflow: hidden; | ||||||
|  |   box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); | ||||||
|  |   background: #fff; | ||||||
|  |   transition: transform 0.3s ease; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .card:hover { | ||||||
|  |   transform: translateY(-5px); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .card-image { | ||||||
|  |   width: 100%; | ||||||
|  |   height: 180px; | ||||||
|  |   object-fit: cover; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .card-content { | ||||||
|  |   padding: 16px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .card-content h3 { | ||||||
|  |   font-size: 18px; | ||||||
|  |   margin-bottom: 8px; | ||||||
|  |   color: #333; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .card-content p { | ||||||
|  |   font-size: 14px; | ||||||
|  |   color: #666; | ||||||
|  |   line-height: 1.6; | ||||||
|  | } | ||||||
|  | </style> | ||||||
| @ -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'); | ||||||
| @ -0,0 +1,5 @@ | |||||||
|  | import axios from "axios" | ||||||
|  | const request = axios.create({ | ||||||
|  | 	timeout:2000 | ||||||
|  | }) | ||||||
|  | export default request | ||||||
| @ -0,0 +1,98 @@ | |||||||
|  | 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', | ||||||
|  |       component: () => import('./view/user/index.vue'), | ||||||
|  |       redirect: '/admin/firstpage/1', // 默认重定向到 firstpage/1
 | ||||||
|  |       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'), | ||||||
|  |           children: [ | ||||||
|  |             { | ||||||
|  |               path: '1', | ||||||
|  |               component: () => import('./components/1.vue'), | ||||||
|  |             }, | ||||||
|  |             { | ||||||
|  |               path: '2', | ||||||
|  |               component: () => import('./components/2.vue'), | ||||||
|  |             }, | ||||||
|  |             { | ||||||
|  |               path: '3', | ||||||
|  |               component: () => import('./components/3.vue'), | ||||||
|  |             }, | ||||||
|  |             { | ||||||
|  |               path: '4', | ||||||
|  |               component: () => import('./components/4.vue'), | ||||||
|  |             } | ||||||
|  |           ] | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |           path: 'notice', | ||||||
|  |           component: () => import('./view/user/notice.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 | ||||||
| @ -0,0 +1,15 @@ | |||||||
|  | import {defineStore} from "pinia"; | ||||||
|  | 
 | ||||||
|  | export const userStore=defineStore('storeId',{ | ||||||
|  | 	state:()=>{ | ||||||
|  | 		return{ | ||||||
|  | 			loginState:false | ||||||
|  | 		} | ||||||
|  | 	}, | ||||||
|  | 	getters:{}, | ||||||
|  | 	actions:{ | ||||||
|  | 		setLoginState(state){ | ||||||
|  | 			this.loginState=state | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | }) | ||||||
| @ -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; | ||||||
|  |   } | ||||||
|  | } | ||||||
| @ -0,0 +1,63 @@ | |||||||
|  | <template> | ||||||
|  |   <div class="auth-container"> | ||||||
|  |     <el-form :model="form" status-icon> | ||||||
|  |       <el-form-item label="账号"> | ||||||
|  |         <el-input v-model="form.username" autocomplete="off"></el-input> | ||||||
|  |       </el-form-item> | ||||||
|  |       <el-form-item label="密码"> | ||||||
|  |         <el-input type="password" v-model="form.password" autocomplete="off"></el-input> | ||||||
|  |       </el-form-item> | ||||||
|  |       <el-form-item> | ||||||
|  |         <el-button type="primary" @click="login">登录</el-button> | ||||||
|  |         <el-button type="default" @click="register">注册</el-button> | ||||||
|  |       </el-form-item> | ||||||
|  |     </el-form> | ||||||
|  |     <el-alert v-if="loginError" title="登录失败" type="error" description="用户名或密码错误" show-icon></el-alert> | ||||||
|  |   </div> | ||||||
|  | </template> | ||||||
|  | 
 | ||||||
|  | <script> | ||||||
|  | import { reactive, ref } from 'vue'; | ||||||
|  | import { ElMessage } from 'element-plus'; | ||||||
|  | import { useRouter } from 'vue-router'; | ||||||
|  | 
 | ||||||
|  | export default { | ||||||
|  |   setup() { | ||||||
|  |     const form = reactive({ | ||||||
|  |       username: '', | ||||||
|  |       password: '', | ||||||
|  |     }); | ||||||
|  |     const loginError = ref(false); | ||||||
|  |     const router = useRouter(); | ||||||
|  | 
 | ||||||
|  |     const login = () => { | ||||||
|  |       // 模拟登录 | ||||||
|  |       if (form.username === 'admin' && form.password === 'admin') { | ||||||
|  |         ElMessage.success('登录成功!'); | ||||||
|  |         loginError.value = false; | ||||||
|  |         router.push({ name: "admin" }); // 进入管理员首页或其他逻辑 | ||||||
|  |       } else { | ||||||
|  |         loginError.value = true; | ||||||
|  |       } | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     const register = () => { | ||||||
|  |       router.push({ name: "Register" }); | ||||||
|  |       ElMessage.success('注册'); | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     return { form, login, register, loginError }; | ||||||
|  |   }, | ||||||
|  | }; | ||||||
|  | </script> | ||||||
|  | 
 | ||||||
|  | <style scoped> | ||||||
|  | .auth-container { | ||||||
|  |   max-width: 400px; | ||||||
|  |   margin: auto; | ||||||
|  |   background-color: black; /* 设置背景颜色为黑色 */ | ||||||
|  |   color: white; /* 设置文本颜色为白色以便于阅读 */ | ||||||
|  |   padding: 20px; /* 添加一些内边距 */ | ||||||
|  |   border-radius: 8px; /* 使容器边角圆滑 */ | ||||||
|  | } | ||||||
|  | </style> | ||||||
| @ -0,0 +1 @@ | |||||||
|  | Subproject commit b0fa7ac2b5a0478e5f12babf6889dd70b5cfeb21 | ||||||
| @ -0,0 +1,200 @@ | |||||||
|  | <template> | ||||||
|  |   <el-container style="height: 1600px;"> | ||||||
|  |     <el-main style="height: 500px;"> | ||||||
|  |       <div> | ||||||
|  |         <el-carousel indicator-position="none" height="450px" autoplay> | ||||||
|  |           <el-carousel-item v-for="item in items" :key="item.id"> | ||||||
|  |             <img :src="item.src" alt="image" style="width: 100%; height: 100%; object-fit: cover;" /> | ||||||
|  |           </el-carousel-item> | ||||||
|  |         </el-carousel> | ||||||
|  |       </div> | ||||||
|  |     </el-main> | ||||||
|  | 
 | ||||||
|  |     <h1>通知</h1> | ||||||
|  | 
 | ||||||
|  |     <el-main> | ||||||
|  |       <el-tabs v-model="activeTab" class="header" @tab-click="handleTabClick"> | ||||||
|  |         <el-tab-pane label="通知1" name="first"></el-tab-pane> | ||||||
|  |         <el-tab-pane label="通知2" name="second"></el-tab-pane> | ||||||
|  |         <el-tab-pane label="通知3" name="third"></el-tab-pane> | ||||||
|  |         <el-tab-pane label="通知4" name="fourth"></el-tab-pane> | ||||||
|  |       </el-tabs> | ||||||
|  |       <router-view></router-view> | ||||||
|  |     </el-main> | ||||||
|  | 
 | ||||||
|  |     <el-footer> | ||||||
|  |       <div class="news-section"> | ||||||
|  |         <div class="foot"> | ||||||
|  |           <h2>用户建议</h2> | ||||||
|  |           <button class="view-all-btn" @click="goToInformation">查看全部</button> | ||||||
|  | 
 | ||||||
|  |         </div> | ||||||
|  |         <div class="news-container"> | ||||||
|  |           <div class="news-item" v-for="(news, index) in newsList" :key="index" :class="{ large: index === 1 }"> | ||||||
|  |             <img :src="news.image" :alt="news.title" class="news-image" /> | ||||||
|  |             <div class="news-content"> | ||||||
|  |               <p>{{ news.title }}</p> | ||||||
|  |             </div> | ||||||
|  |           </div> | ||||||
|  |         </div> | ||||||
|  |       </div> | ||||||
|  |     </el-footer> | ||||||
|  |   </el-container> | ||||||
|  | </template> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <script setup> | ||||||
|  | import { ref } from 'vue'; | ||||||
|  | import { useRouter } from 'vue-router'; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | const activeTab = ref('first'); | ||||||
|  | const router = useRouter(); | ||||||
|  | 
 | ||||||
|  | function handleTabClick(tab) { | ||||||
|  |   console.log('Tab clicked:', tab.name); | ||||||
|  |    | ||||||
|  |   const tabRoutes = { | ||||||
|  |     first: '/admin/firstpage/1', // 修正路径 | ||||||
|  |     second: '/admin/firstpage/2', | ||||||
|  |     third: '/admin/firstpage/3', | ||||||
|  |     fourth: '/admin/firstpage/4' | ||||||
|  |   }; | ||||||
|  |    | ||||||
|  |   const route = tabRoutes[tab.props.name]; // 确保从 tab.props 中获取 name 属性 | ||||||
|  |   if (route) { | ||||||
|  |     router.push(route); // 路由跳转 | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | const items = [ | ||||||
|  |   { id: 1, src: "/1.jpg" }, | ||||||
|  |   { id: 2, src: "/2.jpg" }, | ||||||
|  |   { id: 3, src: "/3.png" } | ||||||
|  | ]; | ||||||
|  | 
 | ||||||
|  | const newsList = ref([ | ||||||
|  |   { | ||||||
|  |     title: "建议建议建议建议建议建议建议建议...", | ||||||
|  |     image: "f1.png", | ||||||
|  |   }, | ||||||
|  |   { | ||||||
|  |     title: "建议建议建议建议建议建议建议建议...", | ||||||
|  |     image: "f1.png", | ||||||
|  |   }, | ||||||
|  |   { | ||||||
|  |     title: "建议建议建议建议建议建议建议建议...", | ||||||
|  |     image: "f1.png", | ||||||
|  |   }, | ||||||
|  |   { | ||||||
|  |     title: "建议建议建议建议建议建议建议建议...", | ||||||
|  |     image: "f1.png", | ||||||
|  |   }, | ||||||
|  | ]); | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | function goToInformation() { | ||||||
|  |   router.push('/admin/information'); // 跳转到 information 路由 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | </script> | ||||||
|  | 
 | ||||||
|  | <style scoped> | ||||||
|  | .header { | ||||||
|  |   text-align: center; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .el-header, .el-footer { | ||||||
|  |   background-color: #B3C0D1; | ||||||
|  |   color: #333; | ||||||
|  |   text-align: center; | ||||||
|  |   line-height: 60px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .el-main { | ||||||
|  |   background-color: #E9EEF3; | ||||||
|  |   color: #333; | ||||||
|  |   text-align: center; | ||||||
|  |   line-height: 160px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .news-section { | ||||||
|  |   padding: 20px; | ||||||
|  |   max-width: 1200px; | ||||||
|  |   margin: 0 auto; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .foot { | ||||||
|  |   display: flex; | ||||||
|  |   justify-content: space-between; | ||||||
|  |   align-items: center; | ||||||
|  |   margin-bottom: 20px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .foot h2 { | ||||||
|  |   font-size: 24px; | ||||||
|  |   font-weight: bold; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .view-all-btn { | ||||||
|  |   border: 1px solid #ccc; | ||||||
|  |   border-radius: 4px; | ||||||
|  |   padding: 5px 10px; | ||||||
|  |   background-color: #fff; | ||||||
|  |   cursor: pointer; | ||||||
|  |   transition: background-color 0.3s ease; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .view-all-btn:hover { | ||||||
|  |   background-color: #f0f0f0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .news-container { | ||||||
|  |   display: grid; | ||||||
|  |   grid-template-columns: 1fr 1fr; | ||||||
|  |   gap: 16px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .news-item { | ||||||
|  |   display: flex; | ||||||
|  |   flex-direction: column; | ||||||
|  |   border: 1px solid #ddd; | ||||||
|  |   border-radius: 8px; | ||||||
|  |   overflow: hidden; | ||||||
|  |   background: #fff; | ||||||
|  |   transition: transform 0.3s ease; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | .news-item:hover { | ||||||
|  |   transform: translateY(-5px); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .news-image { | ||||||
|  |   width: 100%; | ||||||
|  |   height: 200px; | ||||||
|  |   object-fit: cover; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .news-item.large .news-image { | ||||||
|  |   width: 100%; | ||||||
|  |   height: 200px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .news-content { | ||||||
|  |   padding: 10px; | ||||||
|  |   font-size: 14px; | ||||||
|  |   color: #333; | ||||||
|  |   display: flex; | ||||||
|  |   align-items: center; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .news-item.large .news-content { | ||||||
|  |   padding: 10px 20px; | ||||||
|  |   font-size: 16px; | ||||||
|  | } | ||||||
|  | </style> | ||||||
| @ -0,0 +1,111 @@ | |||||||
|  | <template> | ||||||
|  |   <el-row class="page"> | ||||||
|  |     <el-row class="block-view"> | ||||||
|  |       <el-row class="top"> | ||||||
|  |         <el-col> | ||||||
|  |           <el-text class="header">个人信息</el-text> | ||||||
|  |         </el-col> | ||||||
|  |       </el-row> | ||||||
|  | 
 | ||||||
|  |       <el-row class="express-view"> | ||||||
|  |         <el-row class="express-no-view" v-for="(value, label) in adminInfo" :key="label"> | ||||||
|  |           <el-text class="label">{{ label }}:</el-text> | ||||||
|  |           <el-text class="info">{{ value }}</el-text> | ||||||
|  |         </el-row> | ||||||
|  |       </el-row> | ||||||
|  |     </el-row> | ||||||
|  |   </el-row> | ||||||
|  | </template> | ||||||
|  | 
 | ||||||
|  | <script setup> | ||||||
|  | import { ref } from 'vue'; | ||||||
|  | 
 | ||||||
|  | const adminInfo = ref({ | ||||||
|  |   姓名: 'yyy', | ||||||
|  |   账号: '123', | ||||||
|  |   邮箱: 'admin@example.com', | ||||||
|  |   签名: '666' | ||||||
|  | }); | ||||||
|  | </script> | ||||||
|  | 
 | ||||||
|  | <style scoped> | ||||||
|  | .page { | ||||||
|  |   display: flex; | ||||||
|  |   flex-direction: column; | ||||||
|  |   align-items: center; /* 水平居中 */ | ||||||
|  |   width: 100%; | ||||||
|  |   min-height: 100vh; /* 保持页面高度填满视口 */ | ||||||
|  |   background: linear-gradient(135deg, #f4f6f9, #e9ecf3); /* 渐变背景 */ | ||||||
|  |   line-height: 1.8; /* 增加行高 */ | ||||||
|  |   padding: 30px; /* 增加内边距 */ | ||||||
|  |   box-sizing: border-box; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .block-view { | ||||||
|  |   width: 100%; | ||||||
|  |   max-width: 800px; /* 限制内容宽度 */ | ||||||
|  |   display: flex; | ||||||
|  |   flex-direction: column; | ||||||
|  |   padding: 30px; /* 增加内边距 */ | ||||||
|  |   margin: 20px 0; /* 增加上下间距 */ | ||||||
|  |   border-radius: 12px; /* 更大的圆角效果 */ | ||||||
|  |   box-shadow: 0 6px 15px rgba(0, 0, 0, 0.1); /* 更深的阴影效果 */ | ||||||
|  |   background-color: #fff; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .top { | ||||||
|  |   display: flex; | ||||||
|  |   flex-direction: row; | ||||||
|  |   justify-content: center; /* 标题居中显示 */ | ||||||
|  |   padding-bottom: 15px; /* 与内容分隔 */ | ||||||
|  |   border-bottom: 2px solid #f0f0f0; /* 底部分隔线 */ | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .header { | ||||||
|  |   font-size: 28px; /* 标题字体大小 */ | ||||||
|  |   font-weight: bold; /* 加粗 */ | ||||||
|  |   color: #333; /* 标题颜色 */ | ||||||
|  |   letter-spacing: 1px; /* 增加字间距 */ | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .express-view { | ||||||
|  |   display: flex; | ||||||
|  |   flex-direction: column; | ||||||
|  |   width: 100%; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .express-no-view { | ||||||
|  |   display: flex; | ||||||
|  |   flex-direction: row; | ||||||
|  |   align-items: center; | ||||||
|  |   justify-content: space-between; /* 左右内容对齐 */ | ||||||
|  |   margin: 15px 0; /* 增加上下间距 */ | ||||||
|  |   padding: 15px 10px; /* 增加内边距 */ | ||||||
|  |   border-bottom: 1px solid #ececec; /* 底部分隔线 */ | ||||||
|  |   transition: all 0.3s ease; /* 添加过渡效果 */ | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .express-no-view:hover { | ||||||
|  |   background-color: #f9fafc; /* 悬停时背景颜色变化 */ | ||||||
|  |   transform: translateY(-2px); /* 微微上移 */ | ||||||
|  |   box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .label { | ||||||
|  |   font-weight: bold; | ||||||
|  |   font-size: 18px; /* 调整字体大小 */ | ||||||
|  |   color: #666; /* 标签颜色 */ | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .info { | ||||||
|  |   font-size: 18px; /* 调整字体大小 */ | ||||||
|  |   color: #333; /* 信息颜色 */ | ||||||
|  |   font-weight: 500; /* 字体加权 */ | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .info:hover { | ||||||
|  |   color: #409eff; /* 鼠标悬停时字体颜色变化 */ | ||||||
|  |   text-decoration: underline; /* 悬停时增加下划线 */ | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | </style> | ||||||
| @ -0,0 +1,229 @@ | |||||||
|  | <template> | ||||||
|  |   <el-row class="page"> | ||||||
|  |     <el-row class="block-view"> | ||||||
|  |       <el-row class="top"> | ||||||
|  |         <el-col> | ||||||
|  |           <el-text class="mx-1"><h2>系统通知管理</h2></el-text> | ||||||
|  |         </el-col> | ||||||
|  |       </el-row> | ||||||
|  | 
 | ||||||
|  |       <!-- 发布通知 --> | ||||||
|  |       <el-card class="publish" shadow="hover"> | ||||||
|  |         <el-row gutter={20}> | ||||||
|  |           <el-col :span="12"> | ||||||
|  |             <el-input | ||||||
|  |               placeholder="请输入通知标题" | ||||||
|  |               v-model="newNotification.title" | ||||||
|  |               clearable | ||||||
|  |               size="medium" | ||||||
|  |               class="notification-input" | ||||||
|  |             /> | ||||||
|  |           </el-col> | ||||||
|  |           <el-col :span="12"> | ||||||
|  |             <el-input | ||||||
|  |               type="textarea" | ||||||
|  |               placeholder="请输入通知内容" | ||||||
|  |               v-model="newNotification.content" | ||||||
|  |               clearable | ||||||
|  |               size="medium" | ||||||
|  |               class="notification-input" | ||||||
|  |             /> | ||||||
|  |           </el-col> | ||||||
|  |         </el-row> | ||||||
|  |         <el-button | ||||||
|  |           type="primary" | ||||||
|  |           @click="isEditing ? updateNotification() : addNotification()" | ||||||
|  |           class="submit-btn" | ||||||
|  |           size="large" | ||||||
|  |         > | ||||||
|  |           {{ isEditing ? '保存编辑' : '发布通知' }} | ||||||
|  |         </el-button> | ||||||
|  |       </el-card> | ||||||
|  | 
 | ||||||
|  |       <!-- 已发布通知列表 --> | ||||||
|  |       <el-row class="notice-list" v-if="notifications.length > 0"> | ||||||
|  |         <el-table :data="notifications" stripe style="width: 100%" border> | ||||||
|  |           <el-table-column prop="title" label="通知标题" width="220" /> | ||||||
|  |           <el-table-column prop="content" label="通知内容" /> | ||||||
|  |           <el-table-column prop="timestamp" label="发布时间" width="180" /> | ||||||
|  |           <el-table-column label="操作" width="180"> | ||||||
|  |             <template #default="scope"> | ||||||
|  |               <el-button | ||||||
|  |                 @click="editNotification(scope.row)" | ||||||
|  |                 type="text" | ||||||
|  |                 icon="el-icon-edit" | ||||||
|  |                 size="small" | ||||||
|  |                 class="edit-btn" | ||||||
|  |               >编辑</el-button> | ||||||
|  |               <el-button | ||||||
|  |                 @click="deleteNotification(scope.row.id)" | ||||||
|  |                 type="text" | ||||||
|  |                 icon="el-icon-delete" | ||||||
|  |                 size="small" | ||||||
|  |                 class="delete-btn" | ||||||
|  |               >删除</el-button> | ||||||
|  |             </template> | ||||||
|  |           </el-table-column> | ||||||
|  |         </el-table> | ||||||
|  |       </el-row> | ||||||
|  | 
 | ||||||
|  |       <el-alert v-else title="暂无通知" type="info" show-icon></el-alert> | ||||||
|  |     </el-row> | ||||||
|  |   </el-row> | ||||||
|  | </template> | ||||||
|  | 
 | ||||||
|  | <script setup> | ||||||
|  | import { ref } from 'vue'; | ||||||
|  | import { ElMessage } from 'element-plus'; | ||||||
|  | 
 | ||||||
|  | // 存储通知列表和新通知信息 | ||||||
|  | const notifications = ref([]); | ||||||
|  | const newNotification = ref({ | ||||||
|  |   title: '', | ||||||
|  |   content: '' | ||||||
|  | }); | ||||||
|  | // 用于判断当前是否在编辑状态 | ||||||
|  | const isEditing = ref(false); | ||||||
|  | const editingNotificationId = ref(null); | ||||||
|  | 
 | ||||||
|  | // 添加通知的功能 | ||||||
|  | const addNotification = () => { | ||||||
|  |   if (newNotification.value.title && newNotification.value.content) { | ||||||
|  |     notifications.value.push({ | ||||||
|  |       id: Date.now(),  // 使用当前时间戳作为唯一 ID | ||||||
|  |       title: newNotification.value.title, | ||||||
|  |       content: newNotification.value.content, | ||||||
|  |       timestamp: new Date().toLocaleString(), // 获取当前时间 | ||||||
|  |     }); | ||||||
|  |     ElMessage.success('通知发布成功!'); | ||||||
|  |     resetForm(); | ||||||
|  |   } else { | ||||||
|  |     ElMessage.error('请填写完整的通知信息!'); | ||||||
|  |   } | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | // 编辑通知 | ||||||
|  | const editNotification = (notification) => { | ||||||
|  |   newNotification.value.title = notification.title; | ||||||
|  |   newNotification.value.content = notification.content; | ||||||
|  |   isEditing.value = true; | ||||||
|  |   editingNotificationId.value = notification.id; // 存储正在编辑的通知 ID | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | // 更新通知 | ||||||
|  | const updateNotification = () => { | ||||||
|  |   if (newNotification.value.title && newNotification.value.content && editingNotificationId.value) { | ||||||
|  |     const index = notifications.value.findIndex(notification => notification.id === editingNotificationId.value); | ||||||
|  |     if (index > -1) { | ||||||
|  |       notifications.value[index].title = newNotification.value.title; | ||||||
|  |       notifications.value[index].content = newNotification.value.content; | ||||||
|  |       notifications.value[index].timestamp = new Date().toLocaleString(); // 更新当前时间 | ||||||
|  |       ElMessage.success('通知更新成功!'); | ||||||
|  |       resetForm(); | ||||||
|  |     } else { | ||||||
|  |       ElMessage.error('更新失败,通知未找到!'); | ||||||
|  |     } | ||||||
|  |   } else { | ||||||
|  |     ElMessage.error('请填写完整的通知信息!'); | ||||||
|  |   } | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | // 删除通知 | ||||||
|  | const deleteNotification = (id) => { | ||||||
|  |   const index = notifications.value.findIndex(notification => notification.id === id); | ||||||
|  |   if (index > -1) { | ||||||
|  |     notifications.value.splice(index, 1); // 从列表中删除通知 | ||||||
|  |     ElMessage.success('通知删除成功!'); | ||||||
|  |   } else { | ||||||
|  |     ElMessage.error('删除失败,通知未找到!'); | ||||||
|  |   } | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | // 重置表单 | ||||||
|  | const resetForm = () => { | ||||||
|  |   newNotification.value.title = ''; | ||||||
|  |   newNotification.value.content = ''; | ||||||
|  |   isEditing.value = false; | ||||||
|  |   editingNotificationId.value = null; | ||||||
|  | }; | ||||||
|  | </script> | ||||||
|  | 
 | ||||||
|  | <style scoped> | ||||||
|  | .page { | ||||||
|  |   display: flex; | ||||||
|  |   flex-direction: column; | ||||||
|  |   width: 100%; | ||||||
|  |   background-color: #f9f9f9; | ||||||
|  |   line-height: 20px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .block-view { | ||||||
|  |   display: flex; | ||||||
|  |   flex-direction: column; | ||||||
|  |   padding: 20px; | ||||||
|  |   background-color: white; | ||||||
|  |   border-radius: 8px; | ||||||
|  |   box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .top { | ||||||
|  |   color: #333; | ||||||
|  |   margin-bottom: 20px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .publish { | ||||||
|  |   margin-bottom: 30px; | ||||||
|  |   background-color: #fafafa; | ||||||
|  |   padding: 20px; | ||||||
|  |   border-radius: 8px; | ||||||
|  |   box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .notification-input { | ||||||
|  |   margin-bottom: 10px; | ||||||
|  |   width: 100%; | ||||||
|  |   background-color: #f5f5f5; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .submit-btn { | ||||||
|  |   width: 100%; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .notice-list { | ||||||
|  |   margin-top: 20px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .el-button { | ||||||
|  |   font-size: 14px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .edit-btn, | ||||||
|  | .delete-btn { | ||||||
|  |   transition: color 0.3s; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .edit-btn:hover { | ||||||
|  |   color: #409EFF; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .delete-btn:hover { | ||||||
|  |   color: #f56c6c; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .el-table { | ||||||
|  |   border-radius: 8px; | ||||||
|  |   overflow: hidden; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .el-table th { | ||||||
|  |   background-color: #f2f2f2; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .el-table .cell { | ||||||
|  |   white-space: normal; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .el-alert { | ||||||
|  |   margin-top: 20px; | ||||||
|  | } | ||||||
|  | </style> | ||||||
| @ -0,0 +1,7 @@ | |||||||
|  | import { defineConfig } from 'vite' | ||||||
|  | import vue from '@vitejs/plugin-vue' | ||||||
|  | 
 | ||||||
|  | // https://vitejs.dev/config/
 | ||||||
|  | export default defineConfig({ | ||||||
|  |   plugins: [vue()], | ||||||
|  | }) | ||||||
| @ -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" | ||||||