Commit Graph

79 Commits

Author SHA1 Message Date
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
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
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
d3c3210ccc 从Serein.Library分离了WebSocket/Modbus;新增了Json门户类,用于未来的Http、WebSocket、Mqtt、gRPC、QUIC扩展。 2025-07-27 23:34:01 +08:00
fengjiayi
9a8de6b571 整理了Serein.Library项目类文件,IDynamicContext、DynamicContext接口名称及实现类改为IFlowContext、FlowContext,使其与流程其它接口类命名风格统一。 2025-07-23 16:20:41 +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
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
340ff7770f 优化FlowEnv 2025-07-04 15:46:29 +08:00
fengjiayi
345fee39ba 优化LocalFlowEnviromment(1) 2025-07-04 11:35:34 +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
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
ba74facf7d 修改环境接口(增加画布ID) 2025-04-03 15:58:57 +08:00
fengjiayi
b1a9679138 重新设计流程画布Canvas与节点Node的关联 2025-03-24 15:44:34 +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
26e88aea77 环境接口新增了加载项目文件路径,方便类库在Init事件中自动加载具体的依赖 2025-03-17 10:14:18 +08:00
fengjiayi
ef11edf7f1 新增了UI节点 2025-03-14 16:04:06 +08:00
fengjiayi
eb1505596a 破坏性更新,移除了Core/Framework(对应的上下文类移动到了Library) 2025-01-22 21:09:52 +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