From 463134612b2d04ee717e74ff6fe5960f9a2a4368 Mon Sep 17 00:00:00 2001 From: zhangyh Date: Wed, 12 Nov 2025 16:33:17 +0800 Subject: [PATCH 1/3] =?UTF-8?q?feat:=20toProduct=E6=9C=AA=E8=BE=93?= =?UTF-8?q?=E5=85=A5=E6=8F=90=E7=A4=BA=E8=AF=8D=E6=97=B6=E4=B8=8D=E5=8F=AF?= =?UTF-8?q?=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/component/home/tools/toProduct/index.vue | 5 +++++ src/lang/cn.ts | 7 ++++--- src/lang/en.ts | 3 ++- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/component/home/tools/toProduct/index.vue b/src/component/home/tools/toProduct/index.vue index 179c6f68..a9bbc011 100644 --- a/src/component/home/tools/toProduct/index.vue +++ b/src/component/home/tools/toProduct/index.vue @@ -720,6 +720,11 @@ export default defineComponent({ let remPrductimgTime: any = null let prductimgTime: any = null let getPrductimg = () => { + // 未输入prompt时不可生成 + if (!productImgData.searchName[props.productimgMenu.value]) { + message.info(t('ProductImg.noPrompt')) + return + } if (productImgData.isProductimg) return clearInterval(remPrductimgTime) let selectArr: any = [] diff --git a/src/lang/cn.ts b/src/lang/cn.ts index 3559564a..607dffe8 100644 --- a/src/lang/cn.ts +++ b/src/lang/cn.ts @@ -284,7 +284,8 @@ export default { PromptAssit: '提示词助手', AssitSubTitle: '您可以复制并使用以下提示词:', CopySuccess: '已复制到剪贴板', - CopyFiled: '复制失败' + CopyFiled: '复制失败', + noPrompt:'请输入提示词' }, poseTransfer: { SelectDesign: '产品图', @@ -1224,7 +1225,7 @@ export default { basic: '基础', flipHorizontal: '水平翻转', flipVertical: '垂直翻转', - group: '组合', + group: '组合', //长毛笔 FurSettings: '长毛笔设置', FurLength: '毛发长度', @@ -1367,7 +1368,7 @@ export default { liquefactionEnvironment: '准备液化环境', liquefactionEnvironmentLoading: '正在准备液化环境,请稍候...', LiqueficationFailed: '液化工具启动失败', - TextLayer: '文本图层', + TextLayer: '文本图层', DoubleClickText: '双击编辑文本', LiquidationcuoError: '未选择有效图像或图层不适合液化操作', ErrorMessage: '错误提示', diff --git a/src/lang/en.ts b/src/lang/en.ts index 2a34aed6..bb81c9e0 100644 --- a/src/lang/en.ts +++ b/src/lang/en.ts @@ -294,7 +294,8 @@ export default { PromptAssit: 'Prompt Assist', AssitSubTitle: 'You can copy following prompt and try:', CopySuccess: 'Copied to clipboard', - CopyFiled: 'Failed to copy' + CopyFiled: 'Failed to copy', + noPrompt:'Please enter prompt' }, poseTransfer: { SelectDesign: 'Product image', From 068078ea83b4025e2e7ef595d8a816e2f7488e5d Mon Sep 17 00:00:00 2001 From: zhangyh Date: Wed, 12 Nov 2025 17:19:21 +0800 Subject: [PATCH 2/3] =?UTF-8?q?feat:=20=E6=92=AD=E6=94=BE=E6=8C=89?= =?UTF-8?q?=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/icons/CPlay.svg | 7 +--- .../home/tools/poseTransfer/index.vue | 41 ++++++++++++++++++- 2 files changed, 41 insertions(+), 7 deletions(-) diff --git a/src/assets/icons/CPlay.svg b/src/assets/icons/CPlay.svg index 4deb03af..a200e02d 100644 --- a/src/assets/icons/CPlay.svg +++ b/src/assets/icons/CPlay.svg @@ -1,6 +1 @@ - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/src/component/home/tools/poseTransfer/index.vue b/src/component/home/tools/poseTransfer/index.vue index e6d60933..ff62e825 100644 --- a/src/component/home/tools/poseTransfer/index.vue +++ b/src/component/home/tools/poseTransfer/index.vue @@ -81,6 +81,17 @@ +
+
+ +
+
@@ -269,6 +280,9 @@ export default defineComponent({ } const gifPause = (e:any,item:any)=>{ e.target.src = item.firstFrame//静态图片 + } + const handlePlayMotion = item => { + } const getPoseList = ()=>{ Https.axiosGet(Https.httpUrls.getAllPose).then((rv)=>{ @@ -629,7 +643,7 @@ export default defineComponent({ {immediate: true } ) - const videoType = ref('1') + const videoType = ref('3') const showMotion = computed(()=> videoType.value === '3' ) const options = ref([ { vlaue: '1', label: 'First frame' }, @@ -779,6 +793,7 @@ export default defineComponent({ overflow: hidden; overflow-x: auto; column-gap: 2.4rem; + position: relative; > .item{ // width: calc(100% / 2 - .5rem); // height: 25rem; @@ -875,6 +890,30 @@ export default defineComponent({ > .upload_item{ border: none; } + .control-container{ + width: 100%; + height: 3.3rem; + position: absolute; + bottom: 0; + left: 0; + background: linear-gradient(180deg, rgba(8, 9, 13, 0) 0%, rgba(8, 9, 13, 0.27) 80.37%); + display: flex; + align-items: flex-end; + justify-content: center; + .icon-list{ + height: 50%; + width: calc(100% - 1.6rem); + border-top: 1px solid #fff; + display: flex; + box-sizing: border-box; + justify-content: flex-start; + align-items: center; + .play-icon{ + width: initial; + height: initial; + } + } + } } > .head{ color: #000; From c54d9fa2f61ea06001b9bc4827083340947996d0 Mon Sep 17 00:00:00 2001 From: X1627315083 <1627315083@qq.com> Date: Thu, 13 Nov 2025 10:56:26 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../home/tools/poseTransfer/index.vue | 13 +- .../home/tools/poseTransfer/promptInput.vue | 422 ++++++++++++++++++ 2 files changed, 434 insertions(+), 1 deletion(-) create mode 100644 src/component/home/tools/poseTransfer/promptInput.vue diff --git a/src/component/home/tools/poseTransfer/index.vue b/src/component/home/tools/poseTransfer/index.vue index 3d27c509..31110622 100644 --- a/src/component/home/tools/poseTransfer/index.vue +++ b/src/component/home/tools/poseTransfer/index.vue @@ -54,6 +54,9 @@ +
+ +
{{$t('poseTransfer.Selectpose')}}
@@ -136,11 +139,12 @@ import { getUploadUrl,isMoible,getMinioUrl } from "@/tool/util"; import { getCookie,setCookie } from "@/tool/cookie"; import showViewVideo from "@/tool/mount"; import router from '@/router'; +import promptInput from "./promptInput.vue"; export default defineComponent({ components:{ generalDrag, - // selectList, + promptInput }, props:{ isDesignPage:{ @@ -191,6 +195,12 @@ export default defineComponent({ generateTime:null as any, poseList:[], selectPose:null as any, + prompt:[ + { id: '1', type: 'text', value: '11111' }, + { id: '2', type: 'input', value: '222', placeholder: '[请输入内容]' }, + { id: '3', type: 'text', value: '333333' }, + { id: '4', type: 'input', value: '', placeholder: '[请输入内容]' } + ] }) let speed = reactive({ speedList:[ @@ -217,6 +227,7 @@ export default defineComponent({ generalDragLeft:null as any, generalDragRight:null as any, scaleVideo:null as any, + promptInput: null as any, }) const selectImgItem = (item:any,)=>{ if(item.isChecked){ diff --git a/src/component/home/tools/poseTransfer/promptInput.vue b/src/component/home/tools/poseTransfer/promptInput.vue new file mode 100644 index 00000000..63537d09 --- /dev/null +++ b/src/component/home/tools/poseTransfer/promptInput.vue @@ -0,0 +1,422 @@ + + + + + \ No newline at end of file