diff --git a/frontend/app/analysis/results/page.tsx b/frontend/app/analysis/results/page.tsx index e557c05e..21f8a712 100644 --- a/frontend/app/analysis/results/page.tsx +++ b/frontend/app/analysis/results/page.tsx @@ -151,17 +151,6 @@ export default function AnalysisResultsPage() { - {/* Download Reports Section */} - {taskId && analysisResult.reports && ( - - )} - {/* 分析師選擇 Tabs */} @@ -219,6 +208,17 @@ export default function AnalysisResultsPage() { ))} + + {/* Download Reports Section - 放在分析報告下方 */} + {taskId && analysisResult.reports && ( + + )} ); diff --git a/frontend/components/analysis/DownloadReports.tsx b/frontend/components/analysis/DownloadReports.tsx index 40153df0..00272d27 100644 --- a/frontend/components/analysis/DownloadReports.tsx +++ b/frontend/components/analysis/DownloadReports.tsx @@ -73,7 +73,7 @@ export function DownloadReports({ setIsDownloading(true); try { - const response = await fetch(`${process.env.NEXT_PUBLIC_API_URL || 'http://localhost:8000'}/api/download/reports`, { + const response = await fetch('/api/download/reports', { method: 'POST', headers: { 'Content-Type': 'application/json', @@ -87,7 +87,9 @@ export function DownloadReports({ }); if (!response.ok) { - throw new Error('Download failed'); + const errorData = await response.json().catch(() => ({})); + const errorMessage = errorData.detail || `下載失敗 (${response.status})`; + throw new Error(errorMessage); } // Get the blob @@ -117,9 +119,9 @@ export function DownloadReports({ // Cleanup document.body.removeChild(link); window.URL.revokeObjectURL(url); - } catch (error) { + } catch (error: any) { console.error('Download error:', error); - alert('下載失敗,請稍後再試'); + alert(error.message || '下載失敗,請稍後再試'); } finally { setIsDownloading(false); }