图表语法
本站已集成图表围栏插件,写文档时直接用代码块即可产出图形,不需要截图或外链图片。所有图形配色取主题 CSS 变量,明暗主题自动跟随,宽度不足时横向滚动。
| 围栏 | 渲染成 | 适用场景 |
|---|---|---|
```mermaid | Mermaid 12 图形 | 流程图、泳道图、时序图、状态图、ER 图、思维导图、饼图、象限图、甘特图 |
```pyramid | 分层金字塔 | 层级自顶向下展开(架构分层、依赖层次、优先级) |
图题写法:在围栏语言后接一行文字作为标题。
```mermaid 图 1 · 请求鉴权判定
flowchart TD
A["请求"] --> B{"通过鉴权?"}
B -- 是 --> C["进入 Controller"]
B -- 否 --> D["401"]
```
```pyramid 架构分层 同理。下面每个示例都是本站真实使用过的图形,可直接复制改字。
流程图
要点:{"文本"} 是判定节点,["文本"] 是矩形节点,标签含中文标点或括号时一定要用引号包住;分支标签用 -- 是 --> 形式。
泳道图
用 subgraph 表示泳道,跨泳道连线体现职责交接。
时序图
要点:->> 实线箭头表示请求,-->> 虚线表示返回,loop / alt / opt 表达循环与分支,autonumber 自动编号。
状态图
ER 图
思维导图
饼图
象限图
甘特图
金字塔
pyramid 每行一层,自顶向下逐层变宽,格式 层名 | 说明,# 开头的行忽略。
- 1使用者运营与管理员浏览器、开放 API 调用方
- 2接入层OpenResty 反向代理、HTTPS 证书、静态资源
- 3接口层asone-front 页面与 /api 控制器
- 4领域层advertisement / channel-report / iaa 业务模块
- 5内核层asone-server-system 鉴权、审批、通知、导出、通用配置
- 6基础设施MySQL、Redis、OSS、SMTP、XXL-JOB、渠道开放 API
同一张图也能表达依赖方向:上层依赖下层,业务模块之间不互相依赖。
- 1asone-server-boot唯一启动模块,聚合全部业务模块
- 2业务模块advertisement、channel-report、iaa(互相不依赖)
- 3asone-server-system共享内核:安全、审批、通知、导出、工具
- 4框架与中间件Spring Boot、MyBatis-Plus、Redis、MySQL
写作约定
- 一图一事:一张图只说明一个结论,超过 15 个节点就拆图或改成分层金字塔。
- 判定节点要有显式 id:写
Q{"条件?"}后用Q -- 是 -->引用;A -->{"条件?"}这种匿名节点无法被二次引用,会导致解析失败。 - 节点 id 避开保留字:
style、click、end、graph、subgraph、class、link等不能当节点 id(例如B --> style["style"]直接 Parse error),改用sty、ndStyle之类的别名,标签文字仍写原词。 - 中文标签加引号:节点文字含
()、[]、:、,等符号时用引号包住,否则解析失败;换行用<br/>。 - 图文配套:图前后必须有正文解释,图不能是唯一信息源;Mermaid 渲染失败时页面会降级显示源码,正文仍要能读懂。
- 不写凭据:图里不出现口令、token、内网地址;需要标识环境时写「生产 / 本地」。
- 改图即改字:图形与正文描述同一个事实,改动其中一处必须同步另一处,见文档同步规则。
- 构建不校验图形语法:
pnpm build只渲染容器,语法错误要在浏览器里看(渲染失败会显示源码与错误说明),改完图务必开pnpm dev目检。
