flowchart TB
CAP["拍摄成功或选择照片"] --> PREP["准备中
获取源文件 检查空间 本地复制"]
PREP -->|失败| PF["准备失败
保留原因和恢复入口"]
PF -->|重新获取或释放空间| PREP
PREP -->|成功| QUEUE["持久化队列
固定账号 相册 分类 任务 ID"]
QUEUE --> AUTH{"账号权限与
上传开关有效?"}
AUTH -->|否| WAIT["等待恢复权限或开放上传
也可明确取消任务"]
WAIT -->|条件恢复| AUTH
AUTH -->|是| UP["原生系统传输至 OSS 暂存区"]
UP -->|断网或授权过期| RETRY["保存任务
等待网络或续签后重试"]
RETRY --> AUTH
UP -->|系统中止或强制退出| REOPEN["保留可恢复记录
系统允许或下次启动后校准"]
REOPEN --> AUTH
UP -->|文件传输完成| CONFIRM["服务端核验与幂等确认
固定不可覆盖的正式原图"]
CONFIRM -->|失败| CF["确认失败或待补偿
核验已有对象 不盲目重传"]
CF --> CONFIRM
CONFIRM --> JOB["处理图片与生成浏览资源"]
JOB -->|失败| JF["记录处理失败
有限重试或人工重试"]
JF --> JOB
JOB -->|完成| READY["处理就绪"]
READY --> CHECK{"相册公开且
照片未隐藏删除?"}
CHECK -->|是| SYNC["元数据同步海外
幂等 版本检查 定时补漏"]
SYNC --> LIVE["海外资源可用后可见
通知观众并进入轮播"]
CHECK -->|否| INTERNAL["内部保留
原图继续长期保存"]
INTERNAL -->|公开状态变化后检查| CHECK