1.8 KiB
1.8 KiB
人工维护指南
日常修改从哪里开始
- 界面与交互:
src/App.tsx,视觉令牌与布局:src/styles.css。 - 金额汇总规则:
src/domain/transactions.ts,修改时先补对应测试。 - 本地数据库、命令、迁移、备份和导出:
src-tauri/src/lib.rs。 - 票据与流水候选匹配、凭证和撤销审计:
src-tauri/src/vouchers.rs。 - 产品边界和架构决定:
docs/,发布前同步更新版本说明。
不破坏旧数据的规则
- 不直接改写已经发布的迁移;新增表或字段使用新的迁移版本。
- 原始流水、确认和纠错分开保存;展示层读取最新有效值。
- 涉及数据库格式时,必须测试旧库升级、失败回退、备份与恢复。
- 金额始终用整数分保存和计算,禁止浮点数入库。
- 外部 OCR、AI、税务规则和申报通道必须放在适配层,核心账本不依赖供应商格式。
每次发布的固定检查
运行 scripts/verify.ps1,确认前端测试、生产构建和 Rust 测试通过;随后人工检查建档、记一笔、CSV 重复导入、确认、修改、搜索、账簿导出、备份和恢复。安装升级测试不得删除应用数据目录。
发布客户端必须使用 npm run desktop:build,不要用 cargo build 代替正式打包流程,否则最新 dist 可能没有嵌入可执行文件。SQLCipher 的 vendored OpenSSL 在 Windows 中文路径下构建失败时,可临时用 subst 把项目根目录映射到纯英文盘符后构建;映射只服务于编译,不得写入程序配置或用户数据路径。
故障定位顺序
先记录用户看到的中文错误和触发步骤,再判断属于界面、命令、数据库迁移还是文件系统。修复后必须增加能复现问题的自动测试。不要让用户手工编辑数据库或密钥文件。