From 7792eeac2e43419032b38cd3669c423eb2292c48 Mon Sep 17 00:00:00 2001 From: jiang-LJ <972629768@qq.com> Date: Wed, 17 Jun 2026 21:57:01 +0800 Subject: [PATCH] =?UTF-8?q?feat(player):=20=E5=9C=A8=E6=92=AD=E6=94=BE?= =?UTF-8?q?=E6=A0=8F=E6=B7=BB=E5=8A=A0=E4=B8=8B=E8=BD=BD=E5=BD=93=E5=89=8D?= =?UTF-8?q?=E6=AD=8C=E6=9B=B2=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/i18n/lang/en-US/player.ts | 1 + src/i18n/lang/ja-JP/player.ts | 1 + src/i18n/lang/ko-KR/player.ts | 1 + src/i18n/lang/zh-CN/player.ts | 1 + src/i18n/lang/zh-Hant/player.ts | 1 + src/renderer/components/player/PlayBar.vue | 18 ++++++++++++++++++ 6 files changed, 23 insertions(+) diff --git a/src/i18n/lang/en-US/player.ts b/src/i18n/lang/en-US/player.ts index db8ca31..cc4c037 100644 --- a/src/i18n/lang/en-US/player.ts +++ b/src/i18n/lang/en-US/player.ts @@ -59,6 +59,7 @@ export default { eq: 'Equalizer', playList: 'Play List', reparse: 'Reparse', + download: 'Download', miniPlayBar: 'Mini Play Bar', playMode: { sequence: 'Sequence', diff --git a/src/i18n/lang/ja-JP/player.ts b/src/i18n/lang/ja-JP/player.ts index dcc7bbd..0c7643e 100644 --- a/src/i18n/lang/ja-JP/player.ts +++ b/src/i18n/lang/ja-JP/player.ts @@ -59,6 +59,7 @@ export default { eq: 'イコライザー', playList: 'プレイリスト', reparse: '再解析', + download: 'ダウンロード', playMode: { sequence: '順次再生', loop: 'ループ再生', diff --git a/src/i18n/lang/ko-KR/player.ts b/src/i18n/lang/ko-KR/player.ts index 786240a..31bc623 100644 --- a/src/i18n/lang/ko-KR/player.ts +++ b/src/i18n/lang/ko-KR/player.ts @@ -59,6 +59,7 @@ export default { eq: '이퀄라이저', playList: '재생 목록', reparse: '재분석', + download: '다운로드', playMode: { sequence: '순차 재생', loop: '반복 재생', diff --git a/src/i18n/lang/zh-CN/player.ts b/src/i18n/lang/zh-CN/player.ts index 83e9173..5d2d61f 100644 --- a/src/i18n/lang/zh-CN/player.ts +++ b/src/i18n/lang/zh-CN/player.ts @@ -58,6 +58,7 @@ export default { eq: '均衡器', playList: '播放列表', reparse: '重新解析', + download: '下载', playMode: { sequence: '顺序播放', loop: '循环播放', diff --git a/src/i18n/lang/zh-Hant/player.ts b/src/i18n/lang/zh-Hant/player.ts index 817ec4a..22e5660 100644 --- a/src/i18n/lang/zh-Hant/player.ts +++ b/src/i18n/lang/zh-Hant/player.ts @@ -58,6 +58,7 @@ export default { eq: '等化器', playList: '播放清單', reparse: '重新解析', + download: '下載', playMode: { sequence: '順序播放', loop: '循環播放', diff --git a/src/renderer/components/player/PlayBar.vue b/src/renderer/components/player/PlayBar.vue index 944b1f6..632d1ee 100644 --- a/src/renderer/components/player/PlayBar.vue +++ b/src/renderer/components/player/PlayBar.vue @@ -151,6 +151,16 @@ {{ t('player.playBar.reparse') }} + + + {{ isDownloading ? t('songItem.message.downloading') : t('player.playBar.download') }} + @@ -189,6 +199,7 @@ import { textColors } from '@/hooks/MusicHook'; import { useArtist } from '@/hooks/useArtist'; +import { useDownload } from '@/hooks/useDownload'; import { useFavorite } from '@/hooks/useFavorite'; import { usePlaybackControl } from '@/hooks/usePlaybackControl'; import { usePlayMode } from '@/hooks/usePlayMode'; @@ -217,6 +228,13 @@ const { // 收藏 const { isFavorite, toggleFavorite } = useFavorite(); +// 下载 +const { downloadMusic, isDownloading } = useDownload(); +const handleDownload = () => { + if (!playMusic.value || isDownloading.value) return; + downloadMusic(playMusic.value); +}; + // 播放模式 const { playMode, playModeIcon, playModeText, togglePlayMode } = usePlayMode();