1.8 KiB
1.8 KiB
id, title, phase, deps, status, created
| id | title | phase | deps | status | created | ||
|---|---|---|---|---|---|---|---|
| T-588 | AI工场远程缩略图与蝦皮原图进入照片池 | 7 |
|
TODO | 2026-07-11 |
问题 / 背景
拉取商品后要低成本浏览远程主图:缩略图只进内存,用户单击才下载原图落照片池。网络请求不能卡 GUI,失败不能阻断其他缩略图,也不能因为显示缩略图就把全部原图写盘。
方案
- 实现异步缩略图 loader(QNetworkAccessManager 或受控线程池+signal),含内存缓存、并发上限、取消、单图重试和占位状态。
- 实探并记录 Shopee CDN 缩略图尺寸后缀、Referer、Content-Type 和重定向事实;不可用时安全回退原 URL 的受限读取。
- 复用现有无系统代理、安全超时、大小上限和图片解码校验;只允许 http/https、公网地址。
- 单击蝦皮原图时下载原图到
originals/,先写临时文件并校验解码,再原子替换目标并创建原图 asset;重复单击幂等。 - 明确不增加“导入本地图片”入口;照片池来源仅蝦皮原图和后续 AI 生成图。
验收要点
- 缩略图加载不在 GUI 主线程,不落盘;单图失败/超时显示中文状态且其他图继续。
- 缓存命中不重复请求;切项目或关闭窗口可取消未完成加载。
- 单击后原图真实落盘、asset 可用;失败不留下半文件或可用 asset。
- 非图片、超限、内网 URL、坏图片和重定向边界有测试。
- CDN 两项事实有真实探查记录,测试不依赖公网。
边界(不改什么)
- 不做 AI 生成、终选、导出或蝦皮写操作。
- 不自动下载全部原图,不加入本地图片导入。
- 不在日志记录 Cookie、带敏感查询串的完整 URL 或图片字节。
执行记录
(完成后记录 CDN 实探、缓存和下载验证。)