fix: apply TMDB proxy configuration

This commit is contained in:
ngfchl
2026-07-18 11:18:38 +08:00
parent c37fbe9e7f
commit 430ab83870
2 changed files with 26 additions and 5 deletions
+6 -1
View File
@@ -537,7 +537,12 @@ class _MediaLibraryPageState extends ConsumerState<MediaLibraryPage> {
try {
final api = ref.read(authProvider.notifier).api;
final result = await api.tmdbSearch(text, apiKey: _tmdbApiKey);
final result = await api.tmdbSearch(
text,
apiKey: _tmdbApiKey,
proxyHost: StorageManager.get<String>(StorageKeys.tmdbProxyHost) ?? '',
proxyPort: StorageManager.get<String>(StorageKeys.tmdbProxyPort) ?? '',
);
final results =
(result['results'] as List?)
?.whereType<Map>()
+20 -4
View File
@@ -205,10 +205,19 @@ class MediaLibraryNotifier extends StateNotifier<MediaLibraryState> {
final unique = <String, MediaLibraryItem>{};
final tmdbApiKey =
StorageManager.get<String>(StorageKeys.tmdbApiKey) ?? '';
final tmdbProxyHost =
StorageManager.get<String>(StorageKeys.tmdbProxyHost) ?? '';
final tmdbProxyPort =
StorageManager.get<String>(StorageKeys.tmdbProxyPort) ?? '';
for (final file in discovered) {
if (_cancelScan) break;
final fallback = MediaLibraryItem.fromFile(library.id, file);
unique[file.id] = await _recognizeMediaItem(fallback, tmdbApiKey);
unique[file.id] = await _recognizeMediaItem(
fallback,
tmdbApiKey,
proxyHost: tmdbProxyHost,
proxyPort: tmdbProxyPort,
);
state = state.copyWith(
progress: MediaLibraryScanProgress(
phase: tmdbApiKey.isEmpty ? '正在建立本地索引' : '正在识别 ${file.name}',
@@ -277,11 +286,18 @@ class MediaLibraryNotifier extends StateNotifier<MediaLibraryState> {
Future<MediaLibraryItem> _recognizeMediaItem(
MediaLibraryItem fallback,
String apiKey,
) async {
String apiKey, {
required String proxyHost,
required String proxyPort,
}) async {
if (_api == null || apiKey.trim().isEmpty) return fallback;
try {
final result = await _api!.tmdbSearch(fallback.title, apiKey: apiKey);
final result = await _api!.tmdbSearch(
fallback.title,
apiKey: apiKey,
proxyHost: proxyHost,
proxyPort: proxyPort,
);
final values = result['results'];
if (values is! List) return fallback;
Map<String, dynamic>? candidate;