轻量好用的收支记账系统

支持多账号、多分类、多预算管理,图表报表一目了然。 PC 端 + 微信小程序双端联动,自动同步数据,让记账更简单。

  • · 多账户、多分类、预算管理
  • · 图表分析 + 报表导出
  • · 微信小程序扫码登录,随时随地记账
  • · 自托管部署,数据完全掌握在自己手中
系统特色

· 支持记账分类图标库,自由选择常用图标;
· 支持预算控制、超支提醒;
· 支持多终端访问,数据云端同步;
· 支持导出备份,方便数据迁移和归档;
· 支持在线更新,及时获取最新功能。

多端同步记账

PC 端 + 微信小程序,场景自由切换。

电脑上做汇总分析,手机随手记一笔,数据实时同步,不怕遗漏。

预算与报表

按月/按类设置预算,超支有提醒。

支持按账户、分类、项目查看统计图表,一键导出数据做深度分析。

自托管更安心

源码部署在自己的服务器上。

敏感账目数据完全掌握在自己手中,可配合备份和导出功能,长期安全保存。

更新日志

当前版本:v1.13.2

v1.13.2(当前版本)

  • PC 端记账明细页面图片凭证大图预览交互优化:移除预览弹窗右上角关闭按钮,保留点击空白区域关闭,修复少数环境下点击关闭按钮后页面卡住的问题。
  • 新增系统公告推送能力:管理员可在「系统设置 - 系统参数」中创建公告(支持立即或定时),PC 端登录首页与小程序首页会在登录后自动弹窗展示最近一条未读公告,并记录阅读人数。
  • 新增邮件推送功能:系统参数页增加「邮件推送」模块,支持创建按全部用户或指定用户范围的邮件推送任务(可立即或定时发送),并在列表中查看推送时间与发送状态,后续重要公告可通过邮件同步通知到用户。
  • 邮箱维护流程简化:PC 端与小程序端的邮箱维护统一改为「直接编辑并保存」,取消绑定 / 换绑验证码流程,仅在忘记密码等安全场景继续使用邮件验证,降低日常维护成本。
  • 小程序邮箱与推送体验优化:对微信自动注册用户使用的占位邮箱(@miniapp.local)增加显式提示与引导,登录后与设置中心会提醒尽快填写真实邮箱;邮件推送时会自动过滤占位邮箱,避免将邮件发送到无效地址。

v1.13.1

  • 小程序接口环境调整:统一将微信小程序的接口地址切换到新的 HTTPS 服务环境,提升访问稳定性与国内网络访问速度,更新日志中不再展示具体域名。
  • 安全与隐私:调整小程序更新日志页底部联系方式文案,避免直接暴露具体邮箱/域名,引导通过内置「问题反馈」功能联系开发者。
  • 版本管理:同步更新系统版本号展示,便于区分本次小程序与后端环境变更。
  • 用户标识展示:PC 端系统设置个人信息卡片右上角新增「用户ID」展示,小程序首页欢迎语与设置中心新增用户ID字段,便于在用户管理列表中通过系统ID快速对应具体用户。

v1.13.0

  • 头像与昵称能力升级:小程序设置中心与注册页全面接入微信官方「头像昵称填写能力」,支持通过按钮选择微信头像并在专用昵称输入框中填写昵称,避免旧接口只能获取统一的「微信用户」与灰色头像。
  • 统一头像存储与展示:后台为用户新增头像字段,所有头像文件统一按用户 ID 存储到 uploads 目录,更换头像时会自动删除旧文件;PC 端右上角与「系统设置 - 用户管理」列表均展示当前头像,小程序与网页端共享同一头像资源。
  • 昵称兼容性与稳定性:服务器对微信返回的昵称自动做 emoji 与 4 字节字符清洗,避免数据库因编码限制导致写入失败,看起来「同步不生效」的问题;同时对纯 emoji 昵称给出友好的错误提示,引导用户填写可存储的昵称。
  • 上传体验优化:小程序设置中心与注册页的头像上传链路重构,修复真机环境下 getBaseUrl / 协议限制等问题,统一使用 HTTPS 接口地址并增加前端超时兜底提示,避免上传过程中长时间卡在「正在上传头像」。
  • 资料完善引导:小程序首页新增一次性「完善资料」引导,当检测到仍为默认昵称或缺少头像时,会弹出提示引导用户前往设置中心补全头像和昵称;补全完成后不会重复打扰。

v1.12.1

  • 小程序昵称改为应用内自定义:设置中心「昵称」支持直接修改并保存到后台,移除「同步微信昵称」按钮,避免微信统一返回「微信用户」导致昵称与预期不符。
  • 自动登录昵称回写优化:小程序一键登录时,如检测到账号昵称仍为占位的「微信用户」且本次登录携带了昵称,将自动用本次昵称覆盖,保证后端与前端展示一致。
  • 细节与体验:首页在返回时会重新读取最新的用户信息,确保在设置中心修改昵称后,首页欢迎语能立即展示最新昵称。

v1.12.0

  • 小程序一键登录体验优化:未注册用户支持自动注册 + 绑定 + 登录,并为自动注册账号生成占位邮箱与随机密码哈希,兼容现有 PC 端账号体系,避免数据库约束报错。
  • 微信昵称同步:小程序设置中心新增「昵称 / 同步微信昵称」入口,授权后可一键同步当前微信昵称;后台用户管理中的昵称会自动更新为微信昵称,替代统一的「微信用户」。
  • 稳定性与日志:为小程序自动登录接口增加异常捕获与明确的错误提示,修复部分环境下 SQLSTATE[23000] 报错导致的一键登录失败问题,便于排查与运维。

v1.11.0

  • 小程序全局分享与签名:所有主要页面统一接入分享签名接口,支持「发送给朋友 / 分享到朋友圈」,分享路径自动附带防篡改签名参数。
  • 首页与设置中心:概览页与设置中心接入统一分享;设置中心「检查更新」配合全局更新管理器,在检测到新版本时给出提示与一键重启更新。
  • 页面与稳定性优化:预算管理、报表分析、图标库管理、问题反馈、扫码登录以及注册/绑定等页面全部接入统一分享逻辑,并修复多处 JSON 配置错误导致的小程序模拟器启动异常。
  • 数据展示改进:小程序项目管理页的「所属分类」按「[类型] 分类名」展示,统一与 PC 端的显示风格,避免只看到分类 ID。
  • 绑定与资料体验:PC 设置中心的微信绑定信息更清晰,支持查看绑定状态与解绑;小程序请求默认携带登录 Token,修复设置中心用户名 / 邮箱偶尔显示为「未登录 / 未设置」的问题。
  • 更新日志一致性:PC 与小程序的更新日志页均增加「以 PC 端为准」提示,说明小程序发布存在平台审核延迟,避免误解为小程序一定是最新版本。

v1.10.0

  • 小程序一键登录:进入即自动注册 / 绑定并登录(wx.loginwechat/auto-login),新用户自动注入默认分类 / 项目 / 账户(含图标),即开即用。
  • 设置中心完善:支持修改用户名;首次绑定邮箱与直接更换邮箱(即时唯一性校验、无需邮件验证码);设置/修改密码均可在小程序端完成。
  • PC 扫码注册:保留表单注册;新增「扫码注册」页(静态小程序码),引导先在小程序完成注册,再用「设置→扫码登录PC」完成电脑端登录。
  • 扫码登录引导:PC 扫码登录后如缺少邮箱/密码,将跳转到「完善资料」页,可选填后进入系统。
  • 授权与兼容:放宽小程序与扫码登录的邮箱验证限制;修复 OpenID 绑定查询方法命名与小程序 Token 有效期问题;兼容旧库缺少 register_source 字段。
  • UI/体验:设置页操作改为迷你按钮并优化布局;「扫码注册」页采用静态小程序码与清晰步骤;前端资源延续本地优先、CDN 兜底策略。

v1.9.2

  • 性能与稳定性:前后端第三方库改为「本地优先、CDN兜底」,本地支持 BootstrapChoices.jsChart.jsqrcode.js,显著加快页面首次加载并规避网络波动。
  • 注册页优化:修复页面结构导致的空白问题;注册成功卡片新增小程序码、绑定二维码与「暂不绑定/去登录」按钮,指引更清晰。
  • 系统设置增强:可配置绑定二维码有效期与文案;用户管理支持为指定用户生成绑定二维码与注入默认数据,并在同页展示二维码。
  • 小程序接口优化:统一接口与展示链接的地址配置,提升国内网络访问速度与稳定性。
  • 兼容性修复:对旧库缺少 register_source 列的环境做运行时兼容,系统设置用户列表与注册流程均正常。

