#项目要生成类似UML的流程图,所以选择Python的这个作为经验记录
##Pycharm-settings-plugins搜索《plantuml》
##重启后即可新建文件
##附上一个包含所有指令的demo,需要的话可以直接复制关键字就能得到。
@startuml
'https://plantuml.com/sequence-diagram
'个人备注部开始
'文档页眉和页脚
header Page Header
footer Page foot %page% of %lastpage%
skinparam sequenceMessageAlign right
skinparam responseMessageBelowArrow true
'字数最大长度
skinparam maxMessageSize 10
'严格
skinparam style strictuml
'隐藏无连接实体
hide unlinked
participant Participant[
=Title
------
"xx"
]
participant Participant02 as Para1 #red
note left of Para1 #aqua
说明Participant标签
end note
'分隔符
==初始化==
hnote over Para1 : 空闲
'六边形框框
'rnote over Para2 : 繁忙 这个不好用啊?
'对齐备注
/ note over Para2 : 也空闲
==初始化结束==
ref over Para2
ref for para2
multi lines
end ref
note over Para1,Para2 : 覆盖两个
note across : 覆盖大家的备注
actor Actor as Para2 #00ff00
boundary Boundary as Para3 order 2
control Control as Para4 order 1
entity Entity as Para5 <<(E,#ADD1B2)>>
database Database as Para6
collections Collections as Para7
queue Queue as Para8
Para1 -> Para1 : "This is a signal\n for mul\n ti lines"
...
Para1 <- Para1 : "This is a right\n line "
'不生效?
...5分钟后...
autonumber 10 "<b>(<u>[##]<u>)"
Para2 ->x Para5 : Message not receive
autonumber stop
'增加空隙
|||
||50||
Para2 ->> Para5 : Message arrow is thin
autonumber resume
'这是一个备注,不会出现在内容里
Para2 -\ Para5 : arrow no under
autonumber 30 20 "<font color=red><b>Message 0000"
Para2 -/ Para5 : arrow no upper
'分割页面,便于打印
newpage Page2 header
Para2 <->o Para5 : arrow with 'o'
Para2 [#red]-> Para5 : arrow with color
autonumber 1.1.1
Para1 -> Para2 : seq
Para1 -> Para2 : seq2
autonumber inc A
' A=第一位, B=第二位
Para1 -> Para2 :seq3
'调用autonumber参数
Para1 -> Para2 : seq4 %autonumber%
' alt 和 end 都存在才会形成外部框 , loop 和 end也是
alt #Gold "Success"
Para1 -> Para2 : alt内容
note left : 这是一个左边的备注
else #Pink failed
Para1 -> Para2 : else 内容
note right
这是右边的备注
有很多行
end note
loop 1000次
Para1 <- Para2 : 重复测试
end
end
group 我的标签 [新的标签002]
end
autonumber "<b>[000]"
Para1 -> A : 测试开始
activate A #red
A -> A : 子线程
activate A #DarkSalmon
A -> B : 创建B
activate B
B -> A : 摧毁B
destroy B
deactivate A
autoactivate on
AA -> BB : 创建
' 特定时间创建CC,新实例
create CC
?-> CC : 短线
CC ->] : 发出
BB -> CC : 创建CC
return CC结束
return BB结束
'{start} -> {end} : cost times
'个人备注部分结束,以下是创建文件自带Demo
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response
Alice -> Bob: Another authentication Request
Alice <-- Bob: another authentication Response
@enduml