Test QuickGV: Difference between revisions

From Fundamental Ramen
Jump to navigation Jump to search
 
(14 intermediate revisions by the same user not shown)
Line 1: Line 1:
See: https://graphviz.gitlab.io/_pages/pdf/dotguide.pdf
See: https://graphviz.gitlab.io/_pages/pdf/dotguide.pdf


= MMD =
= Colored Edge =
<quickmmd name="testmmd">
 
<quickmmd name="colored-edge">
flowchart TD
flowchart TD
A --> B
  A1(["👩🏻‍💻 Human"])
  A2(["🤖 Agent"])
 
  B1("HTTP<br>(Fiber v3)")
 
  subgraph backend handlers 
    B2("API handler")
    B3("MCP HTTP")
    B4("Streamable Handler")
    B5("SSE handler")
    B6("MCP Server")
  end
 
  subgraph backend services
    C1(Mermaid to SVG)
    C2(Mermaid to PNG)
    C3(XML Formatter)
  end
 
  subgraph frontend
    B7("Nuxt.js")
  end
 
  subgraph resources
    D1(Mermaid Container<br>yuzutech/kroki-mermaid)
  end
 
  %% human path
  A1 --> B1
  B1 --> |the rest URI| B7
  linkStyle 0,1 stroke:#0000ff,stroke-width:2px
 
  %% agent path
  A2 --> B1
  B1 --> |/mcp or /sse| B3
  linkStyle 2,3 stroke:#00aa00,stroke-width:2px
 
  %% api path
  B7 --> |axios| B1
  B1 --> |/api| B2
  linkStyle 4,5 stroke:#9900cc,stroke-width:2px
 
  B3 --> |/mcp| B4
  B3 --> |/sse| B5
  B4 & B5 --> B6
  B6 --> C1 & C2 & C3
  B2 --> D1
  C1 & C2 --> D1
</quickmmd>
</quickmmd>


