Commit Graph

69 Commits

Author SHA1 Message Date
fengjiayi
630008198d refactor(flow) : 重新实现了UIContextOperation的注入逻辑,为后续开发Avalonia版本的编辑器做准备。 2025-09-19 23:58:52 +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
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
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
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
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
fengjiayi
5b0ba84fd6 从节点Model解耦出容器接口,重新设计了节点的保存、加载。 2024-12-24 22:23:53 +08:00
fengjiayi
949ac973bc 修改了自述文件 2024-12-24 11:51:12 +08:00
fengjiayi
0f9c9b9988 修改了脚本执行的一些BUG。 2024-12-21 20:47:31 +08:00
fengjiayi
ef119e11e3 暂时实现了简陋的脚本AST分析解释,后面再绑定到控件上 2024-12-20 23:39:29 +08:00
fengjiayi
114e81424b 修改了复制粘贴节点后无法显示参数连接关系的问题 2024-12-18 22:53:14 +08:00
fengjiayi
0372e1fc23 修复了条件表达式".xxx<bool> = true/false"执行了错误分支,优化了流程的运行。 2024-12-16 00:58:45 +08:00
fengjiayi
8d0258ebea Workbench项目中,优化了节点的复制、粘贴,加载。 2024-12-14 23:46:37 +08:00
fengjiayi
c5e2abea96 新了复制节点粘贴节点的功能(选择需要复制的节点,Ctrl+C、Ctrl+V),以Json文本形式传递数据,所以可以跨进程复制粘贴 2024-12-12 22:57:15 +08:00
fengjiayi
49603bb58f 重新优化了NodeModel类;从硬编码类型改为“注册/获取”的方式,为下一步解耦Workbench与节点UI做准备。
新增了“全局数据节点”;保存项目文件时,不同节点可以使用自定义数据保存自身独特的数据,不再借用“方法参数”。
重新设计了运行时的环境输出;增量式生成器现在可以选择在属性变更的前后时间点插入自定义代码;重写了加载项目、保存项目的方法。
2024-12-12 20:31:50 +08:00