[ PROMPT_NODE_23352 ]
sequence-diagrams
[ SKILL_DOCUMENTATION ]
# 时序图
时序图展示了参与者随时间推移的交互过程。它们非常适合 API 流程、身份验证序列和系统组件交互。
## 基本语法
mermaid
sequenceDiagram
participant A
participant B
A->>B: 消息
## 参与者和角色
mermaid
sequenceDiagram
actor User
participant Frontend
participant API
participant Database
User->>Frontend: 点击按钮
Frontend->>API: POST /data
**区别:**
- `participant` - 系统组件(服务、类、数据库)
- `actor` - 外部实体(用户、外部系统)
## 消息类型
### 实线箭头 (同步)
mermaid
sequenceDiagram
Client->>Server: 请求
Server-->>Client: 响应
- `->>` 实线箭头 (请求)
- `-->>` 虚线箭头 (响应/返回)
### 开放箭头 (异步)
mermaid
sequenceDiagram
Client-)Server: 异步消息
Server--)Client: 异步响应
- `-)` 实线开放箭头
- `--)` 虚线开放箭头
### 叉号/X (删除)
mermaid
sequenceDiagram
Client-xServer: 删除
## 激活 (Activations)
展示参与者何时处于活跃处理状态:
mermaid
sequenceDiagram
Client->>+Server: 请求
Server->>+Database: 查询
Database-->>-Server: 数据
Server-->>-Client: 响应
- `+` 在箭头后激活
- `-` 在箭头前取消激活
## Alt/Else (条件逻辑)
mermaid
sequenceDiagram
User->>API: POST /login
API->>Database: 查询用户
Database-->>API: 用户数据
alt 凭据有效
API-->>User: 200 OK + Token
else 凭据无效
API-->>User: 401 未授权
else 账户锁定
API-->>User: 403 禁止访问
end
## Opt (可选)
mermaid
sequenceDiagram
User->>API: POST /order
API->>PaymentService: 处理支付
opt 支付成功
API->>EmailService: 发送确认邮件
end
API-->>User: 订单结果
## Par (并行)
展示并发操作:
mermaid
sequenceDiagram
API->>Service: 处理订单
par 发送邮件
Service->>EmailService: 发送确认
and 更新库存
Service->>InventoryService: 减少库存
and 记录日志
Service->>LogService: 记录订单
end
Service-->>API: 完成
## 循环 (Loop)
mermaid
sequenceDiagram
Client->>Server: 请求批处理
loop 遍历每个项目
Server->>Database: 处理项目