2025-07-27 23:34:01 +08:00
|
|
|
|
using System.Collections.Generic;
|
2024-09-17 14:20:27 +08:00
|
|
|
|
using System.Reflection;
|
2024-08-05 10:11:58 +08:00
|
|
|
|
|
2024-10-20 12:10:57 +08:00
|
|
|
|
namespace Serein.Library
|
2024-08-05 10:11:58 +08:00
|
|
|
|
{
|
|
|
|
|
|
|
2024-10-20 12:10:57 +08:00
|
|
|
|
/// <summary>
|
2024-10-22 00:13:13 +08:00
|
|
|
|
/// 环境信息
|
2024-10-20 12:10:57 +08:00
|
|
|
|
/// </summary>
|
|
|
|
|
|
public class FlowEnvInfo
|
|
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 环境方法信息
|
|
|
|
|
|
/// </summary>
|
2025-07-28 12:16:29 +08:00
|
|
|
|
public FlowLibraryInfo[] LibraryMds { get; set; }
|
2024-10-20 12:10:57 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 项目信息
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public SereinProjectData Project { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-06-01 12:21:38 +08:00
|
|
|
|
|
|
|
|
|
|
|
2024-10-22 00:13:13 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 程序集相关的方法信息
|
|
|
|
|
|
/// </summary>
|
2025-07-28 12:16:29 +08:00
|
|
|
|
public class FlowLibraryInfo
|
2024-10-20 12:10:57 +08:00
|
|
|
|
{
|
2024-10-22 00:13:13 +08:00
|
|
|
|
/// <summary>
|
2024-11-03 18:28:16 +08:00
|
|
|
|
/// 程序集名称
|
2024-10-22 00:13:13 +08:00
|
|
|
|
/// </summary>
|
2024-11-03 18:28:16 +08:00
|
|
|
|
public string AssemblyName { get; set; }
|
2025-07-28 12:16:29 +08:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 文件名
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public string FileName { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 路径
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public string FilePath { get; set; }
|
|
|
|
|
|
|
2024-10-22 00:13:13 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 相关的方法详情
|
|
|
|
|
|
/// </summary>
|
2025-07-28 12:16:29 +08:00
|
|
|
|
public List<MethodDetailsInfo> MethodInfos { get; set; }
|
2024-10-20 12:10:57 +08:00
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-09-15 12:15:32 +08:00
|
|
|
|
/// <summary>
|
2025-05-26 23:55:23 +08:00
|
|
|
|
/// 项目数据
|
2024-09-15 12:15:32 +08:00
|
|
|
|
/// </summary>
|
2024-09-17 14:20:27 +08:00
|
|
|
|
public class SereinProjectData
|
2024-08-05 10:11:58 +08:00
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 基础
|
|
|
|
|
|
/// </summary>
|
2024-08-05 19:43:57 +08:00
|
|
|
|
|
2024-09-15 12:15:32 +08:00
|
|
|
|
public Basic Basic { get; set; }
|
2024-08-05 19:43:57 +08:00
|
|
|
|
|
2024-08-05 10:11:58 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 依赖的DLL
|
|
|
|
|
|
/// </summary>
|
2024-08-05 19:43:57 +08:00
|
|
|
|
|
2025-07-28 12:16:29 +08:00
|
|
|
|
public FlowLibraryInfo[] Librarys { get; set; }
|
2024-08-05 19:43:57 +08:00
|
|
|
|
|
2024-08-05 10:11:58 +08:00
|
|
|
|
/// <summary>
|
2025-05-26 23:55:23 +08:00
|
|
|
|
/// 画布集合
|
2024-08-05 10:11:58 +08:00
|
|
|
|
/// </summary>
|
2025-05-26 23:55:23 +08:00
|
|
|
|
public FlowCanvasDetailsInfo[] Canvass { get; set; }
|
2024-08-05 19:43:57 +08:00
|
|
|
|
|
2024-08-05 10:11:58 +08:00
|
|
|
|
/// <summary>
|
2024-09-15 12:15:32 +08:00
|
|
|
|
/// 节点集合
|
2024-08-05 10:11:58 +08:00
|
|
|
|
/// </summary>
|
2024-09-15 12:15:32 +08:00
|
|
|
|
public NodeInfo[] Nodes { get; set; }
|
2024-08-05 19:43:57 +08:00
|
|
|
|
|
2024-08-05 10:11:58 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2024-10-22 00:13:13 +08:00
|
|
|
|
/// 基础,项目文件相关
|
2024-08-05 10:11:58 +08:00
|
|
|
|
/// </summary>
|
|
|
|
|
|
public class Basic
|
|
|
|
|
|
{
|
2025-05-26 23:55:23 +08:00
|
|
|
|
///// <summary>
|
|
|
|
|
|
///// 画布
|
|
|
|
|
|
///// </summary>
|
|
|
|
|
|
//public FlowCanvasInfo Canvas { get; set; }
|
2024-08-05 19:43:57 +08:00
|
|
|
|
|
2024-08-05 10:11:58 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 版本
|
|
|
|
|
|
/// </summary>
|
2024-08-05 19:43:57 +08:00
|
|
|
|
|
2024-09-17 14:20:27 +08:00
|
|
|
|
public string Versions { get; set; }
|
2024-08-05 10:11:58 +08:00
|
|
|
|
}
|
2025-05-26 23:55:23 +08:00
|
|
|
|
|
|
|
|
|
|
|
2025-07-28 12:16:29 +08:00
|
|
|
|
/*
|
2024-08-05 10:11:58 +08:00
|
|
|
|
/// <summary>
|
2024-10-22 00:13:13 +08:00
|
|
|
|
/// 项目依赖的程序集,项目文件相关
|
2024-08-05 10:11:58 +08:00
|
|
|
|
/// </summary>
|
2024-11-03 21:17:45 +08:00
|
|
|
|
/// <summary>
|
2025-07-28 12:16:29 +08:00
|
|
|
|
public class FlowLibraryInfo
|
2024-08-05 10:11:58 +08:00
|
|
|
|
{
|
2024-08-05 19:43:57 +08:00
|
|
|
|
|
2024-08-05 10:11:58 +08:00
|
|
|
|
}
|
2025-07-28 12:16:29 +08:00
|
|
|
|
*/
|
2025-06-01 12:21:38 +08:00
|
|
|
|
|
2024-08-05 10:11:58 +08:00
|
|
|
|
/// <summary>
|
2024-10-22 00:13:13 +08:00
|
|
|
|
/// 节点信息,项目文件相关
|
2024-08-05 10:11:58 +08:00
|
|
|
|
/// </summary>
|
|
|
|
|
|
public class NodeInfo
|
|
|
|
|
|
{
|
2025-03-22 18:14:48 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 所属画布Guid
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public string CanvasGuid { get; set; }
|
|
|
|
|
|
|
2024-08-05 10:11:58 +08:00
|
|
|
|
/// <summary>
|
2024-11-03 21:17:45 +08:00
|
|
|
|
/// 节点的GUID
|
2024-08-05 10:11:58 +08:00
|
|
|
|
/// </summary>
|
2024-09-15 12:15:32 +08:00
|
|
|
|
public string Guid { get; set; }
|
2024-08-05 19:43:57 +08:00
|
|
|
|
|
2025-05-27 23:46:06 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 是否全局公开
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public bool IsPublic { get; set; }
|
|
|
|
|
|
|
2024-08-05 10:11:58 +08:00
|
|
|
|
/// <summary>
|
2024-11-03 21:17:45 +08:00
|
|
|
|
/// 节点方法所属的程序集名称
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public string AssemblyName { get;set; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 节点对应的名称
|
2024-08-05 10:11:58 +08:00
|
|
|
|
/// </summary>
|
2024-08-05 19:43:57 +08:00
|
|
|
|
|
2024-09-15 12:15:32 +08:00
|
|
|
|
public string MethodName { get; set; }
|
2024-08-05 19:43:57 +08:00
|
|
|
|
|
2024-08-05 10:11:58 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 显示标签
|
|
|
|
|
|
/// </summary>
|
2024-08-05 19:43:57 +08:00
|
|
|
|
|
2024-09-15 12:15:32 +08:00
|
|
|
|
public string Label { get; set; }
|
2024-08-05 19:43:57 +08:00
|
|
|
|
|
2024-08-05 10:11:58 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 类型
|
|
|
|
|
|
/// </summary>
|
2024-09-15 12:15:32 +08:00
|
|
|
|
public string Type { get; set; }
|
2024-08-05 19:43:57 +08:00
|
|
|
|
|
2025-07-08 17:37:03 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 父节点集合
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public Dictionary<ConnectionInvokeType, string[]> PreviousNodes { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 后续节点集合
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public Dictionary<ConnectionInvokeType, string[]> SuccessorNodes { get; set; }
|
|
|
|
|
|
|
2024-08-05 10:11:58 +08:00
|
|
|
|
/// <summary>
|
2024-09-15 12:15:32 +08:00
|
|
|
|
/// 真分支节点GUID
|
2024-08-05 10:11:58 +08:00
|
|
|
|
/// </summary>
|
2024-08-05 19:43:57 +08:00
|
|
|
|
|
2024-09-15 12:15:32 +08:00
|
|
|
|
public string[] TrueNodes { get; set; }
|
2024-08-05 19:43:57 +08:00
|
|
|
|
|
2024-08-05 10:11:58 +08:00
|
|
|
|
/// <summary>
|
2024-09-15 12:15:32 +08:00
|
|
|
|
/// 假分支节点
|
2024-08-05 10:11:58 +08:00
|
|
|
|
/// </summary>
|
2024-08-05 19:43:57 +08:00
|
|
|
|
|
2024-09-15 12:15:32 +08:00
|
|
|
|
public string[] FalseNodes { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 上游分支
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public string[] UpstreamNodes { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 异常分支
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public string[] ErrorNodes { get; set; }
|
2024-08-05 19:43:57 +08:00
|
|
|
|
|
2024-08-05 10:11:58 +08:00
|
|
|
|
/// <summary>
|
2024-09-15 12:15:32 +08:00
|
|
|
|
/// 参数
|
2024-08-05 10:11:58 +08:00
|
|
|
|
/// </summary>
|
2024-10-27 00:54:10 +08:00
|
|
|
|
public ParameterData[] ParameterData { get; set; }
|
2024-08-05 19:43:57 +08:00
|
|
|
|
|
2024-12-24 22:23:53 +08:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2025-07-08 17:37:03 +08:00
|
|
|
|
/// 如果节点放置在了区域控件上,这里会有父级节点Guid
|
2024-12-24 22:23:53 +08:00
|
|
|
|
/// </summary>
|
|
|
|
|
|
public string ParentNodeGuid{ get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-09-15 12:15:32 +08:00
|
|
|
|
/// <summary>
|
2024-12-24 22:23:53 +08:00
|
|
|
|
/// 如果是区域控件,则会存在子项,这里记录的是子项的Guid。
|
2024-09-15 12:15:32 +08:00
|
|
|
|
/// </summary>
|
2024-09-17 14:20:27 +08:00
|
|
|
|
public string[] ChildNodeGuids { get; set; }
|
2024-08-05 19:43:57 +08:00
|
|
|
|
|
2024-09-15 12:15:32 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 于画布中的位置
|
|
|
|
|
|
/// </summary>
|
2024-08-05 19:43:57 +08:00
|
|
|
|
|
2024-10-20 12:10:57 +08:00
|
|
|
|
public PositionOfUI Position { get; set; }
|
2024-08-05 19:43:57 +08:00
|
|
|
|
|
2024-12-12 21:09:29 +08:00
|
|
|
|
|
2024-09-15 12:15:32 +08:00
|
|
|
|
/// <summary>
|
2024-12-12 21:09:29 +08:00
|
|
|
|
/// 是否中断
|
2024-09-15 12:15:32 +08:00
|
|
|
|
/// </summary>
|
2024-12-12 21:09:29 +08:00
|
|
|
|
public bool IsInterrupt { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 是否使能
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public bool IsEnable { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 是否保护参数
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public bool IsProtectionParameter { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-12-12 20:31:50 +08:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 自定义数据
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public dynamic CustomData { get; set; }
|
2024-08-05 19:43:57 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2025-06-01 12:21:38 +08:00
|
|
|
|
|
|
|
|
|
|
|
2024-10-11 19:31:34 +08:00
|
|
|
|
/// <summary>
|
2024-10-27 00:54:10 +08:00
|
|
|
|
/// 参数信息,项目文件相关
|
2024-10-11 19:31:34 +08:00
|
|
|
|
/// </summary>
|
2024-10-27 00:54:10 +08:00
|
|
|
|
public class ParameterData
|
2024-08-05 19:43:57 +08:00
|
|
|
|
{
|
2025-03-14 21:38:07 +08:00
|
|
|
|
|
2024-10-14 17:29:28 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 参数类型,true时使用自定义的入参,false时由运行环境自动传参
|
|
|
|
|
|
/// </summary>
|
2024-09-17 14:20:27 +08:00
|
|
|
|
public bool State { get; set; }
|
2024-10-27 00:54:10 +08:00
|
|
|
|
|
2025-03-14 21:38:07 +08:00
|
|
|
|
|
2024-10-27 00:54:10 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 参数来源节点
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public string SourceNodeGuid { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 来源类型
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public string SourceType { get; set; }
|
|
|
|
|
|
|
2025-03-14 21:38:07 +08:00
|
|
|
|
|
2024-10-14 17:29:28 +08:00
|
|
|
|
/// <summary>
|
2025-03-14 21:38:07 +08:00
|
|
|
|
/// 参数名称
|
2024-10-14 17:29:28 +08:00
|
|
|
|
/// </summary>
|
2025-03-14 21:38:07 +08:00
|
|
|
|
public string ArgName { get; set; }
|
2024-11-02 16:48:40 +08:00
|
|
|
|
|
2024-10-14 17:29:28 +08:00
|
|
|
|
/// <summary>
|
2025-03-14 21:38:07 +08:00
|
|
|
|
/// 自定义入参
|
2024-10-14 17:29:28 +08:00
|
|
|
|
/// </summary>
|
2025-03-14 21:38:07 +08:00
|
|
|
|
public string Value { get; set; }
|
2024-08-05 19:43:57 +08:00
|
|
|
|
|
2024-08-05 10:11:58 +08:00
|
|
|
|
}
|
2024-08-05 19:43:57 +08:00
|
|
|
|
|
|
|
|
|
|
|
2024-08-05 10:11:58 +08:00
|
|
|
|
/// <summary>
|
2024-10-23 19:22:27 +08:00
|
|
|
|
/// 节点于画布中的位置(通用类)
|
2024-08-05 10:11:58 +08:00
|
|
|
|
/// </summary>
|
2024-10-23 19:22:27 +08:00
|
|
|
|
[NodeProperty]
|
|
|
|
|
|
public partial class PositionOfUI
|
|
|
|
|
|
{
|
2024-10-14 17:29:28 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 构造一个坐标
|
|
|
|
|
|
/// </summary>
|
2024-10-20 12:10:57 +08:00
|
|
|
|
public PositionOfUI(double x, double y)
|
2024-09-17 14:20:27 +08:00
|
|
|
|
{
|
2024-10-23 19:22:27 +08:00
|
|
|
|
_x = x; _y = y;
|
2024-09-17 14:20:27 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2025-05-27 18:32:40 +08:00
|
|
|
|
|
2024-10-23 19:22:27 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 指示控件在画布的横向向方向上的位置
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
[PropertyInfo]
|
|
|
|
|
|
private double _x = 0;
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 指示控件在画布的纵向方向上的位置
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
[PropertyInfo]
|
|
|
|
|
|
private double _y = 0;
|
2024-08-05 10:11:58 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-08-05 19:43:57 +08:00
|
|
|
|
|
2024-08-05 10:11:58 +08:00
|
|
|
|
}
|