From fd9d911583a73c97b41da57675b10eebf3797a12 Mon Sep 17 00:00:00 2001 From: mtvpls Date: Mon, 12 Jan 2026 22:56:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=AD=A3=E7=A1=AE=E6=98=BE=E7=A4=BAtmdb?= =?UTF-8?q?=E6=A0=87=E7=AD=BE=EF=BC=8C=E6=96=B0=E5=8A=A0=E8=BD=BD=E5=BC=B9?= =?UTF-8?q?=E5=B9=95=E4=BA=A6=E6=98=BE=E7=A4=BA=E5=BC=B9=E5=B9=95=E6=95=B0?= =?UTF-8?q?=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/api/tmdb-details/route.ts | 1 + src/app/play/page.tsx | 20 ++++++++++++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/app/api/tmdb-details/route.ts b/src/app/api/tmdb-details/route.ts index f82a4f6..531e4a8 100644 --- a/src/app/api/tmdb-details/route.ts +++ b/src/app/api/tmdb-details/route.ts @@ -162,6 +162,7 @@ export async function GET(request: NextRequest) { overview: details.overview || '', rating: details.vote_average ? details.vote_average.toFixed(1) : '', releaseDate: details.release_date || details.first_air_date || '', + genres: details.genres || [], // 添加类型标签 }; return NextResponse.json(responseData, { diff --git a/src/app/play/page.tsx b/src/app/play/page.tsx index c2fb11a..440d170 100644 --- a/src/app/play/page.tsx +++ b/src/app/play/page.tsx @@ -1093,8 +1093,12 @@ function PlayPageClient() { setDoubanYear(year); } - // 设置card_subtitle(使用mediaType和年份) - if (tmdbData.mediaType && tmdbData.releaseDate) { + // 设置card_subtitle(优先使用genres标签,否则使用年份和类型) + if (tmdbData.genres && Array.isArray(tmdbData.genres) && tmdbData.genres.length > 0) { + const genreNames = tmdbData.genres.map((g: any) => g.name).join(' / '); + setDoubanCardSubtitle(genreNames); + } else if (tmdbData.mediaType && tmdbData.releaseDate) { + // 兜底:如果没有genres,使用年份和类型 const year = tmdbData.releaseDate.split('-')[0]; const typeText = tmdbData.mediaType === 'movie' ? '电影' : '电视剧'; setDoubanCardSubtitle(`${year} / ${typeText}`); @@ -3348,6 +3352,18 @@ function PlayPageClient() { setDanmakuCount(danmakuData.length); console.log(`弹幕加载成功,共 ${danmakuData.length} 条`); + // 更新当前选择状态,包含弹幕数量 + if (metadata) { + setCurrentDanmakuSelection({ + animeId: metadata.animeId || 0, + episodeId: episodeId, + animeTitle: metadata.animeTitle || '', + episodeTitle: metadata.episodeTitle || '', + searchKeyword: metadata.searchKeyword, + danmakuCount: danmakuData.length, + }); + } + // 延迟一下让用户看到弹幕数量 await new Promise((resolve) => setTimeout(resolve, 1500)); } catch (error) {