From c2b21f7e231da3b12d9ad9b62774c89bfa8521de Mon Sep 17 00:00:00 2001 From: jxxghp Date: Mon, 24 Aug 2026 22:31:34 +0800 Subject: [PATCH] fix(discover): default music chart to albums --- src/views/discover/MusicView.vue | 4 ++-- src/views/discover/__tests__/MusicView.spec.ts | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/views/discover/MusicView.vue b/src/views/discover/MusicView.vue index e6dcb305..73c1d163 100644 --- a/src/views/discover/MusicView.vue +++ b/src/views/discover/MusicView.vue @@ -7,8 +7,8 @@ const { t } = useI18n() // 探索模式:对齐 ListenBrainz 官方的热门统计与新发行两个入口 const mode = ref<'chart' | 'fresh'>('chart') -// 热门榜单实体:官方统计页面的热门单曲与热门专辑 -const entity = ref('recording') +// 专辑榜更适合作为探索首屏,避免同一热门专辑的单曲重复占据多个卡片 +const entity = ref('album') // 热门榜单周期,取值与官方统计页面一致 const rangeName = ref('this_month') diff --git a/src/views/discover/__tests__/MusicView.spec.ts b/src/views/discover/__tests__/MusicView.spec.ts index b02d1836..fdb6b243 100644 --- a/src/views/discover/__tests__/MusicView.spec.ts +++ b/src/views/discover/__tests__/MusicView.spec.ts @@ -18,14 +18,14 @@ function renderMusicView() { } describe('MusicView', () => { - it('defaults to the sitewide top tracks chart of the current month', async () => { + it('defaults to the sitewide top albums chart of the current month', async () => { await renderMusicView() const params = screen.getByTestId('music-params') expect(params).toHaveTextContent('"media_source":"musicbrainz"') expect(params).not.toHaveTextContent('"source"') expect(params).toHaveTextContent('"mode":"chart"') - expect(params).toHaveTextContent('"entity":"recording"') + expect(params).toHaveTextContent('"entity":"album"') expect(params).toHaveTextContent('"range_name":"this_month"') expect(params).toHaveTextContent('"sort_by":"listen_count.desc"') }) @@ -34,13 +34,13 @@ describe('MusicView', () => { const user = userEvent.setup() await renderMusicView() - await user.click(screen.getByText('热门专辑')) + await user.click(screen.getByText('热门单曲')) await user.click(screen.getByText('过去一季')) await user.click(screen.getByText('收听最少')) await user.click(screen.getByText('仅有封面')) const params = screen.getByTestId('music-params') - expect(params).toHaveTextContent('"entity":"album"') + expect(params).toHaveTextContent('"entity":"recording"') expect(params).toHaveTextContent('"range_name":"quarter"') expect(params).toHaveTextContent('"sort_by":"listen_count.asc"') expect(params).toHaveTextContent('"with_cover":true')