From 20fcd699f273e89fa0923cc4c91bc51b8d62db64 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Sun, 9 Aug 2026 10:54:05 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=BD=B1=E8=A7=86=E8=AF=86=E5=88=AB?= =?UTF-8?q?=E7=BB=93=E6=9E=9C=E5=8D=A1=E7=89=87=E4=B8=8D=E5=86=8D=E6=B8=B2?= =?UTF-8?q?=E6=9F=93=E9=9F=B3=E4=B9=90=E4=B8=93=E5=B1=9E=E6=A0=87=E7=AD=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 音乐标签(艺术家、专辑、发行日期、风格、时长等)增加 isMusic 保护, 避免电影/电视剧识别结果的 genres/release_date 等字段被误展示; 补充影视场景的回归测试。 --- src/components/cards/MediaInfoCard.vue | 34 +++++++++++++------ .../cards/__tests__/MediaInfoCard.spec.ts | 26 ++++++++++++++ 2 files changed, 49 insertions(+), 11 deletions(-) diff --git a/src/components/cards/MediaInfoCard.vue b/src/components/cards/MediaInfoCard.vue index 71431542..5fc3d400 100644 --- a/src/components/cards/MediaInfoCard.vue +++ b/src/components/cards/MediaInfoCard.vue @@ -127,16 +127,24 @@ function openMusicDetail() { {{ context?.media_info?.music_type }} - + {{ context?.media_info?.artist }} - + {{ context?.media_info?.album }} @@ -144,7 +152,7 @@ function openMusicDetail() { @@ -152,7 +160,7 @@ function openMusicDetail() { {{ context?.meta_info?.audio_format }} @@ -176,7 +184,7 @@ function openMusicDetail() { @@ -184,19 +192,23 @@ function openMusicDetail() { {{ `曲目 ${context?.media_info?.track_number}${context?.media_info?.total_tracks ? ` / ${context?.media_info?.total_tracks}` : ''}` }} - + {{ context?.media_info?.isrc }} { expect(screen.getByText('晴天')).toBeInTheDocument() expect(screen.queryByText('识别失败,无法识别到有效信息!')).not.toBeInTheDocument() }) + + it('does not render music tags for movie contexts', async () => { + await renderWithProviders(MediaInfoCard, { + props: { + context: { + meta_info: { + name: '流浪地球', + type: '电影', + }, + media_info: { + title: '流浪地球', + type: '电影', + release_date: '2019-02-05', + genres: ['科幻', '冒险'], + year: 2019, + }, + }, + }, + }) + + // 影视结果不应出现音乐专属标签:日期、风格、艺术家等 + expect(screen.getByText('流浪地球')).toBeInTheDocument() + expect(screen.queryByText('2019-02-05')).not.toBeInTheDocument() + expect(screen.queryByText('科幻')).not.toBeInTheDocument() + expect(screen.queryByText('冒险')).not.toBeInTheDocument() + }) })