Commit Graph

98 Commits

Author SHA1 Message Date
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
34939cd34c 版本号更新 2025-08-04 14:57:17 +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
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
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
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
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
340ff7770f 优化FlowEnv 2025-07-04 15:46:29 +08:00
fengjiayi
97df2a04b2 LocalFlowEnvironment文件丢失,需要重写 2025-06-22 21:53:37 +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
a19733eff5 优化了Workbench上的操作。 2025-05-30 23:31:31 +08:00
fengjiayi
f7cae3493f 添加画布信息视图 2025-05-27 23:46:06 +08:00
fengjiayi
7ad6041be6 完成mvvm模式下,画布、节点编辑的基本重构 2025-05-26 23:55:23 +08:00
fengjiayi
f99aff3c2c 流程返回值改为FlowResult,记录节点信息、上下文信息,为以后的流程调用回溯做准备 2025-03-21 18:26:01 +08:00
fengjiayi
9941f24c5d 重构了运行逻辑。上下文使用对象池封装,节点方法调用时间传递CancellationTokenSource用来中止任务 2025-03-20 22:54:10 +08:00
fengjiayi
fffb22b3a8 重新设计了项目的保存文件结构 2025-03-18 11:52:54 +08:00
fengjiayi
26e88aea77 环境接口新增了加载项目文件路径,方便类库在Init事件中自动加载具体的依赖 2025-03-17 10:14:18 +08:00
fengjiayi
ef11edf7f1 新增了UI节点 2025-03-14 16:04:06 +08:00
fengjiayi
d3312f4989 暂停更新 Workbench(WPF)项目 2024-12-29 21:26:03 +08:00
fengjiayi
3a7a8483e8 重写了节点主动中断功能,修改了运行环境持久化注册已有实例的逻辑。 2024-12-26 22:24:44 +08:00
fengjiayi
7a6f8c407b 移除了中断相关的后台代码与UI交互(待重写);重写运行时节点获取参数的方法;重写了节点容器的互动;完善了WebSocket远程交互;完善了项目文件的加载; 2024-12-26 16:42:05 +08:00
fengjiayi
56b22be8c0 修改了远程环境的节点加载流程、容器节点子节点的位置关系 2024-12-26 00:26:50 +08:00
fengjiayi
5b0ba84fd6 从节点Model解耦出容器接口,重新设计了节点的保存、加载。 2024-12-24 22:23:53 +08:00
fengjiayi
5941f75313 将FlowTrigger触发器整合成接口的形式方便替换 2024-12-23 23:19:10 +08:00
fengjiayi
0f9c9b9988 修改了脚本执行的一些BUG。 2024-12-21 20:47:31 +08:00
fengjiayi
ef119e11e3 暂时实现了简陋的脚本AST分析解释,后面再绑定到控件上 2024-12-20 23:39:29 +08:00