This commit is contained in:
2025-03-31 11:19:04 +08:00
parent 1a50f8e589
commit 62265f66a1
4 changed files with 215 additions and 778 deletions
+2
View File
@@ -19,8 +19,10 @@
"@radix-ui/colors": "^3.0.0",
"@vueuse/core": "^12.8.2",
"axios": "^1.8.2",
"hoci": "^0.6.0",
"pako": "^2.1.0",
"pinia": "^3.0.1",
"query-string": "^9.1.1",
"reka-ui": "^2.0.2",
"sass": "^1.85.1",
"unplugin-vue-components": "^28.4.1",
+212
View File
@@ -20,12 +20,18 @@ importers:
axios:
specifier: ^1.8.2
version: 1.8.2
hoci:
specifier: ^0.6.0
version: 0.6.0(@babel/parser@7.26.9)(@vueuse/core@12.8.2(typescript@5.8.2))(rollup@4.35.0)(vue@3.5.13(typescript@5.8.2))
pako:
specifier: ^2.1.0
version: 2.1.0
pinia:
specifier: ^3.0.1
version: 3.0.1(typescript@5.8.2)(vue@3.5.13(typescript@5.8.2))
query-string:
specifier: ^9.1.1
version: 9.1.1
reka-ui:
specifier: ^2.0.2
version: 2.0.2(typescript@5.8.2)(vue@3.5.13(typescript@5.8.2))
@@ -457,6 +463,23 @@ packages:
'@floating-ui/vue@1.1.6':
resolution: {integrity: sha512-XFlUzGHGv12zbgHNk5FN2mUB7ROul3oG2ENdTpWdE+qMFxyNxWSRmsoyhiEnpmabNm6WnUvR1OvJfUfN4ojC1A==}
'@hoci/components@0.6.0':
resolution: {integrity: sha512-FKWh6JmV5iezDGdQq/UOQ6PfJNRzWfjrN6C6s8Q2QoQMJTC3wAQXJjsKP+OsO2tdizYA1NBBwfow4Oi2X6GZcg==}
peerDependencies:
'@vueuse/core': '>=9.0.0'
vue: ^3.0.0-0
'@hoci/core@0.6.0':
resolution: {integrity: sha512-lFV5gFNNzdH5cTmXHonKRaRKt0FDZX9kQ18xwWP89yoDAXrpXbRt5ZK8oQgqCHdWYtwDcVrAMZ+IZmhkCBiO6g==}
peerDependencies:
vue: ^3.0.0-0
'@hoci/shared@0.6.0':
resolution: {integrity: sha512-XreSiu+AFisDKorgugX8zjNEsv889U6SbbkTLPHlYIcLvSYk33TmwQ5jHpHe1RAE2KE2Xxn9fBqYRlOCAn8ujg==}
peerDependencies:
'@vueuse/core': '>=9.0.0'
vue: ^3.0.0-0
'@humanfs/core@0.19.1':
resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
engines: {node: '>=18.18.0'}
@@ -793,6 +816,9 @@ packages:
'@types/pako@2.0.3':
resolution: {integrity: sha512-bq0hMV9opAcrmE0Byyo0fY3Ew4tgOevJmQ9grUhpXQhYfyLJ1Kqg3P33JT5fdbT2AjeAjR51zqqVjAL/HMkx7Q==}
'@types/web-bluetooth@0.0.15':
resolution: {integrity: sha512-w7hEHXnPMEZ+4nGKl/KDRVpxkwYxYExuHOYXyzIzCDzEZ9ZCGMAewulr9IqJu2LR4N37fcnb1XVeuZ09qgOxhA==}
'@types/web-bluetooth@0.0.21':
resolution: {integrity: sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==}
@@ -1056,12 +1082,21 @@ packages:
'@vueuse/core@12.8.2':
resolution: {integrity: sha512-HbvCmZdzAu3VGi/pWYm5Ut+Kd9mn1ZHnn4L5G8kOQTPs/IwIAmJoBrmYk2ckLArgMXZj0AW3n5CAejLUO+PhdQ==}
'@vueuse/core@9.0.0':
resolution: {integrity: sha512-hMMc2ajuVknkL7Z39JdP9gFFND2OgnDTSS5mmuinWGAE1Vxy1AwDvTHm3+juyk+GzJjYRAktnBIPy7Fq53iOnw==}
'@vueuse/metadata@12.8.2':
resolution: {integrity: sha512-rAyLGEuoBJ/Il5AmFHiziCPdQzRt88VxR+Y/A/QhJ1EWtWqPBBAxTAFaSkviwEuOEZNtW8pvkPgoCZQ+HxqW1A==}
'@vueuse/metadata@9.0.0':
resolution: {integrity: sha512-79YVIsAP1bbWm5GdQuG7jDVF/9uuExzhkO0Sd4/TLuSfzH2uZOrHvGwy+ZNJHjbyRn3uf56rKINWLJdBuTLSqQ==}
'@vueuse/shared@12.8.2':
resolution: {integrity: sha512-dznP38YzxZoNloI0qpEfpkms8knDtaoQ6Y/sfS0L7Yki4zh40LFHEhur0odJC6xTHG5dxWVPiUWBXn+wCG2s5w==}
'@vueuse/shared@9.0.0':
resolution: {integrity: sha512-WRCyr/wIz5e/2gR/+qFucbCUcGMyJKkQZAzlECl3e71ebQQ9X/w3aBWT9FbnogJX+DNZ/t3Pj+TqPbC7TH1Yog==}
acorn-jsx@5.3.2:
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies:
@@ -1224,6 +1259,10 @@ packages:
supports-color:
optional: true
decode-uri-component@0.4.1:
resolution: {integrity: sha512-+8VxcR21HhTy8nOt6jf20w0c9CADrw1O8d+VZ/YzzCt4bJ3uBjw+D1q2osAB8RnpwwaeYBxy0HyKQxD5JBMuuQ==}
engines: {node: '>=14.16'}
deep-is@0.1.4:
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
@@ -1428,6 +1467,10 @@ packages:
resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
engines: {node: '>=8'}
filter-obj@5.1.0:
resolution: {integrity: sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng==}
engines: {node: '>=14.16'}
find-up@5.0.0:
resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
engines: {node: '>=10'}
@@ -1534,6 +1577,11 @@ packages:
resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
hasBin: true
hoci@0.6.0:
resolution: {integrity: sha512-PtSPRtQm5/OUKxSU8lVelhBc+3TVW2cB2hGlG9pfzQ0rbSBFgLHWSLImBgLZnau72wKOrMNjBxzprQ941+rTWw==}
peerDependencies:
vue: ^3.0.0
hookable@5.5.3:
resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==}
@@ -1662,6 +1710,10 @@ packages:
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
engines: {node: '>= 0.8.0'}
local-pkg@0.5.1:
resolution: {integrity: sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==}
engines: {node: '>=14'}
local-pkg@1.1.1:
resolution: {integrity: sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==}
engines: {node: '>=14'}
@@ -1686,6 +1738,9 @@ packages:
resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
engines: {node: '>= 0.4'}
maybe-types@0.2.0:
resolution: {integrity: sha512-4ul+RHPcxNznI+Ke6xUT2/mcQTl54fYUdRZQ3QNkQsC4USfAxXkPTh+wEOx4UBsXYg214867v2ZeirQDJT7uOA==}
mdn-data@2.12.2:
resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==}
@@ -1902,6 +1957,10 @@ packages:
quansync@0.2.8:
resolution: {integrity: sha512-4+saucphJMazjt7iOM27mbFCk+D9dd/zmgMDCzRZ8MEoBfYp7lAvoN38et/phRQF6wOPMy/OROBGgoWeSKyluA==}
query-string@9.1.1:
resolution: {integrity: sha512-MWkCOVIcJP9QSKU52Ngow6bsAWAPlPK2MludXvcrS2bGZSl+T1qX9MZvRIkqUIkGLJquMJHWfsT6eRqUpp4aWg==}
engines: {node: '>=18'}
queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
@@ -1990,6 +2049,10 @@ packages:
resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==}
engines: {node: '>=0.10.0'}
split-on-first@3.0.0:
resolution: {integrity: sha512-qxQJTx2ryR0Dw0ITYyekNQWpz6f8dGd7vffGNflQQ3Iqj9NJ6qiZ7ELpZsJ/QBhIVAiDfXdag3+Gp8RvWa62AA==}
engines: {node: '>=12'}
strip-final-newline@4.0.0:
resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==}
engines: {node: '>=18'}
@@ -2037,10 +2100,17 @@ packages:
tslib@2.8.1:
resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
tslx@0.1.1:
resolution: {integrity: sha512-MYh2I7iw8owRx3xFVq8DXp3JWoJ7G7oMA5uUrCwGvuOipV6w9XvlJKo3yVJMh75Y+5caIaYhCsUZ1WTnxQRk7A==}
type-check@0.4.0:
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
engines: {node: '>= 0.8.0'}
type-fest@4.38.0:
resolution: {integrity: sha512-2dBz5D5ycHIoliLYLi0Q2V7KRaDlH0uWIvmk7TYlAg5slqwiPv1ezJdZm1QEM0xgk29oYWMCbIG7E6gHpvChlg==}
engines: {node: '>=16'}
typescript-eslint@8.26.0:
resolution: {integrity: sha512-PtVz9nAnuNJuAVeUFvwztjuUgSnJInODAUx47VDwWPXzd5vismPOtPtt83tzNXyOjVQbPRp786D6WFW/M2koIA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -2102,6 +2172,19 @@ packages:
resolution: {integrity: sha512-8U/MtpkPkkk3Atewj1+RcKIjb5WBimZ/WSLhhR3w6SsIj8XJuKTacSP8g+2JhfSGw0Cb125Y+2zA/IzJZDVbhA==}
engines: {node: '>=18.12.0'}
unplugin-vue-components@0.27.5:
resolution: {integrity: sha512-m9j4goBeNwXyNN8oZHHxvIIYiG8FQ9UfmKWeNllpDvhU7btKNNELGPt+o3mckQKuPwrE7e0PvCsx+IWuDSD9Vg==}
engines: {node: '>=14'}
peerDependencies:
'@babel/parser': ^7.15.8
'@nuxt/kit': ^3.2.2
vue: 2 || 3
peerDependenciesMeta:
'@babel/parser':
optional: true
'@nuxt/kit':
optional: true
unplugin-vue-components@28.4.1:
resolution: {integrity: sha512-niGSc0vJD9ueAnsqcfAldmtpkppZ09B6p2G1dL7X5S8KPdgbk1P+txPwaaDCe7N+eZh2VG1aAypLXkuJs3OSUg==}
engines: {node: '>=14'}
@@ -2115,6 +2198,10 @@ packages:
'@nuxt/kit':
optional: true
unplugin@1.16.1:
resolution: {integrity: sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==}
engines: {node: '>=14.0.0'}
unplugin@2.2.0:
resolution: {integrity: sha512-m1ekpSwuOT5hxkJeZGRxO7gXbXT3gF26NjQ7GdVHoLoF8/nopLcd/QfPigpCy7i51oFHiRJg/CyHhj4vs2+KGw==}
engines: {node: '>=18.12.0'}
@@ -2617,6 +2704,43 @@ snapshots:
- '@vue/composition-api'
- vue
'@hoci/components@0.6.0(@vueuse/core@12.8.2(typescript@5.8.2))(vue@3.5.13(typescript@5.8.2))':
dependencies:
'@hoci/core': 0.6.0(vue@3.5.13(typescript@5.8.2))
'@hoci/shared': 0.6.0(@vueuse/core@12.8.2(typescript@5.8.2))(vue@3.5.13(typescript@5.8.2))
'@vueuse/core': 12.8.2(typescript@5.8.2)
maybe-types: 0.2.0
tslx: 0.1.1
vue: 3.5.13(typescript@5.8.2)
transitivePeerDependencies:
- '@vue/composition-api'
'@hoci/core@0.6.0(vue@3.5.13(typescript@5.8.2))':
dependencies:
'@hoci/shared': 0.6.0(@vueuse/core@9.0.0(vue@3.5.13(typescript@5.8.2)))(vue@3.5.13(typescript@5.8.2))
'@vueuse/core': 9.0.0(vue@3.5.13(typescript@5.8.2))
maybe-types: 0.2.0
tslx: 0.1.1
vue: 3.5.13(typescript@5.8.2)
transitivePeerDependencies:
- '@vue/composition-api'
'@hoci/shared@0.6.0(@vueuse/core@12.8.2(typescript@5.8.2))(vue@3.5.13(typescript@5.8.2))':
dependencies:
'@vueuse/core': 12.8.2(typescript@5.8.2)
defu: 6.1.4
maybe-types: 0.2.0
type-fest: 4.38.0
vue: 3.5.13(typescript@5.8.2)
'@hoci/shared@0.6.0(@vueuse/core@9.0.0(vue@3.5.13(typescript@5.8.2)))(vue@3.5.13(typescript@5.8.2))':
dependencies:
'@vueuse/core': 9.0.0(vue@3.5.13(typescript@5.8.2))
defu: 6.1.4
maybe-types: 0.2.0
type-fest: 4.38.0
vue: 3.5.13(typescript@5.8.2)
'@humanfs/core@0.19.1': {}
'@humanfs/node@0.16.6':
@@ -2870,6 +2994,8 @@ snapshots:
'@types/pako@2.0.3': {}
'@types/web-bluetooth@0.0.15': {}
'@types/web-bluetooth@0.0.21': {}
'@typescript-eslint/eslint-plugin@8.26.0(@typescript-eslint/parser@8.26.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2)':
@@ -3296,14 +3422,33 @@ snapshots:
transitivePeerDependencies:
- typescript
'@vueuse/core@9.0.0(vue@3.5.13(typescript@5.8.2))':
dependencies:
'@types/web-bluetooth': 0.0.15
'@vueuse/metadata': 9.0.0
'@vueuse/shared': 9.0.0(vue@3.5.13(typescript@5.8.2))
vue-demi: 0.14.10(vue@3.5.13(typescript@5.8.2))
transitivePeerDependencies:
- '@vue/composition-api'
- vue
'@vueuse/metadata@12.8.2': {}
'@vueuse/metadata@9.0.0': {}
'@vueuse/shared@12.8.2(typescript@5.8.2)':
dependencies:
vue: 3.5.13(typescript@5.8.2)
transitivePeerDependencies:
- typescript
'@vueuse/shared@9.0.0(vue@3.5.13(typescript@5.8.2))':
dependencies:
vue-demi: 0.14.10(vue@3.5.13(typescript@5.8.2))
transitivePeerDependencies:
- '@vue/composition-api'
- vue
acorn-jsx@5.3.2(acorn@8.14.1):
dependencies:
acorn: 8.14.1
@@ -3457,6 +3602,8 @@ snapshots:
dependencies:
ms: 2.1.3
decode-uri-component@0.4.1: {}
deep-is@0.1.4: {}
default-browser-id@5.0.0: {}
@@ -3696,6 +3843,8 @@ snapshots:
dependencies:
to-regex-range: 5.0.1
filter-obj@5.1.0: {}
find-up@5.0.0:
dependencies:
locate-path: 6.0.0
@@ -3791,6 +3940,21 @@ snapshots:
he@1.2.0: {}
hoci@0.6.0(@babel/parser@7.26.9)(@vueuse/core@12.8.2(typescript@5.8.2))(rollup@4.35.0)(vue@3.5.13(typescript@5.8.2)):
dependencies:
'@hoci/components': 0.6.0(@vueuse/core@12.8.2(typescript@5.8.2))(vue@3.5.13(typescript@5.8.2))
'@hoci/core': 0.6.0(vue@3.5.13(typescript@5.8.2))
vue: 3.5.13(typescript@5.8.2)
optionalDependencies:
unplugin-vue-components: 0.27.5(@babel/parser@7.26.9)(rollup@4.35.0)(vue@3.5.13(typescript@5.8.2))
transitivePeerDependencies:
- '@babel/parser'
- '@nuxt/kit'
- '@vue/composition-api'
- '@vueuse/core'
- rollup
- supports-color
hookable@5.5.3: {}
human-signals@8.0.0: {}
@@ -3881,6 +4045,12 @@ snapshots:
prelude-ls: 1.2.1
type-check: 0.4.0
local-pkg@0.5.1:
dependencies:
mlly: 1.7.4
pkg-types: 1.3.1
optional: true
local-pkg@1.1.1:
dependencies:
mlly: 1.7.4
@@ -3905,6 +4075,8 @@ snapshots:
math-intrinsics@1.1.0: {}
maybe-types@0.2.0: {}
mdn-data@2.12.2: {}
memorystream@0.3.1: {}
@@ -4105,6 +4277,12 @@ snapshots:
quansync@0.2.8: {}
query-string@9.1.1:
dependencies:
decode-uri-component: 0.4.1
filter-obj: 5.1.0
split-on-first: 3.0.0
queue-microtask@1.2.3: {}
read-package-json-fast@4.0.0:
@@ -4206,6 +4384,8 @@ snapshots:
speakingurl@14.0.1: {}
split-on-first@3.0.0: {}
strip-final-newline@4.0.0: {}
strip-json-comments@3.1.1: {}
@@ -4246,10 +4426,16 @@ snapshots:
tslib@2.8.1: {}
tslx@0.1.1:
dependencies:
csstype: 3.1.3
type-check@0.4.0:
dependencies:
prelude-ls: 1.2.1
type-fest@4.38.0: {}
typescript-eslint@8.26.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2):
dependencies:
'@typescript-eslint/eslint-plugin': 8.26.0(@typescript-eslint/parser@8.26.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2)
@@ -4337,6 +4523,26 @@ snapshots:
pathe: 2.0.3
picomatch: 4.0.2
unplugin-vue-components@0.27.5(@babel/parser@7.26.9)(rollup@4.35.0)(vue@3.5.13(typescript@5.8.2)):
dependencies:
'@antfu/utils': 0.7.10
'@rollup/pluginutils': 5.1.4(rollup@4.35.0)
chokidar: 3.6.0
debug: 4.4.0
fast-glob: 3.3.3
local-pkg: 0.5.1
magic-string: 0.30.17
minimatch: 9.0.5
mlly: 1.7.4
unplugin: 1.16.1
vue: 3.5.13(typescript@5.8.2)
optionalDependencies:
'@babel/parser': 7.26.9
transitivePeerDependencies:
- rollup
- supports-color
optional: true
unplugin-vue-components@28.4.1(@babel/parser@7.26.9)(vue@3.5.13(typescript@5.8.2)):
dependencies:
chokidar: 3.6.0
@@ -4353,6 +4559,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
unplugin@1.16.1:
dependencies:
acorn: 8.14.1
webpack-virtual-modules: 0.6.2
optional: true
unplugin@2.2.0:
dependencies:
acorn: 8.14.1