修复即将上映获取失败错误缓存

This commit is contained in:
mtvpls
2025-12-15 21:56:01 +08:00
parent ef5c2cde00
commit fb181d86f2
+38 -28
View File
@@ -137,41 +137,51 @@ export async function getTMDBUpcomingContent(
getTMDBUpcomingTVShows(apiKey), getTMDBUpcomingTVShows(apiKey),
]); ]);
// 检查是否有错误
if (moviesResult.code !== 200 && tvShowsResult.code !== 200) {
// 两个请求都失败,返回错误
return { code: moviesResult.code, list: [] };
}
// 获取今天的日期(本地时区) // 获取今天的日期(本地时区)
const today = new Date(); const today = new Date();
const todayStr = `${today.getFullYear()}-${String(today.getMonth() + 1).padStart(2, '0')}-${String(today.getDate()).padStart(2, '0')}`; const todayStr = `${today.getFullYear()}-${String(today.getMonth() + 1).padStart(2, '0')}-${String(today.getDate()).padStart(2, '0')}`;
// 转换电影数据为统一格式,并过滤掉已上映的 // 转换电影数据为统一格式,并过滤掉已上映的
const movies: TMDBItem[] = moviesResult.list const movies: TMDBItem[] = moviesResult.code === 200
.filter((movie) => { ? moviesResult.list
// 只保留未来上映的电影 .filter((movie) => {
return movie.release_date && movie.release_date >= todayStr; // 只保留未来上映的电影
}) return movie.release_date && movie.release_date >= todayStr;
.map((movie) => ({ })
id: movie.id, .map((movie) => ({
title: movie.title, id: movie.id,
poster_path: movie.poster_path, title: movie.title,
release_date: movie.release_date, poster_path: movie.poster_path,
overview: movie.overview, release_date: movie.release_date,
vote_average: movie.vote_average, overview: movie.overview,
media_type: 'movie' as const, vote_average: movie.vote_average,
})); media_type: 'movie' as const,
}))
: [];
// 转换电视剧数据为统一格式,并过滤掉已播出的 // 转换电视剧数据为统一格式,并过滤掉已播出的
const tvShows: TMDBItem[] = tvShowsResult.list const tvShows: TMDBItem[] = tvShowsResult.code === 200
.filter((tv) => { ? tvShowsResult.list
// 只保留未来播出的电视剧 .filter((tv) => {
return tv.first_air_date && tv.first_air_date >= todayStr; // 只保留未来播出的电视剧
}) return tv.first_air_date && tv.first_air_date >= todayStr;
.map((tv) => ({ })
id: tv.id, .map((tv) => ({
title: tv.name, id: tv.id,
poster_path: tv.poster_path, title: tv.name,
release_date: tv.first_air_date, poster_path: tv.poster_path,
overview: tv.overview, release_date: tv.first_air_date,
vote_average: tv.vote_average, overview: tv.overview,
media_type: 'tv' as const, vote_average: tv.vote_average,
})); media_type: 'tv' as const,
}))
: [];
// 合并并返回 // 合并并返回
const allContent = [...movies, ...tvShows]; const allContent = [...movies, ...tvShows];