fix: 修复ComfyUI V2模板创建参数解析问题并重构工作流创建

主要修改:

1. **扩展ComfyUI SDK参数类型支持**
   - 在ParameterType枚举中添加Integer、Float、Image、Audio、Video类型
   - 在ParameterSchema中添加节点映射和媒体文件相关字段
   - 添加step、accept、maxSize、width、height、duration、node_mapping字段
   - 为新字段添加serde默认值支持

2. **修复参数解析问题**
   - 解决comfyui_v2_create_template命令缺少type字段的错误
   - 确保前端传递的参数类型与后端ParameterType枚举匹配
   - 修复r#enum字段的正确使用(用于JSON Schema兼容性)

3. **重构工作流模板创建方式**
   - 将ai_model_face_hair_fix.rs中的create_workflow函数重构为create_workflow_from_json
   - 改为从JSON字符串解析ComfyUIWorkflow,而非手动构建HashMap
   - 提高可维护性和与实际使用场景的一致性

4. **更新相关测试和验证代码**
   - 修复validation.rs中的测试用例,添加新字段的默认值
   - 确保所有ParameterSchema创建都包含完整字段

5. **添加测试数据**
   - 创建test_template_creation.json用于测试参数格式

这些修改解决了前端传递的参数格式与后端期望格式不匹配的问题,
使工作流模板创建功能能够正常工作。
This commit is contained in:
root
2025-08-08 23:10:38 +08:00
parent 824a43f0c3
commit 84081284f7
5 changed files with 466 additions and 344 deletions

View File

@@ -235,9 +235,16 @@ mod tests {
r#enum: None,
min: None,
max: None,
step: None,
pattern: None,
items: None,
properties: None,
accept: None,
max_size: None,
width: None,
height: None,
duration: None,
node_mapping: None,
});
let parameters = HashMap::new();
@@ -259,9 +266,16 @@ mod tests {
r#enum: None,
min: Some(3.0),
max: Some(10.0),
step: None,
pattern: None,
items: None,
properties: None,
accept: None,
max_size: None,
width: None,
height: None,
duration: None,
node_mapping: None,
});
let mut parameters = HashMap::new();