稳定的生命周期状态
使用草稿、已提交、已批准等状态,不把每个操作都画成状态。
生命周期与状态转换建模
用 Mermaid stateDiagram-v2 描述一个订单、请求或任务的生命周期。明确稳定状态、事件、条件分支与结束路径,再在上方编辑器中评审转换。
参考下方审批与返修生命周期。转换标签说明事件或条件,不会执行业务规则。
关心一个对象下一步可以变成什么时,使用状态图;关心流程执行哪些步骤时,使用流程图。
使用草稿、已提交、已批准等状态,不把每个操作都画成状态。
用提交、批准、超时等标签解释状态为什么变化。
用 choice 表示不同结果,用初始和终止标记说明入口与完成。
某个阶段拥有内部生命周期时,用复合状态分层表达。
整张图使用同一个主体,让每条转换的含义保持一致。
声明 stateDiagram-v2,列出稳定状态,并从 [*] 连到第一个状态。
为转换添加事件标签,用 choice 表示不同条件结果,在确实结束的位置添加终止标记。
人工沿正常、拒绝和恢复路径检查预览,确认状态能否到达,再导出。
[*] 位于转换起点时表示入口,位于目标时表示完成。请确认终止结果确实结束了生命周期。
stateDiagram-v2
state "草稿" as Draft
state "已提交" as Submitted
state "已批准" as Approved
[*] --> Draft
Draft --> Submitted : 提交
Submitted --> Approved : 批准
Approved --> [*]展示名称需要空格时,可为短 ID 添加名称。转换中的冒号引入展示文字。
stateDiagram-v2
state "等待付款" as Awaiting
state "已支付" as Paid
state "已取消" as Cancelled
Awaiting --> Paid : 收到付款
Awaiting --> Cancelled : 超时声明 <<choice>> 并标注出口,条件用于解释,不会被编辑器当作表达式验证。
stateDiagram-v2
state "已提交" as Submitted
state "已批准" as Approved
state "已拒绝" as Rejected
state Review <<choice>>
Submitted --> Review
Review --> Approved : 有效
Review --> Rejected : 无效state 块可以包含内部生命周期。Mermaid 不支持连接不同复合状态各自内部状态的转换。
stateDiagram-v2
state "处理阶段" as Processing
state "已完成" as Complete
[*] --> Processing
state Processing {
state "校验中" as Validating
state "已就绪" as Ready
[*] --> Validating
Validating --> Ready : 有效
Ready --> [*]
}
Processing --> Complete
Complete --> [*]草稿提交后进入审核,有效请求到达批准并结束;被拒绝的请求回到草稿状态,等待修改。
stateDiagram-v2
[*] --> Draft
Draft --> Submitted : 提交
Submitted --> Review
state Review <<choice>>
Review --> Approved : 校验通过
Review --> Rejected : 校验失败
Approved --> [*]
Rejected --> Draft : 修改取决于位置:[*] --> Draft 表示初始入口,Approved --> [*] 表示终止结果。
在冒号后写可读条件,例如 Review --> Approved : 有效。这只是标签,Mermaid 不执行或验证条件。
声明带 <<choice>> 的状态,并将它连接到各个可能结果,分别写清条件。
添加带事件标签的转换,例如 Draft --> Cancelled : 取消 和 Rejected --> Draft : 修改。只有取消会结束生命周期时才把 Cancelled 连到 [*],并手动沿两条路径检查。
Mermaid 不支持这种跨复合状态的内部转换。可在复合状态边界表达交互,或重新组织模型。
流程图说明过程中的动作和决策;状态图说明一个主体允许的生命周期转换,例如订单或后台任务。
比较状态建模
比较语法、嵌套状态、生命周期表示和两种文本图表工具的建模深度。
阅读状态图对比 →