PlantUML 用代码画思维导图,时序图,流程图

这篇具有很好参考价值的文章主要介绍了PlantUML 用代码画思维导图,时序图,流程图。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

PlantUML 是一个开源项目,支持通过脚本绘图。PlantUML 可以绘制如下种类的 UML 图:

  • 时序图
  • 用例图
  • 类图
  • 活动图
  • 组件图
  • 状态图
  • 对象图
  • 部署图
  • 定时图

同时还支持以下非 UML 图:

  • 线框图形界面
  • 架构图
  • 规范和描述语言 (SDL)
  • Ditaa diagram
  • 甘特图
  • 思维导图
  • Work Breakdown Structure diagram
  • 以 AsciiMath 或 JLaTeXMath 符号的数学公式
  • Entity Relationship diagram
    通过简单直观的语言来定义这些示意图。中文文档:https://plantuml.com/zh/guide

下面通过一些简单案例来完成思维导图,时序图,活动图

vscode 插件安装和使用

插件商店搜索 "PlantUML ",点击安装即可
plantuml 流程图,流程图,uml,javascript,java
使用只需要新建一个 puml 文件 或者 md文件 ,预览的话在 Windows 版本的 VS Code 中,通过 Ctrl + Shift + P 打开命令面板,输入 PlantUML,找到 Preview Current Diagram 命令,或者通过 快捷键 Alt + D,打开预览页面。

思维导图绘制

