From dc480459ebf26b7ef01205fc8fb48d83fcd8b5c4 Mon Sep 17 00:00:00 2001 From: imsyy Date: Sat, 5 Oct 2024 11:13:25 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9E=20fix:=20=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=E4=B8=8A=E6=B8=B8=E6=8E=A5=E5=8F=A3=E4=BB=A5=E8=A7=A3=E5=86=B3?= =?UTF-8?q?=E7=99=BB=E5=BD=95=E9=A3=8E=E6=8E=A7=E9=97=AE=E9=A2=98=20#270?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .eslintrc.cjs | 2 +- components.d.ts | 3 + package.json | 7 +- pnpm-lock.yaml | 271 +++++++++-------- src/components/Card/SongCard.vue | 396 +++++++++++++++++++++++++ src/components/Global/SvgIcon.vue | 2 +- src/components/List/CoverList.vue | 33 +-- src/components/List/SongList.vue | 29 +- src/components/Modal/UserAgreement.vue | 2 +- src/components/Player/FullPlayer.vue | 37 +++ src/components/Player/MainLyric.vue | 10 +- src/components/UI/s-image.vue | 66 +++++ src/types/main.d.ts | 3 +- src/utils/instruction.ts | 23 -- src/utils/meta.ts | 2 +- src/utils/player.ts | 20 +- src/views/History.vue | 8 + src/views/Home/HomeOnline.vue | 2 +- 18 files changed, 702 insertions(+), 214 deletions(-) create mode 100644 src/components/Card/SongCard.vue create mode 100644 src/components/UI/s-image.vue diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 48c27064..bbea5c9a 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -30,7 +30,7 @@ module.exports = { "@typescript-eslint/no-explicit-any": "off", "vue/multi-word-component-names": "off", }, - global: { + globals: { h: "readonly", ref: "readonly", computed: "readonly", diff --git a/components.d.ts b/components.d.ts index 73159256..9e4637d9 100644 --- a/components.d.ts +++ b/components.d.ts @@ -124,11 +124,14 @@ declare module 'vue' { SearchInpMenu: typeof import('./src/components/Menu/SearchInpMenu.vue')['default'] SearchSuggest: typeof import('./src/components/Search/SearchSuggest.vue')['default'] Sider: typeof import('./src/components/Layout/Sider.vue')['default'] + SImage: typeof import('./src/components/UI/s-image.vue')['default'] + SongCard: typeof import('./src/components/Card/SongCard.vue')['default'] SongDataCard: typeof import('./src/components/Card/SongDataCard.vue')['default'] SongInfoEditor: typeof import('./src/components/Modal/SongInfoEditor.vue')['default'] SongList: typeof import('./src/components/List/SongList.vue')['default'] SongListCard: typeof import('./src/components/Card/SongListCard.vue')['default'] SongListMenu: typeof import('./src/components/Menu/SongListMenu.vue')['default'] + SongListNew: typeof import('./src/components/List/SongListNew.vue')['default'] SvgIcon: typeof import('./src/components/Global/SvgIcon.vue')['default'] TextContainer: typeof import('./src/components/Global/TextContainer.vue')['default'] UpdateApp: typeof import('./src/components/Modal/UpdateApp.vue')['default'] diff --git a/package.json b/package.json index 3cd8762c..b4d4d6ff 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "splayer", "productName": "SPlayer", - "version": "3.0.0-alpha.2", + "version": "3.0.0-alpha.3", "description": "A minimalist music player", "main": "./out/main/index.js", "author": "imsyy", @@ -48,7 +48,7 @@ "@pixi/filter-color-matrix": "^7.4.2", "@pixi/sprite": "^7.4.2", "@vueuse/core": "^10.11.1", - "NeteaseCloudMusicApi": "^4.22.0", + "NeteaseCloudMusicApi": "^4.23.0", "axios": "^1.7.7", "change-case": "^5.4.4", "dayjs": "^1.11.13", @@ -69,6 +69,7 @@ "pinia": "^2.2.2", "pinia-plugin-persistedstate": "^3.2.3", "plyr": "^3.7.8", + "vue-virt-list": "^1.5.1", "vue-virtual-scroller": "2.0.0-beta.8" }, "devDependencies": { @@ -107,7 +108,7 @@ "vite": "^5.4.3", "vite-plugin-compression": "^0.5.1", "vite-plugin-wasm": "^3.3.0", - "vue": "3.4.38", + "vue": "3.5.10", "vue-router": "^4.4.3", "vue-tsc": "^2.1.6" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 936d24d0..db43dc27 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,7 +16,7 @@ importers: version: 0.2.2 '@applemusic-like-lyrics/vue': specifier: ^0.1.5 - version: 0.1.5(@pixi/app@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2)))(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))(@pixi/filter-blur@7.4.2(@pixi/core@7.4.2))(@pixi/filter-bulge-pinch@5.1.1(@pixi/core@7.4.2))(@pixi/filter-color-matrix@7.4.2(@pixi/core@7.4.2))(@pixi/sprite@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2)))(jss-preset-default@10.10.0)(jss@10.10.0)(vue@3.4.38(typescript@5.5.4)) + version: 0.1.5(@pixi/app@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2)))(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))(@pixi/filter-blur@7.4.2(@pixi/core@7.4.2))(@pixi/filter-bulge-pinch@5.1.1(@pixi/core@7.4.2))(@pixi/filter-color-matrix@7.4.2(@pixi/core@7.4.2))(@pixi/sprite@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2)))(jss-preset-default@10.10.0)(jss@10.10.0)(vue@3.5.10(typescript@5.5.4)) '@electron-toolkit/preload': specifier: ^3.0.1 version: 3.0.1(electron@28.3.3) @@ -52,10 +52,10 @@ importers: version: 7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2)) '@vueuse/core': specifier: ^10.11.1 - version: 10.11.1(vue@3.4.38(typescript@5.5.4)) + version: 10.11.1(vue@3.5.10(typescript@5.5.4)) NeteaseCloudMusicApi: - specifier: ^4.22.0 - version: 4.22.0 + specifier: ^4.23.0 + version: 4.23.0 axios: specifier: ^1.7.7 version: 1.7.7 @@ -109,16 +109,19 @@ importers: version: 7.14.0 pinia: specifier: ^2.2.2 - version: 2.2.2(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + version: 2.2.2(typescript@5.5.4)(vue@3.5.10(typescript@5.5.4)) pinia-plugin-persistedstate: specifier: ^3.2.3 - version: 3.2.3(pinia@2.2.2(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))) + version: 3.2.3(pinia@2.2.2(typescript@5.5.4)(vue@3.5.10(typescript@5.5.4))) plyr: specifier: ^3.7.8 version: 3.7.8 + vue-virt-list: + specifier: ^1.5.1 + version: 1.5.1(vue@3.5.10(typescript@5.5.4)) vue-virtual-scroller: specifier: 2.0.0-beta.8 - version: 2.0.0-beta.8(vue@3.4.38(typescript@5.5.4)) + version: 2.0.0-beta.8(vue@3.5.10(typescript@5.5.4)) devDependencies: '@electron-toolkit/tsconfig': specifier: ^1.0.1 @@ -155,7 +158,7 @@ importers: version: 7.18.0(eslint@8.57.0)(typescript@5.5.4) '@vitejs/plugin-vue': specifier: ^5.1.3 - version: 5.1.3(vite@5.4.3(@types/node@22.5.4)(sass@1.78.0)(terser@5.33.0))(vue@3.4.38(typescript@5.5.4)) + version: 5.1.3(vite@5.4.3(@types/node@22.5.4)(sass@1.78.0)(terser@5.33.0))(vue@3.5.10(typescript@5.5.4)) ajv: specifier: ^8.17.1 version: 8.17.1 @@ -188,7 +191,7 @@ importers: version: 4.28.1 naive-ui: specifier: ^2.39.0 - version: 2.39.0(vue@3.4.38(typescript@5.5.4)) + version: 2.39.0(vue@3.5.10(typescript@5.5.4)) node-taglib-sharp: specifier: ^5.2.3 version: 5.2.3 @@ -206,10 +209,10 @@ importers: version: 5.5.4 unplugin-auto-import: specifier: ^0.18.2 - version: 0.18.2(@vueuse/core@10.11.1(vue@3.4.38(typescript@5.5.4)))(rollup@4.21.2)(webpack-sources@3.2.3) + version: 0.18.2(@vueuse/core@10.11.1(vue@3.5.10(typescript@5.5.4)))(rollup@4.21.2)(webpack-sources@3.2.3) unplugin-vue-components: specifier: ^0.27.4 - version: 0.27.4(@babel/parser@7.25.6)(rollup@4.21.2)(vue@3.4.38(typescript@5.5.4))(webpack-sources@3.2.3) + version: 0.27.4(@babel/parser@7.25.6)(rollup@4.21.2)(vue@3.5.10(typescript@5.5.4))(webpack-sources@3.2.3) vite: specifier: ^5.4.3 version: 5.4.3(@types/node@22.5.4)(sass@1.78.0)(terser@5.33.0) @@ -220,11 +223,11 @@ importers: specifier: ^3.3.0 version: 3.3.0(vite@5.4.3(@types/node@22.5.4)(sass@1.78.0)(terser@5.33.0)) vue: - specifier: 3.4.38 - version: 3.4.38(typescript@5.5.4) + specifier: 3.5.10 + version: 3.5.10(typescript@5.5.4) vue-router: specifier: ^4.4.3 - version: 4.4.3(vue@3.4.38(typescript@5.5.4)) + version: 4.4.3(vue@3.5.10(typescript@5.5.4)) vue-tsc: specifier: ^2.1.6 version: 2.1.6(typescript@5.5.4) @@ -1001,23 +1004,23 @@ packages: '@volar/typescript@2.4.2': resolution: {integrity: sha512-m2uZduhaHO1SZuagi30OsjI/X1gwkaEAC+9wT/nCNAtJ5FqXEkKvUncHmffG7ESDZPlFFUBK4vJ0D9Hfr+f2EA==} - '@vue/compiler-core@3.4.38': - resolution: {integrity: sha512-8IQOTCWnLFqfHzOGm9+P8OPSEDukgg3Huc92qSG49if/xI2SAwLHQO2qaPQbjCWPBcQoO1WYfXfTACUrWV3c5A==} + '@vue/compiler-core@3.5.10': + resolution: {integrity: sha512-iXWlk+Cg/ag7gLvY0SfVucU8Kh2CjysYZjhhP70w9qI4MvSox4frrP+vDGvtQuzIcgD8+sxM6lZvCtdxGunTAA==} '@vue/compiler-core@3.5.3': resolution: {integrity: sha512-adAfy9boPkP233NTyvLbGEqVuIfK/R0ZsBsIOW4BZNfb4BRpRW41Do1u+ozJpsb+mdoy80O20IzAsHaihRb5qA==} - '@vue/compiler-dom@3.4.38': - resolution: {integrity: sha512-Osc/c7ABsHXTsETLgykcOwIxFktHfGSUDkb05V61rocEfsFDcjDLH/IHJSNJP+/Sv9KeN2Lx1V6McZzlSb9EhQ==} + '@vue/compiler-dom@3.5.10': + resolution: {integrity: sha512-DyxHC6qPcktwYGKOIy3XqnHRrrXyWR2u91AjP+nLkADko380srsC2DC3s7Y1Rk6YfOlxOlvEQKa9XXmLI+W4ZA==} '@vue/compiler-dom@3.5.3': resolution: {integrity: sha512-wnzFArg9zpvk/811CDOZOadJRugf1Bgl/TQ3RfV4nKfSPok4hi0w10ziYUQR6LnnBAUlEXYLUfZ71Oj9ds/+QA==} - '@vue/compiler-sfc@3.4.38': - resolution: {integrity: sha512-s5QfZ+9PzPh3T5H4hsQDJtI8x7zdJaew/dCGgqZ2630XdzaZ3AD8xGZfBqpT8oaD/p2eedd+pL8tD5vvt5ZYJQ==} + '@vue/compiler-sfc@3.5.10': + resolution: {integrity: sha512-to8E1BgpakV7224ZCm8gz1ZRSyjNCAWEplwFMWKlzCdP9DkMKhRRwt0WkCjY7jkzi/Vz3xgbpeig5Pnbly4Tow==} - '@vue/compiler-ssr@3.4.38': - resolution: {integrity: sha512-YXznKFQ8dxYpAz9zLuVvfcXhc31FSPFDcqr0kyujbOwNhlmaNvL2QfIy+RZeJgSn5Fk54CWoEUeW+NVBAogGaw==} + '@vue/compiler-ssr@3.5.10': + resolution: {integrity: sha512-hxP4Y3KImqdtyUKXDRSxKSRkSm1H9fCvhojEYrnaoWhE4w/y8vwWhnosJoPPe2AXm5sU7CSbYYAgkt2ZPhDz+A==} '@vue/compiler-vue2@2.7.16': resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} @@ -1033,22 +1036,22 @@ packages: typescript: optional: true - '@vue/reactivity@3.4.38': - resolution: {integrity: sha512-4vl4wMMVniLsSYYeldAKzbk72+D3hUnkw9z8lDeJacTxAkXeDAP1uE9xr2+aKIN0ipOL8EG2GPouVTH6yF7Gnw==} + '@vue/reactivity@3.5.10': + resolution: {integrity: sha512-kW08v06F6xPSHhid9DJ9YjOGmwNDOsJJQk0ax21wKaUYzzuJGEuoKNU2Ujux8FLMrP7CFJJKsHhXN9l2WOVi2g==} - '@vue/runtime-core@3.4.38': - resolution: {integrity: sha512-21z3wA99EABtuf+O3IhdxP0iHgkBs1vuoCAsCKLVJPEjpVqvblwBnTj42vzHRlWDCyxu9ptDm7sI2ZMcWrQqlA==} + '@vue/runtime-core@3.5.10': + resolution: {integrity: sha512-9Q86I5Qq3swSkFfzrZ+iqEy7Vla325M7S7xc1NwKnRm/qoi1Dauz0rT6mTMmscqx4qz0EDJ1wjB+A36k7rl8mA==} - '@vue/runtime-dom@3.4.38': - resolution: {integrity: sha512-afZzmUreU7vKwKsV17H1NDThEEmdYI+GCAK/KY1U957Ig2NATPVjCROv61R19fjZNzMmiU03n79OMnXyJVN0UA==} + '@vue/runtime-dom@3.5.10': + resolution: {integrity: sha512-t3x7ht5qF8ZRi1H4fZqFzyY2j+GTMTDxRheT+i8M9Ph0oepUxoadmbwlFwMoW7RYCpNQLpP2Yx3feKs+fyBdpA==} - '@vue/server-renderer@3.4.38': - resolution: {integrity: sha512-NggOTr82FbPEkkUvBm4fTGcwUY8UuTsnWC/L2YZBmvaQ4C4Jl/Ao4HHTB+l7WnFCt5M/dN3l0XLuyjzswGYVCA==} + '@vue/server-renderer@3.5.10': + resolution: {integrity: sha512-IVE97tt2kGKwHNq9yVO0xdh1IvYfZCShvDSy46JIh5OQxP1/EXSpoDqetVmyIzL7CYOWnnmMkVqd7YK2QSWkdw==} peerDependencies: - vue: 3.4.38 + vue: 3.5.10 - '@vue/shared@3.4.38': - resolution: {integrity: sha512-q0xCiLkuWWQLzVrecPb0RMsNWyxICOjPrcrwxTUEHb1fsnvni4dcuyG7RT/Ie7VPTvnjzIaWzRMUBsrqNj/hhw==} + '@vue/shared@3.5.10': + resolution: {integrity: sha512-VkkBhU97Ki+XJ0xvl4C9YJsIZ2uIlQ7HqPpZOS3m9VCvmROPaChZU6DexdMJqvz9tbgG+4EtFVrSuailUq5KGQ==} '@vue/shared@3.5.3': resolution: {integrity: sha512-Jp2v8nylKBT+PlOUjun2Wp/f++TfJVFjshLzNtJDdmFJabJa7noGMncqXRM1vXGX+Yo2V7WykQFNxusSim8SCA==} @@ -1066,8 +1069,8 @@ packages: resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==} engines: {node: '>=10.0.0'} - NeteaseCloudMusicApi@4.22.0: - resolution: {integrity: sha512-xbEA+Bs8TRCRBNVBzuJMvymEOXRXSmhi9/qVtGKkPES14WRz8Kqjkt9+A9K1eU2QEvLrcOBM98aqWVZQh25HZQ==} + NeteaseCloudMusicApi@4.23.0: + resolution: {integrity: sha512-nTvEnrfkTKNWEPCHF/qbNLAQVLb90PaPjdBuht/po6OpGTwX9sWm7RXsqMr7TGw10mkR94CIvx9Ecb+H8gV8yA==} engines: {node: '>=12'} hasBin: true @@ -2964,6 +2967,10 @@ packages: resolution: {integrity: sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q==} engines: {node: ^10 || ^12 || >=14} + postcss@8.4.47: + resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} + engines: {node: ^10 || ^12 || >=14} + prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -3293,6 +3300,10 @@ packages: resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + source-map-support@0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} @@ -3701,13 +3712,22 @@ packages: peerDependencies: typescript: '>=5.0.0' + vue-virt-list@1.5.1: + resolution: {integrity: sha512-xinjAEdBAkvMWeqkcxbuDDQmsEauibflDYTw3u1VLCPkOzhtjGvZqubtb131nznBd5RR58LusfvsSn2OL31giA==} + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^2.0.0 || >=3.0.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + vue-virtual-scroller@2.0.0-beta.8: resolution: {integrity: sha512-b8/f5NQ5nIEBRTNi6GcPItE4s7kxNHw2AIHLtDp+2QvqdTjVN0FgONwX9cr53jWRgnu+HRLPaWDOR2JPI5MTfQ==} peerDependencies: vue: ^3.2.0 - vue@3.4.38: - resolution: {integrity: sha512-f0ZgN+mZ5KFgVv9wz0f4OgVKukoXtS3nwET4c2vLBGQR50aI8G0cqbFtLlX9Yiyg3LFGBitruPHt2PxwTduJEw==} + vue@3.5.10: + resolution: {integrity: sha512-Vy2kmJwHPlouC/tSnIgXVg03SG+9wSqT1xu1Vehc+ChsXsRd7jLkKgMltVEFOzUdBr3uFwBCG+41LJtfAcBRng==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -3851,10 +3871,10 @@ snapshots: '@applemusic-like-lyrics/lyric@0.2.2': {} - '@applemusic-like-lyrics/vue@0.1.5(@pixi/app@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2)))(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))(@pixi/filter-blur@7.4.2(@pixi/core@7.4.2))(@pixi/filter-bulge-pinch@5.1.1(@pixi/core@7.4.2))(@pixi/filter-color-matrix@7.4.2(@pixi/core@7.4.2))(@pixi/sprite@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2)))(jss-preset-default@10.10.0)(jss@10.10.0)(vue@3.4.38(typescript@5.5.4))': + '@applemusic-like-lyrics/vue@0.1.5(@pixi/app@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2)))(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))(@pixi/filter-blur@7.4.2(@pixi/core@7.4.2))(@pixi/filter-bulge-pinch@5.1.1(@pixi/core@7.4.2))(@pixi/filter-color-matrix@7.4.2(@pixi/core@7.4.2))(@pixi/sprite@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2)))(jss-preset-default@10.10.0)(jss@10.10.0)(vue@3.5.10(typescript@5.5.4))': dependencies: '@applemusic-like-lyrics/core': 0.1.3(@pixi/app@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2)))(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2))(@pixi/filter-blur@7.4.2(@pixi/core@7.4.2))(@pixi/filter-bulge-pinch@5.1.1(@pixi/core@7.4.2))(@pixi/filter-color-matrix@7.4.2(@pixi/core@7.4.2))(@pixi/sprite@7.4.2(@pixi/core@7.4.2)(@pixi/display@7.4.2(@pixi/core@7.4.2)))(jss-preset-default@10.10.0)(jss@10.10.0) - vue: 3.4.38(typescript@5.5.4) + vue: 3.5.10(typescript@5.5.4) transitivePeerDependencies: - '@pixi/app' - '@pixi/core' @@ -3993,9 +4013,9 @@ snapshots: dependencies: css-render: 0.15.14 - '@css-render/vue3-ssr@0.15.14(vue@3.4.38(typescript@5.5.4))': + '@css-render/vue3-ssr@0.15.14(vue@3.5.10(typescript@5.5.4))': dependencies: - vue: 3.4.38(typescript@5.5.4) + vue: 3.5.10(typescript@5.5.4) '@develar/schema-utils@2.6.5': dependencies: @@ -4613,10 +4633,10 @@ snapshots: '@ungap/structured-clone@1.2.0': {} - '@vitejs/plugin-vue@5.1.3(vite@5.4.3(@types/node@22.5.4)(sass@1.78.0)(terser@5.33.0))(vue@3.4.38(typescript@5.5.4))': + '@vitejs/plugin-vue@5.1.3(vite@5.4.3(@types/node@22.5.4)(sass@1.78.0)(terser@5.33.0))(vue@3.5.10(typescript@5.5.4))': dependencies: vite: 5.4.3(@types/node@22.5.4)(sass@1.78.0)(terser@5.33.0) - vue: 3.4.38(typescript@5.5.4) + vue: 3.5.10(typescript@5.5.4) '@volar/language-core@2.4.2': dependencies: @@ -4630,10 +4650,10 @@ snapshots: path-browserify: 1.0.1 vscode-uri: 3.0.8 - '@vue/compiler-core@3.4.38': + '@vue/compiler-core@3.5.10': dependencies: '@babel/parser': 7.25.6 - '@vue/shared': 3.4.38 + '@vue/shared': 3.5.10 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.0 @@ -4646,32 +4666,32 @@ snapshots: estree-walker: 2.0.2 source-map-js: 1.2.0 - '@vue/compiler-dom@3.4.38': + '@vue/compiler-dom@3.5.10': dependencies: - '@vue/compiler-core': 3.4.38 - '@vue/shared': 3.4.38 + '@vue/compiler-core': 3.5.10 + '@vue/shared': 3.5.10 '@vue/compiler-dom@3.5.3': dependencies: '@vue/compiler-core': 3.5.3 '@vue/shared': 3.5.3 - '@vue/compiler-sfc@3.4.38': + '@vue/compiler-sfc@3.5.10': dependencies: '@babel/parser': 7.25.6 - '@vue/compiler-core': 3.4.38 - '@vue/compiler-dom': 3.4.38 - '@vue/compiler-ssr': 3.4.38 - '@vue/shared': 3.4.38 + '@vue/compiler-core': 3.5.10 + '@vue/compiler-dom': 3.5.10 + '@vue/compiler-ssr': 3.5.10 + '@vue/shared': 3.5.10 estree-walker: 2.0.2 magic-string: 0.30.11 - postcss: 8.4.45 + postcss: 8.4.47 source-map-js: 1.2.0 - '@vue/compiler-ssr@3.4.38': + '@vue/compiler-ssr@3.5.10': dependencies: - '@vue/compiler-dom': 3.4.38 - '@vue/shared': 3.4.38 + '@vue/compiler-dom': 3.5.10 + '@vue/shared': 3.5.10 '@vue/compiler-vue2@2.7.16': dependencies: @@ -4693,54 +4713,54 @@ snapshots: optionalDependencies: typescript: 5.5.4 - '@vue/reactivity@3.4.38': + '@vue/reactivity@3.5.10': dependencies: - '@vue/shared': 3.4.38 + '@vue/shared': 3.5.10 - '@vue/runtime-core@3.4.38': + '@vue/runtime-core@3.5.10': dependencies: - '@vue/reactivity': 3.4.38 - '@vue/shared': 3.4.38 + '@vue/reactivity': 3.5.10 + '@vue/shared': 3.5.10 - '@vue/runtime-dom@3.4.38': + '@vue/runtime-dom@3.5.10': dependencies: - '@vue/reactivity': 3.4.38 - '@vue/runtime-core': 3.4.38 - '@vue/shared': 3.4.38 + '@vue/reactivity': 3.5.10 + '@vue/runtime-core': 3.5.10 + '@vue/shared': 3.5.10 csstype: 3.1.3 - '@vue/server-renderer@3.4.38(vue@3.4.38(typescript@5.5.4))': + '@vue/server-renderer@3.5.10(vue@3.5.10(typescript@5.5.4))': dependencies: - '@vue/compiler-ssr': 3.4.38 - '@vue/shared': 3.4.38 - vue: 3.4.38(typescript@5.5.4) + '@vue/compiler-ssr': 3.5.10 + '@vue/shared': 3.5.10 + vue: 3.5.10(typescript@5.5.4) - '@vue/shared@3.4.38': {} + '@vue/shared@3.5.10': {} '@vue/shared@3.5.3': {} - '@vueuse/core@10.11.1(vue@3.4.38(typescript@5.5.4))': + '@vueuse/core@10.11.1(vue@3.5.10(typescript@5.5.4))': dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.11.1 - '@vueuse/shared': 10.11.1(vue@3.4.38(typescript@5.5.4)) - vue-demi: 0.14.10(vue@3.4.38(typescript@5.5.4)) + '@vueuse/shared': 10.11.1(vue@3.5.10(typescript@5.5.4)) + vue-demi: 0.14.10(vue@3.5.10(typescript@5.5.4)) transitivePeerDependencies: - '@vue/composition-api' - vue '@vueuse/metadata@10.11.1': {} - '@vueuse/shared@10.11.1(vue@3.4.38(typescript@5.5.4))': + '@vueuse/shared@10.11.1(vue@3.5.10(typescript@5.5.4))': dependencies: - vue-demi: 0.14.10(vue@3.4.38(typescript@5.5.4)) + vue-demi: 0.14.10(vue@3.5.10(typescript@5.5.4)) transitivePeerDependencies: - '@vue/composition-api' - vue '@xmldom/xmldom@0.8.10': {} - NeteaseCloudMusicApi@4.22.0: + NeteaseCloudMusicApi@4.23.0: dependencies: axios: 1.7.7 crypto-js: 4.2.0 @@ -6627,10 +6647,10 @@ snapshots: transitivePeerDependencies: - supports-color - naive-ui@2.39.0(vue@3.4.38(typescript@5.5.4)): + naive-ui@2.39.0(vue@3.5.10(typescript@5.5.4)): dependencies: '@css-render/plugin-bem': 0.15.14(css-render@0.15.14) - '@css-render/vue3-ssr': 0.15.14(vue@3.4.38(typescript@5.5.4)) + '@css-render/vue3-ssr': 0.15.14(vue@3.5.10(typescript@5.5.4)) '@types/katex': 0.16.7 '@types/lodash': 4.17.7 '@types/lodash-es': 4.17.12 @@ -6645,10 +6665,10 @@ snapshots: lodash-es: 4.17.21 seemly: 0.3.8 treemate: 0.3.11 - vdirs: 0.1.8(vue@3.4.38(typescript@5.5.4)) - vooks: 0.2.12(vue@3.4.38(typescript@5.5.4)) - vue: 3.4.38(typescript@5.5.4) - vueuc: 0.4.58(vue@3.4.38(typescript@5.5.4)) + vdirs: 0.1.8(vue@3.5.10(typescript@5.5.4)) + vooks: 0.2.12(vue@3.5.10(typescript@5.5.4)) + vue: 3.5.10(typescript@5.5.4) + vueuc: 0.4.58(vue@3.5.10(typescript@5.5.4)) nanoid@3.3.7: {} @@ -6830,15 +6850,15 @@ snapshots: picomatch@2.3.1: {} - pinia-plugin-persistedstate@3.2.3(pinia@2.2.2(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))): + pinia-plugin-persistedstate@3.2.3(pinia@2.2.2(typescript@5.5.4)(vue@3.5.10(typescript@5.5.4))): dependencies: - pinia: 2.2.2(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + pinia: 2.2.2(typescript@5.5.4)(vue@3.5.10(typescript@5.5.4)) - pinia@2.2.2(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)): + pinia@2.2.2(typescript@5.5.4)(vue@3.5.10(typescript@5.5.4)): dependencies: '@vue/devtools-api': 6.6.3 - vue: 3.4.38(typescript@5.5.4) - vue-demi: 0.14.10(vue@3.4.38(typescript@5.5.4)) + vue: 3.5.10(typescript@5.5.4) + vue-demi: 0.14.10(vue@3.5.10(typescript@5.5.4)) optionalDependencies: typescript: 5.5.4 @@ -6902,6 +6922,12 @@ snapshots: picocolors: 1.1.0 source-map-js: 1.2.0 + postcss@8.4.47: + dependencies: + nanoid: 3.3.7 + picocolors: 1.1.0 + source-map-js: 1.2.1 + prelude-ls@1.2.1: {} prettier@3.3.3: {} @@ -7263,6 +7289,8 @@ snapshots: source-map-js@1.2.0: {} + source-map-js@1.2.1: {} + source-map-support@0.5.21: dependencies: buffer-from: 1.1.2 @@ -7493,7 +7521,7 @@ snapshots: unpipe@1.0.0: {} - unplugin-auto-import@0.18.2(@vueuse/core@10.11.1(vue@3.4.38(typescript@5.5.4)))(rollup@4.21.2)(webpack-sources@3.2.3): + unplugin-auto-import@0.18.2(@vueuse/core@10.11.1(vue@3.5.10(typescript@5.5.4)))(rollup@4.21.2)(webpack-sources@3.2.3): dependencies: '@antfu/utils': 0.7.10 '@rollup/pluginutils': 5.1.0(rollup@4.21.2) @@ -7504,12 +7532,12 @@ snapshots: unimport: 3.11.1(rollup@4.21.2)(webpack-sources@3.2.3) unplugin: 1.13.1(webpack-sources@3.2.3) optionalDependencies: - '@vueuse/core': 10.11.1(vue@3.4.38(typescript@5.5.4)) + '@vueuse/core': 10.11.1(vue@3.5.10(typescript@5.5.4)) transitivePeerDependencies: - rollup - webpack-sources - unplugin-vue-components@0.27.4(@babel/parser@7.25.6)(rollup@4.21.2)(vue@3.4.38(typescript@5.5.4))(webpack-sources@3.2.3): + unplugin-vue-components@0.27.4(@babel/parser@7.25.6)(rollup@4.21.2)(vue@3.5.10(typescript@5.5.4))(webpack-sources@3.2.3): dependencies: '@antfu/utils': 0.7.10 '@rollup/pluginutils': 5.1.0(rollup@4.21.2) @@ -7521,7 +7549,7 @@ snapshots: minimatch: 9.0.5 mlly: 1.7.1 unplugin: 1.13.1(webpack-sources@3.2.3) - vue: 3.4.38(typescript@5.5.4) + vue: 3.5.10(typescript@5.5.4) optionalDependencies: '@babel/parser': 7.25.6 transitivePeerDependencies: @@ -7570,10 +7598,10 @@ snapshots: vary@1.1.2: {} - vdirs@0.1.8(vue@3.4.38(typescript@5.5.4)): + vdirs@0.1.8(vue@3.5.10(typescript@5.5.4)): dependencies: evtd: 0.2.4 - vue: 3.4.38(typescript@5.5.4) + vue: 3.5.10(typescript@5.5.4) verror@1.10.0: dependencies: @@ -7612,16 +7640,16 @@ snapshots: sass: 1.78.0 terser: 5.33.0 - vooks@0.2.12(vue@3.4.38(typescript@5.5.4)): + vooks@0.2.12(vue@3.5.10(typescript@5.5.4)): dependencies: evtd: 0.2.4 - vue: 3.4.38(typescript@5.5.4) + vue: 3.5.10(typescript@5.5.4) vscode-uri@3.0.8: {} - vue-demi@0.14.10(vue@3.4.38(typescript@5.5.4)): + vue-demi@0.14.10(vue@3.5.10(typescript@5.5.4)): dependencies: - vue: 3.4.38(typescript@5.5.4) + vue: 3.5.10(typescript@5.5.4) vue-eslint-parser@9.4.3(eslint@8.57.0): dependencies: @@ -7636,18 +7664,18 @@ snapshots: transitivePeerDependencies: - supports-color - vue-observe-visibility@2.0.0-alpha.1(vue@3.4.38(typescript@5.5.4)): + vue-observe-visibility@2.0.0-alpha.1(vue@3.5.10(typescript@5.5.4)): dependencies: - vue: 3.4.38(typescript@5.5.4) + vue: 3.5.10(typescript@5.5.4) - vue-resize@2.0.0-alpha.1(vue@3.4.38(typescript@5.5.4)): + vue-resize@2.0.0-alpha.1(vue@3.5.10(typescript@5.5.4)): dependencies: - vue: 3.4.38(typescript@5.5.4) + vue: 3.5.10(typescript@5.5.4) - vue-router@4.4.3(vue@3.4.38(typescript@5.5.4)): + vue-router@4.4.3(vue@3.5.10(typescript@5.5.4)): dependencies: '@vue/devtools-api': 6.6.3 - vue: 3.4.38(typescript@5.5.4) + vue: 3.5.10(typescript@5.5.4) vue-tsc@2.1.6(typescript@5.5.4): dependencies: @@ -7656,33 +7684,38 @@ snapshots: semver: 7.6.3 typescript: 5.5.4 - vue-virtual-scroller@2.0.0-beta.8(vue@3.4.38(typescript@5.5.4)): + vue-virt-list@1.5.1(vue@3.5.10(typescript@5.5.4)): + dependencies: + vue: 3.5.10(typescript@5.5.4) + vue-demi: 0.14.10(vue@3.5.10(typescript@5.5.4)) + + vue-virtual-scroller@2.0.0-beta.8(vue@3.5.10(typescript@5.5.4)): dependencies: mitt: 2.1.0 - vue: 3.4.38(typescript@5.5.4) - vue-observe-visibility: 2.0.0-alpha.1(vue@3.4.38(typescript@5.5.4)) - vue-resize: 2.0.0-alpha.1(vue@3.4.38(typescript@5.5.4)) + vue: 3.5.10(typescript@5.5.4) + vue-observe-visibility: 2.0.0-alpha.1(vue@3.5.10(typescript@5.5.4)) + vue-resize: 2.0.0-alpha.1(vue@3.5.10(typescript@5.5.4)) - vue@3.4.38(typescript@5.5.4): + vue@3.5.10(typescript@5.5.4): 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@3.4.38(typescript@5.5.4)) - '@vue/shared': 3.4.38 + '@vue/compiler-dom': 3.5.10 + '@vue/compiler-sfc': 3.5.10 + '@vue/runtime-dom': 3.5.10 + '@vue/server-renderer': 3.5.10(vue@3.5.10(typescript@5.5.4)) + '@vue/shared': 3.5.10 optionalDependencies: typescript: 5.5.4 - vueuc@0.4.58(vue@3.4.38(typescript@5.5.4)): + vueuc@0.4.58(vue@3.5.10(typescript@5.5.4)): dependencies: - '@css-render/vue3-ssr': 0.15.14(vue@3.4.38(typescript@5.5.4)) + '@css-render/vue3-ssr': 0.15.14(vue@3.5.10(typescript@5.5.4)) '@juggle/resize-observer': 3.4.0 css-render: 0.15.14 evtd: 0.2.4 seemly: 0.3.8 - vdirs: 0.1.8(vue@3.4.38(typescript@5.5.4)) - vooks: 0.2.12(vue@3.4.38(typescript@5.5.4)) - vue: 3.4.38(typescript@5.5.4) + vdirs: 0.1.8(vue@3.5.10(typescript@5.5.4)) + vooks: 0.2.12(vue@3.5.10(typescript@5.5.4)) + vue: 3.5.10(typescript@5.5.4) webpack-sources@3.2.3: optional: true diff --git a/src/components/Card/SongCard.vue b/src/components/Card/SongCard.vue new file mode 100644 index 00000000..75e9406c --- /dev/null +++ b/src/components/Card/SongCard.vue @@ -0,0 +1,396 @@ + + + + + diff --git a/src/components/Global/SvgIcon.vue b/src/components/Global/SvgIcon.vue index c7e65a71..4ec92a20 100644 --- a/src/components/Global/SvgIcon.vue +++ b/src/components/Global/SvgIcon.vue @@ -37,6 +37,6 @@ onMounted(() => loadSVG(props.name)); margin: 0; padding: 0; // transition: all 0.3s; - color: var(--primary-hex); + // color: var(--primary-hex); } diff --git a/src/components/List/CoverList.vue b/src/components/List/CoverList.vue index d141b815..d45a970e 100644 --- a/src/components/List/CoverList.vue +++ b/src/components/List/CoverList.vue @@ -10,32 +10,17 @@ >
- - - + once + />