图片处理管线
Image Processing Pipeline
多来源图片的获取、压缩、格式转换与平台上传的完整处理链
子问题
1.多来源图片统一处理
2.自适应压缩与质量控制
3.占位符异步替换机制
4.多 Provider AI 图片生成的工厂化管理
5.临时文件生命周期管理与磁盘泄漏防护
6.图片格式保持(PNG→PNG 避免透明通道丢失)
各项目的解法1 solutions
Signals
横向对比
| 维度 | md2wechat-skill |
|---|---|
| 管线架构 | 四层分离:编排→处理→压缩→上传,Go 同步顺序执行 |
| 来源抽象 | ImageType 枚举 + ImageRef 结构体统一三种来源(local/online/ai) |
| 压缩策略 | Lanczos 缩放 + JPEG 质量控制,压缩后更大则跳过 |
| 异步机制 | HTML 占位符 <!-- IMG:N --> 解耦转换与上传 |
| 平台上传 | 微信素材 API + 3 次固定重试 + 1 秒间隔 |
| AI 生成 | Provider 工厂模式,支持 5 种图片生成服务 |
| 容错设计 | 单张失败 continue 跳过,不阻塞整体管线 |
最佳实践
1.压缩后比原图大则跳过,保持Lanczos高质量缩放
2.三返回值 (path, compressed, error) 精确表达压缩三态
3.Provider 创建前验证配置,避免半初始化对象
4.单张图片失败 continue 跳过,不阻塞整体管线