Kā uzrakstīt mermaid secības diagrammu

Secības diagramma rāda, kurš ar kuru sazinās un kādā secībā. Mermaid to uzrakstīt aizņem apmēram tikpat ilgi, cik prasa aprakstīt skaļā balsī, tāpēc tas ir diagrammas veids, kas koda bāzē noturas visilgāk. Viss zemāk ir gatavs kopēšanai un ielīmēšanai redaktorā.

Minimums

Deklarējiet diagrammas veidu, tad rakstiet pa vienai rindai katram ziņojumam. Dalībnieki tiek izveidoti pie pirmās pieminēšanas, secībā, kādā tie parādās.

sequenceDiagram
  User->>API: POST /orders
  API->>DB: INSERT order
  DB-->>API: order id
  API-->>User: 201 Created

Deklarējiet dalībniekus tieši ar participant User, ja vēlaties konkrētu secību no kreisās uz labo, nevis pirmās pieminēšanas secību.

Bultu veidi

SintakseNozīme
A->>B: textPieprasījums — pilna līnija, aizpildīts bultas gals
A-->>B: textAtbilde — pārtraukta līnija, aizpildīts bultas gals
A->B: textPilna līnija, tukšs bultas gals
A-)B: textAsinhrons ziņojums — tukšs bultas gals, atbilde nav gaidāma
A-xB: textZiņojums, kas neizdodas vai tiek pazaudēts

Konvencija, ko vērts ievērot: pilna līnija izsaukumam, pārtraukta atgriešanai. Tad lasītājs var atšķirt pieprasījumu no atbildes, nelasot nevienu etiķeti.

Dalībnieki un pseidonīmi

sequenceDiagram
  participant U as Browser
  participant A as API gateway
  participant S as Order service
  U->>A: GET /orders
  A->>S: list(userId)
  S-->>A: orders
  A-->>U: 200 OK

Izmantojiet actor U as Browser nevis participant, lai uzzīmētu stilizētu figūriņu — noder cilvēkam autentifikācijas plūsmas kreisajā malā.

Aktivācijas joslas

Aktivācijas joslas rāda, cik ilgi dalībnieks ir aizņemts. Atzīmējiet tās tieši ar activate/deactivate, vai pievienojiet bultām + un -, kas ir īsāk un grūtāk sabojāt līdzsvaru.

sequenceDiagram
  User->>+API: POST /pay
  API->>+Bank: charge
  Bank-->>-API: authorised
  API-->>-User: receipt

Cikli, nosacījumi un paralēls darbs

sequenceDiagram
  User->>API: POST /import
  loop every row
    API->>DB: upsert row
  end
  alt all rows valid
    API-->>User: 200 OK
  else some failed
    API-->>User: 422 with errors
  end
  par notify
    API->>Email: send summary
  and audit
    API->>Log: write entry
  end
  • loop <label> … end — atkārtošana.
  • alt <label> … else <label> … end — savstarpēji izslēdzoši zari.
  • opt <label> … end — zars, kas var arī nenotikt.
  • par <label> … and <label> … end — lietas, kas notiek vienlaikus.
  • critical / break — sadaļa, kuru nedrīkst pārtraukt, un agrīna izeja.

Piezīmes

sequenceDiagram
  User->>API: POST /login
  Note right of API: Rate limited<br>5 per minute
  API-->>User: token
  Note over User,API: Token is valid for 30 days

Note over A,B aptver divus dalībniekus un ir īstā vieta ierobežojumam, kas pieder mijiedarbībai, nevis kādai no pusēm.

Pilns piemērs

sequenceDiagram
  actor U as User
  participant A as App
  participant P as Provider
  U->>+A: Click "Sign in"
  A-->>-U: Redirect to provider
  U->>+P: Authorise
  P-->>-U: Redirect back with code
  U->>+A: GET /callback?code=…
  A->>+P: Exchange code for token
  P-->>-A: access token
  Note right of A: Session cookie set here
  A-->>-U: Signed in
OAuth pieteikšanās, no sākuma līdz beigām.

Rediģējiet šo diagrammu

Ielīmējiet to koda cilnē un mainiet rindu — priekšskatījums pārzīmējas rakstīšanas laikā.

Biežāk uzdotie jautājumi

Kā numurēt ziņojumus?

Ierakstiet autonumber rindā tieši aiz sequenceDiagram. Tad katrs ziņojums saņem secīgu numuru, kas ievērojami atvieglo diagrammas apspriešanu pārskata komentāros.

Vai dalībnieks var nosūtīt ziņojumu pats sev?

Jā — uzrakstiet to pašu nosaukumu abās pusēs: API->>API: retry. Mermaid uzzīmē cilpu atpakaļ tajā pašā dzīves līnijā.

Kā parādīt, ka dalībnieks tiek iznīcināts?

Izmantojiet destroy <name> pirms ziņojuma, kas to noslēdz, vai create participant <name>, lai tas parādītos diagrammas vidū, nevis augšā.

Vai varu rediģēt secības diagrammu vizuālajā audeklā?

Vizuālais audekls rediģē plūsmas diagrammas. Secības diagrammas raksta koda cilnē, kur tās atveidojas dzīvē priekšskatījumā — parasti tas ir ātrāk, jo secības diagramma būtībā ir rindu saraksts.

Vairāk rokasgrāmatu

  1. Eksportēt mermaid uz PNG vai SVG

    Četri veidi, kā iznest mermaid diagrammu — PNG, SVG, .mmd avots un Markdown bloks — un kurš no tiem ir pareizā atbilde katrā gadījumā.

  2. Mermaid sintakses uzziņa

    Mezglu formas, bultas, apakšgrafi un stilošana vienā lapā — plus strādājošs piemērs katram diagrammas veidam, ko atveido mermaid.

Atveriet redaktoru. Bez maksas — bez reģistrācijas.

Tukšs audekls, koda cilne un visas eksporta iespējas — bez maksas, jūsu pārlūkā, tieši tagad.