一个可嵌入其他 Go 工程的轻量工作流库。
- 基于
Node + Edge定义流程 - 支持流程部署与流程定义版本发布
- 支持实例发起与运行时推进
- 支持审批任务通过、驳回、共享待办认领
- 支持排他网关与并行网关
- 支持运行时数据与历史数据分层归档
- 支持多租户隔离
- 支持配置默认租户兜底
- 支持平台侧只读跨租户查询
- 支持自动建表
- 支持宿主注入
gorm.DB和日志实现
svc, err := workflow.New(
workflow.WithDB(db),
workflow.WithAutoMigrate(true),
workflow.WithLogger(logger),
)
if err != nil {
panic(err)
}- 业务
Service默认按当前租户工作 - 可通过
workflow.WithTenantID(ctx, tenantID)显式传入租户 - 可通过
workflow.WithDefaultTenant(tenantID)配置默认租户 - 当上下文未传租户且配置了默认租户时,自动回退到默认租户
- 当上下文未传租户且未配置默认租户时,直接返回错误
AdminService提供Current / Many / All三种只读租户查询作用域