Mermaid 图表渲染全景演示与测试
本文为 AI 辅助生成生成模型:Gemini 3.7Flash • 参考资源:Marinus
本文用于测试与演示博客系统对 Mermaid.js 各种常用图表类型的渲染效果与交互特性。
1. 流程图 (Flowchart)
flowchart TD
Start(["🚀 开始系统初始化"]) --> InitConfig["加载配置文件 config.yaml"]
InitConfig --> CheckDB{"检查数据库连接"}
CheckDB -- 成功 --> LoadCache["预热 Redis 缓存"]
CheckDB -- 失败 --> RetryDB["重试连接 (最多3次)"]
RetryDB --> CheckRetry{"重试是否超限?"}
CheckRetry -- 未超限 --> CheckDB
CheckRetry -- 已超限 --> SendAlert["🚨 发送告警通知"] --> Stop(["🛑 终止启动"])
LoadCache --> StartServer["启动 HTTP/WebSocket 服务"]
StartServer --> Ready(["✨ 系统就绪,开始监听流量"])
2. 时序图 (Sequence Diagram)
sequenceDiagram
autonumber
actor User as 用户 (浏览器)
participant CDN as Cloudflare Pages
participant Astro as Astro SSR/SSG
participant DB as 数据存储
User->>CDN: GET /posts/vcu_test
CDN->>Astro: 命中边缘静态缓存
alt 缓存命中 (Cache Hit)
CDN-->>User: 200 OK (返回静态 HTML & Pretext 布局)
else 缓存未命中 (Cache Miss)
CDN->>Astro: 请求源站渲染
Astro->>DB: 读取 Markdown 元数据
DB-->>Astro: 返回文章与配置
Astro-->>CDN: 生成静态页面并更新缓存
CDN-->>User: 200 OK (首屏加载)
end
Note over User,CDN: 客户端异步加载 Mermaid 引擎完成图表渲染
3. 状态图 (State Diagram)
stateDiagram-v2
[*] --> Standby: 上电自检正常
Standby --> Precharge: 钥匙打至 ON & 踩下刹车
Precharge --> Ready: BMS 高压就绪反馈
Precharge --> Fault: 预充超时 (>50ms)
Ready --> Postcharge: 钥匙关闭 (OFF)
Postcharge --> Off: BMS 高压断开 & 泄放完成
Off --> [*]
Standby --> Fault: 高压互锁故障 (HVIL)
Ready --> Fault: 高压互锁故障 (HVIL)
Fault --> Off: 钥匙关闭 (OFF)
4. 类图 (Class Diagram)
classDiagram
class VehicleController {
+int vcuState
+bool hvRequest
+bool torqueEnable
+handleKeyStatus(keySts: int)
+processBrakeInput(pedal: float)
+triggerFault(code: int)
}
class BatteryManagementSystem {
+bool bmsHvReady
+float voltage
+float current
+requestContactorClose()
+requestContactorOpen()
}
class MotorInverter {
+bool enabled
+float targetTorque
+setTorque(value: float)
+emergencyShutdown()
}
VehicleController o-- BatteryManagementSystem : CAN 通信交互
VehicleController --> MotorInverter : 发送扭矩使能
5. Git 分支图 (Git Graph)
gitGraph
commit id: "feat: init"
branch develop
checkout develop
commit id: "feat: BaseLayout"
branch feature/mermaid
checkout feature/mermaid
commit id: "feat: add mermaid renderer"
commit id: "style: nord theme integration"
checkout develop
merge feature/mermaid id: "merge: mermaid support"
checkout main
merge develop id: "release: v1.2.0" tag: "v1.2.0"
6. 饼图数据分析 (Pie Chart)
pie title 博客内容技术栈分布
"Astro & TypeScript" : 45
"Simulink & VCU 策略" : 25
"Mermaid & 可视化" : 15
"Pretext 字体渲染" : 15