Test QuickGV: Difference between revisions

From Fundamental Ramen
Jump to navigation Jump to search
 
(28 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


= ClinicWiz =
= Colored Edge =


<quickgv name="clinicwiz" theme="warm">
<quickmmd name="colored-edge">
rankdir=TB;
flowchart TD
  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>
 
= Dish =
<quickmmd name="dish">
mindmap
  A[Dish]
    B1[Sauce Dish]
    B2[Shark's Fin Soup Dish]
    B3[Divided Dish]
    B4[Cassesrole Dish]
</quickmmd>


subgraph cluster_formain_cs {
= MMD =
  label="HTTP";
  A [label="GenHTTP http://localhost:8168\n(FormMain.cs)"];
  B [label="Functional Handler\n(FormMain.cs)"];
  C [label="Functions\n(RestfulMethods.cs)"];
}


subgraph cluster_form {
<quickmmd name="testmmd">
  label="WPF";
flowchart LR
  L [label="ReadTest.cs"];
    Root("規則動詞變化<br>(play)")
}


subgraph cluster_cshistaskfactory_cs {
    Root --> Past("過去")
  label="Queue Mechanism";
    Root --> Pres("現在")
  D [label="TaskFactory\n(CsHisTask/CsHisTaskFactory.cs)"];
    Root --> Fut("未來")
  E [label="Task\n(CsHisTask/CsHisTaskFactory.cs)"];
  F [label="StateMachine\n(CsHisStateMachine.cs)"];
}


subgraph cluster_hal {
    Past --> P1("過去普通: played")
  label="Hardware Control";
    Past --> P2("過去進行: was/were playing")
  G [label="CsHisHAL.cs"];
    Past --> P3("過去完成: had played")
  H [label="CsHis.dll\n(CsHis99Native.cs)"];
    Past --> P4("過去被動: was/were 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;
    Pres --> R1("現在普通: play / plays")
F -> J;
    Pres --> R2("現在進行: am/is/are playing")
F -> K;
    Pres --> R3("現在完成: have/has played")
L -> D;
    Pres --> R4("現在被動: am/is/are played")


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


= WebSocket Service =
= WebSocket Service =
Line 76: 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>


Line 315: Line 257:
{A D} -> E [xlabel="osmosis"];
{A D} -> E [xlabel="osmosis"];
E -> F [xlabel="osmosis with mapsforge writer"];
E -> F [xlabel="osmosis with mapsforge writer"];
</quickgv>
= AG =
<quickgv name="AG" theme="warm">
ROOT [label="Daniel"];
subgraph cluster_HMX {
  label="跨院系統組";
  A1 [label="Mike"];
  B1 [label="Jason\n可擔任主管\n也可打平組織"];
  C1 [label="Darren"];
  C2 [label="Candy\n打回基層\n或直接資遣"];
  C3 [label="Melody"];
  C4 [label="TBH\n儲備人才\n由 Mike 面試\n預防集體離職"];
}
A2 [label="Raymond"];
subgraph cluster_HIX {
  label="院內系統組"; 
  B2 [label="YuChu"];
  D1 [label="Tinky"];
  D2 [label="Egg"];
  D3 [label="WanYu"];
  D4 [label="ChungYi"];
  D5 [label="Nina"];
};
subgraph cluster_FAE {
  label="測試與後勤支援組";
  B3 [label="Joseph Chiang"];
  E1 [label="Frank"];
  E2 [label="Joseph Yin"];
  E3 [label="TBH"];
}
subgraph cluster_DEVOPS {
  label="佈署監控組";
  A3 [label="Tony"];
  B4 [label="TBH\n儲備值班人員\n上線前招募"];
  B5 [label="TBH\n儲備值班人員\n上線後招募"];
}
ROOT -> {A1 A2 A3};
A1 -> B1 -> {C1 C2 C3 C4};
A2 -> B2 -> {D1 D2 D3 D4 D5};
A2 -> B3 -> {E1 E2 E3};
A3 -> {B4 B5};
</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