v1.9.1

  • 访问入口优化:支持通过站点地址直接访问登录页,简化用户路径。
  • 小程序接口优化:统一接口地址配置并清理旧配置残留,稳定性提升。
  • 登录后首页右上角新增「小程序扫码」按钮,弹窗展示根目录图片 xiaochengxu.png
  • 登录页增强:底部展示小程序码图片,便于先进入小程序启用扫码再在 PC 端登录。
  • 缺陷修复:修复小程序扫码弹窗绑定位置与多余标签导致弹窗不显示的问题。

v1.9.0

  • 小程序开放注册:新增注册页面,支持直接在小程序端创建账号,并在 PC 端标记「小程序注册用户」。
  • 图标库管理增强:分类 / 项目新增与编辑改为弹窗形式,集成图标库选择与上传;图标库支持重命名、替换图片与删除。
  • 扫码登录全流程:实现 PC 端生成二维码 → 小程序确认 → PC 端落会话的完整链路;新增登录令牌表与接口,支持状态轮询与过期处理。
  • 二维码稳定性提升:扫码页优先使用本地 qrcode.min.js,失败再回退 CDN;改用 canvas 渲染并新增倒计时与「刷新二维码」按钮,显著提升加载稳定性。
  • 登录页交互优化:PC 登录页将“使用小程序扫码登录”替换为实心按钮样式,入口更明确。
  • 缺陷修复:修复登录令牌 SQL 枚举值引号问题导致的状态更新异常;补齐小程序 pages/login/qr-confirm.js,修复模拟器报错。
  • 其它体验:小程序设置页新增“扫码登录PC”入口;首页快捷入口与图标展示细节优化。

v1.8.0

  • 小程序新增「问题反馈 & FAQ」页面:支持按问题 / 回复 / 用户模糊搜索历史反馈,并以卡片形式展示常见问答。
  • 小程序反馈支持在「我要反馈」弹窗内上传最多 3 张截图,提交后与 PC 端共用同一反馈列表,便于管理员排查问题。
  • 小程序反馈列表支持点击任意一条,弹出详情弹窗,查看完整问题描述、系统回复以及全部相关截图(含管理员补充的图片)。
  • PC 端问题反馈 / FAQ 页面新增管理员回复图片上传功能:在回复时可附加多张图片,这些图片会与用户原有截图一并展示在 PC 端和小程序端。
  • 系统设置 - 用户管理新增「微信绑定」列,可直观看到每个账号是否已绑定微信小程序,以及最近一次小程序登录时间。

v1.7.0

  • 新增微信小程序端,支持扫码登录后与 PC 端共用同一账户数据,实现随时随地记账。
  • 小程序首页新增「本月收支」与「预算提醒」卡片,并提供快捷入口「记一笔 / 明细 / 预算 / 设置」,可直接从首页跳转常用功能。
  • 小程序记一笔与编辑记账页面重构账户、分类、项目选择交互:统一采用底部弹层形式,支持展示账户余额与账户 / 分类 / 项目图标,移动端操作更顺手。
  • 小程序流水列表支持类型、分类、项目、账户、时间范围、金额区间以及备注关键字等多条件组合筛选,并在列表中展示分类 / 项目 / 账户图标,方便快速识别记账来源。
  • 注册流程调整:新用户在填写邮箱后无需再点击邮件验证即可完成注册登录,只有在「忘记密码」时才需要通过邮箱验证链接重置密码。
  • 修复 PC 端明细页面中单条删除在部分环境下无效的问题,统一复用批量删除逻辑,确保删除任意一条明细时账户余额都能正确回滚。

v1.6.2

  • 记账页面与「今日记账明细」编辑弹窗中的类型 / 分类 / 项目下拉在接入 Choices.js 高级下拉后,恢复原有联动规则:选择支出 / 收入后,仅展示对应类型的分类与项目,并在选项中一并展示图标。
  • 优化新增记账与编辑记账的金额输入框高度和字号,使输入区域更高、更适合触控点击,提升记账输入体验。
  • 为明细列表、账户/分类/项目等管理页的表格行新增浅绿色 hover 高亮,鼠标悬停时整行高亮,方便快速对齐到对应记录的「编辑 / 删除」按钮。
  • 为全局样式文件 app.css 增加版本号参数(基于文件修改时间),解决浏览器长期缓存旧样式的问题,后续样式更新可自动生效,无需手动强制刷新。

v1.6.1

  • 修复会话自动退出逻辑始终按 24 小时计算的问题,入口统一从系统参数中读取「自动退出时间(小时)」配置,确保 1~168 小时设置真实生效。
  • 统一首页、记账页、明细页、系统设置等所有路由的未操作超时行为,手机桌面快捷方式直接打开记账页时与浏览器访问保持一致的登录保持时长。

