完善tmdb反代

This commit is contained in:
mtvpls
2026-01-17 21:18:19 +08:00
parent 531187b5a4
commit 6a976dd91c
18 changed files with 97 additions and 48 deletions

View File

@@ -53,8 +53,8 @@ export default function BannerCarousel({ autoPlayInterval = 5000 }: BannerCarous
if (path.startsWith('http://') || path.startsWith('https://')) {
return processImageUrl(path);
}
// 否则使用TMDB的URL拼接
return getTMDBImageUrl(path, 'original');
// 否则使用TMDB的URL拼接并通过processImageUrl处理
return processImageUrl(getTMDBImageUrl(path, 'original'));
};
// 获取视频URL处理豆瓣视频代理

View File

@@ -5,6 +5,7 @@ import Image from 'next/image';
import React, { useEffect, useState } from 'react';
import { createPortal } from 'react-dom';
import { getTMDBImageUrl } from '@/lib/tmdb.client';
import { processImageUrl } from '@/lib/utils';
interface DetailPanelProps {
isOpen: boolean;
@@ -380,7 +381,7 @@ const DetailPanel: React.FC<DetailPanelProps> = ({
? detailResult.release_date?.substring(0, 4)
: detailResult.first_air_date?.substring(0, 4),
poster: detailResult.poster_path
? getTMDBImageUrl(detailResult.poster_path, 'w500')
? processImageUrl(getTMDBImageUrl(detailResult.poster_path, 'w500'))
: poster,
rating: detailResult.vote_average
? {
@@ -488,7 +489,7 @@ const DetailPanel: React.FC<DetailPanelProps> = ({
...prev,
title: episodesData.name || season?.name || prev.title,
intro: episodesData.overview || season?.overview || prev.overview,
poster: season?.poster_path ? getTMDBImageUrl(season.poster_path, 'w500') : prev.poster,
poster: season?.poster_path ? processImageUrl(getTMDBImageUrl(season.poster_path, 'w500')) : prev.poster,
releaseDate: episodesData.air_date || season?.air_date || prev.releaseDate,
year: episodesData.air_date?.substring(0, 4) || season?.air_date?.substring(0, 4) || prev.year,
episodesCount: episodesData.episodes?.length || season?.episode_count || prev.episodesCount,
@@ -788,7 +789,7 @@ const DetailPanel: React.FC<DetailPanelProps> = ({
{season.poster_path && (
<div className="relative w-12 h-16 rounded overflow-hidden bg-gray-200 dark:bg-gray-700 flex-shrink-0">
<Image
src={getTMDBImageUrl(season.poster_path, 'w92')}
src={processImageUrl(getTMDBImageUrl(season.poster_path, 'w92'))}
alt={season.name}
fill
className="object-cover"
@@ -840,7 +841,7 @@ const DetailPanel: React.FC<DetailPanelProps> = ({
{episode.still_path && (
<div className="relative w-full h-36 rounded overflow-hidden bg-gray-200 dark:bg-gray-700 mb-2">
<Image
src={getTMDBImageUrl(episode.still_path, 'w300')}
src={processImageUrl(getTMDBImageUrl(episode.still_path, 'w300'))}
alt={episode.name}
fill
className="object-cover"