feat: 新增条件节点和多语言脚本支持
refactor(flow): 将Decision节点重命名为Condition节点 feat(flow): 新增多语言脚本执行器(Rhai/JS/Python) feat(flow): 实现变量映射和执行功能 feat(flow): 添加条件节点执行逻辑 feat(frontend): 为开始/结束节点添加多语言描述 test: 添加yaml条件转换测试 chore: 移除废弃的storage模块
This commit is contained in:
@ -364,6 +364,18 @@ pub async fn run(db: &Db, id: &str, req: RunReq, operator: Option<(i64, String)>
|
||||
}
|
||||
};
|
||||
|
||||
// 兜底移除 variable 节点:不在最终上下文暴露 variable_* 的配置
|
||||
let mut ctx = ctx;
|
||||
if let serde_json::Value::Object(map) = &mut ctx {
|
||||
if let Some(serde_json::Value::Object(nodes)) = map.get_mut("nodes") {
|
||||
let keys: Vec<String> = nodes
|
||||
.iter()
|
||||
.filter_map(|(k, v)| if v.get("variable").is_some() { Some(k.clone()) } else { None })
|
||||
.collect();
|
||||
for k in keys { nodes.remove(&k); }
|
||||
}
|
||||
}
|
||||
|
||||
// 调试:打印处理后的 ctx
|
||||
//info!(target = "udmin", "flow.run: result ctx={}", serde_json::to_string(&ctx).unwrap_or_else(|_| "<serialize ctx failed>".to_string()));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user