Files
serein-flow/Library/FlowNode/SereinProjectData.cs

355 lines
7.5 KiB
C#
Raw Normal View History

using Newtonsoft.Json.Linq;
using Serein.Library.Api;
using System;
2024-08-05 10:11:58 +08:00
using System.Collections.Generic;
using System.Drawing;
2024-08-05 10:11:58 +08:00
using System.Linq;
using System.Reflection;
2024-08-05 10:11:58 +08:00
using System.Text;
using System.Threading.Tasks;
namespace Serein.Library
2024-08-05 10:11:58 +08:00
{
/// <summary>
/// 环境信息
/// </summary>
public class FlowEnvInfo
{
/// <summary>
/// 环境方法信息
/// </summary>
public LibraryMds[] LibraryMds { get; set; }
/// <summary>
/// 项目信息
/// </summary>
public SereinProjectData Project { get; set; }
// IOC节点对象信息
}
/// <summary>
/// 程序集相关的方法信息
/// </summary>
public class LibraryMds
{
/// <summary>
/// 程序集名称
/// </summary>
public string AssemblyName { get; set; }
/// <summary>
/// 相关的方法详情
/// </summary>
public MethodDetailsInfo[] Mds { get; set; }
}
/// <summary>
/// 项目数据
/// </summary>
public class SereinProjectData
2024-08-05 10:11:58 +08:00
{
/// <summary>
/// 基础
/// </summary>
public Basic Basic { get; set; }
2024-08-05 10:11:58 +08:00
/// <summary>
/// 依赖的DLL
/// </summary>
public NodeLibraryInfo[] Librarys { get; set; }
///// <summary>
///// 起始节点GUID
///// </summary>
//public string StartNode { get; set; }
2024-08-05 10:11:58 +08:00
/// <summary>
/// 画布集合
2024-08-05 10:11:58 +08:00
/// </summary>
public FlowCanvasDetailsInfo[] Canvass { get; set; }
2024-08-05 10:11:58 +08:00
/// <summary>
/// 节点集合
2024-08-05 10:11:58 +08:00
/// </summary>
public NodeInfo[] Nodes { get; set; }
2024-08-05 10:11:58 +08:00
}
/// <summary>
/// 基础,项目文件相关
2024-08-05 10:11:58 +08:00
/// </summary>
public class Basic
{
///// <summary>
///// 画布
///// </summary>
//public FlowCanvasInfo Canvas { get; set; }
2024-08-05 10:11:58 +08:00
/// <summary>
/// 版本
/// </summary>
public string Versions { get; set; }
2024-08-05 10:11:58 +08:00
}
/* /// <summary>
/// 画布信息,项目文件相关
2024-08-05 10:11:58 +08:00
/// </summary>
public class FlowCanvasInfo
2024-08-05 10:11:58 +08:00
{
public string Guid { get; set; }
public string Name { get; set; }
2024-08-05 10:11:58 +08:00
/// <summary>
/// 宽度
/// </summary>
public double Width { get; set; }
2024-08-05 10:11:58 +08:00
/// <summary>
/// 高度
/// </summary>
public double Height { get; set; }
/// <summary>
/// 预览位置X
/// </summary>
public double ViewX { get; set; }
/// <summary>
/// 预览位置Y
/// </summary>
public double ViewY { get; set; }
/// <summary>
/// 缩放比例X
/// </summary>
public double ScaleX { get; set; }
/// <summary>
/// 缩放比例Y
/// </summary>
public double ScaleY { get; set; }
}*/
2024-08-05 10:11:58 +08:00
/// <summary>
/// 项目依赖的程序集,项目文件相关
2024-08-05 10:11:58 +08:00
/// </summary>
/// <summary>
public class NodeLibraryInfo
2024-08-05 10:11:58 +08:00
{
/// <summary>
/// 文件名
2024-08-05 10:11:58 +08:00
/// </summary>
public string FileName { get; set; }
2024-08-05 10:11:58 +08:00
/// <summary>
/// 路径
2024-08-05 10:11:58 +08:00
/// </summary>
public string FilePath { get; set; }
/// <summary>
/// 所属的程序集名称
/// </summary>
public string AssemblyName { get; set; }
2024-08-05 10:11:58 +08:00
}
#region
/*public class LibraryInfo
{
/// <summary>
/// 文件名称
/// </summary>
public string FileName { get; set; }
/// <summary>
/// 文件路径
/// </summary>
public string FilePath { get; set; }
/// <summary>
/// 程序集名称
/// </summary>
public string AssemblyName { get; set; }
}*/
#endregion
2024-08-05 10:11:58 +08:00
/// <summary>
/// 节点信息,项目文件相关
2024-08-05 10:11:58 +08:00
/// </summary>
public class NodeInfo
{
/// <summary>
/// 所属画布Guid
/// </summary>
public string CanvasGuid { get; set; }
2024-08-05 10:11:58 +08:00
/// <summary>
/// 节点的GUID
2024-08-05 10:11:58 +08:00
/// </summary>
public string Guid { get; set; }
2024-08-05 10:11:58 +08:00
/// <summary>
/// 节点方法所属的程序集名称
/// </summary>
public string AssemblyName { get;set; }
/// <summary>
/// 节点对应的名称
2024-08-05 10:11:58 +08:00
/// </summary>
public string MethodName { get; set; }
2024-08-05 10:11:58 +08:00
/// <summary>
/// 显示标签
/// </summary>
public string Label { get; set; }
2024-08-05 10:11:58 +08:00
/// <summary>
/// 类型
/// </summary>
public string Type { get; set; }
2024-08-05 10:11:58 +08:00
/// <summary>
/// 真分支节点GUID
2024-08-05 10:11:58 +08:00
/// </summary>
public string[] TrueNodes { get; set; }
2024-08-05 10:11:58 +08:00
/// <summary>
/// 假分支节点
2024-08-05 10:11:58 +08:00
/// </summary>
public string[] FalseNodes { get; set; }
/// <summary>
/// 上游分支
/// </summary>
public string[] UpstreamNodes { get; set; }
/// <summary>
/// 异常分支
/// </summary>
public string[] ErrorNodes { get; set; }
2024-08-05 10:11:58 +08:00
/// <summary>
/// 参数
2024-08-05 10:11:58 +08:00
/// </summary>
2024-10-27 00:54:10 +08:00
public ParameterData[] ParameterData { get; set; }
/// <summary>
/// 父级节点Guid
/// </summary>
public string ParentNodeGuid{ get; set; }
/// <summary>
/// 如果是区域控件则会存在子项这里记录的是子项的Guid。
/// </summary>
public string[] ChildNodeGuids { get; set; }
/// <summary>
/// 于画布中的位置
/// </summary>
public PositionOfUI Position { get; set; }
2024-12-12 21:09:29 +08:00
/// <summary>
2024-12-12 21:09:29 +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; }
/// <summary>
/// 自定义数据
/// </summary>
public dynamic CustomData { get; set; }
}
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
{
2025-03-14 21:38:07 +08:00
/// <summary>
/// 参数类型true时使用自定义的入参false时由运行环境自动传参
/// </summary>
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
/// <summary>
2025-03-14 21:38:07 +08:00
/// 参数名称
/// </summary>
2025-03-14 21:38:07 +08:00
public string ArgName { get; set; }
2024-11-02 16:48:40 +08:00
/// <summary>
2025-03-14 21:38:07 +08:00
/// 自定义入参
/// </summary>
2025-03-14 21:38:07 +08:00
public string Value { get; set; }
2024-08-05 10:11:58 +08:00
}
2024-08-05 10:11:58 +08:00
/// <summary>
/// 节点于画布中的位置(通用类)
2024-08-05 10:11:58 +08:00
/// </summary>
[NodeProperty]
public partial class PositionOfUI
{
/// <summary>
/// 构造一个坐标
/// </summary>
public PositionOfUI(double x, double y)
{
_x = x; _y = y;
}
/// <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 10:11:58 +08:00
}