G3ERP/.roo/rules/mermaid-rules.md

39 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

使用正确的mermaid语法创建图表代码充分参考下面的Mermaid 语法特殊字符说明:
* Mermaid 的核心特殊字符主要用于**定义图表结构和关系**。
* 要在节点 ID 或标签中**显示**这些特殊字符或包含**空格**,最常用方法是用**双引号 `""`** 包裹。
* 在标签文本(引号内)中显示 HTML 特殊字符 (`<`, `>`, `&`) 或 `#` 等,应使用 **HTML 实体编码**
* 要在标签内**换行**,使用 `<br>` 标签。如果使用`<br>`,则标签内使用引号包括,比如"ManualCall Domain/Infra<br>(Entity, Repo)"
* 节点名称中不要使用括号
- **必须规则1**所有的Mermaid图表必须要被以```mermaid开头代码块包裹
- **必须规则2**所有MermaidJS图表内的节点文字描述都必须加上双引号例如A["二氧化碳 (CO2)"] --> B["水 (H2O)"]
- **必须规则3**禁止使用任何样式代码如style、fill、stroke等来设置背景颜色或边框样式
- **必须规则4**:不要写所有的注释
- **必须规则5**:每个`subgraph`都要有对应的`end`,属于不同模块的必须使用子图,模块内不同模块需要嵌套子图
- **必须规则6**:边描述中的序号后,必须跟着转义符,比如:`1\.``2\.`
- **必须规则7**:在`graph TB`中,不要使用`<|--`,直接使用`--`
- **正确示例**`A["设备A"] --> B["交换机"]``A[["IP 地址 "逻辑地址""] --> B["局域网寻址 "同一网络段""]`
- **错误示例**`A[设备A] --> B[交换机]``style A fill:#f9f,stroke:#333,stroke-width:2px`
- **正确示例**`graph LR
A -- "1\. 创建父任务请求" --> B
B -- "2\. 创建 ParentTask 记录" --> I`
**注意务必保证 边描述时,数字序号+. 这种数字以后要加转义符**
**注意务必保证 边描述时,数字序号+. 这种数字以后要加转义符**
- **错误示例**: `graph LR
A -- "1. 创建父任务请求" --> B
B -- "2. 创建 ParentTask 记录" --> I`
- **正确实例**
```
graph TB
subgraph "调用方/调度层"
Caller["业务代码/调度器<br>(XXL-Job, 手动触发等)"]
end
subgraph "核心框架层"
TES["TaskExecutionService<br>统一入口"]
subgraph "父任务处理"
ParentTaskLogic["ParentTask 实现<br>(e.g., DemoParentTask)<br>- generateSubTasks()<br>- checkCompletionStatus()"]
end
end
```