# 快速记账与资产统计更新(2026-10-04) ## 使用方式 - 独立资产新增“纪念币”和“纪念钞”分类,保留原币、估值历史和当前 ZIP v9 备份。 - 账户页开启“快速记账”,点击卡片录入余额。界面缩小卡片、间距及图标,隐藏类别、折合说明、新增按钮、分组排序等次要信息;退出后恢复。 - “转账”入口位于快速记账按钮附近,依次点击转出、转入卡片后填写金额。宽屏右侧显示本次保存成功的记录;窄屏改为列表下方,避免遮挡卡片。 - 点击有欠款的信用卡或贷款账户,在弹窗选择“还款”,指定启用的资产账户付款,填写本次还款金额。付款及欠款余额在同一事务内更新;负债减少,溢缴余额仍按现有规则显示为存款。 - 本次余额记录、转账、还款及手动标记可逐项“撤回”。余额/转账撤回调用已有记录删除与重放流程,同时更新历史、日历和总览;标记撤回只恢复先前标记。撤回失败不会显示“已撤回”。 - “标记本月还款”开启后点击欠款账户可标记/取消;卡片显示“本月已还款”。“仅看本月未还款”仅展示未标记本月的启用负债账户,支持与分组和当天筛选组合。 - “标记当天已记账”开启后点击启用账户可标记/取消;“隐藏当天已记账”隐藏当日已标记的卡片,可随时恢复显示。实际余额更新不会自动替用户标记完成。 - 独立资产页开启“快速设置计入总资产”,点击卡片切换单项 included,刷新总览与轨迹。独立资产总开关关闭时说明单项配置将在总开关开启后生效。 月份和当天标记仅表示人工确认,不自动生成余额记录、还款或资金往来;实际还款也不会自动标记本月完成。日期采用 UTC+8。跨月或跨日通过比较当前月份/日期停止显示旧标记,旧值仍保留在数据库,不执行定时清理。页面每分钟及重新获得焦点时刷新业务日期,只更新显示状态。 本次记录列表是浏览器内当前快速记账会话的临时列表,刷新、重新开启模式、退出登录或隐藏资产锁定后清空;已经保存的账目仍保留,可从变化记录管理。清空列表不会删除账目。 ## 数据与接口 Position 新增两个可空字段,已执行增量迁移: - lastRepaymentMonth:CHAR(7),最后手动确认已还款月份 YYYY-MM。 - lastBookedDate:CHAR(10),最后手动确认已完成记账日期 YYYY-MM-DD。 字段和实际 MySQL 列均附中文注释;数据库注释清单更新至 17 张表、161 个字段。 接口: - PATCH /api/positions/:id/repayment-mark:month、expectedMonth,及可选 expectedUpdatedAt。 - PATCH /api/positions/:id/booked-mark:date、expectedDate,及可选 expectedUpdatedAt。 - PATCH /api/positions/:id/inclusion:included、expectedIncluded,及可选 expectedUpdatedAt。 接口检查用户归属及隐藏项目可见性,使用行锁与期望状态防止覆盖其他操作;网页同时发送 updatedAt,保护先修改、再改回的并发场景。仅账户可以标记当天记账,仅负债账户可以标记还款月份,仅独立资产可以使用此快速统计接口。归档账户不可标记;未来日期/月、无效日期和意外字段拒绝。 当前 ZIP v9 导出及事务恢复保存月份、日期与单项统计状态。当前 v9 文件缺少这两个新可选元数据时恢复为空;仍拒绝所有历史 ZIP 版本和单文件 JSON。OpenAPI 已包含三项接口。 ## 验证 - 48 项基础测试通过,覆盖跨月/跨日标记到期、组合筛选、精确十进制记录显示及还款入口条件。 - 22 项真实 MySQL/REST 集成测试通过,含余额撤回、成对还款/转账撤回、隐藏账户隔离、跨用户拒绝、并发标记保护、统计开关和 ZIP 恢复。 - 使用独立临时测试账号验证余额保存和撤回、双边还款和撤回、本月未还款筛选、当天记账隐藏、独立资产统计切换、纪念币/钞分类,以及快捷转账入口。 - 768 像素与 1440 像素页面检查通过。长记录列表下转账表单不被压缩,宽屏记录面板与账户列表不重叠。 - 测试用户已退出并清理,不修改真实用户账目。docs 目录仅保存文字和结构化数据。