@startmindmap
*[#409EFF] vue3-auth
    **[#79bbff] 登陆认证
        ***_ 登陆和登出
        ***_ 用户注册
        ***_ 用户状态和信息保存
    **[#79bbff] 权限鉴定
        ***_ 用户权限获取
        ***_ 页面访问权限(菜单权限)
        ***_ 页面功能权限(按钮权限)
    **[#79bbff] 角色管理
        ***_ 角色新增
        ***_ 角色修改
        ***_ 角色删除
        ***_ 角色绑定权限
        ***_ 角色绑定维度
    **[#79bbff] 用户管理
        ***_ 用户新增
        ***_ 用户修改
        ***_ 用户删除
@endmindmap

效果图如下:
plantuml 流程图,流程图,uml,javascript,java

关键解释如下:

  • @startmindmap@endmindmap 这两个注解用来声明此处为使用 PlantUML 进行绘制的代码
  • * 是用来标注标题或者内容的等级(另外也可使用 + 或者 - 来区分方向,md 不支持)
    plantuml 流程图,流程图,uml,javascript,java
  • [#fff] 用来标记颜色
  • *_ 使用下划线去除外边框

流程图绘制

@startuml
title 路由跳转流程图
start 
:从 localStorage 中拿到 token;
if ( token 是否为空 ) then(Y) 
    if(path 是否为登陆页) then(Y)
        :跳转到首页;
        stop
    else(N)
        :设置用户信息;
        :根据用户信息设置侧边栏菜单;
        :根据菜单动态生成路由;
        stop
    endif 
else(N)
    if(path 是否为白名单) then(Y)
        :直接放行;
        stop
    else(N)
        :跳转到登陆页;
        stop
    endif
endif    
@enduml

效果图如下:
plantuml 流程图,流程图,uml,javascript,java

关键解释如下:

  • start 表示活动图流程的开始
  • stop 表示活动图流程的结束
  • :xxxx;:表示活动流程节点为xxxx
  • if+then+endif 表示一个完整的条件判断

时序图绘制

使用 participant 关键字来声明一个参与者可以使你对参与者做出更多控制。
关键字在代码中的顺序决定了参与者的先后顺序。
你也可以使用下面这些关键字来声明参与者,这会改变参与者的外观:
• actor(角色)
• boundary(边界)
• control(控制)
• entity(实体)
• database(数据库)
• collections(集合)
• queue(队列)
关键字 as 用于重命名参与者
plantuml 流程图,流程图,uml,javascript,java

@startuml
title 登陆鉴权时序图

actor user
participant 客户端 as client
control service as s
database db
database redis
control springSecurity as ss
autonumber
user -> client :登陆
activate s
client -> s :登陆请求\n账号/密码/验证码
s -> s :验证码校验
activate ss
s -> ss :待验证账号密码
db -> ss:用户账号密码
ss -> ss: 账号密码校验
db -> ss: 用户权限
ss --> s :authentication
s -> s :token生成
s -> redis :token/用户账号密码权限
s --> client :token

user -> client :鉴权
client -> ss :token
ss --> redis :token
redis -> ss : 用户账号密码权限
ss -> ss : 鉴权
ss --> s : 请求
s --> client : 资源
deactivate ss
deactivate s
@enduml

效果图:
plantuml 流程图,流程图,uml,javascript,java

关键词解释如下:文章来源地址https://www.toymoban.com/news/detail-632203.html

  • title:表示该UML用例图的标题
  • 显示的顺序是怎么定义的:声明的参与者顺序将是(默认的)显示顺序。
  • autonumber:可以给参与者添加顺序
  • ->:表示绘制两个参与者之间的信息,如果你希望是虚线,可以使用-->.
  • activatedeactivate:表示参与者的生命线

到了这里,关于PlantUML 用代码画思维导图,时序图,流程图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python 代码一键转流程图---python=>flowchart-dsl=>流程图

    这个项目是基于大名鼎鼎的 flowchart.js。 下面贴几张运行图片:  如果直接输入dsl代码,再进行转化就可以很好的画出流程图       如果你使用 Typora,可能知道在 Typora 中用 flow 可以用一种简单的文本语言来写流程图,根据 Typora 的文档,这个功能来自开源的 flowchart.js。

    2024年02月08日
    浏览(58)
  • 写代码生成流程图

    我们在写文档,博客的时候,一般都会使用 markdown 语法,最常见的就是一些 github 开源项目的 README 。有时候会去画一些流程图,例如使用process.on或者xmind等第三方网站,然后截图插入到文档中。 今天我们介绍一种使用代码直接生成的方式,那就是 mermaid ,官网[1]。 相比于截

    2024年02月07日
    浏览(44)
  • python代码流程图的生成

    在阅读一些源码或者了解项目结构的时候想直观的看一下代码的类关系图,以及程序运行时函数之间的调度图 学习调研了一番发现python现有的一些库已经可以直接实现生成UML图 本人的开发环境是macos + vscode 1.pycallgraph pip install pycallgraph 2.pyreverse 注意⚠️:这个模块已经集成在

    2024年02月07日
    浏览(44)
  • 算法练习-替换数字(思路+流程图+代码)

            难度:简单         分类:字符串         难度与分类由我所参与的培训课程提供,但需要注意的是,难度与分类仅供参考。以下内容均为个人笔记,旨在督促自己认真学习。         给定一个字符串S,它包含小写字母和数字字符,请编写一个函数,将字符串

    2024年02月20日
    浏览(48)
  • 算法练习-赎金信(思路+流程图+代码)

            难度:中等         分类:哈希表         难度与分类由我所参与的培训课程提供,但需要注意的是,难度与分类仅供参考。且所在课程未提供测试平台,故实现代码主要为自行测试的那种,以下内容均为个人笔记,旨在督促自己认真学习。         给你

    2024年02月22日
    浏览(47)
  • markdown绘制流程图相关代码片段记录

    有时候会使用typora来绘制一些流程图,进行编码之类的工作,在网络搜集了一些笔记,做个记录,方便日后进行复习,相关的记录如下: 每次作图时,代码以「graph 布局方向」开头,如: TB(Top Bottom)表示从上向下布局,另外三种是 BT LR(Left Right) RL 不同种类的括号对应不

    2024年02月19日
    浏览(49)
  • 微信小程序获取用户信息(附代码、流程图)

    本篇文章主要总结了微信小程序开发,获取用户信息的整个流程步骤。补充了网上很多碎片化的代码,本人梳理了思路写下了这篇文章。  前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家 跳转到教程   思路 1、在js文件中,设置use

    2024年02月09日
    浏览(48)
  • 力扣---LeetCode160. 相交链表(代码详解+流程图)

    “风格相同的人总会相遇 千万个人中万幸得以相逢.” 本章的内容是力扣每日随机一题的部分方法的解析 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 160. 相交链表 link 根据题目这是两个问题

    2024年02月02日
    浏览(45)
  • 算法练习-右旋字符串(思路+流程图+代码)

            难度:简单         分类:字符串         难度与分类由我所参与的培训课程提供,但需要注意的是,难度与分类仅供参考。以下内容均为个人笔记,旨在督促自己认真学习。         字符串的【右旋转】操作是把字符串尾部的若干个字符转移到字符串的前

    2024年01月22日
    浏览(40)
  • 算法练习-长度最小的子数组(思路+流程图+代码)

            难度:简单         分类:数组         难度与分类由我所参与的培训课程提供,但需要注意的是,难度与分类仅供参考。以下内容均为个人笔记,旨在督促自己认真学习。         给定一个含有个正整数的数组和一个正整数s,找出该数组中满足其和

    2024年01月18日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包