![]() |
VOOZH | about |
dotnet add package TJC.Cyclops.ApprovalFlow --version 2026.6.11.2
NuGet\Install-Package TJC.Cyclops.ApprovalFlow -Version 2026.6.11.2
<PackageReference Include="TJC.Cyclops.ApprovalFlow" Version="2026.6.11.2" />
<PackageVersion Include="TJC.Cyclops.ApprovalFlow" Version="2026.6.11.2" />Directory.Packages.props
<PackageReference Include="TJC.Cyclops.ApprovalFlow" />Project file
paket add TJC.Cyclops.ApprovalFlow --version 2026.6.11.2
#r "nuget: TJC.Cyclops.ApprovalFlow, 2026.6.11.2"
#:package TJC.Cyclops.ApprovalFlow@2026.6.11.2
#addin nuget:?package=TJC.Cyclops.ApprovalFlow&version=2026.6.11.2Install as a Cake Addin
#tool nuget:?package=TJC.Cyclops.ApprovalFlow&version=2026.6.11.2Install 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;
// 启动流程引擎
await flowEngine.StartAsync();
| 节点类型 | 类型标识 | 说明 |
|---|---|---|
| 开始节点 | start-node | 流程入口,标识流程启动 |
| 服务节点 | service-node | 自动执行的服务任务,按配置调用目标服务方法 |
| 服务网关 | service-gateway-node | 服务分支聚合,用于任务状态分支判断 |
| 用户节点 | user-node | 人工审批节点,支持单人审批和会签模式 |
| 审批网关 | gateway-node | 条件分支网关,用于条件流转判断 |
| 结束节点 | end-node | 流程出口,标识流程结束 |
| HTTP节点 | http-node | 调用外部HTTP接口的节点 |
用户节点支持会签模式,提供以下聚合策略:
| 策略类型 | 标识 | 说明 |
|---|---|---|
| 自动通过 | auto_approve | 节点启动时自动通过,无需审批人操作 |
| 全票通过 | all_approve | 所有审批人都需同意 |
| 任一人通过 | any_approve | 任意一人同意即可 |
| 过半通过 | majority_approve | 超过半数同意即可 |
| 百分比通过 | percentage_approve | 按设定百分比同意即可 |
Cyclops.ApprovalFlow/
├── Core/ # 核心引擎与处理器
│ ├── ApprovalFlowEngine.cs # 审批流引擎
│ ├── AggregationEvaluator.cs # 会签聚合评估器
│ ├── RuleEngine.cs # 规则引擎
│ ├── FlowExecutor.cs # 流程执行器
│ ├── Handlers/ # 节点处理器
│ │ ├── BaseNodeHandler.cs # 处理器基类
│ │ ├── StartNodeHandler.cs # 开始节点处理器
│ │ ├── EndNodeHandler.cs # 结束节点处理器
│ │ ├── UserNodeHandler.cs # 用户节点处理器
│ │ ├── TaskNodeHandler.cs # 服务节点处理器
│ │ ├── GatewayNodeHandler.cs # 网关节点处理器
│ │ └── HttpNodeHandler.cs # HTTP节点处理器
│ ├── FlowEventBusPublisher.cs # 事件总线发布器
│ └── FlowMonitor.cs # 流程监控器
├── Consts/ # 常量定义
│ ├── ConstNodeType.cs # 节点类型常量
│ ├── ConstAggregationType.cs # 聚合策略常量
│ └── ConstTaskNodeStatus.cs # 服务节点状态常量
├── Models/ # 模型定义
│ ├── GraphNode.cs # 图节点
│ ├── GraphEdge.cs # 图边
│ └── FlowRuntimeState.cs # 流程运行时状态
├── Data/ # 示例数据
│ └── exampleData.json # 采购审批流程示例
└── README.md # 项目说明
{
"className": "PurchaseService",
"methodName": "OnDeptManagerApprove",
"roleId": 1300000000101,
"roleName": "部门负责人",
"stage": "初审",
"multiApproval": true,
"aggregationType": "any_approve",
"approvePercentage": 60,
"assignees": [
{
"type": "user",
"userId": 101,
"userName": "张经理",
"account": "zhangmanager"
},
{
"type": "role",
"roleId": 1300000000102,
"roleName": "大区经理"
}
],
"events": {
"onNodeEnter": [...],
"onNodeLeave": [...],
"onApprovalAction": [...]
}
}
{
"className": "PurchaseService",
"methodName": "CreatePurchaseRequest",
"formModelName": "DbPurchaseRequest",
"formModelField": "id",
"formModelFieldValue": "${recordId}",
"resultMapping": [
{ "source": "response.purchaseId", "target": "Variables.purchaseId" }
],
"events": {
"onNodeEnter": [...],
"onNodeLeave": [...]
}
}
MIT License
| 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.11.2 | 157 | 6/11/2026 |
| 2026.6.11.1 | 164 | 6/11/2026 |
| 2026.6.9.4 | 156 | 6/9/2026 |
| 2026.6.9.3 | 160 | 6/9/2026 |
| 2026.6.9.2 | 161 | 6/9/2026 |
| 2026.6.9.1 | 168 | 6/9/2026 |
| 2026.6.8.3 | 184 | 6/8/2026 |
| 2026.6.8.2 | 138 | 6/8/2026 |
| 2026.6.8.1 | 149 | 6/8/2026 |
| 2026.6.5.1 | 146 | 6/5/2026 |
| 2026.5.18.1 | 152 | 5/18/2026 |
| 2026.5.11.1 | 142 | 5/11/2026 |
| 2026.5.7.2 | 153 | 5/7/2026 |
| 2026.5.7.1 | 147 | 5/7/2026 |
| 2026.4.29.2 | 139 | 4/29/2026 |
| 2026.4.29.1 | 165 | 4/29/2026 |
| 2026.4.27.1 | 150 | 4/27/2026 |
| 2026.4.24.2 | 133 | 4/24/2026 |
| 2026.4.24.1 | 131 | 4/24/2026 |
| 2026.4.14.2 | 141 | 4/14/2026 |
企服版框架中审批流开发套件