From 03b80d643442b8d7f1871162e9dd4d63ed8e4743 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Mon, 29 Jun 2026 21:20:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20PlayingBackdropCard=20?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E5=B9=B6=E6=9B=B4=E6=96=B0=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E8=A7=86=E5=9B=BE=EF=BC=8C=E4=BC=98=E5=8C=96=E5=AA=92=E4=BD=93?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E5=99=A8=E8=AE=BE=E7=BD=AE=E5=92=8C=E6=92=AD?= =?UTF-8?q?=E6=94=BE=E5=88=97=E8=A1=A8=E7=9A=84=E5=8A=A0=E8=BD=BD=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/agent/AgentAssistantPanel.vue | 1 + src/components/cards/PlayingBackdropCard.vue | 412 +++++++++++++++++++ src/components/dialog/SearchBarDialog.vue | 1 + src/views/dashboard/MediaServerLatest.vue | 19 +- src/views/dashboard/MediaServerLibrary.vue | 19 +- src/views/dashboard/MediaServerPlaying.vue | 25 +- 6 files changed, 462 insertions(+), 15 deletions(-) create mode 100644 src/components/cards/PlayingBackdropCard.vue diff --git a/src/components/agent/AgentAssistantPanel.vue b/src/components/agent/AgentAssistantPanel.vue index 22c6c2b4..32ffaf5e 100644 --- a/src/components/agent/AgentAssistantPanel.vue +++ b/src/components/agent/AgentAssistantPanel.vue @@ -2666,6 +2666,7 @@ onScopeDispose(() => { -ms-overflow-style: none; overflow-y: auto; overscroll-behavior: contain; + overscroll-behavior-y: contain; padding-block: 1rem; padding-inline: 1rem; scroll-behavior: auto; diff --git a/src/components/cards/PlayingBackdropCard.vue b/src/components/cards/PlayingBackdropCard.vue new file mode 100644 index 00000000..eaa725ea --- /dev/null +++ b/src/components/cards/PlayingBackdropCard.vue @@ -0,0 +1,412 @@ + + + + + diff --git a/src/components/dialog/SearchBarDialog.vue b/src/components/dialog/SearchBarDialog.vue index 956a777c..02b3ab3d 100644 --- a/src/components/dialog/SearchBarDialog.vue +++ b/src/components/dialog/SearchBarDialog.vue @@ -895,6 +895,7 @@ html[data-theme='transparent'] .search-desktop-activator .search-input-wrapper, .search-content { max-block-size: 600px; min-block-size: 150px; + overscroll-behavior-y: contain; overflow-y: auto; } diff --git a/src/views/dashboard/MediaServerLatest.vue b/src/views/dashboard/MediaServerLatest.vue index 874aca73..e1046710 100644 --- a/src/views/dashboard/MediaServerLatest.vue +++ b/src/views/dashboard/MediaServerLatest.vue @@ -14,7 +14,9 @@ const latestList = ref<{ [key: string]: MediaServerPlayItem[] }>({}) // 所有媒体服务器设置 const mediaServers = ref([]) -// 调用API查询媒体服务器设置 +/** + * 查询媒体服务器设置。 + */ async function loadMediaServerSetting() { try { const response: { data: { value: MediaServerConf[] } } = await api.get('system/setting/MediaServers') @@ -24,7 +26,10 @@ async function loadMediaServerSetting() { } } -// 调用API查询最近入库 +/** + * 查询指定媒体服务器的最近入库列表。 + * @param server 媒体服务器名称 + */ async function loadLatest(server: string) { try { const response: MediaServerPlayItem[] = await api.get('mediaserver/latest', { params: { server } }) @@ -37,7 +42,9 @@ async function loadLatest(server: string) { } } -// 加载数据 +/** + * 加载已启用媒体服务器的最近入库数据。 + */ async function loadData() { await loadMediaServerSetting() const enabledServers = mediaServers.value.filter(server => server.enabled) @@ -58,7 +65,7 @@ onActivated(() => {