Files
PLCtest/a.md
2025-11-28 07:59:12 +00:00

2.7 KiB

graph TD %% 定义样式 classDef reporter fill:#fce4ec,stroke:#c2185b,stroke-width:2px,rx:5,ry:5; classDef dev fill:#e3f2fd,stroke:#1565c0,stroke-width:2px,rx:5,ry:5; classDef lead fill:#fff9c4,stroke:#fbc02d,stroke-width:2px,rx:5,ry:5; classDef pm fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px,rx:5,ry:5; classDef note fill:#ffffff,stroke:#333,stroke-dasharray: 5 5;

%% ---------------- 角色:提单人 ----------------
subgraph Reporter ["📝 提单人 (QA/User/PM)"]
    direction TB
    Start((开始)) --> Found[1. 发现Bug或提出需求]
    Found --> OpenIssue[2. 在Gitea创建工单<br/>Create Issue #101]
    
    class Start,Found,OpenIssue reporter;
end

%% ---------------- 角色:程序员 ----------------
subgraph Developer ["👨‍💻 程序员 (Developer)"]
    direction TB
    PickIssue[3. 认领/被指派工单] --> CreateBranch[4. 创建关联分支<br/>git checkout -b fix/101-crash]
    CreateBranch --> Coding[5. 编写代码 & 本地提交]
    Coding --> Push[6. 推送分支]
    Push --> CreatePR[7. 发起合并请求<br/>描述中写: Fixes #101]
    
    FixCode[7b. 根据意见修改] --> Coding
    
    class PickIssue,CreateBranch,Coding,Push,CreatePR,FixCode dev;
end

%% ---------------- 角色:主要程序员 ----------------
subgraph Lead ["🔎 主要程序员 (Tech Lead)"]
    direction TB
    ReceivePR[8. 收到 MR 通知] --> Review[9. 代码审查 Code Review]
    Review --> Decision{10. 审查结果?}
    
    Decision -- ❌ 需修改 --> RequestChange[11. 驳回并评论<br/>Request Changes]
    Decision -- ✅ 通过 --> Approve[12. 批准合并<br/>Approve]
    
    class ReceivePR,Review,Decision,RequestChange,Approve lead;
end

%% ---------------- 角色:项目负责人 ----------------
subgraph PM ["🚀 项目负责人 (Project Manager)"]
    direction TB
    CheckStatus[13. 确认批准状态] --> Merge[14. 执行合并<br/>Merge to Main]
    Merge --> AutoClose[15. 系统自动关闭工单<br/>Issue #101 Closed]
    AutoClose --> Deploy((16. 发布上线))
    
    class CheckStatus,Merge,AutoClose,Deploy pm;
end

%% ---------------- 跨角色交互连线 ----------------
OpenIssue --> PickIssue
CreatePR --> ReceivePR
RequestChange --> FixCode
Approve --> CheckStatus

%% ---------------- 关键说明 ----------------
Note1["关联分支名规范:<br/>type/issue-id-name"] --- CreateBranch
Note2["Magic Word:<br/>在MR描述中写 'Fixes #ID'<br/>可实现合并后自动关单"] --- CreatePR

class Note1,Note2 note;