using Newtonsoft.Json.Linq; using Serein.Library.Api; using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; namespace Serein.Library { /// /// 环境信息 /// public class FlowEnvInfo { /// /// 环境方法信息 /// public LibraryMds[] LibraryMds { get; set; } /// /// 项目信息 /// public SereinProjectData Project { get; set; } // IOC节点对象信息 } /// /// 程序集相关的方法信息 /// public class LibraryMds { /// /// 程序集名称 /// public string AssemblyName { get; set; } /// /// 相关的方法详情 /// public MethodDetailsInfo[] Mds { get; set; } } /// /// 项目数据 /// public class SereinProjectData { /// /// 基础 /// public Basic Basic { get; set; } /// /// 依赖的DLL /// public NodeLibraryInfo[] Librarys { get; set; } /// /// 画布集合 /// public FlowCanvasDetailsInfo[] Canvass { get; set; } /// /// 节点集合 /// public NodeInfo[] Nodes { get; set; } } /// /// 基础,项目文件相关 /// public class Basic { ///// ///// 画布 ///// //public FlowCanvasInfo Canvas { get; set; } /// /// 版本 /// public string Versions { get; set; } } /// /// 项目依赖的程序集,项目文件相关 /// /// public class NodeLibraryInfo { /// /// 文件名 /// public string FileName { get; set; } /// /// 路径 /// public string FilePath { get; set; } /// /// 所属的程序集名称 /// public string AssemblyName { get; set; } } /// /// 节点信息,项目文件相关 /// public class NodeInfo { /// /// 所属画布Guid /// public string CanvasGuid { get; set; } /// /// 节点的GUID /// public string Guid { get; set; } /// /// 是否全局公开 /// public bool IsPublic { get; set; } /// /// 节点方法所属的程序集名称 /// public string AssemblyName { get;set; } /// /// 节点对应的名称 /// public string MethodName { get; set; } /// /// 显示标签 /// public string Label { get; set; } /// /// 类型 /// public string Type { get; set; } /// /// 真分支节点GUID /// public string[] TrueNodes { get; set; } /// /// 假分支节点 /// public string[] FalseNodes { get; set; } /// /// 上游分支 /// public string[] UpstreamNodes { get; set; } /// /// 异常分支 /// public string[] ErrorNodes { get; set; } /// /// 参数 /// public ParameterData[] ParameterData { get; set; } /// /// 父级节点Guid /// public string ParentNodeGuid{ get; set; } /// /// 如果是区域控件,则会存在子项,这里记录的是子项的Guid。 /// public string[] ChildNodeGuids { get; set; } /// /// 于画布中的位置 /// public PositionOfUI Position { get; set; } /// /// 是否中断 /// public bool IsInterrupt { get; set; } /// /// 是否使能 /// public bool IsEnable { get; set; } /// /// 是否保护参数 /// public bool IsProtectionParameter { get; set; } /// /// 自定义数据 /// public dynamic CustomData { get; set; } } /// /// 参数信息,项目文件相关 /// public class ParameterData { /// /// 参数类型,true时使用自定义的入参,false时由运行环境自动传参 /// public bool State { get; set; } /// /// 参数来源节点 /// public string SourceNodeGuid { get; set; } /// /// 来源类型 /// public string SourceType { get; set; } /// /// 参数名称 /// public string ArgName { get; set; } /// /// 自定义入参 /// public string Value { get; set; } } /// /// 节点于画布中的位置(通用类) /// [NodeProperty] public partial class PositionOfUI { /// /// 构造一个坐标 /// public PositionOfUI(double x, double y) { _x = x; _y = y; } /// /// 指示控件在画布的横向向方向上的位置 /// [PropertyInfo] private double _x = 0; /// /// 指示控件在画布的纵向方向上的位置 /// [PropertyInfo] private double _y = 0; } }