From a98eae385f8a76feefa1baa2065c5752de97bc05 Mon Sep 17 00:00:00 2001 From: meowrain Date: Sat, 15 Nov 2025 19:26:28 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=88=9D=E5=A7=8B=E5=8C=96=E5=89=8D?= =?UTF-8?q?=E7=AB=AF=E9=A1=B9=E7=9B=AE=E5=9F=BA=E7=A1=80=E6=9E=B6=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加路由配置和基础页面组件 - 配置环境变量和全局类型定义 - 实现Pinia状态管理和axios封装 - 添加基础布局组件和全局头部 - 配置Vite构建工具和开发环境 --- .env.dev | 2 + .env.prod | 2 + .env.test | 2 + bun.lock | 189 ++++++++++++++++++++++++++++++- package.json | 12 +- src/App.vue | 12 +- src/access/accessEnum.ts | 10 ++ src/assets/logo.webp | Bin 0 -> 92824 bytes src/components/GlobalHeader.vue | 75 ++++++++++++ src/config/index.ts | 9 ++ src/layouts/BasicLayout.vue | 46 ++++++++ src/main.ts | 6 +- src/plugins/axios.ts | 51 +++++++++ src/router/index.ts | 8 ++ src/{routes => router}/router.ts | 3 +- src/store/index.ts | 0 src/store/user.ts | 11 ++ src/types/global.d.ts | 0 src/utils/requets.ts | 47 ++++++++ src/views/AboutView.vue | 11 ++ vite.config.ts | 30 +++-- 21 files changed, 507 insertions(+), 19 deletions(-) create mode 100644 .env.dev create mode 100644 .env.prod create mode 100644 .env.test create mode 100644 src/access/accessEnum.ts create mode 100644 src/assets/logo.webp create mode 100644 src/components/GlobalHeader.vue create mode 100644 src/config/index.ts create mode 100644 src/layouts/BasicLayout.vue create mode 100644 src/plugins/axios.ts create mode 100644 src/router/index.ts rename src/{routes => router}/router.ts (62%) create mode 100644 src/store/index.ts create mode 100644 src/store/user.ts create mode 100644 src/types/global.d.ts create mode 100644 src/utils/requets.ts create mode 100644 src/views/AboutView.vue diff --git a/.env.dev b/.env.dev new file mode 100644 index 0000000..9ed4085 --- /dev/null +++ b/.env.dev @@ -0,0 +1,2 @@ +VITE_APP_ENV=开发环境 +VITE_API_URL=http://localhost:8080 \ No newline at end of file diff --git a/.env.prod b/.env.prod new file mode 100644 index 0000000..0720d8e --- /dev/null +++ b/.env.prod @@ -0,0 +1,2 @@ +VITE_APP_ENV=生产环境 +VITE_API_URL=http://localhost:8080 \ No newline at end of file diff --git a/.env.test b/.env.test new file mode 100644 index 0000000..8ce9525 --- /dev/null +++ b/.env.test @@ -0,0 +1,2 @@ +VITE_APP_ENV=测试环境 +VITE_API_URL=http://localhost:8080 \ No newline at end of file diff --git a/bun.lock b/bun.lock index ab0a1ac..80c955f 100644 --- a/bun.lock +++ b/bun.lock @@ -6,6 +6,8 @@ "name": "aioj_frontend", "dependencies": { "@arco-design/web-vue": "^2.57.0", + "axios": "^1.13.2", + "pinia": "^3.0.4", "vue": "^3.5.24", "vue-router": "4", }, @@ -13,6 +15,7 @@ "@types/node": "^24.10.0", "@vitejs/plugin-vue": "^6.0.1", "@vue/tsconfig": "^0.8.1", + "sass-embedded": "^1.93.3", "typescript": "~5.9.3", "vite": "npm:rolldown-vite@7.2.2", "vue-tsc": "^3.1.3", @@ -35,6 +38,8 @@ "@babel/types": ["@babel/types@7.28.5", "", { "dependencies": { "@babel/helper-string-parser": "^7.27.1", "@babel/helper-validator-identifier": "^7.28.5" } }, "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA=="], + "@bufbuild/protobuf": ["@bufbuild/protobuf@2.10.1", "", {}, "sha512-ckS3+vyJb5qGpEYv/s1OebUHDi/xSNtfgw1wqKZo7MR9F2z+qXr0q5XagafAG/9O0QPVIUfST0smluYSTpYFkg=="], + "@emnapi/core": ["@emnapi/core@1.7.1", "", { "dependencies": { "@emnapi/wasi-threads": "1.1.0", "tslib": "^2.4.0" } }, "sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg=="], "@emnapi/runtime": ["@emnapi/runtime@1.7.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA=="], @@ -49,6 +54,34 @@ "@oxc-project/types": ["@oxc-project/types@0.96.0", "", {}, "sha512-r/xkmoXA0xEpU6UGtn18CNVjXH6erU3KCpCDbpLmbVxBFor1U9MqN5Z2uMmCHJuXjJzlnDR+hWY+yPoLo8oHDw=="], + "@parcel/watcher": ["@parcel/watcher@2.5.1", "", { "dependencies": { "detect-libc": "^1.0.3", "is-glob": "^4.0.3", "micromatch": "^4.0.5", "node-addon-api": "^7.0.0" }, "optionalDependencies": { "@parcel/watcher-android-arm64": "2.5.1", "@parcel/watcher-darwin-arm64": "2.5.1", "@parcel/watcher-darwin-x64": "2.5.1", "@parcel/watcher-freebsd-x64": "2.5.1", "@parcel/watcher-linux-arm-glibc": "2.5.1", "@parcel/watcher-linux-arm-musl": "2.5.1", "@parcel/watcher-linux-arm64-glibc": "2.5.1", "@parcel/watcher-linux-arm64-musl": "2.5.1", "@parcel/watcher-linux-x64-glibc": "2.5.1", "@parcel/watcher-linux-x64-musl": "2.5.1", "@parcel/watcher-win32-arm64": "2.5.1", "@parcel/watcher-win32-ia32": "2.5.1", "@parcel/watcher-win32-x64": "2.5.1" } }, "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg=="], + + "@parcel/watcher-android-arm64": ["@parcel/watcher-android-arm64@2.5.1", "", { "os": "android", "cpu": "arm64" }, "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA=="], + + "@parcel/watcher-darwin-arm64": ["@parcel/watcher-darwin-arm64@2.5.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw=="], + + "@parcel/watcher-darwin-x64": ["@parcel/watcher-darwin-x64@2.5.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg=="], + + "@parcel/watcher-freebsd-x64": ["@parcel/watcher-freebsd-x64@2.5.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ=="], + + "@parcel/watcher-linux-arm-glibc": ["@parcel/watcher-linux-arm-glibc@2.5.1", "", { "os": "linux", "cpu": "arm" }, "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA=="], + + "@parcel/watcher-linux-arm-musl": ["@parcel/watcher-linux-arm-musl@2.5.1", "", { "os": "linux", "cpu": "arm" }, "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q=="], + + "@parcel/watcher-linux-arm64-glibc": ["@parcel/watcher-linux-arm64-glibc@2.5.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w=="], + + "@parcel/watcher-linux-arm64-musl": ["@parcel/watcher-linux-arm64-musl@2.5.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg=="], + + "@parcel/watcher-linux-x64-glibc": ["@parcel/watcher-linux-x64-glibc@2.5.1", "", { "os": "linux", "cpu": "x64" }, "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A=="], + + "@parcel/watcher-linux-x64-musl": ["@parcel/watcher-linux-x64-musl@2.5.1", "", { "os": "linux", "cpu": "x64" }, "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg=="], + + "@parcel/watcher-win32-arm64": ["@parcel/watcher-win32-arm64@2.5.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw=="], + + "@parcel/watcher-win32-ia32": ["@parcel/watcher-win32-ia32@2.5.1", "", { "os": "win32", "cpu": "ia32" }, "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ=="], + + "@parcel/watcher-win32-x64": ["@parcel/watcher-win32-x64@2.5.1", "", { "os": "win32", "cpu": "x64" }, "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA=="], + "@rolldown/binding-android-arm64": ["@rolldown/binding-android-arm64@1.0.0-beta.47", "", { "os": "android", "cpu": "arm64" }, "sha512-vPP9/MZzESh9QtmvQYojXP/midjgkkc1E4AdnPPAzQXo668ncHJcVLKjJKzoBdsQmaIvNjrMdsCwES8vTQHRQw=="], "@rolldown/binding-darwin-arm64": ["@rolldown/binding-darwin-arm64@1.0.0-beta.47", "", { "os": "darwin", "cpu": "arm64" }, "sha512-Lc3nrkxeaDVCVl8qR3qoxh6ltDZfkQ98j5vwIr5ALPkgjZtDK4BGCrrBoLpGVMg+csWcaqUbwbKwH5yvVa0oOw=="], @@ -99,7 +132,11 @@ "@vue/compiler-ssr": ["@vue/compiler-ssr@3.5.24", "", { "dependencies": { "@vue/compiler-dom": "3.5.24", "@vue/shared": "3.5.24" } }, "sha512-trOvMWNBMQ/odMRHW7Ae1CdfYx+7MuiQu62Jtu36gMLXcaoqKvAyh+P73sYG9ll+6jLB6QPovqoKGGZROzkFFg=="], - "@vue/devtools-api": ["@vue/devtools-api@6.6.4", "", {}, "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g=="], + "@vue/devtools-api": ["@vue/devtools-api@7.7.8", "", { "dependencies": { "@vue/devtools-kit": "^7.7.8" } }, "sha512-BtFcAmDbtXGwurWUFf8ogIbgZyR+rcVES1TSNEI8Em80fD8Anu+qTRN1Fc3J6vdRHlVM3fzPV1qIo+B4AiqGzw=="], + + "@vue/devtools-kit": ["@vue/devtools-kit@7.7.8", "", { "dependencies": { "@vue/devtools-shared": "^7.7.8", "birpc": "^2.3.0", "hookable": "^5.5.3", "mitt": "^3.0.1", "perfect-debounce": "^1.0.0", "speakingurl": "^14.0.1", "superjson": "^2.2.2" } }, "sha512-4Y8op+AoxOJhB9fpcEF6d5vcJXWKgHxC3B0ytUB8zz15KbP9g9WgVzral05xluxi2fOeAy6t140rdQ943GcLRQ=="], + + "@vue/devtools-shared": ["@vue/devtools-shared@7.7.8", "", { "dependencies": { "rfdc": "^1.4.1" } }, "sha512-XHpO3jC5nOgYr40M9p8Z4mmKfTvUxKyRcUnpBAYg11pE78eaRFBKb0kG5yKLroMuJeeNH9LWmKp2zMU5LUc7CA=="], "@vue/language-core": ["@vue/language-core@3.1.3", "", { "dependencies": { "@volar/language-core": "2.4.23", "@vue/compiler-dom": "^3.5.0", "@vue/shared": "^3.5.0", "alien-signals": "^3.0.0", "muggle-string": "^0.4.1", "path-browserify": "^1.0.1", "picomatch": "^4.0.2" }, "peerDependencies": { "typescript": "*" }, "optionalPeers": ["typescript"] }, "sha512-KpR1F/eGAG9D1RZ0/T6zWJs6dh/pRLfY5WupecyYKJ1fjVmDMgTPw9wXmKv2rBjo4zCJiOSiyB8BDP1OUwpMEA=="], @@ -117,10 +154,24 @@ "alien-signals": ["alien-signals@3.1.0", "", {}, "sha512-yufC6VpSy8tK3I0lO67pjumo5JvDQVQyr38+3OHqe6CHl1t2VZekKZ7EKKZSqk0cRmE7U7tfZbpXiKNzuc+ckg=="], + "asynckit": ["asynckit@0.4.0", "", {}, "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="], + + "axios": ["axios@1.13.2", "", { "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.4", "proxy-from-env": "^1.1.0" } }, "sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA=="], + "b-tween": ["b-tween@0.3.3", "", {}, "sha512-oEHegcRpA7fAuc9KC4nktucuZn2aS8htymCPcP3qkEGPqiBH+GfqtqoG2l7LxHngg6O0HFM7hOeOYExl1Oz4ZA=="], "b-validate": ["b-validate@1.5.3", "", {}, "sha512-iCvCkGFskbaYtfQ0a3GmcQCHl/Sv1GufXFGuUQ+FE+WJa7A/espLOuFIn09B944V8/ImPj71T4+rTASxO2PAuA=="], + "birpc": ["birpc@2.8.0", "", {}, "sha512-Bz2a4qD/5GRhiHSwj30c/8kC8QGj12nNDwz3D4ErQ4Xhy35dsSDvF+RA/tWpjyU0pdGtSDiEk6B5fBGE1qNVhw=="], + + "braces": ["braces@3.0.3", "", { "dependencies": { "fill-range": "^7.1.1" } }, "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA=="], + + "buffer-builder": ["buffer-builder@0.2.0", "", {}, "sha512-7VPMEPuYznPSoR21NE1zvd2Xna6c/CloiZCfcMXR1Jny6PjX0N4Nsa38zcBFo/FMK+BlA+FLKbJCQ0i2yxp+Xg=="], + + "call-bind-apply-helpers": ["call-bind-apply-helpers@1.0.2", "", { "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" } }, "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ=="], + + "chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="], + "color": ["color@3.2.1", "", { "dependencies": { "color-convert": "^1.9.3", "color-string": "^1.6.0" } }, "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA=="], "color-convert": ["color-convert@1.9.3", "", { "dependencies": { "color-name": "1.1.3" } }, "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="], @@ -129,24 +180,76 @@ "color-string": ["color-string@1.9.1", "", { "dependencies": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" } }, "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg=="], + "colorjs.io": ["colorjs.io@0.5.2", "", {}, "sha512-twmVoizEW7ylZSN32OgKdXRmo1qg+wT5/6C3xu5b9QsWzSFAhHLn2xd8ro0diCsKfCj1RdaTP/nrcW+vAoQPIw=="], + + "combined-stream": ["combined-stream@1.0.8", "", { "dependencies": { "delayed-stream": "~1.0.0" } }, "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg=="], + "compute-scroll-into-view": ["compute-scroll-into-view@1.0.20", "", {}, "sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg=="], + "copy-anything": ["copy-anything@4.0.5", "", { "dependencies": { "is-what": "^5.2.0" } }, "sha512-7Vv6asjS4gMOuILabD3l739tsaxFQmC+a7pLZm02zyvs8p977bL3zEgq3yDk5rn9B0PbYgIv++jmHcuUab4RhA=="], + "csstype": ["csstype@3.2.0", "", {}, "sha512-si++xzRAY9iPp60roQiFta7OFbhrgvcthrhlNAGeQptSY25uJjkfUV8OArC3KLocB8JT8ohz+qgxWCmz8RhjIg=="], "dayjs": ["dayjs@1.11.19", "", {}, "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw=="], + "delayed-stream": ["delayed-stream@1.0.0", "", {}, "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="], + "detect-libc": ["detect-libc@2.1.2", "", {}, "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="], + "dunder-proto": ["dunder-proto@1.0.1", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", "gopd": "^1.2.0" } }, "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A=="], + "entities": ["entities@4.5.0", "", {}, "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="], + "es-define-property": ["es-define-property@1.0.1", "", {}, "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="], + + "es-errors": ["es-errors@1.3.0", "", {}, "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="], + + "es-object-atoms": ["es-object-atoms@1.1.1", "", { "dependencies": { "es-errors": "^1.3.0" } }, "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA=="], + + "es-set-tostringtag": ["es-set-tostringtag@2.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" } }, "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA=="], + "estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="], "fdir": ["fdir@6.5.0", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg=="], + "fill-range": ["fill-range@7.1.1", "", { "dependencies": { "to-regex-range": "^5.0.1" } }, "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg=="], + + "follow-redirects": ["follow-redirects@1.15.11", "", {}, "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ=="], + + "form-data": ["form-data@4.0.4", "", { "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", "hasown": "^2.0.2", "mime-types": "^2.1.12" } }, "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow=="], + "fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="], + "function-bind": ["function-bind@1.1.2", "", {}, "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="], + + "get-intrinsic": ["get-intrinsic@1.3.0", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", "math-intrinsics": "^1.1.0" } }, "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ=="], + + "get-proto": ["get-proto@1.0.1", "", { "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" } }, "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g=="], + + "gopd": ["gopd@1.2.0", "", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="], + + "has-flag": ["has-flag@4.0.0", "", {}, "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="], + + "has-symbols": ["has-symbols@1.1.0", "", {}, "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="], + + "has-tostringtag": ["has-tostringtag@1.0.2", "", { "dependencies": { "has-symbols": "^1.0.3" } }, "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw=="], + + "hasown": ["hasown@2.0.2", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="], + + "hookable": ["hookable@5.5.3", "", {}, "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ=="], + + "immutable": ["immutable@5.1.4", "", {}, "sha512-p6u1bG3YSnINT5RQmx/yRZBpenIl30kVxkTLDyHLIMk0gict704Q9n+thfDI7lTRm9vXdDYutVzXhzcThxTnXA=="], + "is-arrayish": ["is-arrayish@0.3.4", "", {}, "sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA=="], + "is-extglob": ["is-extglob@2.1.1", "", {}, "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="], + + "is-glob": ["is-glob@4.0.3", "", { "dependencies": { "is-extglob": "^2.1.1" } }, "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg=="], + + "is-number": ["is-number@7.0.0", "", {}, "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="], + + "is-what": ["is-what@5.5.0", "", {}, "sha512-oG7cgbmg5kLYae2N5IVd3jm2s+vldjxJzK1pcu9LfpGuQ93MQSzo0okvRna+7y5ifrD+20FE8FvjusyGaz14fw=="], + "lightningcss": ["lightningcss@1.30.2", "", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-android-arm64": "1.30.2", "lightningcss-darwin-arm64": "1.30.2", "lightningcss-darwin-x64": "1.30.2", "lightningcss-freebsd-x64": "1.30.2", "lightningcss-linux-arm-gnueabihf": "1.30.2", "lightningcss-linux-arm64-gnu": "1.30.2", "lightningcss-linux-arm64-musl": "1.30.2", "lightningcss-linux-x64-gnu": "1.30.2", "lightningcss-linux-x64-musl": "1.30.2", "lightningcss-win32-arm64-msvc": "1.30.2", "lightningcss-win32-x64-msvc": "1.30.2" } }, "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ=="], "lightningcss-android-arm64": ["lightningcss-android-arm64@1.30.2", "", { "os": "android", "cpu": "arm64" }, "sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A=="], @@ -173,38 +276,116 @@ "magic-string": ["magic-string@0.30.21", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ=="], + "math-intrinsics": ["math-intrinsics@1.1.0", "", {}, "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="], + + "micromatch": ["micromatch@4.0.8", "", { "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" } }, "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA=="], + + "mime-db": ["mime-db@1.52.0", "", {}, "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="], + + "mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="], + + "mitt": ["mitt@3.0.1", "", {}, "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw=="], + "muggle-string": ["muggle-string@0.4.1", "", {}, "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ=="], "nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="], + "node-addon-api": ["node-addon-api@7.1.1", "", {}, "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ=="], + "number-precision": ["number-precision@1.6.0", "", {}, "sha512-05OLPgbgmnixJw+VvEh18yNPUo3iyp4BEWJcrLu4X9W05KmMifN7Mu5exYvQXqxxeNWhvIF+j3Rij+HmddM/hQ=="], "path-browserify": ["path-browserify@1.0.1", "", {}, "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g=="], + "perfect-debounce": ["perfect-debounce@1.0.0", "", {}, "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA=="], + "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], "picomatch": ["picomatch@4.0.3", "", {}, "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q=="], + "pinia": ["pinia@3.0.4", "", { "dependencies": { "@vue/devtools-api": "^7.7.7" }, "peerDependencies": { "typescript": ">=4.5.0", "vue": "^3.5.11" }, "optionalPeers": ["typescript"] }, "sha512-l7pqLUFTI/+ESXn6k3nu30ZIzW5E2WZF/LaHJEpoq6ElcLD+wduZoB2kBN19du6K/4FDpPMazY2wJr+IndBtQw=="], + "postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], + "proxy-from-env": ["proxy-from-env@1.1.0", "", {}, "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="], + + "readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="], + "resize-observer-polyfill": ["resize-observer-polyfill@1.5.1", "", {}, "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg=="], + "rfdc": ["rfdc@1.4.1", "", {}, "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA=="], + "rolldown": ["rolldown@1.0.0-beta.47", "", { "dependencies": { "@oxc-project/types": "=0.96.0", "@rolldown/pluginutils": "1.0.0-beta.47" }, "optionalDependencies": { "@rolldown/binding-android-arm64": "1.0.0-beta.47", "@rolldown/binding-darwin-arm64": "1.0.0-beta.47", "@rolldown/binding-darwin-x64": "1.0.0-beta.47", "@rolldown/binding-freebsd-x64": "1.0.0-beta.47", "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-beta.47", "@rolldown/binding-linux-arm64-gnu": "1.0.0-beta.47", "@rolldown/binding-linux-arm64-musl": "1.0.0-beta.47", "@rolldown/binding-linux-x64-gnu": "1.0.0-beta.47", "@rolldown/binding-linux-x64-musl": "1.0.0-beta.47", "@rolldown/binding-openharmony-arm64": "1.0.0-beta.47", "@rolldown/binding-wasm32-wasi": "1.0.0-beta.47", "@rolldown/binding-win32-arm64-msvc": "1.0.0-beta.47", "@rolldown/binding-win32-ia32-msvc": "1.0.0-beta.47", "@rolldown/binding-win32-x64-msvc": "1.0.0-beta.47" }, "bin": { "rolldown": "bin/cli.mjs" } }, "sha512-Mid74GckX1OeFAOYz9KuXeWYhq3xkXbMziYIC+ULVdUzPTG9y70OBSBQDQn9hQP8u/AfhuYw1R0BSg15nBI4Dg=="], + "rxjs": ["rxjs@7.8.2", "", { "dependencies": { "tslib": "^2.1.0" } }, "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA=="], + + "sass": ["sass@1.93.3", "", { "dependencies": { "chokidar": "^4.0.0", "immutable": "^5.0.2", "source-map-js": ">=0.6.2 <2.0.0" }, "optionalDependencies": { "@parcel/watcher": "^2.4.1" }, "bin": { "sass": "sass.js" } }, "sha512-elOcIZRTM76dvxNAjqYrucTSI0teAF/L2Lv0s6f6b7FOwcwIuA357bIE871580AjHJuSvLIRUosgV+lIWx6Rgg=="], + + "sass-embedded": ["sass-embedded@1.93.3", "", { "dependencies": { "@bufbuild/protobuf": "^2.5.0", "buffer-builder": "^0.2.0", "colorjs.io": "^0.5.0", "immutable": "^5.0.2", "rxjs": "^7.4.0", "supports-color": "^8.1.1", "sync-child-process": "^1.0.2", "varint": "^6.0.0" }, "optionalDependencies": { "sass-embedded-all-unknown": "1.93.3", "sass-embedded-android-arm": "1.93.3", "sass-embedded-android-arm64": "1.93.3", "sass-embedded-android-riscv64": "1.93.3", "sass-embedded-android-x64": "1.93.3", "sass-embedded-darwin-arm64": "1.93.3", "sass-embedded-darwin-x64": "1.93.3", "sass-embedded-linux-arm": "1.93.3", "sass-embedded-linux-arm64": "1.93.3", "sass-embedded-linux-musl-arm": "1.93.3", "sass-embedded-linux-musl-arm64": "1.93.3", "sass-embedded-linux-musl-riscv64": "1.93.3", "sass-embedded-linux-musl-x64": "1.93.3", "sass-embedded-linux-riscv64": "1.93.3", "sass-embedded-linux-x64": "1.93.3", "sass-embedded-unknown-all": "1.93.3", "sass-embedded-win32-arm64": "1.93.3", "sass-embedded-win32-x64": "1.93.3" }, "bin": { "sass": "dist/bin/sass.js" } }, "sha512-+VUy01yfDqNmIVMd/LLKl2TTtY0ovZN0rTonh+FhKr65mFwIYgU9WzgIZKS7U9/SPCQvWTsTGx9jyt+qRm/XFw=="], + + "sass-embedded-all-unknown": ["sass-embedded-all-unknown@1.93.3", "", { "dependencies": { "sass": "1.93.3" }, "cpu": [ "!arm", "!x64", "!arm64", ] }, "sha512-3okGgnE41eg+CPLtAPletu6nQ4N0ij7AeW+Sl5Km4j29XcmqZQeFwYjHe1AlKTEgLi/UAONk1O8i8/lupeKMbw=="], + + "sass-embedded-android-arm": ["sass-embedded-android-arm@1.93.3", "", { "os": "android", "cpu": "arm" }, "sha512-8xOw9bywfOD6Wv24BgCmgjkk6tMrsOTTHcb28KDxeJtFtoxiUyMbxo0vChpPAfp2Hyg2tFFKS60s0s4JYk+Raw=="], + + "sass-embedded-android-arm64": ["sass-embedded-android-arm64@1.93.3", "", { "os": "android", "cpu": "arm64" }, "sha512-uqUl3Kt1IqdGVAcAdbmC+NwuUJy8tM+2ZnB7/zrt6WxWVShVCRdFnWR9LT8HJr7eJN7AU8kSXxaVX/gedanPsg=="], + + "sass-embedded-android-riscv64": ["sass-embedded-android-riscv64@1.93.3", "", { "os": "android", "cpu": "none" }, "sha512-2jNJDmo+3qLocjWqYbXiBDnfgwrUeZgZFHJIwAefU7Fn66Ot7rsXl+XPwlokaCbTpj7eMFIqsRAZ/uDueXNCJg=="], + + "sass-embedded-android-x64": ["sass-embedded-android-x64@1.93.3", "", { "os": "android", "cpu": "x64" }, "sha512-y0RoAU6ZenQFcjM9PjQd3cRqRTjqwSbtWLL/p68y2oFyh0QGN0+LQ826fc0ZvU/AbqCsAizkqjzOn6cRZJxTTQ=="], + + "sass-embedded-darwin-arm64": ["sass-embedded-darwin-arm64@1.93.3", "", { "os": "darwin", "cpu": "arm64" }, "sha512-7zb/hpdMOdKteK17BOyyypemglVURd1Hdz6QGsggy60aUFfptTLQftLRg8r/xh1RbQAUKWFbYTNaM47J9yPxYg=="], + + "sass-embedded-darwin-x64": ["sass-embedded-darwin-x64@1.93.3", "", { "os": "darwin", "cpu": "x64" }, "sha512-Ek1Vp8ZDQEe327Lz0b7h3hjvWH3u9XjJiQzveq74RPpJQ2q6d9LfWpjiRRohM4qK6o4XOHw1X10OMWPXJtdtWg=="], + + "sass-embedded-linux-arm": ["sass-embedded-linux-arm@1.93.3", "", { "os": "linux", "cpu": "arm" }, "sha512-yeiv2y+dp8B4wNpd3+JsHYD0mvpXSfov7IGyQ1tMIR40qv+ROkRqYiqQvAOXf76Qwh4Y9OaYZtLpnsPjfeq6mA=="], + + "sass-embedded-linux-arm64": ["sass-embedded-linux-arm64@1.93.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-RBrHWgfd8Dd8w4fbmdRVXRrhh8oBAPyeWDTKAWw8ZEmuXfVl4ytjDuyxaVilh6rR1xTRTNpbaA/YWApBlLrrNw=="], + + "sass-embedded-linux-musl-arm": ["sass-embedded-linux-musl-arm@1.93.3", "", { "os": "linux", "cpu": "arm" }, "sha512-fU0fwAwbp7sBE3h5DVU5UPzvaLg7a4yONfFWkkcCp6ZrOiPuGRHXXYriWQ0TUnWy4wE+svsVuWhwWgvlb/tkKg=="], + + "sass-embedded-linux-musl-arm64": ["sass-embedded-linux-musl-arm64@1.93.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-PS829l+eUng+9W4PFclXGb4uA2+965NHV3/Sa5U7qTywjeeUUYTZg70dJHSqvhrBEfCc2XJABeW3adLJbyQYkw=="], + + "sass-embedded-linux-musl-riscv64": ["sass-embedded-linux-musl-riscv64@1.93.3", "", { "os": "linux", "cpu": "none" }, "sha512-cK1oBY+FWQquaIGEeQ5H74KTO8cWsSWwXb/WaildOO9U6wmUypTgUYKQ0o5o/29nZbWWlM1PHuwVYTSnT23Jjg=="], + + "sass-embedded-linux-musl-x64": ["sass-embedded-linux-musl-x64@1.93.3", "", { "os": "linux", "cpu": "x64" }, "sha512-A7wkrsHu2/I4Zpa0NMuPGkWDVV7QGGytxGyUq3opSXgAexHo/vBPlGoDXoRlSdex0cV+aTMRPjoGIfdmNlHwyg=="], + + "sass-embedded-linux-riscv64": ["sass-embedded-linux-riscv64@1.93.3", "", { "os": "linux", "cpu": "none" }, "sha512-vWkW1+HTF5qcaHa6hO80gx/QfB6GGjJUP0xLbnAoY4pwEnw5ulGv6RM8qYr8IDhWfVt/KH+lhJ2ZFxnJareisQ=="], + + "sass-embedded-linux-x64": ["sass-embedded-linux-x64@1.93.3", "", { "os": "linux", "cpu": "x64" }, "sha512-k6uFxs+e5jSuk1Y0niCwuq42F9ZC5UEP7P+RIOurIm8w/5QFa0+YqeW+BPWEW5M1FqVOsNZH3qGn4ahqvAEjPA=="], + + "sass-embedded-unknown-all": ["sass-embedded-unknown-all@1.93.3", "", { "dependencies": { "sass": "1.93.3" }, "os": [ "!linux", "!win32", "!darwin", "!android", ] }, "sha512-o5wj2rLpXH0C+GJKt/VpWp6AnMsCCbfFmnMAttcrsa+U3yrs/guhZ3x55KAqqUsE8F47e3frbsDL+1OuQM5DAA=="], + + "sass-embedded-win32-arm64": ["sass-embedded-win32-arm64@1.93.3", "", { "os": "win32", "cpu": "arm64" }, "sha512-0dOfT9moy9YmBolodwYYXtLwNr4jL4HQC9rBfv6mVrD7ud8ue2kDbn+GVzj1hEJxvEexVSmDCf7MHUTLcGs9xQ=="], + + "sass-embedded-win32-x64": ["sass-embedded-win32-x64@1.93.3", "", { "os": "win32", "cpu": "x64" }, "sha512-wHFVfxiS9hU/sNk7KReD+lJWRp3R0SLQEX4zfOnRP2zlvI2X4IQR5aZr9GNcuMP6TmNpX0nQPZTegS8+h9RrEg=="], + "scroll-into-view-if-needed": ["scroll-into-view-if-needed@2.2.31", "", { "dependencies": { "compute-scroll-into-view": "^1.0.20" } }, "sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA=="], "simple-swizzle": ["simple-swizzle@0.2.4", "", { "dependencies": { "is-arrayish": "^0.3.1" } }, "sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw=="], "source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="], + "speakingurl": ["speakingurl@14.0.1", "", {}, "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ=="], + + "superjson": ["superjson@2.2.5", "", { "dependencies": { "copy-anything": "^4" } }, "sha512-zWPTX96LVsA/eVYnqOM2+ofcdPqdS1dAF1LN4TS2/MWuUpfitd9ctTa87wt4xrYnZnkLtS69xpBdSxVBP5Rm6w=="], + + "supports-color": ["supports-color@8.1.1", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q=="], + + "sync-child-process": ["sync-child-process@1.0.2", "", { "dependencies": { "sync-message-port": "^1.0.0" } }, "sha512-8lD+t2KrrScJ/7KXCSyfhT3/hRq78rC0wBFqNJXv3mZyn6hW2ypM05JmlSvtqRbeq6jqA94oHbxAr2vYsJ8vDA=="], + + "sync-message-port": ["sync-message-port@1.1.3", "", {}, "sha512-GTt8rSKje5FilG+wEdfCkOcLL7LWqpMlr2c3LRuKt/YXxcJ52aGSbGBAdI4L3aaqfrBt6y711El53ItyH1NWzg=="], + "tinyglobby": ["tinyglobby@0.2.15", "", { "dependencies": { "fdir": "^6.5.0", "picomatch": "^4.0.3" } }, "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ=="], + "to-regex-range": ["to-regex-range@5.0.1", "", { "dependencies": { "is-number": "^7.0.0" } }, "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="], + "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], "typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], "undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + "varint": ["varint@6.0.0", "", {}, "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg=="], + "vite": ["rolldown-vite@7.2.2", "", { "dependencies": { "@oxc-project/runtime": "0.96.0", "fdir": "^6.5.0", "lightningcss": "^1.30.2", "picomatch": "^4.0.3", "postcss": "^8.5.6", "rolldown": "1.0.0-beta.47", "tinyglobby": "^0.2.15" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "esbuild": "^0.25.0", "jiti": ">=1.21.0", "less": "^4.0.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "esbuild", "jiti", "less", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-Fl3ZdmJhDMJGcqrr342pPVrhugXdOcuNBRBauz4S7QGSRXbQy7y8q5QYJtgkcrG8XjY0EENSZeTk58c3m20FxA=="], "vscode-uri": ["vscode-uri@3.1.0", "", {}, "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ=="], @@ -215,8 +396,14 @@ "vue-tsc": ["vue-tsc@3.1.3", "", { "dependencies": { "@volar/typescript": "2.4.23", "@vue/language-core": "3.1.3" }, "peerDependencies": { "typescript": ">=5.0.0" }, "bin": { "vue-tsc": "./bin/vue-tsc.js" } }, "sha512-StMNfZHwPIXQgY3KxPKM0Jsoc8b46mDV3Fn2UlHCBIwRJApjqrSwqeMYgWf0zpN+g857y74pv7GWuBm+UqQe1w=="], + "@parcel/watcher/detect-libc": ["detect-libc@1.0.3", "", { "bin": { "detect-libc": "./bin/detect-libc.js" } }, "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg=="], + "color-string/color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], + "micromatch/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], + "rolldown/@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.0-beta.47", "", {}, "sha512-8QagwMH3kNCuzD8EWL8R2YPW5e4OrHNSAHRFDdmFqEwEaD/KcNKjVoumo+gP2vW5eKB2UPbM6vTYiGZX0ixLnw=="], + + "vue-router/@vue/devtools-api": ["@vue/devtools-api@6.6.4", "", {}, "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g=="], } } diff --git a/package.json b/package.json index b23d9f1..67def2f 100644 --- a/package.json +++ b/package.json @@ -4,12 +4,17 @@ "version": "0.0.0", "type": "module", "scripts": { - "dev": "vite", - "build": "vue-tsc -b && vite build", - "preview": "vite preview" + "dev": "vite --mode dev", + "dev:prod": "vite --mode prod", + "build": "vue-tsc -b && vite build --mode dev", + "build:prod": "vue-tsc -b && vite build --mode prod", + "preview": "vite preview", + "lint": "eslint . --ext .ts,.vue" }, "dependencies": { "@arco-design/web-vue": "^2.57.0", + "axios": "^1.13.2", + "pinia": "^3.0.4", "vue": "^3.5.24", "vue-router": "4" }, @@ -17,6 +22,7 @@ "@types/node": "^24.10.0", "@vitejs/plugin-vue": "^6.0.1", "@vue/tsconfig": "^0.8.1", + "sass-embedded": "^1.93.3", "typescript": "~5.9.3", "vite": "npm:rolldown-vite@7.2.2", "vue-tsc": "^3.1.3" diff --git a/src/App.vue b/src/App.vue index cc9b2e6..4d9bccc 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,11 +1,15 @@ - + diff --git a/src/access/accessEnum.ts b/src/access/accessEnum.ts new file mode 100644 index 0000000..aea2a88 --- /dev/null +++ b/src/access/accessEnum.ts @@ -0,0 +1,10 @@ +/** + * 权限定义 + */ + +const ACCESS_ENUM = { + NOT_LOGIN: "notLogin", + USER: "user", + ADMIN: "admin", +}; +export default ACCESS_ENUM; diff --git a/src/assets/logo.webp b/src/assets/logo.webp new file mode 100644 index 0000000000000000000000000000000000000000..5ebdaf9a15e690acd32e967ea99edd5a8f42e862 GIT binary patch literal 92824 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 + + + + + +

