From 6676dec4ac3a6f0c052097ed4ab74308f27cd09c Mon Sep 17 00:00:00 2001 From: alger Date: Sun, 5 Jul 2026 15:08:45 +0800 Subject: [PATCH] =?UTF-8?q?fix(playlist):=20=E6=AD=8C=E5=8D=95=E5=A2=9E?= =?UTF-8?q?=E5=88=A0=E6=AD=8C=E6=9B=B2=E5=90=8E=E5=88=B7=E6=96=B0=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E6=AD=8C=E5=8D=95=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加/删除成功后调用 initializePlaylist 重新拉取,用户页与详情页的 歌曲总数(trackCount)会话内即时更新;重启后仍滞后属网易服务端缓存, 客户端无法根治。 Closes #508 --- src/renderer/components/common/PlaylistDrawer.vue | 2 ++ src/renderer/views/music/MusicListPage.vue | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/renderer/components/common/PlaylistDrawer.vue b/src/renderer/components/common/PlaylistDrawer.vue index 9ea4792..106c7c5 100644 --- a/src/renderer/components/common/PlaylistDrawer.vue +++ b/src/renderer/components/common/PlaylistDrawer.vue @@ -235,6 +235,8 @@ const handleAddToPlaylist = async (playlist: any) => { if (res.status === 200) { message.success(t('comp.playlistDrawer.addSuccess')); emit('update:modelValue', false); + // 刷新用户歌单列表,让用户页/详情页的歌曲总数(trackCount)及时更新(#508) + store.initializePlaylist().catch(() => {}); } else { throw new Error(res.data?.msg || t('comp.playlistDrawer.addFailed')); } diff --git a/src/renderer/views/music/MusicListPage.vue b/src/renderer/views/music/MusicListPage.vue index 7c53b60..2c6f1b7 100644 --- a/src/renderer/views/music/MusicListPage.vue +++ b/src/renderer/views/music/MusicListPage.vue @@ -631,6 +631,8 @@ const handleRemoveSong = async (songId: number) => { displayedSongs.value = displayedSongs.value.filter((s) => s.id !== songId); completePlaylist.value = completePlaylist.value.filter((s) => s.id !== songId); musicStore.removeSongFromList(songId); + // 刷新用户歌单列表,让用户页的歌曲总数(trackCount)及时更新(#508) + userStore.initializePlaylist().catch(() => {}); } } catch (error) { console.error('删除歌曲失败:', error);