mermaid sequenceDiagram使用指南

摘要

序列图是一种交互图,用来表示相互之间的操作以及操作的顺序
序列图,基本语法如下

sequenceDiagram
	Alice->>John: How are you?;
	John->>Alice: Great;
	Alice->>John:See you later;
Alice John How are you? 1 Great 2 See you later 3 Alice John

元素

序列图同样也是由一些元素 (Participants, Actors) 以及元素之间的 关系(Messages) 构成。

Participants

定义participant

sequenceDiagram
	participant Alice
	participant John
Alice John Alice John

Actor

定义Actor

sequenceDiagram
	actor Alice
	actor John
Alice John Alice John

Alias

名称太长时,可以使用别名(关键词:as)

sequenceDiagram
	actor A as Alice
	participant B as John
	A->>B:nice to meet you
Alice John nice to meet you 1 Alice John

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
Alice John mesages on solid line 1 message on dash line 2 Alice John

连接线类型罗列,按需取用

类型描述
->实线无箭头
–>虚线无箭头
->>实线箭头
–>>虚线箭头
-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
Alice John How are you? 1 Great 2 See you later 3 Alice John

如下使用+、-号和以上方法等效

sequenceDiagram
	actor A as Alice
	actor B as John
	A-->>B+:How are you?
	B-->>A-:Great
	deactivate B
	A-->>B:See you later
Alice John How are you? 1 Great 2 See you later 3 Alice John

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: 听力都不好
王大爷 李大爷 钓鱼去呀 1 王大爷听力不好 不,我去钓鱼 2 李大爷听力也不好 哦,我还以为你去钓鱼呀 3 听力都不好 王大爷 李大爷

逻辑

支持循环、选择、并行

Loop

loop loop_text

sequenceDiagram
	participant A as 团长
	participant B as 士兵
	A-->>B:及时向我汇报
	loop 每五分钟
		B-->>A:汇报
	end
团长 士兵 及时向我汇报 1 汇报 2 loop [每五分钟] 团长 士兵

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
Alice John Jack 你好,在吗 1 你好,在吗 2 par [Alice to John] [A to Jack] 在的 3 在的 4 par [John to Alice] [Jack to Alice] Alice John Jack

Alternate

表示选择性操作,管检测alt

sequenceDiagram
    actor A as 埋伏的士兵
    actor B as 刘备
    alt 楚云飞摔杯子
        A-->>B:行动
    else 正常喝酒
        A-->>B:继续监视
    end
埋伏的士兵 刘备 行动 1 继续监视 2 alt [楚云飞摔杯子] [正常喝酒] 埋伏的士兵 刘备

Optional

表示单选择或不选择,没有else选项

sequenceDiagram
    actor A
    actor B

    opt 心情好
        A-->>B:表白
    end
A B 表白 1 opt [心情好] A B

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
李云龙 魏和尚 这是宴席,注意吃相 1 咋把盘子端起来了,给老子留点 2 你也好不到哪去 3 李云龙 魏和尚

序列编号

打开序列编号,关键词autonumber

sequenceDiagram
    autonumber
    actor A
    actor B
    A-->>B:How are you
    B-->>A:Great
    A-->>B:Bye
A B How are you 1 Great 2 Bye 3 A B

注释

%%开头至行尾

自定义格式

按下不表

  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值