基础语法
声明及指向
# sequenceDiagram: 代指图的类型
# participant:参与人(你可以理解为成员,若是有 plantuml 的底子应该一目了然)
# ->> 单向带箭头实线指向
# -->> 单向带箭头虚线指向
sequenceDiagram
participant 木木
participant 花花
花花->木木: 木木,你好帅啊!!
木木-->花花: 这不是显而易见的么?
花花-x 卡布奇诺: 我讨厌你
卡布奇诺--x木木: 老子弄死你!
指向类型 | 描述 |
---|---|
-> | 不带箭头的实线 |
—> | 不带箭头的虚线 |
->> | 带箭头的实线 |
—>> | 带箭头的虚线 |
-x | 在结束端显示关闭符号的实线 |
—x | 在结束端显示关闭符号的虚线 |
角色(参与者)别名
# alias(as)别名,国际通用
sequenceDiagram
participant crper as 木木
participant flower as 花花
flower->>crper: 木木,你好帅啊!!
crper-->>flower: 这不是显而易见的么?
角色激活失效
激活角色可以用activate,+ 修饰符
角色失效可以用deactivate,-修饰符
sequenceDiagram
木木->>花花: 早上好,今天天气不错哦!!
activate 花花
花花 ->> -木木: 睡你的觉去吧,需要你问候么!
花花 -->> +木木: 真的睡觉去了?开玩笑的
木木 -->> 花花: 凉凉夜色为你思念成河。
备注(备忘录)
若是时序图不能写备注的,表达性就要弱很多了。
支持三个方向:
- Note right of : 右边
- Note left of : 左边
- Note over : 下边
sequenceDiagram
木木->>花花: 早上好,今天天气不错哦!!
Note left of 木木: 放飞思绪中
activate 花花
花花 ->> -木木: 睡你的觉去吧,需要你问候么!
Note right of 花花: 无语!!!
花花 -->> +木木: 真的睡觉去了?开玩笑的
Note over 花花: 不会凉了吧。
木木 -->> 花花: 凉凉夜色为你思念成河。
循环
爱的魔力转圈圈,爱你三千遍!!
sequenceDiagram
木木->>花花: 早上好,今天天气不错哦!!
Note left of 木木: 放飞思绪中
activate 花花
花花 ->> -木木: 睡你的觉去吧,需要你问候么!
Note right of 花花: 无语!!!
花花 -->> +木木: 真的睡觉去了?开玩笑的
Note over 花花: 不会凉了吧。
loop 每时每刻
木木 -->> 花花: 凉凉夜色为你思念成河。
end
条件判断
条件判断和常规的编程语言写法有点差异,可以用来增加表现力
sequenceDiagram
木木->>花花: 早上好,今天天气不错哦!!
Note left of 木木: 放飞思绪中
alt 理想化
花花->>木木: 是啊,不错呢?
else 现实中
花花 ->> 木木: 睡你的觉去吧,需要你问候么!
Note right of 花花: 无语!!!
end
opt 假如时光可以倒流
loop 此处默数三千遍
木木 -->> 花花: 我不会嘴贱去询问你
end
end
总结
时序图也支持美化,当然也是用类去修饰 svg 的线条这些。语雀上没法声明临时样式,无解。
不过这种东东用的场景不是很多,我们用图图更多的是想快速表达一些东西。
强迫党自然会死磕,我们随意。