完善节点图的代码生成

This commit is contained in:
fengjiayi
2025-07-07 20:40:24 +08:00
parent b25fd9c83c
commit 678b01f2fe
33 changed files with 1219 additions and 214 deletions

View File

@@ -4,6 +4,7 @@ using Serein.Library;
using Serein.Library.Api;
using Serein.Library.Utils;
using Serein.NodeFlow.Env;
using Serein.NodeFlow.Services;
using Serein.Workbench.Api;
using Serein.Workbench.Services;
using Serein.Workbench.ViewModels;
@@ -54,6 +55,7 @@ namespace Serein.Workbench
// 这里是测试代码,可以删除
private async Task LoadLocalProjectAsync()
{
if (1 == 11)
{
var projectService = App.GetService<FlowProjectService>();

View File

@@ -75,7 +75,7 @@
<ItemGroup>
<PackageReference Include="AvalonEdit" Version="6.3.0.90" />
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.4.0" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.3" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.6" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />

View File

@@ -74,7 +74,6 @@ namespace Serein.Workbench
collection.AddSingleton<IFlowEnvironmentEvent>(flowEnvironment.Event); // 注册运行环境事件
#endregion
}
}

View File

@@ -142,7 +142,7 @@ namespace Serein.Workbench.Themes
{
try
{
await flowEnvironment.FlowControl.StartFlowFromSelectNodeAsync(tmpNodeTreeModel.RootNode.Guid);
await flowEnvironment.FlowControl.StartFlowAsync<FlowResult>(tmpNodeTreeModel.RootNode.Guid);
}
catch (Exception ex)
{

View File

@@ -1,7 +1,9 @@
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using Serein.Library.Api;
using Serein.NodeFlow.Services;
using Serein.Workbench.Services;
using System.Diagnostics;
using System.Windows.Input;
namespace Serein.Workbench.ViewModels
@@ -130,6 +132,20 @@ namespace Serein.Workbench.ViewModels
private void OpenRemoteServer()
{
try
{
var env = App.GetService<IFlowEnvironment>();
var flowModelService = env.IOC.Get<FlowModelService>();
var text = flowModelService.ToCsharpCoreFile(); ;
Debug.WriteLine(text);
}
catch (Exception ex)
{
}
flowEnvironment.StartRemoteServerAsync();
}

View File

@@ -551,7 +551,6 @@ namespace Serein.Workbench.Views
}
if (key == Key.F5)
{
if (keyEventService.GetKeyState(Key.LeftCtrl) || keyEventService.GetKeyState(Key.RightCtrl))
@@ -564,7 +563,7 @@ namespace Serein.Workbench.Views
// F5 调试当前选定节点
var nodeModel = selectNodeControls[0].ViewModel.NodeModel;
SereinEnv.WriteLine(InfoType.INFO, $"调试运行当前节点:{nodeModel.Guid}");
_ = flowEnvironment.FlowControl.StartFlowFromSelectNodeAsync(nodeModel.Guid);
_ = flowEnvironment.FlowControl.StartFlowAsync<FlowResult>(nodeModel.Guid);
//_ = nodeModel.StartFlowAsync(new DynamicContext(flowEnvironment), new CancellationToken());
}

View File

@@ -35,7 +35,7 @@
</MenuItem>
<MenuItem Header="拓展">
<!--<MenuItem Header="动态编译" ></MenuItem>-->
<MenuItem Header="启动远程服务"></MenuItem>
<MenuItem Header="启动远程服务" Command="{Binding OpenRemoteServerCommand}"></MenuItem>
</MenuItem>
</Menu>