mirror of
https://gitee.com/langsisi_admin/serein-flow
synced 2026-03-03 00:00:49 +08:00
338 lines
7.2 KiB
C#
338 lines
7.2 KiB
C#
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
|
||
{
|
||
|
||
/// <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
|
||
{
|
||
/// <summary>
|
||
/// 基础
|
||
/// </summary>
|
||
|
||
public Basic Basic { get; set; }
|
||
|
||
/// <summary>
|
||
/// 依赖的DLL
|
||
/// </summary>
|
||
|
||
public NodeLibraryInfo[] Librarys { get; set; }
|
||
|
||
/// <summary>
|
||
/// 起始节点GUID
|
||
/// </summary>
|
||
|
||
public string StartNode { get; set; }
|
||
|
||
/// <summary>
|
||
/// 节点集合
|
||
/// </summary>
|
||
|
||
public NodeInfo[] Nodes { get; set; }
|
||
|
||
}
|
||
|
||
/// <summary>
|
||
/// 基础,项目文件相关
|
||
/// </summary>
|
||
public class Basic
|
||
{
|
||
/// <summary>
|
||
/// 画布
|
||
/// </summary>
|
||
|
||
public FlowCanvas Canvas { get; set; }
|
||
|
||
/// <summary>
|
||
/// 版本
|
||
/// </summary>
|
||
|
||
public string Versions { get; set; }
|
||
}
|
||
/// <summary>
|
||
/// 画布信息,项目文件相关
|
||
/// </summary>
|
||
public class FlowCanvas
|
||
{
|
||
/// <summary>
|
||
/// 宽度
|
||
/// </summary>
|
||
public double Width { get; set; }
|
||
/// <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; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 项目依赖的程序集,项目文件相关
|
||
/// </summary>
|
||
/// <summary>
|
||
public class NodeLibraryInfo
|
||
{
|
||
/// <summary>
|
||
/// 文件名
|
||
/// </summary>
|
||
public string FileName { get; set; }
|
||
|
||
/// <summary>
|
||
/// 路径
|
||
/// </summary>
|
||
public string FilePath { get; set; }
|
||
|
||
/// <summary>
|
||
/// 所属的程序集名称
|
||
/// </summary>
|
||
public string AssemblyName { get; set; }
|
||
}
|
||
|
||
#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
|
||
|
||
/// <summary>
|
||
/// 节点信息,项目文件相关
|
||
/// </summary>
|
||
public class NodeInfo
|
||
{
|
||
/// <summary>
|
||
/// 节点的GUID
|
||
/// </summary>
|
||
public string Guid { get; set; }
|
||
|
||
/// <summary>
|
||
/// 节点方法所属的程序集名称
|
||
/// </summary>
|
||
public string AssemblyName { get;set; }
|
||
|
||
/// <summary>
|
||
/// 节点对应的名称
|
||
/// </summary>
|
||
|
||
public string MethodName { get; set; }
|
||
|
||
/// <summary>
|
||
/// 显示标签
|
||
/// </summary>
|
||
|
||
public string Label { get; set; }
|
||
|
||
/// <summary>
|
||
/// 类型
|
||
/// </summary>
|
||
public string Type { get; set; }
|
||
|
||
/// <summary>
|
||
/// 真分支节点GUID
|
||
/// </summary>
|
||
|
||
public string[] TrueNodes { get; set; }
|
||
|
||
/// <summary>
|
||
/// 假分支节点
|
||
/// </summary>
|
||
|
||
public string[] FalseNodes { get; set; }
|
||
/// <summary>
|
||
/// 上游分支
|
||
/// </summary>
|
||
public string[] UpstreamNodes { get; set; }
|
||
/// <summary>
|
||
/// 异常分支
|
||
/// </summary>
|
||
public string[] ErrorNodes { get; set; }
|
||
|
||
/// <summary>
|
||
/// 参数
|
||
/// </summary>
|
||
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; }
|
||
|
||
|
||
/// <summary>
|
||
/// 是否中断
|
||
/// </summary>
|
||
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; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 参数信息,项目文件相关
|
||
/// </summary>
|
||
public class ParameterData
|
||
{
|
||
/// <summary>
|
||
/// 参数类型,true时使用自定义的入参,false时由运行环境自动传参
|
||
/// </summary>
|
||
public bool State { get; set; }
|
||
|
||
/// <summary>
|
||
/// 参数来源节点
|
||
/// </summary>
|
||
public string SourceNodeGuid { get; set; }
|
||
|
||
/// <summary>
|
||
/// 来源类型
|
||
/// </summary>
|
||
public string SourceType { get; set; }
|
||
|
||
/// <summary>
|
||
/// 自定义入参
|
||
/// </summary>
|
||
public string Value { get; set; }
|
||
|
||
/// <summary>
|
||
/// 表达式相关节点的表达式内容
|
||
/// </summary>
|
||
// public string Expression { get; set; }
|
||
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// 节点于画布中的位置(通用类)
|
||
/// </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;
|
||
}
|
||
|
||
|
||
|
||
}
|