什么是时序图

序列图是一种用于描述对象之间在时间上的交互顺序的图表。

它可以展示对象之间是如何相互作用的,以及这些交互的顺序。

什么是Mermaid

Mermaid.js是一个开源项目,它允许你通过简单的文本代码来绘制图表。

无论你是开发者、学生还是普通用户,它都能帮助你将复杂的信息以直观和易懂的方式呈现出来。

什么是中文Mermaid

来自 min2k 的 中文Mermaid 在Mermaid的基础上引入了AI技术,实现了自动生成时序图的功能。

现在的用户只需输入内容,它就会自动将其转化为时序图

这大大地提高了工作效率,省去了手写代码的麻烦。

访问 中文Mermaid 体验 AI + Mermaid,提升你的效率,解决你的问题。

Mermaid时序图的示例

文本代码

sequenceDiagram
participant Client
participant Server Client ->> Server:SYN
note right of Client:发送SYN请求
Server -->> Client:SYN-ACK
note right of Server:回复SYN-ACK
Client ->> Server:ACK
note right of Client:确认SYN-ACK note over Client,Server:TCP连接已建立 Client -->> Server:数据传输
note right of Client:发送数据
Server -->> Client:数据传输
note right of Server:接收数据 Client -->> Server:FIN
note right of Client:发送FIN请求
Server -->> Client:ACK
note right of Server:确认FIN请求
Server -->> Client:FIN
note right of Server:发送FIN请求
Client -->> Server:ACK
note right of Client:确认FIN请求 note over Client,Server:TCP连接已关闭

由代码绘制出来的图表

sequenceDiagram
participant Client
participant Server

Client ->> Server:SYN
note right of Client:发送SYN请求
Server -->> Client:SYN-ACK
note right of Server:回复SYN-ACK
Client ->> Server:ACK
note right of Client:确认SYN-ACK

note over Client,Server:TCP连接已建立

Client -->> Server:数据传输
note right of Client:发送数据
Server -->> Client:数据传输
note right of Server:接收数据

Client -->> Server:FIN
note right of Client:发送FIN请求
Server -->> Client:ACK
note right of Server:确认FIN请求
Server -->> Client:FIN
note right of Server:发送FIN请求
Client -->> Server:ACK
note right of Client:确认FIN请求

note over Client,Server:TCP连接已关闭

上图完整地展示了TCP协议在从连接到关闭的整个交互过程。

Mermaid时序图的语法解释

第1行是图表类型,默认是:sequenceDiagram

接下来的 participant 定义了此次时序图的参与者,分别有 Client 和 Server

接下来的 Client ->> Server:SYN,表示从 Client 绘制一条实心线到 Sever 上,其线的描述为:SYN

接下来的 note right of Client:发送SYN请求,表示添加一个注解,放在 Client 的右侧,内容为:发送SYN请求

最后的 note over Client,Server:TCP连接已关闭,表示添加一个注解,横跨在 Client 和 Sever 之上,内容为:TCP连接已关闭

以上就是Mermaid时序图的常用语法。

若你不想手动编写代码的话,可以使用 min2k 的 中文Mermaid 来自动生成时序图。

