数据格式与备份
一份数据就是一个 JSON,长这样:
jsonc
{
"version": 1,
"baseCcy": "CNY",
"accounts": [
{ "id": "hk_sv_hsbc", "name": "汇丰", "region": "hk", "kind": "savings",
"ccy": "BOTH", "limit": null, "note": "", "active": true }
],
"months": [
{ "id": "2026-08-04#k3f2a", "date": "2026-08-04", "rate": 0.92,
"values": { "hk_sv_hsbc": { "hkd": 52400, "cny": 4200 } },
"carried": [] }
]
}| 字段 | 含义 |
|---|---|
id | 只是一个不重复的键,不代表月份 —— 所以同一个月可以有多条记录。排序、环比一律按 date 走。早期数据里 id 是 "2026-08" 这种形式,仍然能正常读入 |
region | cn / hk |
kind | savings / credit / invest / receivable |
ccy | CNY(只有人民币)/ HKD(只有港币)/ BOTH(港币 + 港卡里的人民币子账户) |
rate | 1 港币 = 多少人民币,每条记录单独存 |
| 金额 | 一律是带符号的余额:信用卡欠款是负数,溢缴款是正数 |
carried | 这条记录里「沿用上一条、还没更新」的账户 id |
installments(可选)是分期,形如:
js
{ bank, name, total, periods, start: "2026-10", feeType: "none"|"rate"|"once", fee, ccy, accountId }start 是第 1 期还款的月份;feeType: rate 时 fee 是每期费率(%),once 时是首期一次收的金额。只用于展示,不参与任何合计。
备份
导出 / 导入都在右上角 ⋯ 菜单里。
服务端的数据在 server/data/users/(systemd 部署时在 /var/lib/finance-dashboard/users/), 每个用户一个 JSON 文件,原子写入并留一份 .bak,直接 tar 就能备份。见部署 · 备份。