From 1d3b065af6f74f8315e0f6a48cc8b700c17383c3 Mon Sep 17 00:00:00 2001 From: alger Date: Wed, 4 Feb 2026 20:16:07 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E8=B0=83=E6=95=B4=E5=BA=94?= =?UTF-8?q?=E7=94=A8=E5=B8=83=E5=B1=80=E4=B8=8E=E6=A0=87=E9=A2=98=E6=A0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/App.vue | 5 + src/renderer/layout/AppLayout.vue | 10 -- src/renderer/layout/components/SearchBar.vue | 44 ++++++- src/renderer/layout/components/TitleBar.vue | 119 ++++++++++++++----- 4 files changed, 134 insertions(+), 44 deletions(-) diff --git a/src/renderer/App.vue b/src/renderer/App.vue index e07e82a..9fde7eb 100644 --- a/src/renderer/App.vue +++ b/src/renderer/App.vue @@ -22,6 +22,7 @@ import { useRouter } from 'vue-router'; import DisclaimerModal from '@/components/common/DisclaimerModal.vue'; import TrafficWarningDrawer from '@/components/TrafficWarningDrawer.vue'; import { usePlayerStore } from '@/store/modules/player'; +import { usePlayerCoreStore } from '@/store/modules/playerCore'; import { useSettingsStore } from '@/store/modules/settings'; import { useUserStore } from '@/store/modules/user'; import { isElectron, isLyricWindow } from '@/utils'; @@ -36,6 +37,7 @@ import { useAppShortcuts } from './utils/appShortcuts'; const { locale } = useI18n(); const settingsStore = useSettingsStore(); const playerStore = usePlayerStore(); +const playerCoreStore = usePlayerCoreStore(); const userStore = useUserStore(); const router = useRouter(); @@ -128,6 +130,9 @@ onMounted(async () => { // 初始化播放状态 await playerStore.initializePlayState(); + // 初始化音频设备变化监听器 + playerCoreStore.initAudioDeviceListener(); + // 初始化落雪音源(如果有激活的音源) const activeLxApiId = settingsStore.setData?.activeLxMusicApiId; if (activeLxApiId) { diff --git a/src/renderer/layout/AppLayout.vue b/src/renderer/layout/AppLayout.vue index 5d0057c..8b7f895 100644 --- a/src/renderer/layout/AppLayout.vue +++ b/src/renderer/layout/AppLayout.vue @@ -50,15 +50,6 @@ - - @@ -68,7 +59,6 @@ import { computed, defineAsyncComponent, onMounted, provide, ref } from 'vue'; import { useRoute } from 'vue-router'; -import DownloadDrawer from '@/components/common/DownloadDrawer.vue'; import PlayBottom from '@/components/common/PlayBottom.vue'; import UpdateModal from '@/components/common/UpdateModal.vue'; import SleepTimerTop from '@/components/player/SleepTimerTop.vue'; diff --git a/src/renderer/layout/components/SearchBar.vue b/src/renderer/layout/components/SearchBar.vue index ba51d96..4b775a3 100644 --- a/src/renderer/layout/components/SearchBar.vue +++ b/src/renderer/layout/components/SearchBar.vue @@ -62,6 +62,11 @@ +
+ + + +