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();