Commit Graph

87 Commits

Author SHA1 Message Date
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
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
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
acf0b87ad0 修复了无选定目标节点的FlowCall节点时,会抛出异常的情况 2025-07-18 23:34:08 +08:00
fengjiayi
fc05cd662b 重写了Script的解释器代码,使其更加直观。重写了流程控制的部分代码,分离运行环境IOC与流程IOC。 2025-07-18 22:45:06 +08:00
fengjiayi
01ab905155 重写脚本解释器的实现,提高其可读性。 2025-07-13 17:34:03 +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
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
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
fengjiayi
423fc0d8fc 解决了流程接口节点执行后,后续调用的节点无法正确获取入参的问题 2025-05-30 10:53:33 +08:00
fengjiayi
a112d0287f 解决了接口节点的参数共享,UI控件的Menu菜单事件穿透问题,同时优化了工作台画布流程相关事件的部分代码 2025-05-30 01:02:25 +08:00
fengjiayi
a5715be929 设计了流程接口节点,能够切换本节点数据、目标节点数据,目前还有数据来源相关操作没有实现 2025-05-28 23:19:00 +08:00
fengjiayi
f7cae3493f 添加画布信息视图 2025-05-27 23:46:06 +08:00
fengjiayi
7848af0363 实现了多画布下,节点的复制粘贴功能 2025-05-27 18:32:40 +08:00
fengjiayi
7ad6041be6 完成mvvm模式下,画布、节点编辑的基本重构 2025-05-26 23:55:23 +08:00
fengjiayi
cf7760ef84 运行环境新增了画布相关的属性 2025-03-22 18:14:48 +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
87402ec7ea NodeMVVMManagement不再是静态类,而是运行环境内部的成员。 2025-03-18 12:33:54 +08:00
fengjiayi
fffb22b3a8 重新设计了项目的保存文件结构 2025-03-18 11:52:54 +08:00
fengjiayi
1db8a44135 流程结束不再自动释放所有IDisposable资源 2025-03-17 11:57:06 +08:00
fengjiayi
26e88aea77 环境接口新增了加载项目文件路径,方便类库在Init事件中自动加载具体的依赖 2025-03-17 10:14:18 +08:00
fengjiayi
41cf0064f6 如果方法入参如果有Description特性,则能够在节点悬浮窗口中显示 2025-03-15 16:03:58 +08:00
fengjiayi
1ae4c87aac 从DLL导入方法将按照方法名称首字母开始排序;规范化方法参数描述中的输入类型,改为枚举。 2025-03-15 15:43:42 +08:00
fengjiayi
d8f4a5a2c2 新增了脚本节点对于集合对象[]下标/key取值的语法支持。修复了加载项目文件时无法加载脚本节点变量名称的问题 2025-03-15 14:02:12 +08:00
fengjiayi
1e09675ef1 脚本节点能够自定义变量名 2025-03-14 21:38:07 +08:00
fengjiayi
ef11edf7f1 新增了UI节点 2025-03-14 16:04:06 +08:00