提交 | 用户 | 时间
|
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> |