一、背景与目标
在打牌、棋牌等社交娱乐活动中,参与者之间频繁发生资金往来——输赢结算、借钱还钱、垫付费用等。传统的记账方式依赖纸笔或微信群聊,存在以下痛点:
- 容易算错:手动计算多人的收支明细容易遗漏或出错
- 结算不清:活动结束后难以快速算清每个人该收多少、该付多少
- 记录分散:微信群聊中的转账记录容易被刷屏淹没,事后难以追溯
- 多人协作难:缺乏一个共享的记账空间,每个人只能看到自己的记录
打牌记账是一款基于微信小程序的多人实时记账工具,旨在为牌局、饭局等社交场景提供便捷、准确的资金记录与结算服务。用户通过创建或加入房间,即可与
同行伙伴共享一个记账空间,实时记录收支、查看余额、统计排名,告别糊涂账。
核心目标:
- 让每一笔收支都有据可查
- 让多人分账结算一目了然
- 让记录过程尽可能简单快捷
二、软件功能概述
本应用提供以下核心能力:
房间管理:创建记账房间、生成邀请码/二维码、加入房间、退出房间
收支记账:记录收入与支出,支持备注,实时更新余额
转账功能:房间内成员之间直接转账,自动产生双向记录
余额查看:实时展示房间总余额和个人净收支
数据统计:房间维度和个人维度的收支汇总、排名、笔数统计
成员管理:查看房间成员列表及各自的收支排名
技术架构简要说明
- 前端:微信小程序原生开发(WXML + WXSS + JavaScript)
- 后端:Node.js + Express,RESTful API 设计
- 数据库:MySQL,使用连接池管理数据库连接
- 身份认证:基于微信 OpenID 的轻量级鉴权
- 部署:支持 Linux (Shell) 和 Windows (PowerShell) 脚本部署
核心数据流
用户发起记账请求
│
▼
前端校验(金额、类型)
│
▼
调用后端 API(携带 OpenID)
│
▼
后端鉴权中间件校验身份
│
▼
数据库事务处理:
├─ 插入收支记录(普通记账)
│ └─ 计算并更新房间余额 balance
│
└─ 插入两条转账记录(转账记账)
├─ 转出方记录(type=expense, transfer_type=out)
└─ 接收方记录(type=income, transfer_type=in)
│
▼
更新房间统计缓存表
│
▼
返回最新记录与余额
│
▼
前端实时刷新界面
此款微信小程序,是有我个人设计开发上线发布的。