albums.json
相册是标签,不是位置。图库根目录下的这个文件定义它们;成员关系则以 id 列表的形式,住在每张照片的边车文件里。
{
"version": 1,
"albums": [
{
"id": "7c1e9b40-52a8-4c3f-9d16-8b0e2a5f7c33",
"name": "人像",
"createdAt": "2026-05-04T10:22:31.004"
},
{
"id": "b2049fa1-6d38-4e12-8a7c-1f5b3d9e0a44",
"name": "罗马 2026",
"createdAt": "2026-05-09T18:03:12.771"
}
]
}
字段
| 字段 | 类型 | 说明 |
|---|---|---|
version | int | 恒为 1 |
albums | array | 按图库顺序——也就是应用展示它们的顺序 |
albums[].id | string | UUID v4。被边车文件引用 |
albums[].name | string | 可以为空;也可以与别的相册重名 |
albums[].createdAt | string | ISO 8601。解析失败时取当前时间 |
缺少 id 或 name 的条目在读取时被丢弃:既没有东西可以展示,也没有东西可以和边车文件对上,猜一个只会比跳过更糟。
如果整个文件解析不了,图库会以「没有相册」的状态加载,而不是加载失败——一个坏掉的定义文件绝不该把照片一起拖下水。无论如何边车文件都保留着它们的 id,所以修好这个文件,每一份成员关系都会回来。
为什么用 id 而不是名字
重命名只需往这里写一次,而不必扫过图库里的每一个边车文件;而且两个相册可以同名而不会悄悄合并。
这也意味着相册只在这里被定义。删掉一个条目,边车文件里残留的那些 id 就变成惰性的:匹配不到任何东西,也毫无代价。把条目恢复回来——手动改,或让同步追上——每一张曾经佩戴它的照片就又戴上了。
删除
删除相册是 Winder 里唯一不进 .trash 的删除,因为相册不拥有任何文件。条目从这里移除,id 从所有携带它的边车文件里剥掉。没有任何图片被移动。
更新于 2026-08-06