豆瓣数据源增加备用源
This commit is contained in:
@@ -7,7 +7,8 @@ import { useCallback, useEffect, useRef,useState } from 'react';
|
||||
|
||||
import { type TMDBItem,getGenreNames, getTMDBImageUrl } from '@/lib/tmdb.client';
|
||||
import { getDoubanDetail } from '@/lib/douban.client';
|
||||
import { processImageUrl } from '@/lib/utils';
|
||||
|
||||
import ProxyImage from '@/components/ProxyImage';
|
||||
|
||||
interface BannerCarouselProps {
|
||||
autoPlayInterval?: number; // 自动播放间隔(毫秒)
|
||||
@@ -67,15 +68,15 @@ export default function BannerCarousel({ autoPlayInterval = 5000, delayLoad = fa
|
||||
}
|
||||
};
|
||||
|
||||
// 获取图片URL(处理TX完整URL和TMDB路径)
|
||||
// 获取图片原始URL(处理TX完整URL和TMDB路径)
|
||||
const getImageUrl = (path: string | null) => {
|
||||
if (!path) return '';
|
||||
// 如果是完整URL(TX数据源或豆瓣),使用processImageUrl统一处理
|
||||
// 如果是完整URL(TX数据源或豆瓣),直接返回原始地址
|
||||
if (path.startsWith('http://') || path.startsWith('https://')) {
|
||||
return processImageUrl(path);
|
||||
return path;
|
||||
}
|
||||
// 否则使用TMDB的URL拼接,并通过processImageUrl处理
|
||||
return processImageUrl(getTMDBImageUrl(path, 'original'));
|
||||
// 否则使用TMDB的URL拼接原始地址
|
||||
return getTMDBImageUrl(path, 'original');
|
||||
};
|
||||
|
||||
// 获取视频URL(处理豆瓣视频代理)
|
||||
@@ -454,13 +455,11 @@ export default function BannerCarousel({ autoPlayInterval = 5000, delayLoad = fa
|
||||
</div>
|
||||
) : (
|
||||
/* 显示图片 */
|
||||
<Image
|
||||
src={getImageUrl(item.backdrop_path || item.poster_path)}
|
||||
<ProxyImage
|
||||
originalSrc={getImageUrl(item.backdrop_path || item.poster_path)}
|
||||
alt={item.title}
|
||||
fill
|
||||
className="object-cover"
|
||||
priority={index === 0}
|
||||
sizes="100vw"
|
||||
className="absolute inset-0 w-full h-full object-cover"
|
||||
loading={index === 0 ? 'eager' : 'lazy'}
|
||||
/>
|
||||
)}
|
||||
{/* 渐变遮罩 */}
|
||||
|
||||
Reference in New Issue
Block a user