+ +
AI OJ
+
+ + + {{ item.name }} + + + + +
MeowRain
+
+ + + + + + \ No newline at end of file diff --git a/src/config/index.ts b/src/config/index.ts new file mode 100644 index 0000000..e063c93 --- /dev/null +++ b/src/config/index.ts @@ -0,0 +1,9 @@ +// src/config/index.ts +interface EnvironmentVariables { + APP_ENV: string; + API_BASE_URL: string; +} +export const ENV: EnvironmentVariables = { + APP_ENV: import.meta.env.VITE_APP_ENV, + API_BASE_URL: import.meta.env.VITE_API_URL, +}; diff --git a/src/layouts/BasicLayout.vue b/src/layouts/BasicLayout.vue new file mode 100644 index 0000000..467820d --- /dev/null +++ b/src/layouts/BasicLayout.vue @@ -0,0 +1,46 @@ + + + + + \ No newline at end of file diff --git a/src/main.ts b/src/main.ts index d9ec232..8e1e00c 100644 --- a/src/main.ts +++ b/src/main.ts @@ -3,8 +3,12 @@ import ArcoVue from "@arco-design/web-vue"; import "@arco-design/web-vue/dist/arco.css"; import "./style.css"; import App from "./App.vue"; -import router from "./routes/router"; +import router from "./router/router"; +import {createPinia} from "pinia"; + const app = createApp(App); +const pinia = createPinia(); app.use(router); app.use(ArcoVue); +app.use(pinia) app.mount("#app"); diff --git a/src/plugins/axios.ts b/src/plugins/axios.ts new file mode 100644 index 0000000..73e8f75 --- /dev/null +++ b/src/plugins/axios.ts @@ -0,0 +1,51 @@ +import axios, { + type AxiosInstance, + type InternalAxiosRequestConfig, +} from "axios"; +import { ENV } from "../config"; + +const request: AxiosInstance = axios.create({ + baseURL: ENV.API_BASE_URL, + timeout: 10000, + withCredentials: false, +}); +// ======================= +// 请求拦截器 +// ======================= +request.interceptors.request.use( + (config: InternalAxiosRequestConfig) => { + // 自动携带 token + const token = localStorage.getItem("token"); + if (token) { + config.headers = config.headers || {}; + config.headers.Authorization = `Bearer ${token}`; + } + return config; + }, + (error) => { + return error; + } +); +// ======================= +// 响应拦截器 +// ======================= +request.interceptors.response.use( + (response) => { + console.log("响应: ", response); + const data = response.data; + /**TODO: 增加响应码处理 */ + return data; + }, + (error) => { + /** + * Promise.reject(error) 用来 返回一个状态为 rejected 的 Promise,相当于“主动抛出错误”, + * + * 让调用者能够在 .catch() 或 try/catch 中捕获这个错误。 + 它在 异步流程、拦截器、错误处理 中非常常见。 + */ + console.error("❌ 网络错误:", error); + return Promise.reject(error); + } +); + +export default request; diff --git a/src/router/index.ts b/src/router/index.ts new file mode 100644 index 0000000..dd3d81d --- /dev/null +++ b/src/router/index.ts @@ -0,0 +1,8 @@ +import type {RouteRecordRaw} from "vue-router"; +import HomeView from "../views/HomeView.vue"; +import AboutView from "../views/AboutView.vue"; + +export const routes: Array = [ + {path: "/home", name: "HomeView", component: HomeView}, + {path: "/about", name: "AboutView", component: AboutView}, +]; diff --git a/src/routes/router.ts b/src/router/router.ts similarity index 62% rename from src/routes/router.ts rename to src/router/router.ts index 65eff4c..2567bbf 100644 --- a/src/routes/router.ts +++ b/src/router/router.ts @@ -1,6 +1,5 @@ import { createWebHashHistory, createRouter } from "vue-router"; -import HomeView from "../views/HomeView.vue"; -const routes = [{ path: "/", component: HomeView }]; +import { routes } from "."; const router = createRouter({ history: createWebHashHistory(), routes, diff --git a/src/store/index.ts b/src/store/index.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/store/user.ts b/src/store/user.ts new file mode 100644 index 0000000..9e2715f --- /dev/null +++ b/src/store/user.ts @@ -0,0 +1,11 @@ +import { defineStore } from "pinia"; +import ACCESS_ENUM from "../access/accessEnum"; +export const useUserStore = defineStore("user", { + state: () => ({ + loginUser: { + userName: "未登录", + userRole: ACCESS_ENUM.NOT_LOGIN, + }, + }), + actions: {}, +}); diff --git a/src/types/global.d.ts b/src/types/global.d.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/utils/requets.ts b/src/utils/requets.ts new file mode 100644 index 0000000..62f5cc2 --- /dev/null +++ b/src/utils/requets.ts @@ -0,0 +1,47 @@ +import type { AxiosResponse } from "axios"; +import request from "../plugins/axios"; +// 》》》 这里 T 表示的是响应类型 D表示请求类型 +// GET请求 +export function get(url: string, params?: any) { + return request.get(url, { params }); +} + +// POST请求 +export function post(url: string, data?: D) { + return request.post(url, data); +} + +// PUT请求 强制要求必须设置data参数 +export function put(url: string, data?: D) { + return request.put(url, data); +} + +// DELETE 请求 +export function del(url: string, params?: any) { + return request.delete(url, { params }); +} + +// 上传文件 +export function upload(url: string, file: File) { + const formData: FormData = new FormData(); + formData.append("file", file); + return request.post(url, formData, { + headers: { + "Content-Type": "multipart/form-data", + }, + }); +} + +// 下载文件 +export async function download(url: string, params?: any) { + const result: AxiosResponse = await request.get(url, { + params, + responseType: "blob", + }); + const downloadUrl = window.URL.createObjectURL(result.data); + const link = document.createElement("a"); + link.href = downloadUrl; + link.download = "download"; + link.click(); + window.URL.revokeObjectURL(downloadUrl); +} diff --git a/src/views/AboutView.vue b/src/views/AboutView.vue new file mode 100644 index 0000000..d914fd7 --- /dev/null +++ b/src/views/AboutView.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/vite.config.ts b/vite.config.ts index 7268424..432d6f6 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,12 +1,26 @@ -import { defineConfig } from "vite"; +import { defineConfig, loadEnv } from "vite"; import vue from "@vitejs/plugin-vue"; +import path from "path"; // https://vite.dev/config/ -export default defineConfig({ - plugins: [vue()], - server: { - host: "0.0.0.0", - port: 3000, - open: true, - }, +export default defineConfig(({ command, mode }) => { + const env = loadEnv(mode, process.cwd(), ""); + console.log("当前环境:", env.VITE_APP_ENV); + return { + define: { + __APP_ENV__: JSON.stringify(env.VITE_APP_ENV), + __API_BASE_URL__: JSON.stringify(env.VITE_API_URL), + }, + resolve: { + alias: { + "@": path.resolve(__dirname, "src"), + }, + }, + plugins: [vue()], + server: { + host: "0.0.0.0", + port: 3000, + open: true, + }, + }; });