![]() |
VOOZH | about |
dotnet add package TJC.Cyclops.ApprovalFlow --version 2026.4.24.1
NuGet\Install-Package TJC.Cyclops.ApprovalFlow -Version 2026.4.24.1
<PackageReference Include="TJC.Cyclops.ApprovalFlow" Version="2026.4.24.1" />
<PackageVersion Include="TJC.Cyclops.ApprovalFlow" Version="2026.4.24.1" />Directory.Packages.props
<PackageReference Include="TJC.Cyclops.ApprovalFlow" />Project file
paket add TJC.Cyclops.ApprovalFlow --version 2026.4.24.1
#r "nuget: TJC.Cyclops.ApprovalFlow, 2026.4.24.1"
#:package TJC.Cyclops.ApprovalFlow@2026.4.24.1
#addin nuget:?package=TJC.Cyclops.ApprovalFlow&version=2026.4.24.1Install as a Cake Addin
#tool nuget:?package=TJC.Cyclops.ApprovalFlow&version=2026.4.24.1Install as a Cake Tool
🔄 灵活强大的审批流程引擎 🔄
Cyclops.ApprovalFlow 是企服版框架中的审批流开发套件,提供灵活、可扩展的工作流管理能力。该项目采用图论模型设计,通过节点和边的组合构建复杂的审批流程,支持多种节点类型和流转逻辑,为企业应用提供强大的业务流程管理支持。
dotnet add package Cyclops.ApprovalFlow
using Cyclops.ApprovalFlow;
// 创建流程构建器实例
var flowBuilder = new FlowBuilder();
// 从JSON文件加载流程定义
string jsonPath = "path/to/your/flowdefinition.json";
var executor = await flowBuilder.CreateExecutorFromJsonFileAsync(jsonPath);
using Cyclops.ApprovalFlow;
// 创建流程构建器实例
var flowBuilder = new FlowBuilder();
// 流程定义JSON字符串
string flowJson = @"{
""key"": ""LeaveApprovalFlow",
""name"": ""请假审批流程",
""nodes"": [
{
""id"": ""start",
""type"": ""start-node",
""text"": { ""value"": ""开始"" }
},
{
""id"": ""manager-approval",
""type"": ""user-node",
""text"": { ""value"": ""经理审批"" },
""properties"": {
""assignee"": ""manager"
}
},
{
""id"": ""end",
""type"": ""end-node",
""text"": { ""value"": ""结束"" }
}
],
""edges"": [
{
""id"": ""edge1",
""sourceNodeId"": ""start",
""targetNodeId"": ""manager-approval",
""text"": { ""value"": ""提交"" }
},
{
""id"": ""edge2",
""sourceNodeId"": ""manager-approval",
""targetNodeId"": ""end",
""text"": { ""value"": ""通过"" }
}
]
}";
// 从JSON字符串加载流程定义
var executor = await flowBuilder.CreateExecutorFromJsonStringAsync(flowJson, "LeaveApprovalFlow");
using Cyclops.ApprovalFlow;
// 初始化流程引擎
var flowEngine = FlowEngine.Instance;
// 启动流程引擎
flowEngine.Start();
// 在应用关闭时停止流程引擎并释放资源
// flowEngine.Dispose();
using Cyclops.ApprovalFlow;
// 获取流程执行器
var flowBuilder = new FlowBuilder();
if (flowBuilder.TryGetExecutor("LeaveApprovalFlow", out var executor))
{
// 创建流程实例
var flowId = await executor.StartFlowAsync();
Console.WriteLine($"流程已启动,ID: {flowId}");
// 执行流程步骤
var result = await executor.AdvanceFlowAsync(flowId, "manager-approval", new Dictionary<string, object>
{
{ "approved", true },
{ "comment", "同意请假" }
});
// 检查流程状态
if (result.IsCompleted)
{
Console.WriteLine("流程已完成!");
}
}
using Cyclops.ApprovalFlow;
using Cyclops.ApprovalFlow.Models;
// 注册流程事件监听器
FlowEngine.Instance.OnFlowStarted += (sender, e) => {
Console.WriteLine($"流程 {e.FlowId} 已启动");
};
FlowEngine.Instance.OnFlowCompleted += (sender, e) => {
Console.WriteLine($"流程 {e.FlowId} 已完成");
};
FlowEngine.Instance.OnFlowNodeCompleted += (sender, e) => {
Console.WriteLine($"流程 {e.FlowId} 的节点 {e.NodeId} 已完成");
};
using Cyclops.ApprovalFlow;
using Cyclops.ApprovalFlow.Core;
// 自定义节点处理器
public class CustomNodeHandler : IFlowNodeHandler
{
public async Task<FlowStepResult> HandleAsync(FlowNodeHandleContext context)
{
// 处理节点逻辑
Console.WriteLine($"处理节点: {context.Node.Id}");
// 模拟处理时间
await Task.Delay(1000);
// 返回处理结果
return new FlowStepResult
{
Success = true,
OutputData = new Dictionary<string, object>
{
{ "processedBy", "CustomHandler" },
{ "processedAt", DateTime.Now }
}
};
}
}
// 注册自定义处理器
FlowBuilder.RegisterNodeHandler("custom-node", typeof(CustomNodeHandler));
{
"key": "流程唯一标识",
"name": "流程名称",
"nodes": [
{
"id": "节点ID",
"type": "节点类型",
"text": { "value": "节点显示文本" },
"properties": {
"自定义属性1": "值1",
"自定义属性2": "值2"
}
}
],
"edges": [
{
"id": "边ID",
"sourceNodeId": "源节点ID",
"targetNodeId": "目标节点ID",
"text": { "value": "边显示文本" },
"properties": {
"condition": "流转条件表达式"
}
}
]
}
我们欢迎社区贡献!如果您有任何想法或建议,欢迎提交 Issue 或 Pull Request。
MIT License
Cyclops.ApprovalFlow - 让审批流程管理变得简单高效,为企业业务流程赋能!✨
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 net8.0 is compatible. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 was computed. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 was computed. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
Showing the top 1 NuGet packages that depend on TJC.Cyclops.ApprovalFlow:
| Package | Downloads |
|---|---|
|
TJC.Cyclops.Web.Core
企服版框架中api核心功能项目,基于aspnetcore集成di、jwt、swagger、codefirtst、支持多种常见数据库、nacos配置中心、统一接口回复参数、全局异常捕获、全局接口日志、防重放攻击、图形验证码、快捷上下文对象、上传下载、数据导入导出等功能 |
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2026.6.24.1 | 125 | 6/24/2026 |
| 2026.6.23.1 | 149 | 6/23/2026 |
| 2026.6.22.2 | 138 | 6/22/2026 |
| 2026.6.22.1 | 146 | 6/22/2026 |
| 2026.6.11.2 | 175 | 6/11/2026 |
| 2026.6.11.1 | 176 | 6/11/2026 |
| 2026.6.9.4 | 162 | 6/9/2026 |
| 2026.6.9.3 | 166 | 6/9/2026 |
| 2026.6.9.2 | 166 | 6/9/2026 |
| 2026.6.9.1 | 173 | 6/9/2026 |
| 2026.6.8.3 | 189 | 6/8/2026 |
| 2026.6.8.2 | 143 | 6/8/2026 |
| 2026.6.8.1 | 153 | 6/8/2026 |
| 2026.6.5.1 | 150 | 6/5/2026 |
| 2026.5.18.1 | 156 | 5/18/2026 |
| 2026.5.11.1 | 144 | 5/11/2026 |
| 2026.5.7.2 | 154 | 5/7/2026 |
| 2026.5.7.1 | 148 | 5/7/2026 |
| 2026.4.29.2 | 140 | 4/29/2026 |
| 2026.4.24.1 | 132 | 4/24/2026 |
企服版框架中审批流开发套件