存储数据与保存
storageData 是 Snow Cues 的业务数据文件夹,也是唯一业务数据源。理解它的结构和保存机制,才能避免数据丢失。
storageData 包含:
current.json:当前正式数据。revisions/:历史快照(如storage-data-rev-000003.json)。drafts/:用户手动导出的未保存草稿。conflicts/:保存冲突时生成的候选文件。
新建 storageData 默认生成 revision 1,并写入初始 current.json。
Snow Cues 不会在每次操作后自动写入业务文件。所有业务操作只修改浏览器内存草稿。
保存必须由用户显式触发:
- 点击「保存存储数据」。
- 查看摘要 diff。
- 确认保存。
空保存会被拒绝。保存前会重读 current.json,用打开时的 revision / hash 检测外部变化。
不要把未保存的草稿当作已经落盘的数据。修改后请及时保存。
revision
Section titled “revision”存储数据有历史版本编号(revision)。保存时会生成新的 revision 文件,保留历史快照。
直接保存模式下,必须先写 revisions/ 下的历史快照,成功后再更新 current.json。
如果保存时发现外部工具已经修改了 current.json,Snow Cues 会:
- 拒绝覆盖
current.json。 - 保留当前内存草稿。
- 把本次待保存结果写入
conflicts/作为冲突候选文件。
你可以在系统工具中比较两个存储数据文件,再决定如何处理。比较工具只展示集合数量级摘要,不自动合并或修改文件,也不展示密文或隐私元数据全文。
浏览器不支持文件夹访问时,应用会提供新的 current.json 下载或 zip 保存包,由你手动放回同步文件夹。
- 桌面环境保存包可包含固定脚本模板,辅助把文件放回
storageData。 - 移动端保存包不包含可执行脚本,需按 README 手动放置文件。
应用不自动写入同步文件夹。
可以使用 Syncthing、Git 或其他外部工具管理 storageData 文件夹,但这些同步和冲突处理不属于 Snow Cues 应用逻辑。
建议:
- 每次修改后及时保存。
- 跨设备使用前确认同步已完成。
- 发生冲突时先比较文件,不要直接覆盖。
- 定期备份
storageData。