'use client' import { useState } from 'react' import { TaobaoDetailSummary } from '@/lib/taobao-detail-plus' import { exportTaobaoImagesToExcel } from '@/lib/excel-export' interface TaobaoImageGalleryModalProps { isOpen: boolean onClose: () => void result: TaobaoDetailSummary } export default function TaobaoImageGalleryModal({ isOpen, onClose, result }: TaobaoImageGalleryModalProps) { const [isExporting, setIsExporting] = useState(false) if (!isOpen) return null const handleExport = async () => { try { setIsExporting(true) const groups = [ { name: '主图', urls: result.allItemImages }, { name: 'SKU图', urls: result.skuImages }, { name: '详情图', urls: result.descImages } ] await exportTaobaoImagesToExcel(result.title, result.itemId, groups) } catch (error) { console.error('导出失败:', error) alert('导出失败,请重试') } finally { setIsExporting(false) } } const ImageSection = ({ title, images }: { title: string; images: string[] }) => { if (!images || images.length === 0) return null return (

{title} {images.length} 张

{images.map((url, index) => (
{/* eslint-disable-next-line @next/next/no-img-element */} {`${title}-${index}`}
))}
) } return (
{/* Backdrop */}
{/* Modal Content */}
{/* Header */}

{result.title}

商品ID: {result.itemId} · 获取全量图片预览

{/* Content */}
{(!result.allItemImages?.length && !result.skuImages?.length && !result.descImages?.length) && (

未发现可展示的图片

)}
) }