什么是时序图

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

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

什么是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. redis集群主从之读写分离

    redis集群主从之读写分离 1.集群部署 这里就不详细赘述如何部署主从集群了,一般都是使用slaveOf配置来进行初始化配置. 2.与springboot集成实现读写分离 通过注解实现调用层读写分离 ...

  2. uni-app 路由封装(简易版)

    在实践运用中,经常需要在路由跳转时判断是否需要登录权限,页面跳转时,添加加在if判断. 插件市场也有一些这种插件,配置也稍微复制,大部分朝向vue-router. 注:本次路由封装,只是单纯的判断是否 ...

  3. Java并发之原子变量及CAS算法-下篇

    Java并发之原子变量及CAS算法-下篇 概述 本文主要讲在Java并发编程的时候,如果保证变量的原子性,在JDK提供的类中是怎么保证变量原子性的呢?.对应Java中的包是:java.util.con ...

  4. Unity中利用遗传算法训练MLP

    Unity中利用遗传算法训练MLP 梯度下降法训练神经网络通常需要我们给定训练的输入-输出数据,而用遗传算法会便捷很多,它不需要我们给定好数据,只需要随机化多个权重进行N次"繁衍进化&quo ...

  5. react 中获取子组件

    wrappedComponentRef={(form) => this.table = form}

  6. ZEGO 即构科技首发适配鸿蒙系统的 Express SDK 1.0 版本

    ​ 2019年8月,华为在开发者大会上正式发布鸿蒙系统. HarmonyOS 鸿蒙系统是一款"面向未来".面向全场景(移动办公.运动健康.社交通信.媒体娱乐等)的分布式操作系统.在 ...

  7. TypeScript 高级教程 – 把 TypeScript 当编程语言使用 (第二篇)

    前言 上一篇, 我们提到, TypeScript 进阶有 3 个阶段. 第一阶段是 "把 TypeScript 当强类型语言使用", 我们已经介绍完了. 第二阶段是 "把 ...

  8. CSS – Clip Path

    前言 我是在搞 1 side box-shadow 发现这个功能的. 平常很少做特效, 所以对这个好功能缺乏认识. 这篇大概记入一下先, 以后有认真用再补上细节. 参考 Youtube – Aweso ...

  9. Azure – DNS

    前言 以往 DNS 都是用 Domain 公司免费提供的. 但这类 DNS 一般都不支持 API 访问. 这就会导致无法自动 renew Let's Encrypt wildcard SSL. 所以用 ...

  10. Figma 学习笔记 – Align 对齐

    Figma 有几个常用的对齐方法 从左到右 1. 左对齐 Alt + A 2.左右居中对齐 Alt + H 3.右对齐 Alt + D 4.上对齐 Alt + W 5.上下居中对齐 Alt + V 6 ...