mirror of
https://gitee.com/langsisi_admin/serein-flow
synced 2026-04-01 22:16:34 +08:00
修改了无法添加基础节点的bug,增加WebSocket JSON ID字段,远程环境交互使用消息ID作为响应key。
This commit is contained in:
@@ -6,9 +6,16 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace Serein.Library
|
||||
{
|
||||
/// <summary>
|
||||
/// 标识一个类中的某些字段需要生成相应代码
|
||||
/// </summary>
|
||||
[AttributeUsage(AttributeTargets.Class, Inherited = true)]
|
||||
internal sealed class AutoPropertyAttribute : Attribute
|
||||
public sealed class AutoPropertyAttribute : Attribute
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>属性路径</para>
|
||||
/// <para>CustomNode : 自定义节点</para>
|
||||
/// </summary>
|
||||
public string ValuePath = string.Empty;
|
||||
}
|
||||
|
||||
@@ -16,10 +23,19 @@ namespace Serein.Library
|
||||
/// 自动生成环境的属性
|
||||
/// </summary>
|
||||
[AttributeUsage(AttributeTargets.Field, Inherited = true)]
|
||||
internal sealed class PropertyInfoAttribute : Attribute
|
||||
public sealed class PropertyInfoAttribute : Attribute
|
||||
{
|
||||
/// <summary>
|
||||
/// 是否通知UI
|
||||
/// </summary>
|
||||
public bool IsNotification = false;
|
||||
/// <summary>
|
||||
/// 是否使用Console.WriteLine打印
|
||||
/// </summary>
|
||||
public bool IsPrint = false;
|
||||
/// <summary>
|
||||
/// 是否禁止参数进行修改(初始化后不能再通过setter修改)
|
||||
/// </summary>
|
||||
public bool IsProtection = false;
|
||||
}
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ namespace Serein.Library
|
||||
/// <summary>
|
||||
/// 每个节点有独自的MethodDetails实例
|
||||
/// </summary>
|
||||
[AutoProperty(ValuePath = nameof(MethodDetails))]
|
||||
[NodeProperty(ValuePath = NodeValuePath.Method)]
|
||||
public partial class MethodDetails
|
||||
{
|
||||
private readonly IFlowEnvironment env;
|
||||
@@ -142,7 +142,7 @@ namespace Serein.Library
|
||||
MethodLockName = this.MethodLockName,
|
||||
IsProtectionParameter = this.IsProtectionParameter,
|
||||
};
|
||||
md.ParameterDetailss = this.ParameterDetailss.Select(p => p.CloneOfClone(env, nodeModel)).ToArray(); // 拷贝属于节点方法的新入参描述
|
||||
md.ParameterDetailss = this.ParameterDetailss?.Select(p => p?.CloneOfClone(env, nodeModel)).ToArray(); // 拷贝属于节点方法的新入参描述
|
||||
return md;
|
||||
}
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ namespace Serein.Library
|
||||
/// <summary>
|
||||
/// 节点调试设置,用于中断节点的运行
|
||||
/// </summary>
|
||||
[AutoProperty(ValuePath = nameof(NodeDebugSetting))]
|
||||
[NodeProperty(ValuePath = NodeValuePath.DebugSetting)]
|
||||
public partial class NodeDebugSetting
|
||||
{
|
||||
private readonly NodeModelBase nodeModel;
|
||||
@@ -33,6 +33,13 @@ namespace Serein.Library
|
||||
[PropertyInfo]
|
||||
private InterruptClass _interruptClass = InterruptClass.None;
|
||||
|
||||
/// <summary>
|
||||
/// 中断级别,暂时停止继续执行后继分支。
|
||||
/// </summary>
|
||||
[PropertyInfo(IsNotification = true)]
|
||||
private bool _isInterrupt = false;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 取消中断的回调函数
|
||||
/// </summary>
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Serein.Library.Api;
|
||||
using Serein.Library.NodeGenerator;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
@@ -10,7 +11,7 @@ namespace Serein.Library
|
||||
/// <summary>
|
||||
/// 节点基类(数据):条件控件,动作控件,条件区域,动作区域
|
||||
/// </summary>
|
||||
[AutoProperty(ValuePath = nameof(NodeModelBase))] // 是否更名为 NodeProperty?
|
||||
[NodeProperty(ValuePath = NodeValuePath.None)]
|
||||
public abstract partial class NodeModelBase : IDynamicFlowNode
|
||||
{
|
||||
|
||||
|
||||
@@ -86,7 +86,13 @@ namespace Serein.Library
|
||||
/// <returns></returns>
|
||||
public virtual NodeModelBase LoadInfo(NodeInfo nodeInfo)
|
||||
{
|
||||
this.Guid = nodeInfo.Guid;
|
||||
this.Guid = nodeInfo.Guid;
|
||||
|
||||
if (nodeInfo.Position is null)
|
||||
{
|
||||
nodeInfo.Position = new PositionOfUI(0, 0);
|
||||
}
|
||||
this.Position = nodeInfo.Position;// 加载位置信息
|
||||
if (this.MethodDetails != null)
|
||||
{
|
||||
for (int i = 0; i < nodeInfo.ParameterData.Length; i++)
|
||||
@@ -96,7 +102,6 @@ namespace Serein.Library
|
||||
this.MethodDetails.ParameterDetailss[i].DataValue = pd.Value;
|
||||
}
|
||||
}
|
||||
this.Position = nodeInfo.Position;// 加载位置信息
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ namespace Serein.Library
|
||||
/// <summary>
|
||||
/// 节点入参参数详情
|
||||
/// </summary>
|
||||
[AutoProperty(ValuePath = nameof(ParameterDetails))]
|
||||
[NodeProperty(ValuePath = NodeValuePath.Parameter)]
|
||||
public partial class ParameterDetails
|
||||
{
|
||||
private readonly IFlowEnvironment env;
|
||||
|
||||
@@ -11,7 +11,7 @@ namespace Serein.Library
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// 环境信息(远程控制用)
|
||||
/// 环境信息
|
||||
/// </summary>
|
||||
public class FlowEnvInfo
|
||||
{
|
||||
@@ -27,10 +27,18 @@ namespace Serein.Library
|
||||
// IOC节点对象信息
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 程序集相关的方法信息
|
||||
/// </summary>
|
||||
public class LibraryMds
|
||||
{
|
||||
/// <summary>
|
||||
/// 程序集FullName
|
||||
/// </summary>
|
||||
public string LibraryName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 相关的方法详情
|
||||
/// </summary>
|
||||
public MethodDetailsInfo[] Mds { get; set; }
|
||||
|
||||
}
|
||||
@@ -70,7 +78,7 @@ namespace Serein.Library
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 基础
|
||||
/// 基础,项目文件相关
|
||||
/// </summary>
|
||||
public class Basic
|
||||
{
|
||||
@@ -87,7 +95,7 @@ namespace Serein.Library
|
||||
public string Versions { get; set; }
|
||||
}
|
||||
/// <summary>
|
||||
/// 画布
|
||||
/// 画布信息,项目文件相关
|
||||
/// </summary>
|
||||
public class FlowCanvas
|
||||
{
|
||||
@@ -122,7 +130,7 @@ namespace Serein.Library
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// DLL
|
||||
/// 项目依赖的程序集,项目文件相关
|
||||
/// </summary>
|
||||
public class Library
|
||||
{
|
||||
@@ -144,7 +152,7 @@ namespace Serein.Library
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 节点
|
||||
/// 节点信息,项目文件相关
|
||||
/// </summary>
|
||||
public class NodeInfo
|
||||
{
|
||||
@@ -215,7 +223,7 @@ namespace Serein.Library
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 显示参数
|
||||
/// 显示参数,项目文件相关
|
||||
/// </summary>
|
||||
public class Parameterdata
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user