多设备同步:GitHub、Gitee 或 WebDAV
GitHub、Gitee、WebDAV 三种远程仓库的同步方式。
默认数据只在本机 IndexedDB。要在手机和电脑之间同步,可以在「数据源」里连接远程仓库:
- GitHub / Gitee:填写仓库名和私钥(Token),一个仓库对应一本共享账。
- WebDAV:填写服务器地址、用户名和密码;浏览器直连需要服务端允许 CORS。
远程仓库的结构大致如下:
repo/
└── liangqi/
├── meta.json # 账户、分类、标签、预算、成员、设置
├── manifest.json # 分片清单、哈希、条数
├── entries-0.json # 第 0–999 条流水
├── entries-1000.json # 第 1000–1999 条流水
├── bills-0.json # 账单分片
└── attachments/ # 附件(按需下载)
同步是增量合并:先读 manifest 判断远程有没有变化,没有变化就跳过; 拉取时按分片哈希复用本地缓存,上传只写变化的分片。 删除使用墓碑记录,避免多人同步时把对方新增的账覆盖掉。
共享账本注意:多人共用一本账时,每个成员要有自己的密码;
登录后只能修改自己的流水和账单,别人的记录只能查看。
远程仓库建议设为私有,不要公开账目数据。