Files
EveryPublish/diagrams/mmd/06-全链路时序-含异常分支).mmd
T

38 lines
1.4 KiB
Plaintext

sequenceDiagram
participant OP as 运营
participant S as 服务器
participant A as Agent
participant PL as 平台
participant IT as 账号负责人
Note over A,S: 单条WSS长连接复用(实测RTT 0.07ms)
OP->>S: 提交任务(素材/平台/排期)
S->>S: 校验→审核→入队→排期触发
S->>A: task.push(taskId,加密载荷)
A-->>S: ack(taskId) 幂等确认
A->>A: 选账号→注入代理→协议级登录态校验(不启浏览器)
alt 登录态正常
A->>PL: 冷启动浏览器→上传素材→提交发布
PL-->>A: 发布回执+截图
A->>S: task.result(success)
S-->>OP: 实时状态+链接
else 平台触发二次验证
PL-->>A: 挑战(扫码/短信/APP确认/滑块)
A->>S: challenge.push(类型,凭证)
S-->>IT: 控制台+企微提醒
IT->>S: 扫码或输入验证码
S->>A: challenge.resolve(结果)
A->>PL: 继续发布流程
else 网络类失败
A->>A: 指数退避 1m/5m/15m/1h
A->>PL: 自动重试上传
else 登录态失效
A->>S: challenge.push(qr)
S-->>IT: 推送扫码提醒
IT->>S: 扫码成功
S->>A: challenge.resolve
A->>PL: 恢复执行
else 风控拦截
A->>S: task.result(fail,原因)
S->>S: 账号冷却+人工队列
S-->>OP: 告警通知
end