Skip to content

feat: 支持显示本地 resource_cache 高质量图片#3

Open
tocer wants to merge 1 commit into
p1g3:mainfrom
tocer:main
Open

feat: 支持显示本地 resource_cache 高质量图片#3
tocer wants to merge 1 commit into
p1g3:mainfrom
tocer:main

Conversation

@tocer

@tocer tocer commented Jun 9, 2026

Copy link
Copy Markdown

功能说明

利用 DingTalk 本地缓存的高质量图片,而非低质量缩略图。

问题

当前 dingwave 显示的图片是 ImageFiles 目录中的缩略图(120×39,1.7KB webp),而 DingTalk 实际上在 resource_cache 目录中缓存了高质量原图(720×348,几十KB)。

解决方案

通过迁移 im_image_info 表建立消息 ID 到本地高质量图片的映射关系。

改动

后端

  • 新增 ImageMapping 模型,迁移 im_image_info 表到内存数据库
  • 消息 API 响应增加 local_image_url 字段
  • 静态路由 /cache/ 指向 resource_cache 目录(高质量图片)
  • 静态路由 /static/ 指向 ImageFiles 目录(缩略图降级)

前端

  • 优先使用 local_image_url 显示高质量图片
  • 降级策略:云端 URL → 缩略图

效果

  • 约 31%(144/463)的图片显示高清版本
  • 其余降级到缩略图或云端 URL

启动命令

./dingwave -k -d dingtalk.db -p 8085

注意:需要 -k 参数指定用户 UID 才能解密数据库。

利用 DingTalk 本地缓存的高质量图片,而非缩略图。

## 改动
- 后端:
  - 新增 ImageMapping 模型,迁移 im_image_info 表
  - 消息 API 响应增加 local_image_url 字段
  - 静态路由 /cache/ 指向 resource_cache 目录
  - /static/ 路由指向 ImageFiles 目录(缩略图)
- 前端:
  - 优先使用 local_image_url 显示高质量图片
  - 降级到云端 URL 或缩略图

## 效果
- 约 31%(144/463)的图片显示 720×348 高清版本
- 其余降级到缩略图(120×39,1.7KB)

Co-Authored-By: Claude Opus 4.7 <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