From 47e3d298bc1001e7d960f58db3650d7a51d22e03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E5=BE=B7=E8=BE=89?= Date: Wed, 2 Jul 2025 15:21:33 +0800 Subject: [PATCH] fix --- src/pages/ChangeBgPage/index.tsx | 6 +++++- src/pages/TryOnPage/index.tsx | 6 ++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/pages/ChangeBgPage/index.tsx b/src/pages/ChangeBgPage/index.tsx index b050317..50d5d17 100644 --- a/src/pages/ChangeBgPage/index.tsx +++ b/src/pages/ChangeBgPage/index.tsx @@ -16,6 +16,8 @@ import { type BgPaddingMultiValue } from '@/components/block/BgPaddingMultiSelec // 五级联动的 tag schema const tagSchema = z.object({ scenes: z.array(z.array(z.string())).optional(), + paddingList: z.array(z.object({ file: z.instanceof(File), text: z.string() })).optional(), + bgMode: z.enum(['custom', 'scene']).optional(), }); const formSchema = z.object({ @@ -129,17 +131,19 @@ const TryOnPage: React.FC = () => { // 提交 const onSubmit = async (values: FormValues) => { + console.log(values); setLoading(true); setResult(null); const results: any[] = []; - console.log(values); try { for (let i = 0; i < values.clothing_images.length; i++) { const tag = values.tags[i]; const bgMode = tag.bgMode || 'scene'; + console.log(bgMode); if (bgMode === 'custom') { // 自定义模式 const paddingList = tag.paddingList || []; + console.log(tag.paddingList); for (const padding of paddingList) { const formData: Body_async_cloud_change_bg_v3_api_v3_cloud_batch_change_bg_post = { clothing_images: [values.clothing_images[i]], diff --git a/src/pages/TryOnPage/index.tsx b/src/pages/TryOnPage/index.tsx index 9cd8658..be28b91 100644 --- a/src/pages/TryOnPage/index.tsx +++ b/src/pages/TryOnPage/index.tsx @@ -17,6 +17,8 @@ const tagSchema = z.object({ material: z.string().min(1, '请选择材质'), color: z.string().min(1, '请选择颜色'), scenes: z.array(z.array(z.string())).optional(), + paddingList: z.array(z.object({ file: z.instanceof(File), text: z.string() })).optional(), + bgMode: z.enum(['custom', 'scene']).optional(), }); const formSchema = z.object({ @@ -181,13 +183,12 @@ const TryOnPage: React.FC = () => { for (let i = 0; i < values.clothing_images.length; i++) { const tag = values.tags[i]; const bgMode = tag.bgMode || 'scene'; - const scenesArr: string[][] = tag.scenes || []; if (bgMode === 'custom') { const paddingList = tag.paddingList || []; for (const padding of paddingList) { const formData: Body_async_cloud_gen_images_v3_api_v3_cloud_batch_edit_images_post = { clothing_images: [values.clothing_images[i]], - tag_list: JSON.stringify([[tag.sex, tag.category, tag.size, tag.material, tag.color].join('_')]), + tag_list: [tag.sex, tag.category, tag.size, tag.material, tag.color].join('_'), padding_clothes: [padding.file], bg_prompts: padding.text, }; @@ -195,6 +196,7 @@ const TryOnPage: React.FC = () => { results.push(res); } } else { + const scenesArr: string[][] = tag.scenes || []; for (const path of scenesArr) { const scene = { title: path.join('/'),