v1.6.0

  • 登录安全加固:将登录失败次数与临时锁定由「按浏览器会话」调整为「按账号全局」,同一账号在不同设备/浏览器上的失败次数会统一累计,锁定状态也全局生效。
  • 优化验证码规则:登录时只有「密码错误」才会增加失败次数,图形验证码输错不再计入锁定阈值,避免因为反复输错验证码导致账号被误锁。
  • 登录成功后会自动清零该账号的失败次数并解除锁定状态,确保用户在成功验证密码后可以立即正常使用系统。
  • 移除「转账」记账类型,统一保留「支出 / 收入」,同步清理数据库字段、控制器逻辑和前端表单/明细展示,降低记账模型复杂度。
  • 统计报表页面全面优化:修复统计按钮跳转异常,新增「按年度 / 按季度 / 按月度 / 今日 / 昨日 / 自定义」时间模式,支持按模式动态展示年份 / 季度 / 月份 / 日期范围筛选,自动填充今日/昨日日期,并将预算管理数据融合进报表,支持按年/季/月汇总预算总额、已用与剩余。

v1.5.1

  • 新增「自动退出时间(小时)」系统参数,支持在「系统设置 > 系统参数」中可视化配置未操作自动退出时长(默认 24 小时,范围 1~168 小时)。
  • 登录成功后自动记录最近一次操作时间,在每次请求入口根据系统参数智能判断是否超时并自动退出,提升安全性。
  • 修复部分页面在登录超时后跳转到 /login 导致 404 的问题,统一改为跳转到 /public/index.php?route=login 正确登录地址。

v1.5.0

  • 新增全局「日间 / 夜间」主题模式,支持在右上角通过太阳 / 月亮图标一键切换,同时在个人设置页面中选择默认主题。
  • 每个用户的主题偏好会保存到云端(数据库),登录后会自动应用到所有页面,换设备登录也能保持原有日/夜模式。
  • 为暗黑模式重构整体配色:统一调整卡片、表格、表单、导航栏、选项卡和提示信息的背景与文字颜色,提高对比度与可读性。
  • 优化预算管理、账户管理、项目管理、分类管理等列表页的表格样式,确保日间为黑字白底、夜间为浅色文字深色背景。
  • 修复系统设置 - 用户管理表格在暗黑模式下内容难以辨认的问题,并统一管理类表格在不同主题下的边框和文字颜色。
  • 统一优化记账明细等多处列表页面在暗黑模式下的文字颜色,使黑底白字阅读更舒适,同时保留红 / 绿等金额颜色区分。
  • 修复安全设置中修改密码表单与系统参数中 SVG 图标预览显示异常的问题,确保相关功能在新主题下正常可用。

v1.4.0

  • 优化「忘记密码」流程:输入邮箱后会即时校验账号是否存在,不存在时直接提示,存在时发送重置链接并在页面顶部展示醒目的成功提示。
  • 根据用户填写的邮箱后缀(如 qq.com、163.com 等)自动识别邮箱服务商,在成功提示中提供一键跳转到对应邮箱登录页的快捷按钮。
  • 调整忘记密码页面的布局与返回登录按钮路径,避免 404,并保持提示区域与输入区域更清晰的分层展示。
  • 为已登录后的左侧菜单增加移动端折叠功能:在手机端默认收起侧边栏,通过顶部「☰」按钮展开,支持点击遮罩或菜单项自动收起。
  • 移动端侧边栏采用滑入动画与半透明遮罩,提升小屏设备上的可用性与浏览空间。

v1.3.0

  • 记账明细页面查询按钮行为修复:显式提交到 route=transactions,防止查询后跳转到新增记账页。
  • 新增记账页面的「今日记账明细」区域在无记录时仍然展示表格,并显示「今日暂无记账记录」提示,避免看起来列表消失。
  • 记账页面与明细页面的图片凭证统一为缩略图展示,点击缩略图在当前页小弹窗中预览,不再新开标签或悬浮放大。
  • 优化编辑弹窗中的图片预览尺寸,使其接近列表缩略图大小(约 100 像素),不遮挡主要表单内容。
  • 完善图片凭证编辑逻辑:支持在编辑时删除当前图片而不上传新图,或上传新图自动替换并删除旧文件。

