修复即将上映获取失败错误缓存
This commit is contained in:
+14
-4
@@ -137,12 +137,19 @@ 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
|
||||||
|
? moviesResult.list
|
||||||
.filter((movie) => {
|
.filter((movie) => {
|
||||||
// 只保留未来上映的电影
|
// 只保留未来上映的电影
|
||||||
return movie.release_date && movie.release_date >= todayStr;
|
return movie.release_date && movie.release_date >= todayStr;
|
||||||
@@ -155,10 +162,12 @@ export async function getTMDBUpcomingContent(
|
|||||||
overview: movie.overview,
|
overview: movie.overview,
|
||||||
vote_average: movie.vote_average,
|
vote_average: movie.vote_average,
|
||||||
media_type: 'movie' as const,
|
media_type: 'movie' as const,
|
||||||
}));
|
}))
|
||||||
|
: [];
|
||||||
|
|
||||||
// 转换电视剧数据为统一格式,并过滤掉已播出的
|
// 转换电视剧数据为统一格式,并过滤掉已播出的
|
||||||
const tvShows: TMDBItem[] = tvShowsResult.list
|
const tvShows: TMDBItem[] = tvShowsResult.code === 200
|
||||||
|
? tvShowsResult.list
|
||||||
.filter((tv) => {
|
.filter((tv) => {
|
||||||
// 只保留未来播出的电视剧
|
// 只保留未来播出的电视剧
|
||||||
return tv.first_air_date && tv.first_air_date >= todayStr;
|
return tv.first_air_date && tv.first_air_date >= todayStr;
|
||||||
@@ -171,7 +180,8 @@ export async function getTMDBUpcomingContent(
|
|||||||
overview: tv.overview,
|
overview: tv.overview,
|
||||||
vote_average: tv.vote_average,
|
vote_average: tv.vote_average,
|
||||||
media_type: 'tv' as const,
|
media_type: 'tv' as const,
|
||||||
}));
|
}))
|
||||||
|
: [];
|
||||||
|
|
||||||
// 合并并返回
|
// 合并并返回
|
||||||
const allContent = [...movies, ...tvShows];
|
const allContent = [...movies, ...tvShows];
|
||||||
|
|||||||
Reference in New Issue
Block a user