From 0f9c9b99887f6bbe18a74819b36926f8b58bc0ec Mon Sep 17 00:00:00 2001
From: fengjiayi <12821976+ning_xi@user.noreply.gitee.com>
Date: Sat, 21 Dec 2024 20:47:31 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E8=84=9A=E6=9C=AC?=
=?UTF-8?q?=E6=89=A7=E8=A1=8C=E7=9A=84=E4=B8=80=E4=BA=9BBUG=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Library.Core/DynamicContext.cs | 3 +
Library.Framework/DynamicContext.cs | 2 +
Library/Api/IDynamicContext.cs | 5 +
Library/Api/IScriptFlowApi.cs | 4 +-
Library/FlowNode/NodeModelBaseFunc.cs | 8 +-
Library/Utils/DynamicObjectHelper.cs | 15 +-
NodeFlow/Env/FlowEnvironment.cs | 6 +
NodeFlow/Env/FlowFunc.cs | 5 +-
NodeFlow/Model/SingleFlipflopNode.cs | 2 +-
NodeFlow/Model/SingleScriptNode.cs | 105 ++++++--
NodeFlow/ScriptFlowApi.cs | 34 +--
Serein.Script/Node/ClassTypeDefinitionNode.cs | 4 +-
Serein.Script/SereinScriptInterpreter.cs | 227 ++++++++++++------
Serein.Script/SereinScriptLexer.cs | 7 +
Serein.Script/SereinScriptParser.cs | 116 +++++----
WorkBench/Themes/MethodDetailsControl.xaml | 4 +-
Workbench/Node/View/ScriptNodeControl.xaml | 24 +-
Workbench/Node/View/ScriptNodeControl.xaml.cs | 69 +++++-
.../ViewModel/ScriptNodeControlViewModel.cs | 2 +-
19 files changed, 451 insertions(+), 191 deletions(-)
diff --git a/Library.Core/DynamicContext.cs b/Library.Core/DynamicContext.cs
index f2ade60..7102b02 100644
--- a/Library.Core/DynamicContext.cs
+++ b/Library.Core/DynamicContext.cs
@@ -20,6 +20,9 @@ namespace Serein.Library.Core
RunState = RunState.Running;
}
+ private readonly string _guid = global::System.Guid.NewGuid().ToString();
+ string IDynamicContext.Guid => _guid;
+
///
/// 运行环境
///
diff --git a/Library.Framework/DynamicContext.cs b/Library.Framework/DynamicContext.cs
index bc29516..5ff508d 100644
--- a/Library.Framework/DynamicContext.cs
+++ b/Library.Framework/DynamicContext.cs
@@ -19,6 +19,8 @@ namespace Serein.Library.Framework.NodeFlow
RunState = RunState.Running;
}
+ private readonly string _guid = global::System.Guid.NewGuid().ToString();
+ string IDynamicContext.Guid => _guid;
///
/// 运行环境
diff --git a/Library/Api/IDynamicContext.cs b/Library/Api/IDynamicContext.cs
index 8efd5e4..8088ae2 100644
--- a/Library/Api/IDynamicContext.cs
+++ b/Library/Api/IDynamicContext.cs
@@ -11,6 +11,11 @@ namespace Serein.Library.Api
///
public interface IDynamicContext
{
+ ///
+ /// 标识流程
+ ///
+ string Guid {get; }
+
///
/// 运行环境,包含IOC容器。
///
diff --git a/Library/Api/IScriptFlowApi.cs b/Library/Api/IScriptFlowApi.cs
index e7539b2..27f48e9 100644
--- a/Library/Api/IScriptFlowApi.cs
+++ b/Library/Api/IScriptFlowApi.cs
@@ -30,13 +30,13 @@ namespace Serein.Library.Api
///
///
///
- object GetDataOfParams(int index);
+ object GetArgData(int index);
///
/// 根据入参名称从入参数据获取数据
///
///
///
- object GetDataOfParams(string name);
+ // object GetDataOfParams(string name);
///
/// 获取全局数据
///
diff --git a/Library/FlowNode/NodeModelBaseFunc.cs b/Library/FlowNode/NodeModelBaseFunc.cs
index d296fd7..ee5a643 100644
--- a/Library/FlowNode/NodeModelBaseFunc.cs
+++ b/Library/FlowNode/NodeModelBaseFunc.cs
@@ -393,7 +393,7 @@ namespace Serein.Library
md.ActingInstance = context.Env.IOC.Get(md.ActingInstanceType);
}
- object[] args = await GetParametersAsync(context, this, md);
+ object[] args = await GetParametersAsync(context, this);
var result = await dd.InvokeAsync(md.ActingInstance, args);
return result;
@@ -403,10 +403,10 @@ namespace Serein.Library
/// 获取对应的参数数组
///
public static async Task