From 08ef0b8e96b31ffdd7dd547bf20a026fb9d98f39 Mon Sep 17 00:00:00 2001 From: zhangyh Date: Fri, 14 Nov 2025 10:06:44 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BA=A7=E5=93=81=E5=9B=BE=E8=BD=AC?= =?UTF-8?q?=E8=A7=86=E9=A2=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../home/tools/poseTransfer/Tips.vue | 82 + .../home/tools/poseTransfer/index.vue | 2287 +++++++++-------- src/lang/cn.ts | 14 +- src/lang/en.ts | 14 +- src/store/homeStore/homeStore.ts | 14 + 5 files changed, 1377 insertions(+), 1034 deletions(-) create mode 100644 src/component/home/tools/poseTransfer/Tips.vue diff --git a/src/component/home/tools/poseTransfer/Tips.vue b/src/component/home/tools/poseTransfer/Tips.vue new file mode 100644 index 00000000..7f67d123 --- /dev/null +++ b/src/component/home/tools/poseTransfer/Tips.vue @@ -0,0 +1,82 @@ + + + + + diff --git a/src/component/home/tools/poseTransfer/index.vue b/src/component/home/tools/poseTransfer/index.vue index 2f93be4d..981c6879 100644 --- a/src/component/home/tools/poseTransfer/index.vue +++ b/src/component/home/tools/poseTransfer/index.vue @@ -1,1053 +1,1292 @@ + + + +
+
{{ $t('ProductImg.Prompt') }}
+ +
+
+
+
{{ $t('poseTransfer.Selectpose') }}
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+
+
+
+ + +
+ -
- -
-
-
{{ item.label }}
-
-
-
- -
- - -
- -
- -
-
{{$t('poseTransfer.LikeVideo')}}
-
- -
- -
- -
-
-
-
-
-
{{$t('poseTransfer.InputVideo')}}
-
- -
-
-
- +
+ +
+ + +
+
+
+ + {{ $t('poseTransfer.InputVideo') }} +
+
+ +
+
+
+ \ No newline at end of file + .upload_file_item { + width: 100%; + height: 100%; + :deep(.ant-upload-picture-card-wrapper) { + width: 100% !important; + height: 100%; + .ant-upload-list-picture-card { + width: 100%; + height: 100%; + .ant-upload-select-picture-card { + width: 100%; + height: 100%; + border: 1px solid #000; + background: #fff; + } + } + } + } + .video-type-container { + margin-bottom: 4rem; + .title { + font-size: 1.8rem; + color: #000; + margin-bottom: 1.4rem; + } + :deep(.ant-select) { + width: 100%; + .ant-select-selector { + border: 2px solid #d0d0d0; + border-radius: 1rem; + } + } + } +} + diff --git a/src/lang/cn.ts b/src/lang/cn.ts index ff4a1a7c..53aea1b5 100644 --- a/src/lang/cn.ts +++ b/src/lang/cn.ts @@ -285,7 +285,7 @@ export default { AssitSubTitle: '您可以复制并使用以下提示词:', CopySuccess: '已复制到剪贴板', CopyFiled: '复制失败', - noPrompt:'请输入提示词' + noPrompt: '请输入提示词' }, poseTransfer: { SelectDesign: '产品图', @@ -308,7 +308,11 @@ export default { UploadWithModel: '创建模特穿着该服装的真实感摄影棚照片。若原有模特存在则保留,否则生成合适模特。采用站立姿势面向镜头。精确保留服装细节——图案、颜色、质地及装饰元素。', // 上传线稿,带模特 UploadWithoutModel: - '专业产品摄影:服装以自然形态展示,无模特。采用影棚灯光。保留精确细节——图案、色彩、质感、装饰元素。' // 上传线稿,不带模特 + '专业产品摄影:服装以自然形态展示,无模特。采用影棚灯光。保留精确细节——图案、色彩、质感、装饰元素。', // 上传线稿,不带模特 + VideoType: '视频类型', + FirstFrame: '首帧', + FirstAndLastFrames: '首帧和尾帧', + FirstFrameAndSkeleton: '首帧和骨架' }, LibraryPage: { library: '收藏', @@ -1225,9 +1229,9 @@ export default { basic: '基础', flipHorizontal: '水平翻转', flipVertical: '垂直翻转', - cropAndAdd: '裁剪并添加', - cropImage: '裁剪图片', - group: '组合', + cropAndAdd: '裁剪并添加', + cropImage: '裁剪图片', + group: '组合', //长毛笔 FurSettings: '长毛笔设置', FurLength: '毛发长度', diff --git a/src/lang/en.ts b/src/lang/en.ts index 6aceb62d..3fc1b348 100644 --- a/src/lang/en.ts +++ b/src/lang/en.ts @@ -295,7 +295,7 @@ export default { AssitSubTitle: 'You can copy following prompt and try:', CopySuccess: 'Copied to clipboard', CopyFiled: 'Failed to copy', - noPrompt:'Please enter prompt' + noPrompt: 'Please enter prompt' }, poseTransfer: { SelectDesign: 'Product image', @@ -318,7 +318,11 @@ export default { UploadWithModel: 'Create realistic studio photo with model wearing this garment. Keep original model if present, or generate appropriate model. Standing pose, facing camera. Preserve exact garment details - patterns, colors, textures, embellishments.', // 上传线稿,带模特 UploadWithoutModel: - 'Professional product photo: garment displayed with natural shape, no model. Studio lighting. Preserve exact details - patterns, colors, textures, embellishments.' // 上传线稿,不带模特 + 'Professional product photo: garment displayed with natural shape, no model. Studio lighting. Preserve exact details - patterns, colors, textures, embellishments.', // 上传线稿,不带模特 + VideoType: 'Video Type', + FirstFrame: 'First frame', + FirstAndLastFrames: 'First and last frames', + FirstFrameAndSkeleton: 'First frame and skeleton', }, LibraryPage: { library: 'Library', @@ -1260,9 +1264,9 @@ export default { basic: 'Basic', flipHorizontal: 'Horizontal Flip', flipVertical: 'Vertical Flip', - cropAndAdd: 'Crop and Add', - cropImage: 'Crop Image', - group: 'Group', + cropAndAdd: 'Crop and Add', + cropImage: 'Crop Image', + group: 'Group', //长毛笔 FurSettings: 'FurSettings', FurLength: 'Fur Length', diff --git a/src/store/homeStore/homeStore.ts b/src/store/homeStore/homeStore.ts index a46cda3c..e855cf3f 100644 --- a/src/store/homeStore/homeStore.ts +++ b/src/store/homeStore/homeStore.ts @@ -41,6 +41,7 @@ const HomeStoreModule : Module = { likedList:[], }, uploadElement:[], + lastFrameList:[], poseTransfer:{ list:[], likedList:[], @@ -70,6 +71,19 @@ const HomeStoreModule : Module = { mutations:{ setshowSketchList(state,data){ state.showSketchList = data + }, + setPoseTransferLastFrameList(state,data){ + console.log('设置尾帧store-------------') + // 支持两种方式:set 替换整个列表;add/删除与 uploadElement 一致 + if(data.str === 'set'){ + state.poseTransfer.lastFrameList = data.list || [] + return + } + if(data.str === 'add'){ + state.poseTransfer.lastFrameList.unshift(...(data.list || [])) + }else{ + state.poseTransfer.lastFrameList.splice(data.index,1) + } }, setDesignCollectionList(state,data){ state.designCollectionList = data