// 引入 React 核心库,用于构建组件 import * as React from "react"; // 引入 Embla Carousel 的自动播放插件,实现轮播图自动切换 import Autoplay from "embla-carousel-autoplay"; // 引入自定义 UI 组件:Card 和 CardContent(通常用于内容容器封装) import { Card, CardContent } from "@/ui/card"; // 引入自定义轮播组件及其核心子组件 // 注意:这里没有使用 CarouselNext/Previous,说明该轮播为纯自动播放、无手动导航按钮 import { Carousel, CarouselContent, CarouselItem, } from "@/ui/carousel"; // 定义轮播图中要展示的图片资源路径数组 // 包含轮播主图(carousel-*.jpg)以及额外的静态资源(如 book1.png、header.png 等) const imageUrls = [ "/images/carousel-1.jpg", "/images/carousel-2.jpg", "/images/carousel-3.jpg", "/images/carousel-4.jpg", "/images/carousel-5.jpg", "/images/carousel-6.jpg", "/images/book1.png", // 可能是书籍封面 "/images/header.png", // 可能是顶部 Banner 图 "/images/jcdt.png", // 可能是“基层动态”等模块图标 ]; // 导出名为 AutoCarouselDemo 的函数式组件 export function AutoCarouselDemo() { return ( // 外层容器:相对定位,水平居中,上下留有足够间距(mt-30 ≈ 120px, mb-20 ≈ 80px)
{/* 轮播主组件 */} {/* 轮播内容区域:添加 gap-4 实现卡片间 1rem(16px)间距 */} {/* 遍历所有图片 URL,为每张图生成一个轮播项 */} {imageUrls.map((src, index) => ( {/* 卡片外层:添加内边距、悬停缩放动效、鼠标指针样式 */}
{/* 图片容器:固定高度 h-120(即 30rem = 480px),隐藏溢出内容 */}
{/* 使用 CardContent 包裹图片,确保与 UI 系统一致 */} {/* p-0 移除默认内边距 */} {/* 实际图片元素 */} {`Slide
))}
{/* 注:此处未渲染 CarouselPrevious / CarouselNext,说明不提供手动左右箭头 */} {/* 如需添加,可在此处插入: */}
); }