大家好,我是热心的大肚皮,皮哥。
大家在设计方案时是不是还在用ProcessOn这类工具来绘制,是不是时常还在为调整样式发愁,今天给大家推荐一个idea的插件,画图更高效。
PlantUML是一款开源的UML图绘制工具,支持通过文本来生成图形,使用起来非常高效。可以支持时序图、类图、对象图、活动图、思维导图、C4架构等图形的绘制。
通过在IDEA中安装插件来使用PlantUML即可。
PlantUML支持时序图、用例图、类图、活动图、组件图、状态图、对象图、部署图、定时图、Network、Wireframe、Archimate、Gantt、MindMap、WBS、JSON、YAML。
步骤1、选择新建PlantUML File
步骤2、选择时序图
以Oauth2的时序图为例。代码如下。
@startuml
title Oauth2令牌颁发之授权码模式
actor User as user
participant "User Agent" as userAgent
participant "Client" as client
participant "Auth Login" as login
participant "Auth Server" as server
autonumber
user->userAgent:访问客户端
activate userAgent
userAgent->login:重定向到授权页面+clientId+redirectUrl
activate login
login->server:用户名+密码+clientId+redirectUrl
activate server
server-->login:返回授权码
login-->userAgent:重定向到redirectUrl+授权码code
deactivate login
userAgent->client:使用授权码code换取令牌
activate client
client->server:授权码code+clientId+clientSecret
server-->client:颁发访问令牌accessToken+refreshToken
deactivate server
client-->userAgent:返回访问和刷新令牌
deactivate client
userAgent--> user:令牌颁发完成
deactivate userAgent
@enduml
效果如下。
以上只是简单介绍了下怎么使用及支持类型,更多强大的功能看官网(https://plantuml.com/zh/sitemap)。
使用PlantUML的时候,常常会遇到流程过大,导致图片生成失败或者图片不清晰,怎么解决呢?告诉大家各小妙招。
首先在@startuml
下添加下面代码,调整大小和精度。
@startuml
skinparam dpi 750
scale 3500 width
scale 3000 height
skinparam wrapWidth 100
@enduml
然后打开设置。
最后修改限制大小即可。