日常记账的需求很普遍,但市面上的产品要么太轻(只能记流水,没有预算和多账户),要么太重(按企业财务做,个人用不起来)。
立项原因有两层:一是"数据要留在自己手里" —— 记账是极私密的数据,不想放在第三方平台;二是"要能和已有的工具打通"—— 同一个账号既能看股票持仓,也能记日常开销,不用在两个 App 之间来回切。
典型场景:随手记一笔午饭;月底看这个月钱花在哪;给「餐饮」设个预算防止超支;房租这种每月固定的支出交给系统自动记,不用惦记。
点击空白处退出提示
日常记账的需求很普遍,但市面上的产品要么太轻(只能记流水,没有预算和多账户),要么太重(按企业财务做,个人用不起来)。
立项原因有两层:一是"数据要留在自己手里" —— 记账是极私密的数据,不想放在第三方平台;二是"要能和已有的工具打通"—— 同一个账号既能看股票持仓,也能记日常开销,不用在两个 App 之间来回切。
典型场景:随手记一笔午饭;月底看这个月钱花在哪;给「餐饮」设个预算防止超支;房租这种每月固定的支出交给系统自动记,不用惦记。
一套完整的记账系统,服务端 + 管理后台 + 移动端三部分,共 37 个接口。
【记账】
· 收入 / 支出 / 转账,含金额、分类、账户、日期、备注
· 支持补记历史账目;改一笔、删一笔时账户余额自动同步,不用另外操作
【账本】
· 多账本(家庭账、装修账分开记),首次使用自动建默认账本
· 可共享给别人:拥有者 / 可记账 / 只读 三级权限
【账户与分类】
· 多钱包:现金、储蓄卡、信用卡、支付宝、微信
· 16 个系统预设分类,也可自定义
【预算与周期】
· 月度 / 年度预算,支持总预算与分类预算,超支提醒
· 房租、工资这类固定账目到期自动补记
【统计与导出】
· 收支合计、分类占比、按天 / 按月趋势
· 一键导出 CSV(带 BOM,Excel 打开不乱码)
【两端界面】
· 移动端 H5(9 个页面):记一笔、流水、统计、账户、预算、周期、分类、账本、首页
· 管理后台:全站账本与账目总览(管理员视角,只读)
技术栈:服务端 PHP 8.0 + Hyperf + Swoole 协程、MySQL、Redis;前端 Vue 3.5 + TypeScript + Vite(H5 用 Vant,后台用 Element Plus)。
四个实现难点:
1、金额全程按字符串处理——不只是后端,前端也绝不 Number() 转一圈再拼回去("38.50" 会变成 "38.5"),连千分位格式化都走纯字符串。金额精度是记账的底线,没必要去踩 double 的边界。
2、流水与余额同事务——记一笔、改一笔、删一笔都在同一事务里同步账户余额;余额用 SQL 表达式自增,而不是"读出来算完写回"——后者并发下会丢更新。
3、转账记成两条记录——转出与转入各一条、用方向字段区分。这样账户流水的查询不用为转账写特例;代价是统计收支时必须排除转账,否则一笔转账会让收支各算一次、账面凭空翻倍。
4、错误码翻成人话——后端 7xxxx 每个都带精确语义(「系统预设分类不能删」和「分类下还有账目」用户要做的事完全不同),前端做了映射表;并给「账本不存在」加了自愈(自动刷新账本列表)。






评论