From a6ff0e7f5c6179d9b374c8a4d7b4273a5cc17648 Mon Sep 17 00:00:00 2001 From: alger Date: Wed, 22 Jan 2025 22:22:32 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat:=20=E6=AD=8C=E6=9B=B2=E5=8F=B3?= =?UTF-8?q?=E9=94=AE=20=E6=B7=BB=E5=8A=A0=E4=B8=8B=E4=B8=80=E9=A6=96?= =?UTF-8?q?=E6=92=AD=E6=94=BE=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/components/common/SongItem.vue | 13 ++++++++++++ src/renderer/store/index.ts | 22 ++++++++++++++++++++- 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/src/renderer/components/common/SongItem.vue b/src/renderer/components/common/SongItem.vue index 0801747..4035b0c 100644 --- a/src/renderer/components/common/SongItem.vue +++ b/src/renderer/components/common/SongItem.vue @@ -133,6 +133,11 @@ const dropdownY = ref(0); const isDownloading = ref(false); const dropdownOptions = computed(() => [ + { + label: '下一首播放', + key: 'playNext', + icon: () => h('i', { class: 'iconfont ri-play-list-2-line' }) + }, { label: isDownloading.value ? '下载中...' : `下载 ${props.item.name}`, key: 'download', @@ -152,6 +157,8 @@ const handleSelect = (key: string | number) => { showDropdown.value = false; if (key === 'download') { downloadMusic(); + } else if (key === 'playNext') { + handlePlayNext(); } }; @@ -281,6 +288,12 @@ const handleArtistClick = (id: number) => { const artists = computed(() => { return (props.item.ar || props.item.song?.artists)?.slice(0, 4) || []; }); + +// 添加到下一首播放 +const handlePlayNext = () => { + store.commit('addToNextPlay', props.item); + message.success('已添加到下一首播放'); +};