= ClinicWiz =
= Dish =
<quickmmd name="dish">
mindmap
  A[Dish]
    B1[Sauce Dish]
    B2[Shark's Fin Soup Dish]
    B3[Divided Dish]
    B4[Cassesrole Dish]
</quickmmd>


<quickgv name="clinicwiz" theme="warm">
= MMD =
rankdir=TB;


subgraph cluster_formain_cs {
<quickmmd name="testmmd">
  label="HTTP";
flowchart LR
  A [label="GenHTTP http://localhost:8168\n(FormMain.cs)"];
    Root("規則動詞變化<br>(play)")
  B [label="Functional Handler\n(FormMain.cs)"];
  C [label="Functions\n(RestfulMethods.cs)"];
}


subgraph cluster_form {
    Root --> Past("過去")
  label="WPF";
    Root --> Pres("現在")
  L [label="ReadTest.cs"];
    Root --> Fut("未來")
}


subgraph cluster_cshistaskfactory_cs {
    Past --> P1("過去普通: played")
  label="Queue Mechanism";
    Past --> P2("過去進行: was/were playing")
  D [label="TaskFactory\n(CsHisTask/CsHisTaskFactory.cs)"];
    Past --> P3("過去完成: had played")
  E [label="Task\n(CsHisTask/CsHisTaskFactory.cs)"];
    Past --> P4("過去被動: was/were played")
  F [label="StateMachine\n(CsHisStateMachine.cs)"];
}


subgraph cluster_hal {
    Pres --> R1("現在普通: play / plays")
  label="Hardware Control";
    Pres --> R2("現在進行: am/is/are playing")
  G [label="CsHisHAL.cs"];
    Pres --> R3("現在完成: have/has played")
  H [label="CsHis.dll\n(CsHis99Native.cs)"];
    Pres --> R4("現在被動: am/is/are played")
  J [label="PCSC API"];
  K [label="SetupAPI"];
  R1 [label="HC3000"];
  R2 [label="DWR18"];
  R3 [label="PCSC Reader"];
}


A -> B -> C -> D -> E -> F -> G -> H;
    Fut --> F1("未來普通: will play")
F -> J;
    Fut --> F2("未來進行: will be playing")
F -> K;
    Fut --> F3("未來完成: will have played")
L -> D;
    Fut --> F4("未來被動: will be played")
 
</quickmmd>
H -> R1;
H -> R2;
H -> R3;
J -> R2;
J -> R3;
</quickgv>


= WebSocket Service =
= WebSocket Service =
Line 82: Line 119:
s:mh -> iq [color="#ff0000"];
s:mh -> iq [color="#ff0000"];
s:mw -> iq [color="#ff0000",dir="back"];
s:mw -> iq [color="#ff0000",dir="back"];
</quickgv>
= 建議線路 gen1 =
<quickgv name="topology" theme="warm">
subgraph cluster_clinic {
  label="診間網路";
  his[label="HIS Server"];
  nas[label="NAS"];
  opd[label="診間"];
  pt[label="復健"];
  reg[label="掛號"];
  tv[label="衛教"];
  prn[label="印表機"];
  sw[label="辦公室交換器"];
  fw[label="防火牆"];
  wan1[label="固定IP線路"];
  wan2[label="健保局 VPN"];
  cross[label="跨院病歷"];
  {opd pt reg tv his nas prn} -> sw;
  sw -> fw;
  fw -> {wan1 wan2};
  wan1 -> cross [dir="back", color="#ff0000"];
}
// 開放網路
subgraph cluster_open {
  label="開放網路";
  gu[label="新光保全"];
  mo[label="監視系統"];
  pc1[label="外網專用PC"];
  rt[label="IP分享器"];
  wan3[label="浮動IP線路"];
  mobile[label="監視系統 App"];
  hacker[label="駭客 or 殭屍電腦"];
  {pc1 gu mo} -> rt -> wan3;
  wan3 -> {mobile hacker} [label="tcp:3880", dir="back", color="#ff0000"];
}
</quickgv>
= 建議線路 gen2 =
<quickgv name="topology_gen2" theme="warm">
subgraph cluster_clinic {
  label="診間網路";
  his[label="HIS Server"];
  nas[label="NAS"];
  opd[label="診間"];
  pt[label="復健"];
  reg[label="掛號"];
  tv[label="衛教"];
  prn[label="印表機"];
  fw[label="防火牆"];
  wan1[label="固定IP線路"];
  wan2[label="健保局 VPN"];
  cross[label="跨院病歷"];
  subgraph cluster_switch {
    label="網路交換器";
    vlan1[label="診間區虛擬網路"];
    vlan2[label="敏感區虛擬網路"];
  }
  {opd pt reg tv prn} -> vlan1;
  {his nas} -> vlan2;
  {vlan1 vlan2} -> fw;
  fw -> {wan1 wan2};
  wan1 -> cross [dir="back", color="#ff0000"];
}
// 開放網路
subgraph cluster_open {
  label="開放網路";
  gu[label="新光保全"];
  mo[label="監視系統"];
  pc1[label="外網專用PC"];
  rt[label="IP分享器"];
  wan3[label="浮動IP線路"];
  mobile[label="監視系統 App\n(僅限特定地點存取)"];
  {pc1 gu mo} -> rt -> wan3;
  wan3 -> mobile [label="tcp:3880", dir="back", color="#ff0000"];
}
</quickgv>
= A =
<quickgv name="Gff" theme="warm">
rankdir=TB;
A [label="驗證銷售權"];
B [label="驗證輸入值格式"];
C [label="驗證報價是否存在"];
D [label="產生 GDS 訂單"];
E [label="產生供應商訂單"];
A -> B -> C -> D -> E;
</quickgv>
</quickgv>



Latest revision as of 10:42, 10 September 2026

See: https://graphviz.gitlab.io/_pages/pdf/dotguide.pdf

Colored Edge

Dish

MMD

WebSocket Service

testflow

test

Crawling Flow

GDS

Geomancer

Sandbox