重构中day1,写了很多,不知道怎么说清楚

This commit is contained in:
fengjiayi
2025-03-18 21:01:15 +08:00
parent 87402ec7ea
commit 2168c5ec66
39 changed files with 2809 additions and 10 deletions

View File

@@ -0,0 +1,13 @@
using CommunityToolkit.Mvvm.ComponentModel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Serein.Workbench.ViewModels
{
internal class BaseNodesViewModel : ObservableObject
{
}
}

View File

@@ -0,0 +1,19 @@
using CommunityToolkit.Mvvm.ComponentModel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Serein.Workbench.ViewModels
{
public partial class FlowCanvasViewModel : ObservableObject
{
[ObservableProperty]
private bool _isConnectionInvokeNode;
[ObservableProperty]
private bool _isConnectionArgSourceNode;
}
}

View File

@@ -0,0 +1,16 @@
using CommunityToolkit.Mvvm.ComponentModel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Serein.Workbench.ViewModels
{
/// <summary>
/// 流程编辑数据视图
/// </summary>
public partial class FlowEditViewModel : ObservableObject
{
}
}

View File

@@ -0,0 +1,54 @@
using CommunityToolkit.Mvvm.ComponentModel;
using Serein.Library;
using Serein.Workbench.Api;
using Serein.Workbench.Models;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Serein.Workbench.ViewModels
{
internal partial class FlowLibrarysViewModel : ObservableObject
{
private readonly IFlowEEForwardingService flowEEForwardingService;
[ObservableProperty]
private ObservableCollection<FlowLibraryInfo> flowLibraryInfos;
public FlowLibrarysViewModel(IFlowEEForwardingService flowEEForwardingService)
{
this.flowEEForwardingService = flowEEForwardingService;
FlowLibraryInfos = new ObservableCollection<FlowLibraryInfo>();
flowEEForwardingService.OnDllLoad += FlowEEForwardingService_OnDllLoad;
}
private void FlowEEForwardingService_OnDllLoad(Library.Api.LoadDllEventArgs eventArgs)
{
if (!eventArgs.IsSucceed) return;
List<MethodDetailsInfo> mds = eventArgs.MethodDetailss;
NodeLibraryInfo libraryInfo = eventArgs.NodeLibraryInfo;
var methodInfo = new ObservableCollection<FlowLibraryMethodDetailsInfo>();
foreach (var md in mds)
{
methodInfo.Add(new FlowLibraryMethodDetailsInfo(md));
}
var flInfo = new FlowLibraryInfo
{
LibraryName = libraryInfo.AssemblyName,
FilePath = libraryInfo.FilePath,
MethodInfo = methodInfo
};
FlowLibraryInfos.Add(flInfo);
}
}
}

View File

@@ -0,0 +1,25 @@
using CommunityToolkit.Mvvm.ComponentModel;
using Serein.Workbench.Api;
using Serein.Workbench.Models;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Serein.Workbench.ViewModels
{
internal partial class FlowWorkbenchViewModel : ObservableObject
{
private readonly IFlowEEForwardingService flowEEForwardingService;
public FlowWorkbenchViewModel(IFlowEEForwardingService flowEEForwardingService)
{
this.flowEEForwardingService = flowEEForwardingService;
//flowEEForwardingService.OnDllLoad += FlowEEForwardingService_OnDllLoad;
}
}
}

View File

@@ -0,0 +1,40 @@
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Serein.Workbench.ViewModels
{
internal class Locator
{
private static IServiceProvider ServiceProvide { get; set; }
public Locator(IServiceProvider serviceProvider)
{
ServiceProvider = serviceProvider;
}
//private IServiceProvider GetService()
//{
// var service = new ServiceCollection();
// service.AddSingleton<MainViewModel>();
// service.AddSingleton<MainMenuBarViewModel>();
// service.AddSingleton<FlowWorkbenchViewModel>();
// service.AddSingleton<BaseNodesViewModel>();
// service.AddSingleton<FlowLibrarysViewModel>();
// service.AddTransient<FlowLibraryMethodDetailssViewModel>();
// return service.BuildServiceProvider();
//}
public MainViewModel MainViewModel => App.GetService<MainViewModel>() ?? throw new NotImplementedException();
public MainMenuBarViewModel MainMenuBarViewModel => App.GetService<MainMenuBarViewModel>() ?? throw new NotImplementedException();
public FlowWorkbenchViewModel FlowWorkbenchViewModel => App.GetService<FlowWorkbenchViewModel>() ?? throw new NotImplementedException();
public BaseNodesViewModel BaseNodesViewModel => App.GetService<BaseNodesViewModel>() ?? throw new NotImplementedException();
public FlowLibrarysViewModel FlowLibrarysViewModel => App.GetService<FlowLibrarysViewModel>() ?? throw new NotImplementedException();
public FlowEditViewModel FlowEditViewModel => App.GetService<FlowEditViewModel>() ?? throw new NotImplementedException();
public FlowCanvasViewModel FlowCanvasViewModel => App.GetService<FlowCanvasViewModel>() ?? throw new NotImplementedException();
public IServiceProvider ServiceProvider { get; }
}
}

View File

@@ -0,0 +1,12 @@
using CommunityToolkit.Mvvm.ComponentModel;
namespace Serein.Workbench.ViewModels
{
public class MainMenuBarViewModel : ObservableObject
{
public MainMenuBarViewModel()
{
}
}
}

View File

@@ -0,0 +1,17 @@
using CommunityToolkit.Mvvm.ComponentModel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Serein.Workbench.ViewModels
{
public class MainViewModel : ObservableObject
{
public MainViewModel()
{
}
}
}