Skip to content

feat+fix(image): 修复图片统计与预览链路,补齐筛选、缩略图、下载与图生图示例#14

Open
Laurel-rao wants to merge 3 commits into432539:mainfrom
Laurel-rao:main
Open

feat+fix(image): 修复图片统计与预览链路,补齐筛选、缩略图、下载与图生图示例#14
Laurel-rao wants to merge 3 commits into432539:mainfrom
Laurel-rao:main

Conversation

@Laurel-rao
Copy link
Copy Markdown

本 PR 主要完善图片任务链路,修复图片数量统计不准确和历史图片预览 403 问题,同时补齐缩略图预览、放大与下载能力,并补充图生图接口示例,覆盖后端统计、图片代理、个人中心、管理端和 API 文档页。

修改项:

  • 修复图片生成数量统计错误

    • 在图片生成、图片编辑、chat-as-image、channel 分发等成功路径补齐 image_count 回写
    • 统计聚合查询增加兼容表达式:历史数据中 type='image'status='success'image_count=0 的记录按 1 张兜底统计,避免总量偏小
  • 修复历史图片预览 403

    • 历史图片继续走本地代理地址,不直接暴露上游鉴权下载地址
    • 代理请求按任务信息实时获取有效下载链接,避免前端直接访问上游受限 URL 返回 403
  • 新增图片缩略图链路

    • 图片代理新增 thumb_kb 参数,范围 0-64
    • thumb_kb>0 时服务端将原图压缩为 JPEG 缩略图返回
    • 新增 /Users/raojiajun/mypro/backend/gpt2api/internal/image/thumb.go,按宽度和质量多档降级,尽量控制输出体积
    • 缩略图请求会跳过 upscale,避免先放大再压缩带来的额外 CPU 开销
    • 代理响应新增 X-Thumb-KB 头,便于确认缩略图命中
  • 新增个人图片任务筛选能力

    • /api/me/images/tasks 新增查询参数 statuskeywordstart_atend_at
    • DAO 层新增图片任务筛选结构,支持按状态、提示词、开始时间、结束时间过滤
    • 时间解析支持 2006-01-02 15:04:05RFC33392006-01-02
  • 优化管理端图片任务页

    • 结果列增加放大预览入口
    • 支持单张下载
    • 多图任务支持批量下载
    • 预览弹窗改为大图主视图 + 缩略图切换,支持多图切换查看当前选中图片
  • 优化个人中心图片历史页

    • 新增状态、关键词、时间范围筛选 UI
    • 列表缩略图统一走 thumb_kb=10 的压缩预览,降低加载体积
    • 支持点击缩略图放大查看原图
    • 支持单张图片下载
    • 图片任务查询参数类型同步更新到前端 API 定义
  • 补充图生图调用示例

    • API 文档页新增带 reference_images 的 curl 示例
    • 新增 Python requests 版图片生成示例
    • 新增 Python requests 版图生图示例
    • 示例中补充 reference_images 支持 URL、data URL、纯 base64,以及最多 4 张、单张最大 20 MB 的说明
  • 其他同步变更

    • web/package-lock.json 同步了 license 元数据字段,无业务行为变化

验证:

  • go vet ./...
  • go test ./...
  • cd web && npm run build

说明:

  • 本 PR 未包含脚本和 README 相关改动
  • 本 PR 未修改上游协议指纹逻辑

raojiajun and others added 3 commits April 25, 2026 10:51
修复图片任务历史页面图片无法显示的问题。上游 chatgpt.com 的图片 URL
需要 Authorization header,浏览器直接访问会 403。

Changes:
- 新增 internal/image/proxy_url.go 提供共享的签名逻辑
- me_handler.go 和 admin_handler.go 改为返回 /p/img/... 代理 URL
- 重构 images_proxy.go 使用共享签名函数,消除代码重复

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant