用途:为无头 CMS 实现编辑工作流、审批链、定时发布与基于角色的内容权限。
主要能力:
- 工作流状态与状态机:定义基础状态(Draft、InReview、Approved、Published、Unpublished、Archived、Rejected)和扩展状态(如 PendingEditorialReview、PendingLegalReview、Scheduled、Expired 等)。通过 WorkflowDefinition、WorkflowStateDefinition、WorkflowTransition 定义状态、初始/最终状态、允许角色、必填字段、通知等;WorkflowService 提供 CanTransitionAsync、TransitionAsync,校验角色权限、必填字段并记录 WorkflowHistory 历史。
- 定时发布:PublishSchedule 模型含 PublishAtUtc、UnpublishAtUtc、可选 Cron 表达式、ScheduleStatus(Pending、Published、Completed、Failed、Cancelled)。ScheduledPublishingService 负责调度与处理到期发布/下线,可由后台任务(如 Hangfire,示例为每 5 分钟执行)触发。
- 审批链:ApprovalChain、ApprovalStage、ApprovalRequest、ApprovalDecision 支持多阶段审批,ApprovalType 含 AnyApprover、AllApprovers、MajorityApprovers,可设置必批人数与超时。
- 通知:WorkflowNotificationType 覆盖审核请求、审批结果、发布、到期提醒等;WorkflowNotificationService 按模板与用户渠道(邮件、Slack)发送。
- 角色权限:ContentPermission、ContentPermissionLevel(Read/Create/Edit/Delete/Publish/Unpublish/Archive/ManageWorkflow 等标志位),ContentAuthorizationService 按用户角色与内容类型校验动作。
- API 设计:提供工作流状态、转换、历史、可用转换、调度、审批提交/通过/拒绝/待办等 REST 端点示例。
使用方式:按文档定义的模型与服务在 CMS 中实现状态机、审批与调度逻辑,并注册后台任务定时处理到期内容。
适用场景:多阶段审批、内容审核系统、定时/禁发发布、角色化发布权限、工作流通知自动化。
限制:资料为代码结构示例,未提供具体安装命令、依赖版本、价格、性能与效果数据,均暂未提供;实际集成需结合自有 CMS 与任务调度系统。