首页 > 其他分享 >PlantUML简单使用

PlantUML简单使用

时间:2024-03-05 20:35:47浏览次数:13  
标签:PlantUML 简单 pay 使用 pos wechat 微信 skinparam

前言

在项目中我们经常需要画时序图,类图等UML图,可以通过 processon 或者 drawio 这种在线网站,但不够灵活,也没办法很好的保存。PlantUML 是一个可以让你快速编写UML图的组件,它通过文本来描述图形,因此可以很容易地将这些描述与源代码一起存储在版本控制系统中。然后 PlantUML 负责将这些描述转换为图形。

语雀或者思源都可以很好的支持这种语法。

名称解释:UML 全称是 Unified Modeling Language(统一建模语言)。

具体示例

@startuml
title 微信扫码支付
footer Page %page% of %lastpage%
skinparam ParticipantPadding 30
skinparam sequenceArrowThickness 2
skinparam roundcorner 20
skinparam maxmessagesize 100

participant "POS机" as pos order 10
participant "支付中心" as pay order 20
participant "微信" as wechat order 30

autonumber

pos->pay:微信支付 https://xxx/pay
alt 订单商品中包含 xxx
    pay->wechat:微信支付 https://api.mch.weixin.qq.com & attach:tag=xxx

else 不包含
    pay->wechat:微信支付 https://api.mch.weixin.qq.com
end
wechat-->pay:返回结果
pay-->pos:返回结果

@enduml

效果如下

IDEA 中通过安装插件也可以支持 PlantUML 语法,文件后缀为 .puml。更多语法可以参考 PlantUML官网

参考

PlantUML官网
PlantUML --- 使用代码快速绘制时序图、思维导图

标签:PlantUML,简单,pay,使用,pos,wechat,微信,skinparam
From: https://www.cnblogs.com/strongmore/p/18045581

相关文章

  • js 数组筛选方法使用整理_JavaScript常用数组元素搜索或过滤
    一、常用方案介绍:如果你想找到在符合特定条件的阵列中的所有项目,使用filter。如果你想检查是否至少有一个项目符合特定的条件,请使用find。如果你想检查一个数组包含一个特定的值,请使用includes。如果要在数组中查找特定项目的索引,请使用indexOf 二、js数组筛选方法......
  • 使用 dat.GUI.js 简化试验流程
    导入jsimport{GUI}from"three/addons/libs/lil-gui.module.min.js";代码//定要要设置的属性varcontrols=new(function(){this.rotationSpeed=0.02;this.bouncingSpeed=0.03;//球体弹跳速度})();vargui=newGUI();gui.add(controls,"rotationS......
  • Gorm简单入门
    Gorm简单入门介绍简单的数据库连接和CRUD内容0.基本配置goget-ugorm.io/gormgoget-ugorm.io/driver/mysql1.连接数据库packagemainimport( "time" "gorm.io/driver/mysql" "gorm.io/gorm")typeUserstruct{ IDuint Namestring......
  • Java 切入点 JoinPoint的使用,用于拦截方法,与自定义注解
    这里的代码案例是外卖系统中,用于统一修改新增和更新内容中的更新时间与更新人内容,根据具体情况,在使用时进行自定义修改就行了第一部分是annotation的,因为是为了自动填充数据准备,所以创建annotation包后,在其中创建了AutoFill的注解类型/***自定义注解,用于标识某个方法需要用......
  • 自定义Hooks:四个典型的使用场景
    一、如何用好hook要用好ReactHooks,很重要的一点,就是要能够从Hooks的角度去思考问题。要做到这一点其实也不难,就是在遇到一个功能开发的需求时,首先问自己一个问题:这个功能中的哪些逻辑可以抽出来成为独立的Hooks?这样问的目的,是为了让我们尽可能的吧业务陆奥及拆分......
  • React的7个常用Hooks及使用场景(含示例)
    React是一款非常流行的JavaScript库,它提供了许多Hooks,用于管理函数组件的状态和生命周期。下面是React的每个Hooks的使用场景和示例:No1、useStateuseState用于在函数组件中管理状态。它返回一个包含当前状态和一个更新状态的函数的数组。更新状态的函数可以接受一个新的值......
  • Landsat L2 级别数据说明(包含地表温度产品使用)
    Landsat8-9C2L2级别数据打开需要ENVI5.6.2及以上版本。Landsat8-9C2L2SP数据中包含了地表反射率(SurfaceReflectance,SR)和地表温度(SurfaceTemperature,ST)产品,可以在EarthExplorer下载。1注意事项1.1地表反射率产品(1)Landsat8-9C2地表反射率(SR)产品仅从处理为......
  • jmeter+nmon+crontab简单的执行接口定时压测
    临时接到任务要对系统的接口进行压测,上面的要求就是:压测,并发2000在不熟悉系统的情况下,按目前的需求,需要做的步骤:需要有接口脚本需要能监控系统性能需要能定时执行脚本二、观察>针对第一点:接口脚本需要观察系统接口的情况:系统使用swagger文档编辑接口,这很好,可以直接引......
  • redis基本使用
    1.简介redis是一款非关系型数据库或者缓存数据库(性能最高的非关系型数据库之一),拥有每秒近十万次的读写能力。2.安装&启动安装:使用免安装版本即可,免安装版本压缩包在window和mac文件夹中,对压缩包解压缩即可。启动:window:终端进入到解压缩文件夹的bin目录下......
  • Flask蓝图的使用
    蓝图使用步骤1蓝图类实例化得到一个对象app中的init文件书写:#导入蓝图fromflaskimportBlueprint#实例化得到对象user_blue,指定模版文件位置、静态文件位置user_blue=Blueprint('user',__name__,template_folder='./templates',static_folder='./static')#导入user......