用文字“画出”时序图:用 AI+Mermaid.js 解决交互过程中的问题的更多相关文章

  1. 灵悟礼品网上专卖店——画出E-R图

    一.小组成员: 洪雪意(产品负责人) 陈淑筠(Master) 二.组内人员任务情况 计划完成的任务的第三个模块:分析并建立数据库 已完成的任务: 任务的第三个模块: 陈淑筠(完成任务1):画出商品资料 ...

  2. colormap画出的图不是彩色问题

    针对matlab2017渲染出的彩色图是黑白的问题. t=labels; t(tstSet(:,end-))=Relabels; t=reshape(t,,); t=t'; figure imshow ...

  3. CSS画出的图

    // × 目录 [1]矩形 [2]圆形 [3]椭圆[4]直角三角形[5]正三角形[6]平行四边形[7]梯形[8]六角星[9]六边形[10]五角星 简单图形 矩形 div{ width: 100px; ...

  4. UML时序图

    时序图定义 : 描述了对象之间传递消息的时间顺序, 用来表示用例中的行为顺序, 是强调消息时间顺序的交互图; 时序图描述的事物: 时序图描述系统中类和类之间的交互, 将这些交互建模成消息交换, 时序图 ...

  5. 【UML 建模】UML入门 之 交互图 -- 时序图 协作图详解

    . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/17927131 . 动态图概念 : 从静态图中抽取瞬间值 ...

  6. UML入门 之 交互图 -- 时序图 协作图详解

    作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/17927131 动态图概念 : 从静态图中抽取瞬间值的变化描 ...

  7. uml 时序图

    1.时序图的概念 时序图定义 : 描述了对象之间传递消息的时间顺序, 用来表示用例中的行为顺序, 是强调消息时间顺序的交互图; 时序图描述的事物: 时序图描述系统中类和类之间的交互, 将这些交互建模成 ...

  8. 使用Astah制作UML时序图

    Astah制作UML图--详解 时序图的制作 开篇语: 本文为光荣之路原创文章,欢迎转载,但请注明出处. 做测试的难免看到开发画出各种设计图,都很羡慕,比如: 帅么,漂亮么,其实我们测试人员也可以轻松 ...

  9. [转载]UML时序图总结

    前言 在我的工作中,用的最多的就是时序图了.可能由于工作的原因,我也是最喜欢画时序图了,很清楚,很明了,什么时候发送什么消息,到达什么状态,一下子就展示在你的脑海里,对于消息驱动的程序来说,是再好不过 ...

  10. UML时序图总结

    前言 在我的工作中,用的最多的就是时序图了.可能由于工作的原因,我也是最喜欢画时序图了,很清楚,很明了,什么时候发送什么消息,到达什么状态,一下子就展示在你的脑海里,对于消息驱动的程序来说,是再好不过 ...

随机推荐

  1. Sentry 开源版与商业 SaaS 版的区别

    您会在官方的文档中找到大量对 sentry 和 getsentry 的引用.两者都是 Django 应用程序,但 sentry 是开源的, getsentry 是闭源的.里面有什么? https:// ...

  2. 实体类如何"不费力气"的转为Map

    初衷: db返回了一个实体类,想封装成一个Map留着按需获取属性,所以就有了下面的Utils import java.lang.reflect.InvocationTargetException; i ...

  3. C++技能树

  4. 基于事件总线EventBus实现邮件推送功能

    有时候,有人给我的网站留了言,但是我必须要打开我的网站(https://www.xiandanplay.com/)才知道,所以我便决定给网站增加一个邮件推送的功能,好让我第一时间知道.于是乎,按照我自 ...

  5. 【YashanDB知识库】YAS-02024 lock wait timeout, wait time 0 milliseconds

    [标题]错误码处理 [问题分类]锁等待超时 [关键字]YAS-02024 [问题描述]执行语句时候,因锁等待超时执行语句失败 [问题原因分析]数据库默认锁等待时间为0秒,如果执行语句存在锁等待过长会执 ...

  6. JS实现树形结构数据的模糊搜索查询

    简单示例: 需求:输入 "题2" 字,希望树形结构中带有 "题2" 字的项显示,即使父节点没有,但子节点含有,父节点仍要返回. let arr = [ { ti ...

  7. JavaScript – Iterator

    参考 阮一峰 – Iterator 和 for...of 循环 前言 es6 以后经常可以看到 for...of 的踪迹. 如果你细看会发现它挺神奇的. 不只是 Array 可以被 for...of, ...

  8. JVM(JAVA Virtual Machine)Java虚拟机

    JVM的跨平台性 一次编写,到处运行 JVM将字节码文件编译成对应操作系统的机器码 JVM的语言无关性 JVM的内存区域 虚拟机栈:在JVM运行过程中存储当前线程运行方法所需的数据,指令.返回地址 本 ...

  9. 了解 Flutter 3.16 功能更新

    作者 / Kevin Chisholm 我们在季度 Flutter 稳定版发布会上带来了 Flutter 3.16,此版本包含诸多更新: Material 3 成为新的默认主题.为 Android 带 ...

  10. .NET 工具库高效生成 PDF 文档

    前言 QuestPDF 是一个开源 .NET 库,用于生成 PDF 文档.使用了C# Fluent API方式可简化开发.减少错误并提高工作效率.利用它可以轻松生成 PDF 报告.发票.导出文件等. ...