首页 > 其他分享 >时序图神器Mermaid

时序图神器Mermaid

时间:2022-10-23 11:24:12浏览次数:91  
标签:小明 XM -- 时序 神器 服务器 Mermaid

在工作中,我们在写文档的时候常常会遇到时序图,时序图可以表示各个部分之间是如何交互的,以及交互的顺序是什么样的。一个好的时序图,可以省掉一堆废话,以下就是一个简单的时序图。但是如果徒手画时序图未免有点麻烦,那么有没有什么办法可以让我们只关注逻辑,像写markdown一样画时序图呢--有,那就是神器Mermaid。

Mermaid

Mermaid是一个开源的js库,可以让我们使用类似于markdown的语法绘制图表,Mermaid支持的图标类型有:

  • 流程图
  • 时序图
  • 饼图
  • 状态图
  • 甘特图
  • git图
  • 用户旅行图

我们可以在官方编辑器里面体验这些图的绘制过程,还可以保存下来。接下来我们就介绍下绘制时序图的语法。

时序图

绘制时许图的基本语法如下:

[角色A][箭头][角色B]: 消息描述

比如描述客户端发送登录账号密码给服务器可以这样写:

sequenceDiagram
客户端->>服务器: 发送账号密码


这时服务器会在内部校验密码,可以这么写:

服务器-->>服务器: 校验账号密码

时序图支持8种箭头类型:

Type Description
-> 实线
--> 虚线
->> 带箭头实线
-->> 带箭头虚线
-x 断头实线
--x 断头虚线
-) 表示异步的箭头实线 (async)
--) 表示异步的箭头虚线 (async)

笔记(Notes)

我们可以在流程图上面添加一些笔记或者说明,语法如下:

Note [ right of | left of | over ] [Actor]
sequenceDiagram
客户端->>服务器: 发送账号密码
Note over 服务器: 超时时间3s
服务器-->>服务器: 校验账号密码

循环,选择控制流

在时序图中是可以表示循环和选择的,比如我们要表示小明的女朋友叫小明每天向她说早安:

sequenceDiagram
actor G as 女朋友
actor XM as 小明
G->>XM: 每天跟我说早安
loop 每天
  XM-->>G: 早安
end

后来小明的女朋友成了他老婆,有一天小明老婆让小明下班时买一斤包子,如果遇到卖西瓜的,就买一个。图示如下:

sequenceDiagram
actor G as 小明老婆
actor XM as 小明
actor BUN as 包子铺
G->>XM: 下班时买一斤包子,如果遇到卖西瓜的,就买一个
alt 遇到卖西瓜的
  XM-->>BUN: 买一个包子
else
  XM-->>BUN: 买一斤包子
end

XM->>G: 回家跪戳衣板

背景高亮

有时候我们想给某块流程设置高亮,可以用以下的语法:

rect rgba(0, 0, 255, .1)
... content ...
end

比如给上面的选择分支加一个背景:

rect rgb(0,255,0)
    alt 遇到卖西瓜的
    XM-->>BUN: 买一个包子
    else
    XM-->>BUN: 买一斤包子
    end
end

总结

上面我们讲了如何用mermaid绘制时序图,你学会了吗

标签:小明,XM,--,时序,神器,服务器,Mermaid
From: https://www.cnblogs.com/imgss/p/16817617.html

相关文章

  • Captura 一键录屏神器
    Captura是一款可以倍速的屏幕录制工具,体积小巧,运行速度快,使用简单便捷不复杂,并且它还是免费开源软件。Captura支持任意区域、窗口录制成视频,可以自由设置录制时显示鼠标,键......
  • 7款Windows下桌面神器,1款只有15k,还秒杀微软自带
    这篇文章的主角,是你天天都会用到的桌面任务栏:可別小看位于桌面底部的这小小一栏!三顿做了一番优化,它不仅变得颜值超高,而且大幅提升了我的工作效率。是的,三顿要给大家分......
  • 项目开发神器VsCode配置指南!(含C++、Python、Java环境配置)
    作者:吴忠强,东北大学,Datawhale成员本篇文章虽然是VsCode挂名,但其实介绍了两款神器:Vscode和Vim,这两个结合起来,开发效率蹭蹭蹭!!!之前接触过VsCode但很少用。总感觉写Python......
  • 提高工作效率的神器:基于前端表格实现Chrome Excel扩展插件
    Chrome插件,官方名称extensions(扩展程序);为了方便理解,以下都称为插件。我们开发的插件需要在浏览器里面运行,打开浏览器,通过右上角的三个点(自定义及控制)-更多工具-拓展程序-......
  • Kaggle竞赛神器—Facets:快速评估数据集质量,把控数据分析核心环节
    在机器学习任务中,数据集的质量优劣对数据分析的结果影响非常大,所谓Garbagein,garbageout,数据决定模型的上限,因此数据质量成为数据分析流程不可或缺的一个环节。即使是像K......
  • IDEA必备开发神器之EasyCode
    IDEA必备开发神器之EasyCode目录1、前言2、安装(EasyCode)3、建立数据库4、在IDEA配置连接数据库5、开始生成代码6、pom.xml7、Application.yml8、启动项目1、前......
  • 神器软件:虚拟机软件安装与使用
    问什么是虚拟机?答虚拟机是一个软件。在自己电脑上通过虚拟机软件,可以模拟出新的电脑,并为其安装操作系统。问虚拟机有什么用?答使用电脑时,对一些软件不放心,担心其损坏电脑。或......
  • 分享15个自动写稿神器和文案素材网站
    我是卢松松,点点上面的头像,欢迎关注我哦!松松博客今日分享15个自动写稿、AI文章的写文章神器,还有文案素材,以后文章写作、素材寻找,都不愁了。不过要提醒大家两点:(1)本文纯分享......
  • 再添神器!Paddle.js 发布 OCR SDK
    关键词:OCR、Paddle.js、PaddleOCR01前言OCR(OpticalCharacterRecognition,光学字符识别)是文字识别的统称,不仅支持文档或书本文字识别,还包括识别自然场景下的文字,又可以称为......
  • 【学员分享】程序员效率神器,最常用VIM插件安装大全
    相信大家多次被推荐用vim作为编辑程序,知道vim编辑有很多优点,但是vim初始界面太原始了,安装了之后只能用来编辑,如果要运行就需要退出去运行,麻烦死了。回想用现成的IDE是多么的......