Skip to content

Go 缩略图缓存

系统概览

缩略图 PNG 缓存(internal/thumbnail/thumbnail.go,80 行)。CacheKey 用 SHA-256(modelPath + rootPath)生成稳定键,Save/Get 落盘读取 PNG base64,GetBatch 批量读取,SaveScreenshot 供截图落盘。

核心职责

  • CacheKey(modelPath, rootPath) — 稳定缓存键(SHA-256)。
  • Save(thumbDir, modelPath, rootPath, base64PNG) / Get(...) — 写/读 PNG。
  • GetBatch(thumbDir, paths, rootPath) — 批量读(含缺失项处理)。
  • SaveScreenshot(dir, filename, base64PNG) — 截图落盘。

对外 API(节选)

  • CacheKey(modelPath, rootPath string) string — 缓存键。
  • GetBatch(thumbDir string, paths []string, rootPath string) (map[string]string, error) — 批量缩略图。

与其他子系统关系

  • internal/app 的缩略图绑定(thumbnail.go / GetThumbnail)调用,供前端资源库渲染。
  • 前端缩略图键治理见 thumbnail-key 卡(ADR-119)。

不变量

  • 键算法(SHA-256 组合)是缓存寻址契约,改动即全量缓存失效。
  • 保持标准库 only。

验证入口

  • 无专项单测,手动验证:go test ./internal/thumbnail/