修改了自述文件

This commit is contained in:
fengjiayi
2024-12-24 11:51:12 +08:00
parent 5941f75313
commit 949ac973bc
8 changed files with 243 additions and 87 deletions

View File

@@ -10,6 +10,7 @@ using Serein.Library.Utils.SereinExpression;
using Serein.NodeFlow.Model;
using Serein.NodeFlow.Tool;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Diagnostics;
using System.Numerics;
using System.Reflection;
@@ -1194,6 +1195,33 @@ namespace Serein.NodeFlow.Env
}
/// <summary>
/// 设置两个节点某个类型的方法调用关系为优先调用
/// </summary>
/// <param name="fromNodeGuid">起始节点</param>
/// <param name="toNodeGuid">目标节点</param>
/// <param name="connectionType">连接关系</param>
/// <returns>是否成功调用</returns>
public Task<bool> SetConnectPriorityInvoke(string fromNodeGuid, string toNodeGuid, ConnectionInvokeType connectionType)
{
// 获取起始节点与目标节点
var fromNode = GuidToModel(fromNodeGuid);
var toNode = GuidToModel(toNodeGuid);
if (fromNode is null || toNode is null) return Task.FromResult(false);
if ( fromNode.SuccessorNodes.TryGetValue(connectionType, out var nodes))
{
var idx = nodes.IndexOf(toNode);
if (idx > -1)
{
nodes.RemoveAt(idx);
nodes.Insert(0, toNode);
return Task.FromResult(true);
}
}
return Task.FromResult(false);
}
/// <summary>
/// 移除连接节点之间方法调用的关系
/// </summary>

View File

@@ -350,6 +350,24 @@ namespace Serein.NodeFlow.Env
return currentFlowEnvironment.UnloadLibrary(assemblyName);
}
/// <summary>
/// 设置两个节点某个类型的方法调用关系为优先调用
/// </summary>
/// <param name="fromNodeGuid">起始节点</param>
/// <param name="toNodeGuid">目标节点</param>
/// <param name="connectionType">连接关系</param>
/// <returns>是否成功调用</returns>
public async Task<bool> SetConnectPriorityInvoke(string fromNodeGuid, string toNodeGuid, ConnectionInvokeType connectionType)
{
return await currentFlowEnvironment.SetConnectPriorityInvoke(fromNodeGuid, toNodeGuid, connectionType);
}
/// <summary>
/// 移除方法调用关系
/// </summary>
/// <param name="fromNodeGuid"></param>
/// <param name="toNodeGuid"></param>
/// <param name="connectionType"></param>
/// <returns></returns>
public async Task<bool> RemoveConnectInvokeAsync(string fromNodeGuid, string toNodeGuid, ConnectionInvokeType connectionType)
{
return await currentFlowEnvironment.RemoveConnectInvokeAsync(fromNodeGuid, toNodeGuid, connectionType);

View File

@@ -639,7 +639,18 @@ namespace Serein.NodeFlow.Env
return result;
}
/// <summary>
/// 设置两个节点某个类型的方法调用关系为优先调用
/// </summary>
/// <param name="fromNodeGuid">起始节点</param>
/// <param name="toNodeGuid">目标节点</param>
/// <param name="connectionType">连接关系</param>
/// <returns>是否成功调用</returns>
public async Task<bool> SetConnectPriorityInvoke(string fromNodeGuid, string toNodeGuid, ConnectionInvokeType connectionType)
{
this.WriteLine(InfoType.WARN, "远程环境尚未实现的接口(重要,会尽快实现)SetConnectPriorityInvoke");
return false;
}
/// <summary>
/// 移除两个节点之间的方法调用关系
/// </summary>
@@ -705,7 +716,7 @@ namespace Serein.NodeFlow.Env
/// <returns></returns>
public async Task LoadNodeInfosAsync(List<NodeInfo> nodeInfos)
{
this.WriteLine(InfoType.INFO, "远程环境尚未实现的接口(重要,会尽快实现)LoadNodeInfoAsync");
this.WriteLine(InfoType.WARN, "远程环境尚未实现的接口(重要,会尽快实现)LoadNodeInfoAsync");
}

View File

@@ -38,7 +38,7 @@ namespace Serein.NodeFlow.Model
}
/// <summary>
/// 数据节点
/// 数据来源的节点
/// </summary>
private string? DataNodeGuid;
@@ -76,7 +76,7 @@ namespace Serein.NodeFlow.Model
if (DataNodeGuid == null)
{
context.NextOrientation = ConnectionInvokeType.IsError;
SereinEnv.WriteLine(InfoType.ERROR, $"全局数据节点没有数据[{this.Guid}]");
SereinEnv.WriteLine(InfoType.ERROR, $"全局数据节点没有设置数据来源[{this.Guid}]");
return null;
}