mermaid sequenceDiagram
摘要
序列图是一种交互图,用来表示相互之间的操作以及操作的顺序
序列图,基本语法如下
sequenceDiagram
Alice->>John: How are you?;
John->>Alice: Great;
Alice->>John:See you later;
元素
序列图同样也是由一些元素 (Participants, Actors) 以及元素之间的 关系(Messages) 构成。
Participants
定义participant
sequenceDiagram
participant Alice
participant John
Actor
定义Actor
sequenceDiagram
actor Alice
actor John
Alias
名称太长时,可以使用别名(关键词:as)
sequenceDiagram
actor A as Alice
participant B as John
A->>B:nice to meet you
Message
描述对象之间的关系
[Actor][Arrow][Actor]:Message text
sequenceDiagram
actor A as Alice
actor B as John
A->>B:mesages on solid line
A-->>B:message on dash line
连接线类型罗列,按需取用
类型 | 描述 |
---|---|
-> | 实线无箭头 |
–> | 虚线无箭头 |
->> | 实线箭头 |
–>> | 虚线箭头 |
-x | 实线x箭头 |
–x | 虚线x箭头 |
-) | 实线开放箭头 |
–) | 虚线开放箭头 |
Activation
activate, deactivate
sequenceDiagram
actor A as Alice
actor B as John
A-->>B:How are you?
activate B
B-->>A:Great
deactivate B
A-->>B:See you later
如下使用+、-号和以上方法等效
sequenceDiagram
actor A as Alice
actor B as John
A-->>B+:How are you?
B-->>A-:Great
deactivate B
A-->>B:See you later
Notes
添加批注,关键词note,left of, right of, over指定位置,逗号分隔actor,可同时指定共同的note
sequenceDiagram
participant A as 王大爷
participant B as 李大爷
A-->>B:钓鱼去呀
note left of A: 王大爷听力不好
B-->>A:不,我去钓鱼
note right of B: 李大爷听力也不好
A-->>B:哦,我还以为你去钓鱼呀
note over A, B: 听力都不好
逻辑
支持循环、选择、并行
Loop
loop loop_text
sequenceDiagram
participant A as 团长
participant B as 士兵
A-->>B:及时向我汇报
loop 每五分钟
B-->>A:汇报
end
Parallel
表示并行,关键词par
sequenceDiagram
Actor A as Alice
Actor B as John
Actor C as Jack
par Alice to John
A-->>B:你好,在吗
and A to Jack
A-->>C: 你好,在吗
end
par John to Alice
B-->>A:在的
and Jack to Alice
C-->>A:在的
end
Alternate
表示选择性操作,管检测alt
sequenceDiagram
actor A as 埋伏的士兵
actor B as 刘备
alt 楚云飞摔杯子
A-->>B:行动
else 正常喝酒
A-->>B:继续监视
end
Optional
表示单选择或不选择,没有else选项
sequenceDiagram
actor A
actor B
opt 心情好
A-->>B:表白
end
Highlight background
区块高亮,关键词rect。
用rect,end将需要高亮的区域包围起来,用rgb或rgba指定背景颜色
sequenceDiagram
participant A as 李云龙
participant B as 魏和尚
A-->>B:这是宴席,注意吃相
rect rgba(0, 0, 255, 0.5)
A-->>B:咋把盘子端起来了,给老子留点
B-->>A:你也好不到哪去
end
序列编号
打开序列编号,关键词autonumber
sequenceDiagram
autonumber
actor A
actor B
A-->>B:How are you
B-->>A:Great
A-->>B:Bye
注释
%%开头至行尾
自定义格式
按下不表