import { useState } from 'react'; import { View, Image, Swiper, SwiperItem } from '@tarojs/components'; type ProductCarouselProps = { images: string[]; alt: string; variant?: 'home' | 'detail' | 'store'; }; /** 商品/门店轮播(对齐 h5 ProductCarousel 三变体) */ export default function ProductCarousel({ images, alt, variant = 'detail' }: ProductCarouselProps) { const slides = images.length > 0 ? images : ['']; const [activeIndex, setActiveIndex] = useState(0); const prefix = variant === 'store' ? 'store-detail-carousel' : variant === 'home' ? 'home-carousel' : 'detail-carousel'; return ( 1} onChange={(e) => setActiveIndex(e.detail.current)} > {slides.map((src, index) => ( {src ? ( {alt} ) : ( )} ))} {slides.length > 1 ? ( {slides.map((_, index) => ( ))} ) : null} ); }