From 0644109d7db0c3d8f1762fe60dac881b8914a314 Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Mon, 13 May 2024 19:03:20 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E4=BB=AA=E8=A1=A8=E6=9D=BF):=20=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E8=A7=86=E9=A2=91=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/core-frontend/package.json | 1 + .../src/assets/svg/icon-video.svg | 1 + .../component-group/MediaGroup.vue | 12 +-- .../src/custom-component/component-list.ts | 18 ++++ .../src/custom-component/de-video/Attr.vue | 13 +++ .../custom-component/de-video/Component.vue | 100 ++++++++++++++++++ core/core-frontend/src/utils/components.ts | 6 +- 7 files changed, 142 insertions(+), 9 deletions(-) create mode 100644 core/core-frontend/src/assets/svg/icon-video.svg create mode 100644 core/core-frontend/src/custom-component/de-video/Attr.vue create mode 100644 core/core-frontend/src/custom-component/de-video/Component.vue diff --git a/core/core-frontend/package.json b/core/core-frontend/package.json index cd6505eb63..1a441e3112 100644 --- a/core/core-frontend/package.json +++ b/core/core-frontend/package.json @@ -50,6 +50,7 @@ "vue-router": "4.1.3", "vue-types": "^5.0.2", "vue-uuid": "^3.0.0", + "vue-video-player": "^6.0.0", "vue3-ace-editor": "^2.2.2", "vuedraggable": "^4.1.0", "web-storage-cache": "^1.1.1", diff --git a/core/core-frontend/src/assets/svg/icon-video.svg b/core/core-frontend/src/assets/svg/icon-video.svg new file mode 100644 index 0000000000..55a5e6c90d --- /dev/null +++ b/core/core-frontend/src/assets/svg/icon-video.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/core/core-frontend/src/custom-component/component-group/MediaGroup.vue b/core/core-frontend/src/custom-component/component-group/MediaGroup.vue index 883ada88c9..cb69eb8cc4 100644 --- a/core/core-frontend/src/custom-component/component-group/MediaGroup.vue +++ b/core/core-frontend/src/custom-component/component-group/MediaGroup.vue @@ -28,8 +28,8 @@ const props = defineProps({ }) const { dvModel } = toRefs(props) -const newComponent = () => { - eventBus.emit('handleNew', { componentName: 'Picture', innerType: 'Picture' }) +const newComponent = params => { + eventBus.emit('handleNew', { componentName: params, innerType: params }) } const handleDragStart = e => { @@ -42,17 +42,13 @@ const handleDragEnd = e => { diff --git a/core/core-frontend/src/custom-component/component-list.ts b/core/core-frontend/src/custom-component/component-list.ts index 0bc4240068..b68aa2ec0c 100644 --- a/core/core-frontend/src/custom-component/component-list.ts +++ b/core/core-frontend/src/custom-component/component-list.ts @@ -153,6 +153,24 @@ const list = [ }, matrixStyle: {} }, + { + component: 'DeVideo', + name: '媒体', + label: '媒体', + innerType: 'DeVideo', + editing: false, + canvasActive: false, + icon: 'icon-video', + x: 1, + y: 1, + sizeX: 36, + sizeY: 14, + style: { + width: 600, + height: 300 + }, + matrixStyle: {} + }, { component: 'DeFrame', name: '网页', diff --git a/core/core-frontend/src/custom-component/de-video/Attr.vue b/core/core-frontend/src/custom-component/de-video/Attr.vue new file mode 100644 index 0000000000..50031ca63e --- /dev/null +++ b/core/core-frontend/src/custom-component/de-video/Attr.vue @@ -0,0 +1,13 @@ + + + diff --git a/core/core-frontend/src/custom-component/de-video/Component.vue b/core/core-frontend/src/custom-component/de-video/Component.vue new file mode 100644 index 0000000000..78ae9225f9 --- /dev/null +++ b/core/core-frontend/src/custom-component/de-video/Component.vue @@ -0,0 +1,100 @@ + + + + + diff --git a/core/core-frontend/src/utils/components.ts b/core/core-frontend/src/utils/components.ts index 5abe75b2e4..a83f1d58ee 100644 --- a/core/core-frontend/src/utils/components.ts +++ b/core/core-frontend/src/utils/components.ts @@ -27,6 +27,8 @@ import GroupArea from '@/custom-component/group-area/Component.vue' import GroupAreaAttr from '@/custom-component/group-area/Attr.vue' import DeFrame from '@/custom-component/de-frame/ComponentFrame.vue' import DeFrameAttr from '@/custom-component/de-frame/Attr.vue' +import DeVideo from '@/custom-component/de-video/Component.vue' +import DeVideoAttr from '@/custom-component/de-video/Attr.vue' export const componentsMap = { VText: VText, VQuery, @@ -56,7 +58,9 @@ export const componentsMap = { GroupArea: GroupArea, GroupAreaAttr: GroupAreaAttr, DeFrame: DeFrame, - DeFrameAttr: DeFrameAttr + DeFrameAttr: DeFrameAttr, + DeVideo: DeVideo, + DeVideoAttr: DeVideoAttr } export default function findComponent(key) {