feat: preview image task inputs in admin

This commit is contained in:
QiuSW
2026-07-20 08:58:34 +08:00
parent 2e222a2aef
commit 8eec0e3db7
9 changed files with 382 additions and 5 deletions
+13
View File
@@ -2026,3 +2026,16 @@
- 安全:仍复用既有 `SignupBonusGrant(user UNIQUE)` 数据库级幂等标记和 billing 事务写账;此次只调整额度,不改变注册接入、钱包锁、流水或 API 契约。
- 本地验证:`C:/Python312/python.exe manage.py migrate --noinput` 已应用 `billing.0009_signup_bonus_default_ten`;`manage.py check` 0 issues;`makemigrations --check --dry-run` 无待生成迁移;`compileall` 通过。定向 MySQL 测试 5 条通过:服务默认发放 / 已有钱包累加 / 并发仅发一次 / 注册 adapter 写余额与流水 / 首页匿名文案。测试仅出现既有 allauth 条件唯一约束在 MySQL 上不创建的 `models.W036` 警告。
- 线上部署:已部署代码提交 `83fa541` 至 `185.216.248.75:/www/wwwroot/cmhub`,同步时保留 `.env`、媒体、静态文件和部署配置,并创建服务器侧配置/媒体备份。部署前确认无 `queued` / `running` 图片任务;`cmhub-web`、`cmhub-generate` 及 66 个 `cmhub-image-worker@*` 均已重启并为 `active`,无 cmhub / Nginx failed unit。线上已应用 `billing.0009_signup_bonus_default_ten`,迁移记录为已登记,`manage.py check` 通过;运行时代码和模型字段默认值均为 10,HTTPS 首页返回 200。
## 2026-07-20 文档登记:T-622 图片生成任务后台图片缩略预览
- 状态:TODO,仅登记任务,未改代码、数据库、接口、计费、worker 或线上服务。
- 范围:在 django-admin 的 `ImageGenerationTask` 详情页复用已存的 `ImageGenerationTaskInput`(主图与参考图)及 `result_url`,展示稳定尺寸缩略图;双击后以后台模态窗口查看大图。
- 边界:不改 `CallRecord`,不为旧同步生图补建任务或补存输入图,不新增公开接口或媒体访问策略;列表页不加载缩略图,避免扩大查询和带宽开销。
## 2026-07-20 完成:T-622 图片生成任务后台图片缩略预览
- 实现:`ImageGenerationTaskAdmin` 使用专用 change form 模板,仅在详情页渲染缩略画廊。多图输入按 `ordinal` 标识第 1 张主图及后续参考图;无子输入时回退展示历史 `input_image`;成功任务有 `result_url` 时展示生成结果。缩略图双击打开原生 `<dialog>` 大图预览,支持关闭按钮、点击遮罩和 `Escape`;缩略图或大图加载失败均有前端降级提示。
- 边界:未修改模型、迁移、`CallRecord`、API 契约、计费、worker 或媒体访问策略;任务列表不渲染缩略图。新增静态 CSS / JS 仅由任务详情模板加载。
- 验证:`C:/Python312/python.exe manage.py check` 通过;`manage.py test apps.api.tests.ImageGenerationTaskAdminTests --keepdb --noinput --verbosity 2` 通过,4 tests OK(多图+结果、历史单图、无图片任务、非 staff);`makemigrations --check --dry-run` 无待生成迁移;`findstatic` 找到 CSS / JS;`./init.ps1` 通过;`git diff --check` 通过。目标测试仅有既有 allauth MySQL 条件唯一约束 `models.W036` 警告。
- 线上部署:当前未提交的 T-622 工作区代码已同步到 `185.216.248.75:/www/wwwroot/cmhub`,同步保留 `.env`、媒体、静态文件与部署配置,并创建部署前配置/静态文件备份。线上 `manage.py check` 通过,`collectstatic --noinput` 新复制 7 个静态文件,`cmhub-web` 重启后为 `active`;`cmhub-generate` 未重启,未影响 66 个生图 worker。已确认任务详情模板及 `staticfiles/api/admin/image-task-gallery.css`、`image-task-gallery.js` 存在。