markdown Sequence(时序图)
Last updated on November 22, 2024 pm
🧙 Questions
时序图: 描述数据传递的逻辑,或者多个服务之间的数据传输规则
☄️Ideas
对象类型
- participant : 方块
- actor : 人物
文本
Note left of A: 左边文本
: 左边添加文本Note right of A: 右边文本
: 右边添加文本Note over A,B: 跨域文本
: 跨域添加文本
线条类型
->
: 实线无箭头-->
: 虚线无箭头->>
: 实线有箭头-->>
: 虚线有箭头-x
: 实线带叉箭头--x
: 虚线带叉箭头->>+
: 激活段开始->>-
: 激活段结束
逻辑块
- 循环
sequenceDiagram
loop "loop title"
A->>B: what is up
end
- 判断(if-else)
sequenceDiagram
alt "A is boy"
A->>B: i am boy
else "B is girl"
B->>A: i am girl
end
- 可选操作
sequenceDiagram
opt "A do something"
A->>B: i will do
end
- 平行操作
sequenceDiagram
par A swim
A->>B: i will swim
and A fish
A->>B: i will fish
end
- 颜色块
sequenceDiagram
rect rgb(0, 255, 0)
A->>B: i am boy
end
rect rgba(0, 0, 255, .1)
A->>B: i am boy
end
基础语法
sequenceDiagram
%% 声明对象
participant 浏览器
participant Github单点登录服务
participant 后端服务
participant Redis
%% 核心处理逻辑
浏览器 ->> Github单点登录服务 : "前端访问github的单点登录连接"
Github单点登录服务 ->> 浏览器 : "返回单点令牌token"
浏览器 ->> 后端服务 : "获取token令牌"
后端服务 ->> Github单点登录服务 : "拿着token令牌获取用户在github上的用户信息"
Github单点登录服务 ->> 后端服务 : "返回github-userId"
后端服务 ->> Redis : "查看该用户是否存在"
%% 如果用户不存在逻辑
alt "如果github-userId存在"
Redis ->> 后端服务 : "返回用户token和用户信息"
后端服务 ->> 浏览器 : "返回给前端,登录成功"
else "如果github-userId不存在"
Redis ->> 后端服务 : "用户不存在"
后端服务 ->> 浏览器 : "用户不存在"
end
sequenceDiagram
%% 声明对象
participant 浏览器
participant Github单点登录服务
participant 后端服务
participant Redis
%% 核心处理逻辑
浏览器 ->> Github单点登录服务 : "前端访问github的单点登录连接"
Github单点登录服务 ->> 浏览器 : "返回单点令牌token"
浏览器 ->> 后端服务 : "获取token令牌"
后端服务 ->> Github单点登录服务 : "拿着token令牌获取用户在github上的用户信息"
Github单点登录服务 ->> 后端服务 : "返回github-userId"
后端服务 ->> Redis : "查看该用户是否存在"
%% 如果用户不存在逻辑
alt "如果github-userId存在"
Redis ->> 后端服务 : "返回用户token和用户信息"
后端服务 ->> 浏览器 : "返回给前端,登录成功"
else "如果github-userId不存在"
Redis ->> 后端服务 : "用户不存在"
后端服务 ->> 浏览器 : "用户不存在"
end
🔗 Links
markdown Sequence(时序图)
https://ispong.isxcode.com/github/markdown/markdown Sequence(时序图)/