Commit Graph

164 Commits

Author SHA1 Message Date
fengjiayi
8cd260612a 1. 为 FlowContext(流程上下文)添加了 Tag 属性有关的 Set/Get<T>方法 2025-08-25 11:05:05 +08:00
fengjiayi
819320f355 1. 修改了Serein.Library中的ObjectPool工具类,提供了对象归还的默认处理方法(通过构造方法指定Action<T>委托)
2. 不再显式调用流程上下文的Reset()方法,而改为通过对象池调用
3. 同样的,对于同样使用了ObjectPool管理上下文的Serein.Proto.WebSocket项目而言,也进行了同2.一样的修改
2025-08-23 16:19:30 +08:00
fengjiayi
5656619a3b 1. Serein.Proto.WebSocket项目中,ws方法入参新增了对于使用流程上下文作为参数的识别 2025-08-23 14:48:19 +08:00
fengjiayi
3059e109fc 1. 修复了流程图转c#代码时,方法存在可选参数,但无法正常生成的问题
2. 添加了对[Global]全局数据节点的代码生成支持
2025-08-04 23:13:13 +08:00
fengjiayi
0d89ac1415 1. 脚本转c#代码功能,支持了[Flipflop]触发器节点
2. 修复了Script.StringNode转C#中存在多余的转义符的问题
3. 为IFlowControl添加了Task StratNodeAsync(string)的接口,用于在代码生成场景中的流程控制
4. 调整了关于Lightweight运行环境的文件位置
2025-08-04 22:38:20 +08:00
fengjiayi
e389dbb967 1. 更新了节点入参的条件判断:入参类型为IFlowContext(流程上下文)时禁止创建参数来源连接。
2. [Script]脚本节点移除了“getFlowContext”内置方法,改为自动识别入参名称为“context""flowContext""flow_context",如果是,将自动使用 IFlowContext 类型参数(运行时自动给定)
3. NodeFlow项目中,FlowLibraryService添加了GetType(string)以及TryGetType(string,Type?)方法,用于流程环境搜索外部加载的程序集类型。
2025-08-04 20:13:03 +08:00
fengjiayi
34939cd34c 版本号更新 2025-08-04 14:57:17 +08:00
fengjiayi
ecd64a3887 修改了Library.Enums.NodeType枚举关于Flipflop的说明 2025-08-02 22:07:42 +08:00
fengjiayi
79af278b70 1. 移除了FlipflopContext,统一流程API
2. Script项目脚本修复了 RawString 原始字符串存在的问题
3. Script使用了ValueNode统一了值类型节点,为后续扩展更多的值类型做准备
4. TypeHelper.ToTypeOfString()方法中添加了部分值类型的"Type[]”与“List<Type>”的显式定义,用于脚本在类型中定义数组成员
5. Script项目脚本默认挂载的json方法拆分为jsonObj(String)与jsonStr(Object)以支持序列化与反序列化
6. 项目保存为dnf项目文件时,将不再保存名称为”Default"并且没有节点的画布,避免重复保存时默认画布增多。
2025-08-02 22:04:13 +08:00
fengjiayi
93747ce7fd 优化了SereinWebSocket的API 2025-08-02 12:09:36 +08:00
fengjiayi
6fc57458a7 重新设计了Libray.Json Api以及 WebSocket 的交互处理方式 2025-08-02 10:48:31 +08:00
fengjiayi
1bccccc835 1. 重新设计了 JSON门户类的实现
2. Script脚本添加了原始字符串的实现
3. 修复了Script中无法对  \" 双引号转义的问题
4. 新增了对于集合嵌套取值的支持(目前仅是集合取值)
5. 重新设计了FlowWorkManagement任务启动的逻辑,修复了触发器无法正常运行的问题
6. 在ScriptBaseFunc中新增了 json() 本地函数,支持将字符串转为IJsonToken进行取值。
7. EmitHelper对于集合取值时,反射获取“get_item”委托时存在看你多个MethodInfo,现在可以传入子项类型,帮助匹配目标重载方法
2025-07-31 23:59:31 +08:00
fengjiayi
5f6a58168a 1. 新增了脚本节点之间连接时,入参类型伴随来源节点的返回类型改变而改变。
2. 重新优化了Script项目脚本生成代码的缩进排版
3. 修复了Script中对于Double字面量错误的使用了Float解析的bug
2025-07-31 15:45:02 +08:00
fengjiayi
827a9242ae 1. Script项目添加了数组表达式的支持
2. EmitHelper添加了数组创建委托的构建
2025-07-31 11:21:49 +08:00
fengjiayi
85d04029dc 1. Workben项目中,优化了Node的入参类型与返回类型包含泛型成员的类型显示。 2025-07-31 09:54:30 +08:00
fengjiayi
152077e9b5 1. 重新设计了Generate项目及相关特性的命名,避免与其他类型混淆。
2. 补充了部分注释。
3. 修改了删除容器节点时,容器内子节点未正确删除的问题。
2025-07-30 21:15:07 +08:00
fengjiayi
48289dae11 1. 修改了FlowResult的创建方式,新增了IsSuccess与Message,为后续进行流程日志追踪准备。
2. 修复了删除节点时,没有正确消除与之相关的参数获取关系。
3. IFlowNode新增了StartFlowAsync方法。
4. Library项目中FlowNodeExtension拓展类转移到了NodeFlow项目中。
5.  修改了Script自定义参数保存,对参数类型、返回值类型进行保存。
6. Library.Utils.BenchmarkHelpter中添加了Task、Task<>的重载方法。
7. NodeFlow项目中,FlowEnvironment默认使用通过NewtonsoftJson实现的JSON门户类。
8. NodeFlow项目中,FlowControl缓存了 FlowWorkOptions 选项实体,并且对于 FlowWorkManagement 进行了池化管理(但后续的项目中考虑重构流程任务运行时)。
2025-07-30 11:29:12 +08:00
fengjiayi
8dc7f5dd9b 调整了Library文件结构;
源代码生成新增了参数验证方法;
修改了ParamterDetails的定义
2025-07-29 18:36:43 +08:00
fengjiayi
b6ed0b69dc 更新了代码生成器的生成逻辑。
修复了Emit对于集合类型创建委托时,类型指定Bug。
2025-07-29 14:51:14 +08:00
fengjiayi
77160feaeb 修复了全局节点连接异常异常。 2025-07-29 14:25:31 +08:00
fengjiayi
69a32831b9 表达式节点、条件表达式节点改用Serein.Script进行构造解析执行,避免了文本解析带来的性能损耗。 2025-07-28 20:04:56 +08:00
fengjiayi
74961fa2c4 流程上下文添加了调用信息记录 2025-07-28 17:38:51 +08:00
fengjiayi
ccb8e49abc 重新设计了FlowLIbrary相关类;为工作台默认添加了基础依赖、默认画布。 2025-07-28 12:16:29 +08:00
fengjiayi
c3bfb9b734 小修小改 2025-07-27 23:46:26 +08:00
fengjiayi
d3c3210ccc 从Serein.Library分离了WebSocket/Modbus;新增了Json门户类,用于未来的Http、WebSocket、Mqtt、gRPC、QUIC扩展。 2025-07-27 23:34:01 +08:00
fengjiayi
29f2be5c80 通过Emit优化Script脚本的解释执行;出于后期更新的方向,暂时隐藏表达式节点、条件表达式节点、全局数据节点;流程图转c#代码新增对于Script脚本的支持,Script脚本现在可以原生导出为C#代码。 2025-07-26 19:36:54 +08:00
fengjiayi
9a8de6b571 整理了Serein.Library项目类文件,IDynamicContext、DynamicContext接口名称及实现类改为IFlowContext、FlowContext,使其与流程其它接口类命名风格统一。 2025-07-23 16:20:41 +08:00
fengjiayi
4e20e816ae 修改了http服务器无法正确处理post请求入参;添加了modbus tcp客户端支持。 2025-07-23 15:57:57 +08:00
fengjiayi
acf0b87ad0 修复了无选定目标节点的FlowCall节点时,会抛出异常的情况 2025-07-18 23:34:08 +08:00
fengjiayi
fc05cd662b 重写了Script的解释器代码,使其更加直观。重写了流程控制的部分代码,分离运行环境IOC与流程IOC。 2025-07-18 22:45:06 +08:00
fengjiayi
88de5a21f5 优化了SereinEnv.WriteLine(Exception, InfoClass)输出,可以通过更改InfoClass控制是否输出异常堆栈信息。
优化了批量加载节点时,脚本节点类型分析异常的问题。
2025-07-17 22:46:40 +08:00
fengjiayi
88a82046b8 修复了脚本语言中构造器赋值的 bug 2025-07-16 16:16:19 +08:00
fengjiayi
01ab905155 重写脚本解释器的实现,提高其可读性。 2025-07-13 17:34:03 +08:00
fengjiayi
ec764c5675 为Serein.Script增加类型分析,增加了更加详细的Number类型节点,优化了对象节点的链式表达式,修复了Lexer分析词法时,部分Token代码属性错误的问题。 2025-07-11 20:52:21 +08:00
fengjiayi
70f674ca1b 优化了脚本生成AST时的代码提示,增加了脚本运行时错误提示。 2025-07-09 21:49:26 +08:00
fengjiayi
aa3d1763ed 优化了节点加载逻辑 2025-07-08 17:37:03 +08:00
fengjiayi
efe4d0a8e5 添加了 Action FlowCall 节点的代码生成支持 2025-07-08 14:22:41 +08:00
fengjiayi
678b01f2fe 完善节点图的代码生成 2025-07-07 20:40:24 +08:00
fengjiayi
b25fd9c83c 尝试将节点流导出为c#代码文件 2025-07-06 14:34:49 +08:00
fengjiayi
162dc7bcf8 准备添加流程接口调用 2025-07-04 21:31:07 +08:00
fengjiayi
340ff7770f 优化FlowEnv 2025-07-04 15:46:29 +08:00
fengjiayi
97df2a04b2 LocalFlowEnvironment文件丢失,需要重写 2025-06-22 21:53:37 +08:00
fengjiayi
999060b67a 将流程事件接口与流程运行环境解耦。 2025-06-02 19:17:30 +08:00
fengjiayi
c7fbdc1cbb 优化了接口设计,提供Event属性。 2025-06-02 16:45:10 +08:00
fengjiayi
b1dc641c84 重新设计接口类,将流程运行环境和IOC解耦 2025-06-02 16:38:37 +08:00
fengjiayi
a43c611d72 修改了IOC容器的实现,使其更加轻量 2025-06-02 15:16:23 +08:00
fengjiayi
401c0e42d9 优化了Workbench画布节点创建相关的代码逻辑 2025-06-01 12:21:38 +08:00
fengjiayi
84390b574f 改写NodeModelBase类,使其继承Serein.Library.Api下的IFlowNode接口,而实现类迁移到NodeModel项目,方便后续节点运行逻辑修改时不用重新编译类库。 2025-05-31 12:15:01 +08:00
fengjiayi
a19733eff5 优化了Workbench上的操作。 2025-05-30 23:31:31 +08:00
fengjiayi
f0eb11c914 流程接口节点新增了对脚本节点的支持 2025-05-30 15:42:59 +08:00