潘志宝
6 天以前 ca22cdd5550cfa0defb0f430c538698182cdaec1
提交 | 用户 | 时间
820397 1 import { ComponentStyle, DiyComponent } from '@/components/DiyEditor/util'
H 2
3 /** 轮播图属性 */
4 export interface CarouselProperty {
5   // 类型:默认 | 卡片
6   type: 'default' | 'card'
7   // 指示器样式:点 | 数字
8   indicator: 'dot' | 'number'
9   // 是否自动播放
10   autoplay: boolean
11   // 播放间隔
12   interval: number
13   // 轮播内容
14   items: CarouselItemProperty[]
15   // 组件样式
16   style: ComponentStyle
17 }
18 // 轮播内容属性
19 export interface CarouselItemProperty {
20   // 类型:图片 | 视频
21   type: 'img' | 'video'
22   // 图片链接
23   imgUrl: string
24   // 视频链接
25   videoUrl: string
26   // 跳转链接
27   url: string
28 }
29
30 // 定义组件
31 export const component = {
32   id: 'Carousel',
33   name: '轮播图',
34   icon: 'system-uicons:carousel',
35   property: {
36     type: 'default',
37     indicator: 'dot',
38     autoplay: false,
39     interval: 3,
40     items: [
9259c2 41       { type: 'img', imgUrl: 'https://static.iocoder.cn/mall/banner-01.jpg', videoUrl: '' },
H 42       { type: 'img', imgUrl: 'https://static.iocoder.cn/mall/banner-02.jpg', videoUrl: '' }
820397 43     ] as CarouselItemProperty[],
H 44     style: {
45       bgType: 'color',
46       bgColor: '#fff',
47       marginBottom: 8
48     } as ComponentStyle
49   }
50 } as DiyComponent<CarouselProperty>