v1.2.0

  • 系统设置 - 系统参数中新增「系统图标(SVG)」配置项,支持管理员粘贴 SVG 代码作为全局标签页图标。
  • 为 SVG 图标配置增加实时预览区域,输入或修改 SVG 时可立即查看图标效果。
  • 主布局与登录/注册布局统一引用系统 SVG 图标为 favicon,所有页面标签页图标保持一致。

v1.1.0

  • 账户管理页面改为紧凑表格样式:列表只展示字段,编辑在弹窗中完成,并将「编辑 / 删除」按钮合并为同一行,整体更清爽。
  • 分类管理页面改造为与账户管理一致的风格:列表只读展示,支持弹窗编辑名称与排序,删除按钮与编辑并排。
  • 项目管理页面同样改造为紧凑列表 + 弹窗编辑,所属分类在列表中直接显示友好的「[类型] 分类名」标签。
  • 记账页面优化:保存一条记账后不再跳转到明细列表,而是返回「新增记账」页并提示“记账已保存,可继续新增下一条”,方便连续记账。
  • 账户下拉余额文案微调:去掉金额前的减号,统一为「[账户大类] 名称 ¥ 金额」,并保持正负颜色区分,避免视觉上误判为整条负数。

v1.0.0

  • 记账时间字段改为日期时间选择器(datetime-local),支持直接选择日期和时间并自动转换为标准格式保存。
  • 左侧侧边栏底部新增版本号与版权信息,方便确认当前系统版本。
  • 新增本更新日志页面,集中展示系统从 0 开始的演进记录。
  • 记账页面账户下拉显示账户余额,正数为蓝色、负数为红色、0 为黑色,并优化了名称与金额之间的间距。

v0.6.0

  • 记账页面中,账户下拉选项展示格式统一为「[账户大类] 账户名称 - ¥ 余额」,在选择账户时即可直观看到账户余额。
  • 明细列表筛选条件中的账户下拉同样展示余额信息,便于按具体账户查看流水。
  • 为不同余额状态设计颜色区分规则:正数余额(资产/应收)使用蓝色,负数余额(负债/应付)使用红色,零余额为黑色。

v0.5.0

  • 记账表单交互增强:根据「支出 / 收入 / 转账」类型自动切换需要填写的账户字段。
  • 分类下拉按类型联动:选择支出时仅显示支出分类,选择收入时仅显示收入分类,转账时显示转账相关分类。
  • 项目下拉按分类联动:只显示当前分类下的项目,避免项目列表过长。
  • 完善了支出、收入、转账在后端的账户校验规则,防止提交无效组合。

v0.4.0

  • 账户大类结构调整:从「金融 / 储蓄 / 负债 / 其它」扩展为「金融账户、储蓄账户、应收账款、应付账款、其它账户」。
  • 首页仪表盘新增「应收账款余额」卡片,并将「负债账户」统一为「应付账款」。
  • 数据库初始化脚本同步更新账户大类与相关文案。
  • 首页增加「当月收入与结余」统计卡片,展示当月收入总额与结余(收入 - 支出)。
  • 首页新增「最近 7 天收支趋势」折线图,直观展示近 7 天每日收入与支出变动。

v0.3.0

  • 重构系统设置页面,拆分为个人信息、安全设置、系统参数、用户管理等多个选项卡。
  • 支持修改昵称、修改用户名(含可用性校验和推荐用户名)、换绑邮箱(带验证码、有效期与错误次数限制)。
  • 安全设置中支持修改登录密码,并提供忘记密码入口。
  • 系统参数支持配置站点名称、站点网址以及是否允许新用户注册。
  • 管理员用户管理功能:启用/禁用账号、调整角色、重置密码以及安全删除用户。

v0.2.0

  • 完善账号体系:支持邮箱验证、找回密码、重置密码等流程。
  • 邮件发送支持 PHP 内置 mail() 与 SMTP 两种方式,可根据环境灵活选择。
  • 登录支持使用「用户名或邮箱」任一方式登录,并在密码输入框增加显示/隐藏切换。
  • 整体 UI 调整为左侧深色侧边栏 + 右侧内容区域的布局,顶部加入导航条和当前用户信息。

v0.1.0

  • 初版多用户记账系统上线,支持注册 / 登录 / 退出基础功能。
  • 记账核心功能:支出、收入、转账记录;支持按分类、项目、账户记录明细。
  • 分类管理、项目管理、账户管理与预算管理等基础维护页面。
  • 支持上传图片凭证,并按用户隔离数据与文件。
  • 采用自定义 MVC 结构与 PDO + MySQL,保证在群晖 NAS 环境下零依赖运行。