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

markdown Sequence(时序图)
https://ispong.isxcode.com/github/markdown/markdown Sequence(时序图)/
Author
ispong
Posted on
November 30, 2020
Licensed under