Appearance
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/。