diff --git a/src/components/editor/blocks/font/option.vue b/src/components/editor/blocks/font/option.vue index 6af3eb1..b549b65 100644 --- a/src/components/editor/blocks/font/option.vue +++ b/src/components/editor/blocks/font/option.vue @@ -6,21 +6,21 @@ - +
- + - +
- +
- +
diff --git a/src/components/editor/blocks/image/index.ts b/src/components/editor/blocks/image/index.ts new file mode 100644 index 0000000..1020d8e --- /dev/null +++ b/src/components/editor/blocks/image/index.ts @@ -0,0 +1,35 @@ +import { defineBlocker } from '../../core'; +import { Image } from './interface'; +import Option from './option.vue'; +import Render from './render.vue'; + +export default defineBlocker({ + type: 'image', + icon: 'icon-park-outline-pic', + title: '图片组件', + description: '文字', + render: Render, + option: Option, + initial: { + id: '', + type: 'image', + title: '', + x: 0, + y: 0, + w: 300, + h: 100, + xFixed: false, + yFixed: false, + bgImage: '', + bgColor: '', + meta: {}, + actived: false, + resizable: true, + draggable: true, + params: { + fit: 'cover', + switchTime: 500, + images: [], + }, + }, +}); diff --git a/src/components/editor/blocks/image/interface.ts b/src/components/editor/blocks/image/interface.ts new file mode 100644 index 0000000..e3ce503 --- /dev/null +++ b/src/components/editor/blocks/image/interface.ts @@ -0,0 +1,33 @@ +import { Block } from '../../core'; + +export interface ImagePramsImage { + id: any; + title: string; + url: string; +} + +export interface ImagePrams { + fit: 'cover' | 'contain'; + switchTime: number; + images: ImagePramsImage[]; +} + +/** + * 图片组件 + */ +export type Image = Block; + +export const fitOptions = [ + { + label: '保持比例,适应容器', + value: 'contain', + }, + { + label: '保持比例,占满容器', + value: 'cover', + }, + { + label: '拉伸比例,占满容器', + value: '100% 100%', + }, +]; diff --git a/src/components/editor/blocks/image/option.vue b/src/components/editor/blocks/image/option.vue new file mode 100644 index 0000000..8302f76 --- /dev/null +++ b/src/components/editor/blocks/image/option.vue @@ -0,0 +1,89 @@ + + + + + +../components/font ../font diff --git a/src/components/editor/blocks/image/render.vue b/src/components/editor/blocks/image/render.vue new file mode 100644 index 0000000..f5f5049 --- /dev/null +++ b/src/components/editor/blocks/image/render.vue @@ -0,0 +1,29 @@ + + + + + +../components/font../font diff --git a/src/components/editor/blocks/time/option.vue b/src/components/editor/blocks/time/option.vue index 1481504..7d44ae0 100644 --- a/src/components/editor/blocks/time/option.vue +++ b/src/components/editor/blocks/time/option.vue @@ -13,9 +13,12 @@ @@ -25,9 +28,9 @@ @@ -39,4 +42,4 @@ const model = defineModel