当前主仓库 main 分支上的 TemplateFormPage.tsx 仍然使用本地静态素材:
选择AI模特选择服装选择背景这三块目前通过 getHairstyleTemplateAssetsByCategory() 从本地 hairstyleTemplateAssets 读取,而不是从服务端的 config 表读取。
用户本次要求只做最小改动:
TemplateFormPage 的其余表单结构createTemplateAndStartGeneration()采用最小替换方案:
hairstyleTemplateAssets 的依赖这样可以只清理用户明确指出的旧逻辑,不扩大到整条模板创建链路。
前端读取服务端模板素材接口,返回三组数据:
modelsclothesbackgrounds每个选项至少包含:
idnameurlconfigKey服务端数据来源约定如下:
config_group = 'ai-model' -> modelsconfig_group = 'clothing' -> clothesconfig_group = 'background' -> backgrounds前端页面映射规则如下:
id 直接作为选中值name 映射为卡片标题url 映射为当前卡片图片地址页面挂载时请求一次模板素材接口。
成功时:
失败时:
如果接口返回成功但某一组为空,也视为“资源未准备完成”:
本次不改旧提交流程,只替换素材来源。
因此提交时仍然:
createTemplateAndStartGeneration()也就是说,提交 payload 中使用的三组 URL 仍来自当前选中的服务端配置素材,而不是本地静态素材。
hairstyleTemplateAssets 的依赖本次测试只覆盖真实回归风险:
hairstyleTemplateAssets不增加与本次目标无关的重构测试。
TemplateFormPage