餐饮流水管家 · 版本更新记录

本工作台的全部版本迭代记录,最新在最上方。v3.0.0 是次版本,把一直躺在代码里的「云端模式」真正接通了,并照搬 08 门店收银管家的成熟做法补齐配套:① 补上云端的关键两行——主页此前从未引入 Supabase 客户端和云端配置,所以云端模式点了也连不上,现在 SDK 已本地化到 assets/vendor/supabase.min.js(218KB),不依赖外网 CDN;② 修「一切到云端就白屏」的致命 Bug——数据层的 _from() 在云端分支里递归调用了自己,一进云端就栈溢出、整页白屏;③ 智能默认模式——网址打开默认走云端、双击文件打开默认走本机,部署后不用手动切、没网也不会打不开;④ 「我的 → 数据来源」新增切换入口,并写明当前模式与切换失败的具体原因;⑤ 本机数据一键搬上云——切到云端登录后若检测到本机有流水、云端为空,主动询问是否导入(归属账号重映射、分批 200 条);⑥ 云端连接自检——登录失败时自动探测,用大白话区分「配置没填好 / 网络不通 / 密码错」;⑦ 免费版 7 天休眠提醒(照搬 08);⑧ 照搬 08 的 _redirects,根网址不再 404;⑨ 建表脚本补上周期账表(共 5 张表,均配行级权限);⑩ 使用说明新增「本机还是云端 / 云端部署 / 登录与注册 / 休眠提醒」四章,含 Supabase 建表与 Cloudflare Pages 上传的逐步步骤。兼容性:无需改数据结构;但首次启用云端必须先到 Supabase 的 SQL 编辑器执行一次 系统文件/supabase_schema.sql(脚本用 IF NOT EXISTS,不会破坏已有数据)。本机模式的账号、分类、流水、设置、备份全部照旧。

当前版本 v3.16.0 · 共 58 个版本 · 最新在最上方
📖 查看使用说明
v3.16.02026-09-14批量编辑工具条重排 + 导入重复汇报具体补充字段(次版本)
优化流水页批量编辑工具条按钮顺序改为「全选 / 复制 / 删除 / 完成」。「全选」在最左,「完成」在最右,中间是复制、删除;四个按钮整齐排在右侧一行,左侧显示「已选 N 笔」,更符合单手操作习惯。
新增导入备份遇到重复记录时,如果备份里有、现有记录里为空的字段,会自动补空不覆盖,并在导入汇报里写明具体补了哪些字段(例如「其中 2 条补上了 来源、备注 的字段」)。v3.13.4 起只提示「补上了缺的字段」,现在能一眼知道补的是什么。
兼容性纯前端改动,无需重跑建表脚本,云端数据不受影响。导入仍认旧版 .json、多账号 .xlsx、v3.14.0 起的新表头备份。
v3.15.12026-09-14修复日期变数字 / 登录崩溃 + 移除导出数据卡片(补丁)
修复备份「流水」表的「日期」列出现 46278 这种数字、列还越导越少。根因是曾在 Excel 里打开保存过时,Excel 把日期存成了真日期序列号,再导入就把脏日期写进了账本;导出时数字原样写出就成了 46278。现在读库、导入、导出三个口都会先「自愈」日期与时间——Excel 序列号 / 纯数字 / 2026/9/14 等形式都归一化成标准「2026-09-14」,旧脏数据首次打开即自动修好并回存。
修复登录后按月份 / 季度筛选时崩「r.日期.slice is not a function」。日期一旦是数字,.slice 直接报错。除上面的自愈外,筛选、趋势、日历等所有读日期的地方都加了 String() 防御,数字日期也不会再崩。
移除「我的 → 导出数据(Excel)」卡片及「导出 Excel(当前所选月份)/ 导出全部数据 Excel」两个按钮——备份数据已含「分类汇总 / 关键指标」两个分析页,内容完全覆盖,且备份能再导入、导出纯粹给人看不可逆向。按你的要求删除。每月备份提醒红条文案从「导出」改为「备份」。
兼容性纯前端改动,无需重跑建表脚本,云端数据不受影响。导入仍认旧版 .json、多账号 .xlsx、以及 v3.14.0 起的新表头备份。
v3.15.02026-09-14修复备份报错 + 备份带分析页(次版本)
修复点「备份数据」报「wb is not defined」、备份文件下不下来——v3.14.0 重写备份时程序内部变量的作用域写错了,备份功能整个不可用(弹「操作成功:wb is not defined」却拿不到文件)。已修复,恢复正常下载。
备份带分析页备份的 Excel 里现在也生成「分类汇总」「关键指标」两个分析页——和「导出数据」完全同一套算法(毛利、毛利率、食材成本占比、外卖抽成、结余率等),备份文件打开就能直接看数,不用再另外导一份。
导入不碰分析页导入只认数据页(流水 / 分类 / 预算 / 周期账 / 单价 / 设置),「分类汇总 / 关键指标」两个分析页自动忽略——不查重、不录入,对导入速度和结果零影响。
兼容性纯前端改动,无需重新执行建表脚本,云端数据不受影响。备份表头规则同 v3.14.0(细分、金额(元)),导入仍需 v3.14.0 及以上版本。
v3.14.02026-09-14备份文件全面美化:表头报表化、删程序内部列、列宽自适应(次版本)
备份文件改版备份的 Excel 现在直接打开就能看:
  • 表头按报表习惯:「二级分类」→「细分」、「金额」→「金额(元)」,流水 / 分类 / 预算 / 周期账 / 单价五个表统一。
  • 删掉程序内部列:编号(id)、归属账号(user_id)、创建时间(created_at)不再导出——它们是给程序看的,人不需要;文件更干净、更窄。
  • 列宽自适应:每列宽度按内容自动计算(中文按双宽、上限 42),不再挤成一团挡字。
导入兼容导入时自动识别新旧表头:v3.14.0 的新表头(细分、金额(元))和旧备份(二级分类、金额)都能导,查重、补字段不受影响。
重要警告旧版本程序(v3.13.4 及更早)导入 v3.14.0 生成的新备份会认不出列——请先把程序升级到 v3.14.0 再导入新备份;老备份文件不受影响,任何版本都能导。
兼容性纯前端改动,无需重新执行建表脚本,云端数据不受影响。
v3.13.42026-09-14修复:重复条目导入时「补空不覆盖」——后补的来源、备注等字段不再被整条跳过
Bug 修复用户实测:先导入了一版单价(没有「来源」「备注」),之后在源头补上这两个字段再导,提示「重复」——补充的字段被整条跳过,怎么都进不来。
  • 病根:查重命中 = 整条跳过。只要「日期 / 分类 / 物料 / 规格 / 单位 / 单价」一样,这条就整个不要了,连同后来补充的来源、备注一起扔掉。
  • 修复(补空不覆盖):重复条目改为逐字段比对——备份里有、已有数据里是空的字段(来源、备注等)自动补上;两边都有值的不会被覆盖,你手改过的内容绝对安全。本机导入直接落盘;云端导入按行编号精确更新。
汇报更清楚导入汇报在重复条目里加一行说明——「其中 N 条补上了缺的字段」;如果整份文件没有新数据、但有字段补全,不再显示「现有数据没有变化」的误导句,改为「有重复条目补上了缺的字段」。流水、分类、预算、周期账、单价五类数据统一适用。
兼容性纯前端改动,无需重新执行建表脚本,云端数据不受影响。
v3.13.32026-09-14修复:导入的流水在本机「隐形」(数据录进去了却处处看不见);备份/导入提示改分段多行
Bug 修复用户实测:云端导出 → 本机导入提示「新录 1 条」,但流水页(连「全部」范围)都看不见,重新导入又说「重复」。
  • 病根:导入为跨账号设计会先删掉每条数据的「归属账号」标记(user_id),云端写入时会补回新账号的标记,本机写入却漏了这一步——本机读取一律按「归属账号 = 当前账号」过滤,导入的行没有标记就永远匹配不上:数据在库里(所以再导提示重复),但列表、报表、统计全都看不见。
  • 修复:① 本机导入写入时补回标记;② 打开工具时自动修复之前导入的隐形数据,修完提示「已自动修复本机导入数据 N 条」,之前导的流水立刻能看见。
改进备份 / 导入的汇报提示:
  • 分段多行:去向、流水、分类、预算、周期账、单价、设置各占一行,不再挤成一大句。
  • 新录流水逐条列出:导入后把新录的流水一条一行列出「日期、类型、金额、分类、对方」(最多 8 条),录了什么一目了然。
  • 自动跳月份:录进新流水时,流水页自动切到那些流水所在的月份,直接就能看到,不用自己翻。
  • 导出同样分段:备份完成的汇报也按类目逐行显示(并注明「流水含借 / 还 / 转账」)。
其他「个人设置」里本机模式原来显示「本机模式无账号」,有误导(本机其实有注册过的本机账号)——改为显示真实的本机账号邮箱;流水列表对「日期缺失」的记录做了容错,不会再因一条坏数据拖垮整页。
兼容性纯前端改动,无需重新执行建表脚本,云端数据不受影响。
v3.13.22026-09-13改进:备份/导入的汇报改成「确认式提示」——不自动消失,点了「知道了」才关;写明录进了哪个模式、哪个账号
更新内容用户反馈「显示导入导出成功,但没看到流水」。这版把汇报做得无法错过:
  • ① 确认式提示:备份/导入完成的条数汇报不再自动消失,屏幕右下角一直显示,点了「知道了」按钮才关——什么时候看都来得及。
  • ② 写明去向:导入汇报会写「数据已录进【云端/本机模式】账号 xxx」——导入永远录进当前登录的账号,如果导入时停在云端模式,数据就进云端;切到本机模式去看,自然「没有」。先看提示里的去向,再去对应模式核对。
  • ③ 「全部重复」有解释:备份内容和目标账号已有数据完全一样时,会明确提示「全部按重复跳过,现有数据没有变化,这是正常的防重复保护」。
兼容性纯前端改动,无需重新执行建表脚本,云端数据不受影响。
v3.13.12026-09-13修补:备份/导入的汇报提示一闪就没——现在停留 8 秒,导入后自动刷新页面也照常显示
更新内容用户反馈「导出/导入的条数提示没看清就没了」。排查发现两层原因,都修掉:
  • ① 备份提示停 8 秒:「备份已下载:…(流水 X、分类 Y…)」原来 2 秒出头就消失,现在停留 8 秒。
  • ② 导入汇报刷新后照常显示:导入完成后页面会自动刷新,原来汇报条数的提示跟着刷新一起被刷掉(这才是看不清的主因)。现在把汇报存下来,刷新完在新页面重新显示 8 秒。
  • ③ 「全部重复」有说明:导入时如果备份里的数据和这个账号已有的完全一样,提示会明确讲「全部按重复跳过、现有数据没有变化,这是正常的防重复保护」,不再让人误以为导入失灵。
兼容性纯前端改动,无需重新执行建表脚本,云端数据不受影响。
v3.13.02026-09-13新功能:备份升级「账号级」——导出当前账号全部内容,换账号可完整录入、重复数据自动跳过;修 Bug:备份文件恢复不了(选择框只认旧 .json)
更新内容两件事:你要「备份导出的是一个账号的所有内容、之后在别的账号能完整录入,重复的不录」;顺带修掉一个恢复入口的死路。
  • ① 修致命 Bug:「从备份文件恢复」的选择框写死了只让选 .json(最早版的格式),而「备份数据」早改成了下载 .xlsx——等于备份了却选不进来。现已放开:.xlsx 和旧 .json 都能选。
  • ② 备份升级「账号级」:「⬇ 备份数据」导出的是当前登录账号的全部内容(流水 / 分类 / 预算 / 周期账 / 日常单价 / 设置)成一个 .xlsx;本机、云端账号都能备份。
  • ③ 新增「导入」(跨账号录入):「⬆ 从备份文件导入」在任意账号登录后都能用——数据完整录进来;与该账号已有数据重复的先数出来、提示「N 条重复」并跳过(不覆盖、不删除),只录新的;同一份文件重复导入不会翻倍。设置只补缺的项。
  • ④ 老备份兼容:旧 .json、带「账号」页的多账号 .xlsx 都认得,导入时把里面所有账号的数据合并录进当前账号(同样查重跳过)。
  • ⑤ 其他:导入前加确认弹窗防误点;备份卡片文案对齐现实(原文还写着「当前账号成 .json」);说明书第五章新增「搬家是复制不是同步,云端才是唯一真账」,第十章整章按新备份模型重写。
兼容性纯前端改动,无需重新执行建表脚本,云端数据不受影响。老备份文件(旧 .json、多账号 .xlsx)照常能导入。
v3.12.22026-09-13修 Bug:本机搬到云端后分类全变双份——搬家前先查重 + 进系统自动清理重复分类
更新内容你发现「分类也会重复上传」(细分全部 ×2),真凶和修法:
  • ① 病根:云端账号第一次进系统时,程序会自动种一套默认分类;搬家又把本机那套同名分类原样传上去——两边 id 不同、名字相同,数据库当成两条存,细分在记一笔面板里全变双份(一级分类因界面按名字去重没露馅)。
  • ② 搬家加查重:搬之前先读一遍云端已有分类,「类型 + 一级 + 二级」都一样的直接跳过不传,不再产生双份。
  • ③ 进系统自动清理:云端模式每次进入主界面时自动查一遍重复分类,发现就删多余那份(留排序最靠前的),并提示「已自动清理 N 条」。你现在刷新一次页面,重复分类就会自动消失,不用跑任何 SQL。
  • ④ 顺手加固:月度预算表云端有「同一分类只一条」的约束,搬家改为按「用户 + 分类」覆盖写,避免本机与云端 id 对不上时撞约束报错。
兼容性补丁版,只修 Bug、无新功能。重复分类由程序自动清理(保留排序最靠前的一条,流水引用的是分类名字、不受影响);本机模式零影响。
v3.12.12026-09-13修 Bug:云端记账/搬家被「云端库还没准备好」挡住——真凶是流水表缺「时间」列,报错现在会点名
更新内容你反馈「都试过了还是不能把本机传到云端」,排查定位到真凶,这版修掉:
  • ① 病根:程序记一笔账会带上「时间」(几点几分),但云端流水表从 v1.0 起就没建这一列——所以所有往云端流水的操作(记一笔、改账、本机搬家上传)都会被数据库整批拒绝,而报错文案又被「建表脚本没跑」的通用提示盖住,看起来像脚本没跑、越跑越糊涂。
  • ② 建表脚本补列:系统文件/supabase_schema.sql 已给流水表补上「时间」列(含老库兼容句,幂等、重跑安全)。
  • ③ 老云端库一条 SQL 就能修:在 Supabase 后台「SQL Editor」执行 ALTER TABLE cb_records ADD COLUMN IF NOT EXISTS 时间 TEXT; 然后回到页面刷新、重试搬家即可(重跑完整建表脚本效果一样)。
  • ④ 报错点名:以后再遇到「缺列」,提示会直接说哪张表缺哪一列并附上现成 SQL,不再笼统一句「云端库还没准备好」让你白排查。
兼容性补丁版,只修 Bug、无新功能。云端用户需给流水表补「时间」列(执行上面一句 SQL 或重跑完整建表脚本,均幂等、不伤已有数据);本机模式零影响。
v3.12.02026-09-13注册审批制:管理员说了算——新人注册后停在登录页等审批,批准了才能记账
更新内容你要的「设置一个管理员,其他人注册得他同意」这版落地:
  • ① 注册改审批制:新人照常填邮箱密码注册,注册完不进系统、停在登录页,提示「注册成功,等待管理员审批」。审批通过前,这个账号登录会被拦下并看到同样的提示。
  • ② 管理员自动产生:云端项目里第一个注册的账号就是管理员(也可以在建表脚本里按邮箱手动指定、随时加)。管理员登录后,「我的」页多出一张「注册审批」卡:名单列出每个注册人的姓名、邮箱、状态、申请日期,一键同意 / 拒绝 / 恢复批准 / 收回批准
  • ③ 管理员看不了别人的账本:管理员的权限只到「审批注册」为止。每本账互相隔离(数据库权限规则钉死:每行数据只有创建它的人能读写),管理员也一样碰不到别人的流水。
  • ④ 待审批账号写不进数据:就算有人绕过页面直接调接口,数据库也只认「本人 + 已批准」的写入,双保险。
  • ⑤ 建表脚本升级(v3.12.0 段):新增注册档案表与管理员名单表、注册自动建档、老账号自动回填为「已批准」,全程幂等、重跑安全云端用户需要把建表脚本在 Supabase 后台重跑一次,审批功能才会生效(步骤见使用说明第八章)。
  • ⑥ 本机模式不受影响:审批是云端协作功能,本机单机使用照旧,登录页不会出现任何审批相关内容。
兼容性不重跑建表脚本时:老账号全部按「已批准」对待,一切照旧(管理员面板会因为读不到档案表而提示先跑脚本)。跑完脚本后新注册一律走审批。
v3.11.02026-09-13免费版空间不足提醒:「我的」页存储用量水位条 + 快满顶栏提醒 + 报错翻成人话
更新内容你问「免费版能不能在软件里也提醒空间不足」——这版把它做出来了。
  • ①「我的」页新增「存储用量」:一条水位条 + 「已用 X / 上限 Y · 百分之几」。本机模式是精确值(浏览器给每个网站约 5 MB,工具把属于本工具的数据逐个加起来);云端模式默认按数据条数估算,把建表脚本重跑一次后即为真实占用(500 MB 额度口径)。
  • ② 用到 85% 自动提醒:顶栏挂一条提醒条,写明已用百分比与「先备份、再清理老数据」;点「去看看」直达用量卡,点「×」当天不再打扰。水位条 60% 转橙、85% 转红。
  • ③ 报错翻成人话:把「空间满 / 云端库转只读 / 请求被限流(429)/ 单条数据过大(413)」四类闷声失败翻译成大白话,并直接指向「我的 → 存储用量」。
  • ④ 建表脚本新增 cb_db_usage():用 pg_database_size 取整个项目数据库大小,SECURITY DEFINER 并授权给已登录用户;重跑安全,不跑也不影响记账(自动回退为估算值)。
  • ⑤ 使用说明新增 1.4 节「怎么看空间够不够」:把两种模式的额度口径、怎么让云端显示真实值、快满/写不进去时该怎么办,一次讲清楚。
  • ⑥ 首页大卡的大字结余删掉了:那个大数字和下面「本月净利」是同一个口径、同一个数值,纯属重复显示;删掉后大卡更紧凑,支出 / 收入 / 净利三格不变。
兼容性纯前端改动 + 建表脚本追加一个查询函数,不改表结构、不动已有数据。不重跑建表脚本也能正常使用,只是云端用量显示为估算值。
v3.10.12026-09-13报表模块收尾修正:删冗余导出入口 + 环比同比补算法备注 + 显示设置改紧凑两列带编号
更新内容上一版(v3.10.0)报表做完后你提了 3 条反馈,这版逐一收掉:
  • ① 报表页「导出 Excel」删掉:核对确认它与「我的 → 导出数据」用的是同一套导出逻辑,导出的流水明细 / 分类汇总 / 关键指标三个表完全一致,区别只在范围,属重复入口。删除后报表页只留「显示设置」与独有的「导出 PDF」。
  • ② 环比 / 同比补「算法备注」:收入、支出卡备注补上口径——环比 = 与上一期对比、同比 = 与去年同期对比,变化 =(本期 − 基期)÷ |基期|;关掉对比行时该备注自动不显示。
  • ③ 显示设置面板改紧凑:由 8 行竖向长条改为两列网格,高度砍半;每项加 ①~⑧ 编号,编号顺序与报表板块自上而下顺序一致,一眼对上;窄屏(≤560px)回退成一列。
  • ④ 顺手修 Bug:「环比 / 同比对比行」开关此前点击无效——app.js 取的是 rptShowCmp,而 HTML 真实 id 是 rptShow_cmp,取不到元素。已对齐,现可正常开关。
  • ⑤ 说明书补充(不改代码):「使用说明」新增 1.3 为什么不做「记账时传图片」——讲清云端文件存储 1 GB / 数据库 500 MB / 出流量 10 GB 的免费额度、按用量测算能撑多久、额度满了会不会有提示,以及为什么图片不能塞进数据库;「常见问题」同步加了一条问答并链到该节。
兼容性纯前端改动,无需改数据结构、无需重跑建表脚本;显示设置仍只存本机 localStorage。「我的」页两个导出入口与报表「导出 PDF」均未改动。
v3.10.02026-09-13报表重做:关键指标全卡备注 + 环比同比 + 报表显示设置 + Excel 三表导出 + 打印另存 PDF + 语音记账
更新内容你提了 4 条报表反馈,并把原定 v3.10 / v3.11 合并成本版,一次做齐:
  • ① 关键指标全卡补「算法备注」:原先只有毛利率、食材成本占比、外卖抽成占比带备注,现在收入、支出、结余、平台抽成率、结余率也全部补上——每张卡下方写明算法与口径。
  • ② 环比 + 同比:收入、支出卡原来看「较上月 / 较上季 / 较去年」只有一项,现在同时显示「环比」和「同比」;数值四舍五入为 0.0% 时写「0.0%(无变化)」,基期没数据写「无数据」。
  • ③ 报表显示设置:报表页新增「⚙️ 显示设置」,8 个开关(关键指标卡 / 环比同比对比行 / 资金往来 / 周期账 / 收支构成 / 逐月趋势 / 日历热力 / 预算执行)自选显隐,存本机、不动账。
  • ④ Excel 三表导出:「流水明细 + 分类汇总 + 关键指标」,报表页新增按当前范围一键导出。
  • ⑤ 导出 PDF:报表页新增按钮,走浏览器打印 → 另存为 PDF,A4 竖排、零依赖、中文不乱码。
  • ⑥ 语音记账:记一笔页新增麦克风,用浏览器语音识别(Edge / Chrome),说一句就自动填类型 / 分类 / 金额 / 支付方式,确认后保存。
兼容性无需改数据结构、无需重跑建表脚本;显示设置只存本机 localStorage,导出与语音均为纯前端能力,所有账号数据不受影响。
v3.9.02026-09-13二期第一步:报表新增关键指标(毛利率/食材成本占比/外卖抽成占比,带算法备注)+ 超支预警条 + 分类管理排序
更新内容你定的二期目标是「数据变成能指导行动的判断」,本版先落地三块(语音记账、Excel/PDF 导出留到后续次版本):
  • ① 报表「关键指标」三张卡:毛利率 =(营收 − 食材成本)÷ 营收;食材成本占比 = 食材采购 ÷ 营收;外卖抽成占比 =(美团抽成 + 饿了么抽成)÷ 外卖营收。营收口径只算堂食 + 外卖 + 团购券核销 + 会员消费核销(不含其他收入、不含会员充值负债)。每张卡下方都带「算法备注」,写明计算公式与口径,一眼看明白算的什么。
  • ② 超支预警条:预算页顶部新增预警条,复用你已有的预算表(不新增结构)。本月任一启用的一级分类实际支出超过月度预算,就弹红条「⚠ 本月已超支 N 项:XXX,注意控制支出」,未超支则隐藏。
  • ③ 分类管理「排序」:每个一级分类卡片多了 ↑/↓ 按钮(首项无↑、末项无↓),点一下上移/下移,顺序全局生效——记一笔的下拉、筛选、报表分类占比都按新顺序排。底层「排序」字段和按序读取早就就绪,本版只是补上操作入口。
兼容性无需改数据结构、无需重跑建表脚本;新增的排序只写本地/云端已有的「排序」字段,超支预警只读已有预算表,全部账号数据不受影响。
v3.8.12026-09-13补丁:修复字号档位布局错位 + 净利备注口径更正为「不含充值且借还、转账不计收支」
更新内容针对你发来的截图反馈,修了两处显示问题(纯修 Bug,不加新功能):
  • ① 净利备注口径更正:「本月净利」「今日净利」下面那行小字,原来只写「不含充值」,容易让人以为「借还、转账」算在收支里——其实它们不算。现在补全成「不含充值且借还、转账不计收支」,一眼看明白。
  • ② 字号档位不再错位:以前字号选「大」时,只有页面内容被放大,顶栏、侧栏、底栏还是原大小,放大后右边留一道白边、布局很别扭;选「小」时反而把内容挤窄、文字被切。根因是缩放只套在页面层、还画蛇添足地再除以一个系数把宽度二次压窄。现在改成整壳(含顶栏/侧栏/底栏)一起按比例缩放,三处同步、无白边、也不撑爆屏幕。手机端同样验证通过。
兼容性无需改数据结构、无需重跑建表脚本;仅本机显示偏好(高级设置)相关,不影响任何已有的账。
v3.8.02026-09-13次版本:走势图与报表新增「资金往来」+ 侧栏新增「高级设置」+ 净利备注改「不含充值」
更新内容你看了 v3.7.1 的截图,提了 3 件事,逐条处理如下:
  • ① 净利备注说反了:「本月净利」「今日净利」下面那行小字原来写「含充值 ¥100.00」, 看着像「这个净利里已经含了充值」——正好说反。现在改成「不含充值 ¥100.00」, 意思清楚:这个净利没把会员充值算进去,那 ¥100 是被排除掉的部分。
  • ② 走势图新增「资金往来」一格:流水页走势图右上角从「收支 / 仅支出 / 结余」三格变四格, 最后一格专门画四条线——会员充值(橙)/ 借入(蓝)/ 借出(紫)/ 还款(灰)。 这些钱确实进出了,但不算收入也不算支出,以前在图上完全看不见,一对账就犯嘀咕「钱去哪了」。 四条线刻意不填充(四块面积叠一起会糊成一团),描线看得最清楚;选这一格时不套用「仅收入 / 仅支出」筛选, 免得借还记录被筛成 0、看着像图坏了。
  • ③ 报表新增「💳 资金往来」卡片:报表页 KPI 下面多一块,把会员充值 / 会员消费核销 / 借入 / 借出 / 还款 五个数一次列清楚,并写明为什么不算收支。这一段没有资金往来就整块不显示,不占地方。 借入 / 借出刻意不用红绿(红绿在本工具里代表支出 / 收入),改用品牌蓝紫,免得被误读。
  • ④ 侧边栏新增「高级设置」:导航第 7 项,只放会改变页面长相的开关,共七组:
    • 紧凑模式——卡片间距、行高一起收紧,一屏多看几条;
    • 字号大小——小 / 标准 / 大(整页文字一起缩放);
    • 图表高度——矮 / 标准 / 高;
    • 记录显示——完整三行(细分、支付、记账人)/ 精简成「分类 + 金额」一行;
    • 首页三块显隐——今日结余面板 / 月预算进度条 / 净利下的「不含充值」小字;
    • 侧栏只留图标——电脑上(宽屏)左导航只留图标,侧栏 210px 缩到 68px,内容区更宽;
    • 走势图默认看哪一格——每次打开流水页先停在哪一档。
    改完立刻生效,设置存在本机浏览器里(cbld_adv),不写云端、不动账目, 最后有「恢复默认」一键回到出厂状态。
技术做法七组设置不逐个改元素样式,而是把结果写进 <html>data-adv-* 属性(如 data-adv-compact="1"),页面长相全部交给 CSS 按属性选择器去管—— 这样不会和已有的渲染逻辑打架,也不会出现「切个页设置就丢了」。字号档位用 zoom 整体缩放, 同时把容器宽度除以同一个系数(zoom:1.12; width:calc(100% / 1.12)), 只放大不改宽度的话 1280 宽的屏会被撑到 1434、直接冲出横向滚动条。
兼容性本版新增的都是显示层功能,不改数据库结构、不改任何数据格式, 老用户直接刷新页面即可,无需任何操作。高级设置默认全部为「关闭 / 标准 / 完整 / 全显示」, 也就是和 v3.7.1 长得一模一样,不去动它就感觉不到变化。走势图的「收支」仍然是默认档。
更新原因你在 v3.7.1 截图上指出:① 净利后面那行「含充值 ¥26.00」应该是不含充值,毕竟充值不算当月净利、只有核销才算;② 走势图是不是要增加会员充值、借入借出,报表可能也需要增加,不然不清楚;③ 在侧边栏增加一个高级设置,里面包含一些会改变布局的设置;④ 把手机端预览页、使用说明 / 更新日志更新。
自动化验证新增专项 v3.8.0_test.js 79/79 通过:静态断言覆盖「净利两处『不含充值』/ 表脚『含充值』保持原样 / data-dt="fund" 按钮 / fundStat 五项口径 / fundSeries 四条线不填充 / 月度与逐月两条路径 / 切资金往来时跳过收支筛选 / 深浅色配色 / #fundCard 与 #fundGrid / 高级设置七组控件与 ADV_DEF 默认值 / CSS 各 data-adv-* 规则」;运行时真跑两轮——第一轮造「会员充值 100 + 借出 5 + 借入 1 + 支出 30」,验净利下显示「不含充值 ¥100.00」、切「资金往来」后图上确实是「会员充值 100 / 借入 1 / 借出 5 / 还款 0」四条线、切回「收支」恢复两条线、报表卡片五个数与范围标签正确、KPI 收入仍为 ¥0(充值不进收支);第二轮把高级设置全部调成非默认再重启页面,验「紧凑 / 大字号 / 高图表 / 精简记录 / 首页三块收起 / 侧栏图标 / 走势默认资金往来」全部贴回,并验设置页控件状态与设置一致、改一档立刻落盘、恢复默认全部回位。连同回归十套合计 717 项断言全绿(v3.3.0 98 + v3.3.1 109 + v3.3.2 91 + v3.3.3 21 + v3.4.0 57 + v3.4.0_borrow 57 + v3.5.0 41 + v3.6.0 48 + v3.7.0 68 + v3.7.1 48 + v3.8.0 79;其中 3 条因本轮改动而过期的历史断言按新行为更新:v3.3.0 的 switchPage 页面清单、v3.3.2 与 v3.5.0 里「字号档位写在文件末尾」两处判据——判据从「取文件最后 N 字符」改成「该规则必须排在更早那条之后」,含义不变但不怕后面继续追加内容);真实 Chromium 桌面 1280 与窄屏 500 / 360 共 20 张截图目检,各档位均无横向溢出(逐项打印 scrollWidth vs clientWidth 核对)。
补充说明本版为次版本(v3.7.1 → v3.8.0):走势图「资金往来」、报表资金往来卡片、高级设置页均属新增的向后兼容功能,净利备注文案修正属问题修复,两者同时出现取高,故走次版本。导航从 6 项变 7 项后,窄屏(≤520px)导航字号缩到 10px、≤400px 缩到 9.5px,保证「高级设置」四个字在 360px 宽的手机上也能一行放下、不折行。
v3.7.12026-09-12补丁:往来只报净额 + 当天小计不再把借还算成支出 + 操作条与「编辑」同排 + 勾选时走势图不再闪 + 充值提示补全文案
更新内容你对着 v3.7.0 的截图又提了 5 条,逐条处理:
  • ① 往来只报净额:资产页「借还」里点某人进流水后,顶部原来把「他欠我 5」「我欠他 1」两个方向分开写,容易看岔;现在直接算净额——「郑还欠我 ¥4.00」,为正是对方净欠我、为负就是我净欠对方。
  • ① 顺手修掉一个算错的数:只看某人往来时,当天小计把「借出 5 + 借入 1」算成了「支 ¥6.00」。借还本来就不是收支,现在当天小计和「转账」一起排除掉借还。
  • ② 净利备注改成「净利不含充值」:首页两张卡的标题下统一写这句,替代原来那句长的。
  • ③ 批量操作条挪位置:「复制 / 删除 / 全选」那条工具原来钉在页面最底部,点了「编辑」还得往下翻;现在和「✏️ 编辑」同一行,点完直接在眼前。
  • ④ 勾选记录不再让走势图闪一下:以前在编辑态勾一笔,整页会重画一次,走势图跟着 destroy + new,视觉上「图动了一下」。现在勾选 / 全选只改那一行的方格和计数,不重画整页;进出编辑态也跳过走势图重画。
  • ⑤ 充值提示文案补全:改成「这是会员充值,属于「欠顾客的」,不计入本月利润。等顾客实际消费时,在「收入」的「会员充值」的细分「会员消费核销」再记一笔就会转实际收入。」——把该点哪一类说全。
兼容性纯补丁:只改显示口径与交互,不动数据结构。历史记录一条没变,刷新即生效。
更新原因你的原话:「应该是郑还欠我 4,右上角怎么是支出 6」「这个净利的提示有问题吧,应该是不含充值」「这个不要在最下面,应该和编辑同一行」「勾选一个,这个走势怎么有动静」。
自动化验证新增专项 v3.7.1_test.js 48/48 通过:静态断言覆盖「净额口径与文案 / 日小计排除转账与借还 / 操作条收进 #listEditBar / _skipTrend 开关 / toggleRecSel 与 setAllSel 走轻量路径 / 充值提示文案」;运行时真跑「借出 5 + 借入 1 + 支出 30 → 当天小计只报 ¥30.00、不出现 ¥6.00 → 点郑进入往来条报净额 ¥4.00 → 进编辑态勾选 / 全选 / 退出,全程监测 Chart 构造次数为 0」。连同回归九套合计 638 项全绿
补充说明补丁版(只修问题、不加新功能)。批量编辑的「不重画」实现是两条并行:① 模块级 _skipTrend 开关包住图表重画;② 勾选动作改成只动 DOM 的轻量函数,根本不进 renderList。
v3.7.02026-09-12次版本:新增「会员」按钮与会员档案 + 收入加「会员消费核销」+ 流水页批量编辑 + 「挂账」全面改名「借还」
更新内容你实际用了一轮 v3.6.0,提了 6 条,逐条处理:
  • ① 窄屏三个胶囊不再重叠:「最低 / 最高 / 价差」在窄屏硬挤一行会叠在一起,现在改成换行成多行、字号比桌面小一档,≤400px 再降一档。
  • ② 「挂账」全工具改叫「借还」(名字更直白),改名时对老账号做一次性数据迁移(旧记录的「挂账」账户名、旧分类自动改过来);资产页「借还」里点某个角色进流水后,顶部直接告诉你现在还欠多少 / 待收多少
  • ③ 记录信息用顿号连接:统一成「细分:(未填)、支付:(未选)、⏰00:20:37」,不再是空格堆在一起。
  • ④ 删掉「现在就记会员的」按钮:充值提示改成纯文字说明,不再多一个容易误点的按钮。
  • ⑤ 流水页新增「✏️ 编辑」(批量删 / 复制):进编辑态后每条记录左边出勾选方格,可多选后一次复制删除,另有「全选 / 取消全选」和实时「已选 N 笔」计数。
  • ⑥ 会员模块上线:记一笔那排按钮加上第 5 个「会员」,点它就是记会员充值;会员档案可新建(手机号必填,11 位 1 开头),会员名单同时并入「借还」的角色下拉;收入大类里新增独立的「会员消费核销」大类(不用选细分、必须选已建会员),顾客真消费时记它才转成真实收入;顺手修掉「细分没填的会员充值不算负债、导致净利里『含充值』不显示」的老毛病。
兼容性向后兼容的新功能,老数据自动迁移,无需改任何操作习惯。新增的「会员消费核销」分类会一次性补进老账号的分类表。
更新原因你对着 v3.6.0 的截图提的 6 条:「最高最低价差缩小界面如果还是一行就会重复,改成缩小界面就多行,且字体小一点」「资产点击挂账…应该在下面的记录显示还有多少欠款或待还,另外把整个工具的挂账改成借还」「记录的信息中不同点用顿号连接」「现在就记会员的按钮不需要了」「在流水的记录中,上面增加一行编辑,点击后,每条记录左边会有方格,可以多选删除或复制等」「明明有充值为什么没有在净利显示多少是充值的…把会员这个作为新按钮放在借还的后一个」。你还特别交代:手机版图片先不用更新。
自动化验证新增专项 v3.7.0_test.js 68/68 通过:覆盖「会员页签出现与必填校验(先选会员 / 建会员手机号必填)/ 会员充值落库为『会员充值 · 充值收款』/ 收入→会员消费核销显示『不需要细分』/ isLiability 对细分 null 的充值判负债、对核销判非负债 / 批量编辑进退出与全选 / 挂账改名与老数据迁移」。连同回归八套合计 590 项全绿
补充说明次版本(新增向后兼容功能 + 问题修复同时出现,取高)。修的过程中踩了一个坑:同一份文件里并行改多处会互相覆盖(有 7 处改动被静默回滚),后来改成逐条串行补齐并全面审计。这一条也写进了项目约定,以后不再并行改同一个文件。
v3.6.02026-09-12次版本:单价汇总行整列对齐 + 挂账角色点进流水 + 借还记录三行 + 净利标出「含充值」+ 会员消费核销一键入口 + 筛选不再抖动
更新内容你又实际用了一轮 v3.5.0,对着截图提了 6 条,逐条处理如下:
  • ① 单价汇总行整列对齐:以前每一行的「=持平 / ▲涨」胶囊宽窄不一样、「最新价」的起笔位置也随金额位数漂,整列看着歪歪扭扭。现在改成固定列宽:所有行的涨跌标对齐同一条竖线、最新价对齐同一条竖线、日期和「走势」也各自成列,整列对称。
  • ② 挂账角色点进流水:资产页「挂账」展开的往来对象列表,现在点人名直接跳到流水页——自动切到「全部」时间范围、只显示和这个人的往来,顶部挂一条「正在看和 郑哥 的往来流水 ✕清除」筛选胶囊,点清除随时退出。
  • ③ 借还记录改三行:和支出一样分三行——第一行只写类型(借入 / 借出 / 还债 / 收债,后面那两个橙色小字「借还」不再显示),第二行写「谁欠谁」+ 利息 + 备注 + ⏰时间(我欠X / X欠我 / 我还给X / X还给我),第三行记账人。第二行改成可换行的独立行,窄屏也不会把时间截掉。
  • ④ 净利标出「含充值」:「本月净利」「今日净利」下面各多一行小字「含充值 ¥200.00」,把会员充值这类负债收入的金额单独标出来;当期没有充值就自动不显示这一行。
  • ⑤ 「会员消费核销」一键入口:它本来就是「会员充值」分类下的细分,但光看分类按钮根本想不到。现在记会员充值时的橙色提示里多了一个「+ 现在就记会员消费核销」按钮,点一下自动选好「会员充值 → 会员消费核销」,输金额保存即可,这笔算真实收入。
  • ⑥ 筛选不再抖动:以前切换筛选条件、列表一变短,右侧滚动条跟着出现又消失,整个页面跟着左右晃一下。现在滚动条位置永远占着位(gutter 稳定),界面不再动。
兼容性纯界面与交互升级,不改数据库结构、不改任何数据格式,老用户无需任何操作。借还数据照旧存流水表,只是显示行数和文案变了;「会员消费核销」还是原来那个细分,只是给了个一键入口。
更新原因你实际使用 v3.5.0 后又对着截图反馈 6 条:① 汇总行「每个都不对称啊持平、单价」;② 点击角色时想直接进入与该角色的流水记录;③ 筛选不同分类时界面会动一下;④ 借还格式不对,要像支出一样三行(类型 / 谁欠我+时间 / 记账人),「借还」两个字不要了;⑤ 净利位置要标出会员充值这类负债收入有多少,当期没有就不显示;⑥ 「会员消费核销在哪」。
自动化验证新增专项 v3.6.0_test.js 47/47 通过:静态断言覆盖「汇总行 grid 定宽列 / 滚动条占位 / #whoFilterBar 与 matchWho / openRoleRecords / 借还三行与去「借还」角标 / #homeLiab #todayLiab / #liabWriteOffBtn」;运行时真跑「记会员充值 → 净利显示含充值 ¥200.00 → 点核销按钮自动选好细分 → 核销算真实收入 → 借还三行结构 → 挂账点郑哥跳流水页且只见郑哥 → 清除后恢复 → 全程无 JS 错误」。同时把 v3.3.2 老断言里 9 条早已过期的陈旧校验更新到当前行为。连同回归八套合计 521 项断言全绿(v3.3.0 98 + v3.3.1 109 + v3.3.2 91 + v3.3.3 21 + v3.4.0 57 + v3.4.0_borrow 57 + v3.5.0 41 + v3.6.0 47);真实 Chromium 四尺寸 × 6 页 + 登录页 无横向溢出 / 无文字截断 / 无 JS 报错,并截图目检了汇总行对齐、挂账角色列表与角色筛选流水页。
补充说明本版为次版本(v3.5.0 → v3.6.0):「挂账角色点进流水」「净利标出含充值」「会员消费核销一键入口」属新增的向后兼容功能,其余为界面修整。单价汇总行窄屏的堆叠断点从 560px 放宽到 760px,中等宽度窗口也走两行布局,不会再挤。
v3.5.02026-09-12次版本:借还体验修整(跟谁恢复角色下拉 + 账户点选可设默认 + 记录压两行新文案 + 按钮配色统一)+ 首页结余加口径备注 + 单价汇总行涨跌标对齐与窄屏一行
更新内容你实际用了一轮 v3.4.0 又提了 6 条,逐条处理如下:
  • ① 首页「本月结余 / 今日结余」加口径备注:两张大卡的标题下面各多了一行小字「净利计算时会员充值这类负债收入不算」。这个规则以前只写在常见问题里,现在直接摆在数字旁边,看到「本月净利」和「本月结余」对不上时不用再猜原因。
  • ② 单价汇总行:涨跌标位置统一:「▲涨 / ▼跌 / =持平」现在固定贴在「最新」价前面的同一个位置——以前只记过一次的物料(火腿肠、牛肉)「持平」贴在物料名旁边,而猪肉的「涨」在中间,位置参差不齐;现在不管有没有「最低/最高/价差」胶囊,涨跌标都在同一个地方。
  • ③ 窄屏「最低/最高/价差」一行排开:窗口缩窄时三个胶囊以前会把「价差」挤到第二行,改成永远一行排开:≤560px 时三个胶囊独占一整行,≤400px 再缩一档字号,极窄屏也放得下。
  • ④ 借还按钮未选中配色统一:以前「借还」没选中时也带橙边橙字,跟灰白的「收入 / 转账」不一致,看着像一直被选中。现在未选中统一灰白样式,选中后才亮橙色
  • ⑤ 借还「跟谁」恢复角色下拉:v3.4.0 把它改成了自由输入,之前建好的角色看不见了。现在改回下拉框:建过的角色全在列表里点选,下拉第一项「+ 新建角色…」随时补新人,历史记录里出现过的对象也会自动进列表。选完人,下面的「剩余欠款」照旧实时显示。
  • ⑥ 借还「账户」改成点选 + 可设默认:「进出哪个账户」从下拉改成一排小按钮(跟支付方式一样的点法):「🔒 不填(不动账户)」+ 各账户,旁边有「⭐ 设为默认」——设好后默认账户自动选中,默认项带 ⭐ 标识。这是第 4 个能设默认的地方(分类 / 细分 / 支付方式 / 借还账户)。
  • ⑦ 借还记录压成两行、说法更直白:流水里借还记录第一行就是「借入 [借还] 我欠王哥 · 利息 ¥8.00 · ⏰时间」,第二行固定只写记账人,不再单独占一行。四种方向的说法统一成:借入 → 我欠X、借出 → X欠我、还债 → 我还给X、收债 → X还给我,去掉了含糊的「·待还 / ·待收」。
兼容性纯界面与交互修整,不改数据库结构、不改任何数据格式,老用户无需任何操作。借还数据照旧存在流水表里(类型=借还、二级分类=方向、利息独立一列),「跟谁」下拉和「账户」按钮只是换了选择方式,已记的账全部原样显示。
更新原因你实际使用 v3.4.0 后反馈:① 「会员充值这类负债收入不算」要在本月结余/今日结余后面备注出来;② 汇总行的涨跌红圈要统一放到后面(像猪肉那行一样);③ 缩小窗口时「最低/最高/价差」太拥挤,要一行;④ 借还按钮配色怎么和其他不一样;⑤ 「跟谁」原先是有角色的下拉,这次没了,账户要像支出的支付方式一样直接给几种选择、还能设默认;⑥ 借还记录太多行,要像支出一样两行、第二行只写记账人,文案改成「我欠X / X欠我 / 我还给X / X还给我」。
自动化验证新增专项 v3.5.0_test.js 40/40 通过:静态断言覆盖「两卡口径备注 / 空占位对齐 / 胶囊不换行与窄屏一行 / 借还未选中橙描边已删 / #bwWho 下拉与+新建角色 / #bwAccChips 与默认按钮 / 记录两行新文案 / rec-meta 空行不渲染」;运行时真跑「登录 → 首页两处备注可见 → 切借还 → 跟谁下拉含预置角色与+新建 → 点「现金」chip 选中 → ⭐ 设默认后按钮变「取消默认」且 chip 带 ⭐ → 记一笔借入王哥(带利息)→ 第一行「借入 [借还] 我欠王哥 · 利息 ¥8.00」→ 无 .rec-debt 单独行 → 第二行记账人 → 全程无 JS 错误」。连同回归五套合计 382 项断言全绿(v3.3.0 98 + v3.3.1 109 + v3.3.3 21 + v3.4.0 57 + v3.4.0_borrow 57 + v3.5.0 40)。
补充说明本版为次版本(v3.4.0 → v3.5.0):「借还账户可设默认」属新增的向后兼容功能,其余为界面修整。旧版「待还 / 待收」字样不再显示属按你要求的文案升级,欠款余额在「我的 → 借还往来管理」和记一笔时的实时余额里照常可见。
v3.4.02026-09-12次版本:新增「借还」(借入/借出/还债/收债 + 利息)取代原欠账/收账 + 收入构成可切大类/细分 + 分类/细分/支付方式可设默认 + 首页第三格改「本月净利」+ 单价汇总行与走势日期修整
更新内容你实际用了一轮之后提了 8 条,逐条处理如下:
  • ① 新增「借还」(取代原来的「欠账 / 收账」):记一笔顶部类型栏从「支出 / 收入 / 转账」三档变成四档,多了一个「借还」。点进去选四个方向:📥 借入(别人给我钱/货 → 我欠他,钱进账户)、📤 借出(我给别人 → 他欠我,钱出账户)、💸 还债(我还他,我欠他的减少)、💰 收债(他欠我的收回来了),每笔还能单独填利息。借还不算收入也不算支出、不影响利润,只改账户余额和「谁欠谁」;还债/收债时填的利息才分别算支出/收入。填「跟谁」时输入框下面实时显示这人当前的欠款余额,不用切页面查。老数据自动迁移:以前用欠账/收账记的记录,第一次打开本版会自动转成借还(只跑一次),金额/日期/对象/备注全保留。
  • ② 收入构成也能切「大类 / 细分」了:报表页「收入从哪来」环形图右上角新增「大类 / 细分」切换,跟「钱花在哪(支出构成)」用法一致。以前收入只有大类一层,看不出「外卖 - 美团」和「外卖 - 饿了么」各占多少,现在切「细分」就能看清。
  • ③ 分类 / 细分 / 支付方式都能「设默认」:记一笔表单里这三组按钮右上角各多了一颗「☆ 默认」。点一下把当前选中项设成默认(变实心 ★ 并显示「默认」小字),下次打开表单、以及切换支出/收入时自动替你选好,不用每次重复点;再点一次取消。存在本机,换设备不带走。
  • ④ 首页第三格改成「本月净利」:「本月结余」大卡下面那行最右边一格,原来写「今日已记 N 笔」,现在换成「本月净利」并显示金额(本月收入 − 本月支出,负债型收入不计入,与「本月结余」同口径)。不用切报表就知道这个月赚了多少。
  • ⑤ 单价汇总行四项修整:物料名下方不再显示规格(规格在点「走势」里看);涨跌标移到最新价前面,和上面物料行的顺序对齐;「最低 / 最高 / 价差」字号调大,跟其他文字一样大,不再小一号;最新价前面加「最新」二字,后面的日期明确是最新那条单价的日期
  • ⑥ 每日走势图横轴显示完整日期:以前会自动跳号(只标 1、5、10…),现在每一天都标出来(1 2 3 … 31),字号自动缩小避免挤在一起,想看哪天花得多直接对日期。
  • ⑦ 借还(含老的欠账/收账)记录显示清爽了:流水列表里这类记录不再堆「细分 / 支付」这些用不上的字段,改成单独一行清楚写「借入 · 欠 张师傅 · 待还」或「借出 · 张师傅 欠我 · 待收」,有利息也单列。
  • ⑧ 流水页筛选新增「仅借还」:可以把借还单独筛出来看,跟「仅收入 / 仅支出」并列。
兼容性数据库只加了一列「利息」,不用新建表——本机模式自动生效,无需任何操作;云端模式需要去 Supabase 的 SQL Editor 执行一句ALTER TABLE cb_records ADD COLUMN IF NOT EXISTS 利息 NUMERIC(12,2);(完整建表脚本在「系统文件 / supabase_schema.sql」,已同步更新)。不执行的话记账能照常用,只是保存借还的利息时会提示缺列。老的欠账/收账记录由程序自动迁移,不会丢失、不需要手工处理
更新原因你实际使用 v3.3.3 后反馈:① 「欠账 / 收账」分不清欠谁收谁、想单独拎出来做成「借还」,参考小青帐支持借入借出;② 收入的环形图没有细分的点击;③ 分类 / 细分 / 支付方式后面要能设默认选哪个;④ 首页「今日已记」改成「本月净利」;⑤ 单价汇总里规格不要、涨跌放前面、最低最高价差字号太小、日期要显示最新价日期、单价前加「最新」;⑥ 走势图日期要完全显示 1 2 3 4 5 6;⑦ 欠账记录里「细分 / 支付」是冗余、要把「欠哪个角色」单独拎出来。
自动化验证新增 v3.4.0_test.jsv3.4.0_borrow_test.js 两套专项测试,连同原有三套回归合计 343 项断言全绿:静态断言覆盖「类型栏四档含借还 / 借还面板 4 个方向 / 利息字段进表 / 迁移函数只跑一次 / 收入环形切换按钮 / 三组默认星星按钮 / 首页第三格本月净利 / 汇总行去规格与涨跌前置 / 走势图不跳号」;运行时真跑「登录 → 切借还 → 记一笔借入(带利息)→ 账户余额增加 → 记一笔还债 → 欠款余额减少 → 列表显示『欠 张师傅 · 待还』→ 借还往来页按人汇总 → 老欠账记录自动迁移 → 设默认分类后重开表单自动选中 → 全程无 JS 错误」。
补充说明本版为次版本(v3.3.3 → v3.4.0):新增了向后兼容的功能(借还 / 收入细分切换 / 默认选择),老用户不用改任何代码或数据即可使用。首页「本月净利」替换「今日已记笔数」属按你要求的信息升级,笔数信息在流水页仍然看得到。
v3.3.32026-09-12补丁版:删首页三卡 + 日常单价回归左侧导航 + 汇总行「最低/最高/价差」一行居中、不再重复单位 + 工程文件清理
更新内容你看过 v3.3.2 之后提了 4 点,逐条处理如下:
  • ① 首页三张「今日收入 / 支出 / 结余」卡片删除:你说「这三个不要了」。它们原本挤在首页角落、信息又和上方「本月结余 / 今日结余」大卡重复,属于占地方。删除后首页更干净,你关心的数字一个没少——本月结余、本月支出、本月收入、今日已记笔数仍在首页最上方原样显示。
  • ② 「日常单价」重新放回左侧导航第 5 项:在「资产」与「我的」之间,点一下直接进页。这是纠正 v3.3.2 的误改——上版把它从侧栏挪进了「我的」页,你反馈「我是要在侧栏啊」,这次改回侧栏常驻,并去掉了页面里多余的「返回」按钮。
  • ③ 单价汇总行「最低 / 最高 / 价差」改一行居中 + 去掉重复单位:以前这三枚小标排在物料名下方、左右散开还留大片空白;现在统一收进一行、居中显示,更紧凑。同时物料名下方不再重复显示单位——单位本来就显示在最新单价右边(如「10 元/斤」),之前是冗余。
  • ④ 工程文件清理:你反馈「文件夹太多额外文件了」。本次把根目录与「程序临时文件」里一批过时/重复的脚本、截图、旧版文档归档清理,只保留最新版本的成品与活跃测试脚本,目录清爽许多。
兼容性纯界面精简与还原,不改数据库结构、不改任何数据格式,老用户无需任何操作,已记的账和单价都不受影响。v3.3.2 把「日常单价」挪进「我的」页属误改,本版还原回侧栏,入口更顺手。
更新原因你实际使用 v3.3.2 后反馈:① 首页那三张「今日收入/支出/结余」卡片不要了;② 「日常单价」入口要回到左侧导航(不是在「我的」页里);③ 汇总行的「最低/最高/价差」应该排一行、居中,别留那么多空;④ 物料名下面的单位没必要(旁边单价已经有单位了);⑤ 文件夹里额外文件太多,要清理。
自动化验证新增专项 v3.3.3_test.js 20/20 通过:静态断言覆盖「首页三卡移除 / 单价回侧栏 / 汇总行一行居中 / 物料名去重单位 / 版本号一致」五处落点;运行时真跑「登录 → 无 #todaySummary → 点单价 tab 进页 → 我的页无单价卡 → 空数据提示 → 记两条猪肉单价(19 与 10)→ 汇总行出现最低/最高/价差且同处一行 → 物料名不含重复单位 → 单位仍在最新单价右侧(10 元/斤)→ 全程无 JS 错误」。同时回归 v3.3.0_test.js 98/98v3.3.1_test.js 109/109合计 227 项全绿。全程无 JS 运行时错误。
补充说明本版为补丁版本(v3.3.2 → v3.3.3):纯界面精简与还原,不含新功能、不改数据结构。v3.3.2 把「日常单价」挪到「我的」页属误操作,本次还原回侧栏导航。
v3.3.22026-09-11补丁版:单价模块 5 处体验修整(汇总行直接标高低价差、表格不再右滑、收支按钮对称、供应商输入等宽、首页卡片归位)+ 记账时可顺手记单价
更新内容你实际用了一遍之后又提了 5 条,逐条处理如下:
  • ① 汇总行现在就标出最低/最高/价差:以前只有点进「走势」才看得到这个料贵过多少、便宜过多少。现在只要某个物料记过两次以上,「按物料汇总」那一行下面就直接列出「最低 ¥10.00 / 最高 ¥19.00 / 价差 ¥9.00」三个小胶囊,扫一眼就知道波动大小;只记过一次的物料不显示(没波动可看,免得啰嗦)。
  • ② 「全部记录」表格不用再左右滑了:以前窗口稍窄,最右边的「来源 / 备注」就被推出屏幕外,得拖着看。现在表格会按屏幕宽度自动收窄,窄到一定程度依次收起「一级分类 → 二级分类 / 规格 → 来源 → 备注」这些次要列,关键的日期、物料、单位、单价、操作始终留在屏幕里。窄屏下想看被收起的列,点那行「编辑」即可看到完整内容。
  • ③ 修改记录弹窗的「支出 / 收入」按钮对称了:原来只有选中的那个填色,另一个是白底灰框,一个像按钮一个像空位,看着别扭也容易误以为点不了。现在两个按钮各自带淡淡的本色底 + 同色描边(支出偏红、收入偏绿),左右形态一致、只是深浅互换;这个弹窗也改成两栏等宽(原来是三等分、右边空一块)。
  • ④ 【新功能】记账时可以顺手把买菜单价一起记下:「记一笔」表单最下面新增勾选框「同时也记一笔日常单价」。勾上后展开一小块明细,填物料(如「牛肉」)、单位(默认「元/斤」)、单价,分类自动跟着上面那笔账走、也可自己改;保存时流水和单价一次存好,不用再跑一趟「日常单价」页。
    细节:① 上面金额已填、单位又是按量计价时,单价会自动预填成该金额(买菜场景「这斤多少钱」往往就是单价);② 物料框有快捷联想,打「牛」列出牛肉/牛腩/牛杂,打「肉」列出全部带「肉」的,点一下自动带出分类和单位;③ 勾了却没填物料/单价会拦住并说明缺哪项,不会存出空单价;④ 万一流水存好而单价没存上,会明确提示「流水已经记好了,但单价没记上」,不闷声出错;⑤ 默认收着,不勾完全不影响原流程,「转账」时自动隐藏。
  • ⑤ 首页「今日收入 / 支出 / 结余」卡片归位:在宽屏电脑上,这三张卡原来被错误塞进了左侧那条 210px 窄导航栏的区域,每张只有 66px 宽,挤在角落极不显眼。现在已正确摆到主内容区,三张等宽铺满、与上方「本月结余 / 今日结余」大卡同宽,数字也放大到 18px。手机上原本正常,本改动不影响手机。
  • ⑥ 供应商「输入框 + 添加」改成两栏等宽:原来输入框被挤成 28px 的一条细缝,而「添加」按钮占满 528px,输入和点击都别扭。现在两者各占一半、左右并排(实测 259px × 259px),手机竖屏等极窄情况下自动改上下排列、仍保持等宽。
  • ⑦ 「日常单价」入口从左侧导航挪到「我的」页:左侧导航只保留「记一笔 / 流水 / 报表 / 资产 / 我的」5 项,更清爽;「日常单价」在「我的」页有一张专属卡片,显示「共 N 条记录 · M 样物料 · 最近一次:…」,并保留「记一笔单价 / 管理物料 / 打开单价页」三个入口,习惯原路径的也不会找不到。
兼容性纯界面与交互修整,不改数据库结构、不改任何数据格式,老用户无需任何操作,已记的账和单价都不受影响。新增的「同时记单价」是可选项,默认关闭,不勾就与以前完全一样。左侧导航少了一项,但「日常单价」在「我的」页有等价的三个入口。
更新原因你实际使用「日常单价」后反馈:① 汇总行也应该直接显示最低/最高/价差三个内容,不用非点走势;② 「全部记录」右边内容还要右滑才能看到,太麻烦;③ 修改记录时「支出 / 收入」按钮不对称,并希望能「记账时增加到单价中」或「记账时在下面多一个选择同时记录到单价,所以要填具体物料和多少元每斤之类」;④ 管理供应商那里输入框和「添加」按钮宽窄悬殊,还要左右滑动;⑤ 首页今日收入/支出/结余的布局太不明显,考虑挪到「我的」下面一些。
自动化验证新增专项 v3.3.2_test.js 87/87 通过:静态断言覆盖 5 类修复的 CSS/HTML/JS 落点;运行时真跑一遍「勾选→展开→分类自动填充→物料快捷联想(输入/点选)→缺项被拦住并提示→保存后流水 +1 且单价 +1(材质/单价/分类逐字段核对)→勾选自动复位→转账时自动隐藏→供应商区块存在且有输入与按钮」。同时回归历史套件:v3.3.1_test.js 108/108v3.3.0_test.js 99/99、v3.2.0 29/29、v3.1.2 25/25、v3.1.1 40/40、v3.1.0 47/47、v3.0.0 48/48合计 483 项全绿;并用真实 Chromium 在 1280×900 下截图/测量逐条确认(首页统计卡 341px × 3 铺满、汇总行价差胶囊、供应商 259px 等宽、弹窗两栏 186px 等宽且两张截图肉眼确认)。全程无 JS 运行时错误。
补充说明本版为补丁版本(v3.3.1 → v3.3.2):以修整既有界面的显示/交互问题为主。其中第 ④ 条「记账时顺手记单价」是在原「记一笔」表单内增加一个默认关闭的可选联动,不改变原有记账流程、也不改数据结构,故仍按补丁版本发布(若后续需要把它做成独立的批量/模板式录入,再按次版本发布)。
v3.3.12026-09-11补丁版:修好「日常单价」页的 8 处体验问题(快捷录入、分类配色、走势看高低价、供应商返回键…)
更新内容你试用「日常单价」后反馈了 8 条问题,本版逐条修好:
  • ① 汇总行多出的「一. 元/斤」怪字样没了:没填规格时,单位前面原来会留一个破折号占位(显示成「— · 元/斤」,看着像个「一.」),现在有规格才显示规格、有单位才显示单位,不再硬塞占位符。
  • ② 管理物料的两个筛选下拉原来是空的(没得选):现在按物料字典里真实存在的一级/二级分类自动填充,小类跟着大类联动;列表里每个一级分类前加一个小圆点,同一个一级分类同一种颜色(与报表/流水配色一致),一眼看清哪些物料同类。顺手补了「编辑物料」和「删除前二次确认」。
  • ③ 新增「快捷录入」:物料框上方多了搜索框,输入「猪肉」立刻列出匹配物料,点一下自动带出一级分类、二级分类、物料和单位;输入「肉」会列出所有含「肉」的物料供挑;输入完整名称按回车同样一步到位。
  • ④ 管理供应商加了「返回」键:原来只有「完成」=直接关闭,从单价表单点进去想反悔得重开一遍。现在点「返回」会回到刚才那张单价表单,而且已经填好的日期、分类、物料、单价一个都不丢;「完成」则维持原样只关掉本页。
  • ⑤ 走势图旁边标最低/最高价;全部记录加「复制」:走势弹层顶部现在给出「最低单价 / 最高单价 / 价差」三个数并注明日期,历史列表里对应两条打「最低 / 最高」标签;明细表每行新增「复制」,照着原记录填好分类/物料/规格/单位/来源,日期改今天、单价留空,只需敲新价格。
  • ⑥ 分类管理的「支出/收入」按钮修好:原来两个按钮被撑成三等分(右边空一块,不对称)、而且点了不会变色(缺填充色规则)——现在改成两栏等宽、选中后实心填充(支出红、收入绿)。「一键补齐餐饮常用分类」改成先弹清单再确认:清楚列出这次要新增哪些分类、每个补哪些细分项,并写明只做加法、不影响已有分类和已记的账;原本就齐时会提示「无需补充」。
  • ⑦ 下拉框箭头更明显:箭头放大、颜色加深、右侧留白加宽,鼠标移上去边框高亮、聚焦时箭头变主色,一眼看出「这里可以点开选」。
  • ⑧ 弹层支持叠加(支撑上面 ②④⑥ 的关键改动):修好了一个隐藏已久的问题——原来打开任何新弹窗都会把整叠弹窗清空,导致「在物料管理里点删除,弹确认框时下面的物料页被一起关掉」。现在弹窗可以一层层叠、只关最上面那层,下面的上下文不会丢。
兼容性纯体验修复,不改数据库结构、不改任何数据格式,老用户无需任何操作,也不会动到已记的账。「一键补齐」仍然只新增缺失项、绝不覆盖或删除你自建的内容。
更新原因你在试用后反馈:汇总行出现看不懂的「一. 元/斤」;管理物料的全部大类/全部小类里没得选,且一级分类要用同色区分才看得清;希望加个快捷录入(打「猪肉」就自动补一二级分类,打「肉」能列出同类物料);管理供应商没有返回键;走势左边要显示最低和最高单价、全部记录要加复制功能;分类管理的支出/收入按钮不对称、点了没填充色、一键补齐看不到会补哪些、也担心影响原分类;下拉的下标太不明显,每次都要点好几次。
自动化验证新增专项 v3.3.1_test.js 108/108 通过:静态断言覆盖 7 类修复的 CSS/HTML/JS 落点,运行时真实点一遍「记一笔→汇总无占位符→走势高低价→复制记录→快捷录入(输入/点选/回车三种)→管理物料筛选与配色与编辑→供应商返回不丢内容→分类管理按钮对称/填充色/补齐预览/取消不改动/补齐幂等」。同时回归 v3.3.0_test.js 扩到 98/98 通过(补充了筛选项、返回流程、二次确认等新断言),并跑通 v2.4 起的全部历史套件;全程无 JS 运行时错误。
补充说明本版为补丁版本(v3.3.0 → v3.3.1),按语义化版本约定只修问题、做体验微调,不新增独立功能模块。
v3.3.02026-09-11次版本:新增「日常单价」——记录猪肉、粉条、装修工费等日常用料价格
更新内容你提出:想在左侧加个功能,记录日常用的单价(猪肉、粉条、装修工费等等)。本版新增「🏷️ 单价」页,排在与「记一笔 / 流水 / 报表 / 资产」平级的位置(手机端是底部第 5 格、在「我的」前),提供:
  • 记一笔单价:每次买货/问价都记一条,字段有日期、一级分类、二级分类、物料、规格、单位、单价、来源、备注。
  • 单位下拉:元/斤、元/个、元/包、元/工日、元/㎡ 等常用单位做成下拉,不用手打;没有的选「其他」手填。
  • 物料字典(按记账分类分级预置):按你的记账一级/二级分类,预置好一批粉店常用物料(食材采购/肉禽蛋/猪肉、食材采购/粮油米面/红薯粉、包装耗材/餐盒餐碗/打包盒、设备维修采购/设备维修/装修工费等),表单里三级联动选择;找不到的物料可现场「+ 新增物料」。
  • 按物料汇总 + 涨跌提醒:同物料并一行,显示最新单价、比上次涨▲/跌▼/持平=,涨跌幅超 10% 加描边提醒。
  • 价格走势:点「走势」看某物料的价格折线图 + 历史列表。
  • 供应商小档案:常用来源(菜市场王记、批发市场…)存起来,表单里一键填。
  • 一键生成采购支出:勾选后,记单价时顺手在「流水」里生成一笔对应金额(单价×数量)的支出,归到所选分类。
  • 手机端适配:底部导航改成按项数自适应(新增第 6 项后仍排成一行,不会挤到第二行挡住「保存」按钮);汇总行在窄屏改两行显示,320px 小屏也不横向溢出。
数据与存储新增云端表 cb_prices,与流水一样支持本机 / 云端双模式:本机存浏览器、云端同步、换设备不丢;已接入备份导出/导入(备份 xlsx 里会多一张「_单价」表)与本机→云端迁移云端模式用户需重跑一次建表脚本才会生效。
自查本机 + 云端两种模式各真实走一遍完整流程:导航切换、三级联动选物料、单位自动带出、保存/编辑/删除、汇总涨跌(含 10% 异动)、走势弹层、搜索过滤、物料增删、供应商新增、一键生成支出,全程无 JS 报错。专项 v3.3.0_test.js 82/82 通过。
更新原因你提出:想在左边增加一个功能,记录日常使用的单价(猪肉、粉条、装修工费等等),并希望单位做成下拉、物料按记账分类分级预置、只录物料不录价。
兼容性不改动任何现有功能与老数据结构,只是新增一张表和一个页面;老用户的流水、分类、预算、周期账一个字节都不动。云端模式需重跑建表脚本补上 cb_prices
自动化验证专项 v3.3.0_test.js 82/82 通过(静态 40 项:HTML 页面与导航顺序、CSS 涨跌/异动样式、app.js 函数与接线、core.js 数据层登记、schema 建表;运行时 42 项:本机与云端各跑一遍完整增删改查、汇总涨跌、走势、搜索、物料与供应商管理、一键生成支出、全程无 JS 错误)。另跑全量历史回归(v2.4~v3.2.0 共 12 套)功能项全部通过;手机端用真实 Chromium 巡检 4 种尺寸 × 6 页面 + 登录页,无横向溢出 / 无文字截断 / 无 JS 报错(本次据此修好了「底部导航被挤成两行挡住保存按钮」的真实缺陷)。
v3.2.02026-09-11次版本:文字输入框加「常用语」快捷
更新内容你反馈:支出给谁、备注这类常输的文字,每次都要重新打字,麻烦。本版在「支出给谁」「备注」两个输入框下面各加一排「常用语」:
  • 自动统计:从你已经记的历史里挑最常输入的文字;「支出给谁」只统计同收支方向(支出看支出对象、收入看收入来源),「备注」不挑方向、全部账单的常用备注都算。
  • 按频率排序:出现次数多的排前面,最多显示 8 个;每次切支出/收入、保存一笔、进入「记一笔」页都会自动刷新。
  • 点一下就填:点小按钮直接把那句文字填进对应的输入框,连记多笔相同对象/相同备注时不用反复手打。
  • 没有就不显示:还没记过账、或这一类没有重复文字时,整排自动隐藏,不占地方。
自查本机模式真实走「记一笔」UI 保存若干重复记录:常用语按频率出现且排序正确、点按钮能填进输入框、切到收入时对方常用语按方向过滤、备注常用语不挑方向、空记录时两块都隐藏。专项 v3.2.0_test.js 29/29 通过。
更新原因你提出:文字部分(如支出给谁、备注)下面加一个常用语快捷,经常输入的能一键填入,没有就不显示。
兼容性不改数据库结构,不需要重跑建表脚本。常用语完全由历史记录实时计算,本机、云端都适用;老数据一个字节都不动。
自动化验证专项 v3.2.0_test.js 29/29 通过(静态 16 项:两个容器、CSS 样式、三个函数、取前 8、三处刷新点;运行时 13 项:本机模式真实保存后常用语按频率出现/排序/隐藏、点 chip 填值、切收入方向过滤、备注不挑方向、全程无 JS 错误)。全量回归 v3.1.2 历史测试功能项 23/23 通过(仅该老测试里写死的版本号字符串随升版失效,属预期)。
v3.1.22026-09-11补丁:本机模式的流水也记「记账人」(修复 v3.1.0 的漏记 Bug)
更新内容你反馈:本机模式记的账,流水里看不到「记账人」,看不出这笔是谁记的。排查确认是 v3.1.0 引入的 Bug,本版修复:
  • 根因:当时的写入规则是「云端模式一律写记账人;本机模式若从没填过姓名就不写」(本意是怕每条流水挂一长串邮箱)。结果本机新用户什么名字都没填,记的账就全是空的,看起来像功能坏了。
  • 修复:本机和云端规则完全一致——每笔流水都记下记账人。取名顺序:本机记账人 → 账号姓名 → 没填姓名就用邮箱 @ 前面的部分(比如 a@example.com 记账署名「a」,短、卡片上放得下,不再挂整串邮箱)。
  • 老流水不补:修复前记的账当时没存这个名字,事后没法知道是谁记的,所以不凭空补——宁缺毋假,不影响任何统计口径。
自查三种情况都真实跑过:本机没填姓名 → 署名邮箱前缀;填了姓名 → 署名姓名;设了本机记账人 → 署名本机记账人。改名后老记录仍保持当时的名字(快照不被带走);云端模式行为不变。明细表的「记账人」列、记录详情的只读署名照旧。
更新原因你在本机模式实际记账时发现流水没有记账人,反馈后定位为 v3.1.0 的条件漏写。
兼容性不改数据库结构,不需要重跑建表脚本。本机模式、云端模式都适用;只是把「本机没填姓名就不写」这个条件删掉,并给取名加了邮箱前缀兜底。老数据一个字节都不动。
自动化验证专项 v3.1.2_test.js 22/22 通过(静态 9 项:写入逻辑不再分模式 / 取名链路 / 快照不可改 / 提示语同步;运行时 13 项:本机没填姓名、本机填姓名、云端三种场景真实注册并记账,核对落库的记账人字段与改名快照行为)。全量回归 v2 ~ v3.1.1 共 16 个测试脚本全部通过。
v3.1.12026-09-11补丁:数据来源卡片上移到「主题色」下方 + 个人设置里也能切本机 / 云端
更新内容两处都来自你在手机上实际使用时提的反馈:

一、「数据来源」那张卡上移(原来埋在页面底部)

  • 改了什么:「我的」页面里「数据来源 + 登录账号」这张卡,原先排在页面最末尾(在「备份与恢复」之后),手机上要一路滑到底才看得到。现在整张卡连同紧随其后的说明提示卡一起上移到「店铺名称 / 主题色」正下方,成为「我的」页第 2 张卡,一打开就能看到。
  • 为什么要动:「手机上看不到电脑上记的账」八成就是这一行没切对,它是最常用的排查入口,不该埋在底部。v3.1.0 刚把「数据来源」挪到卡片内的第一位,这一步是把整张卡片提到页面上方,两个动作一层一层来。

二、个人设置里也能切本机 / 云端

  • 新增按钮:「👤 个人设置」弹窗的「📌 当前模式」那一行,新增一个切换按钮:云端模式显示「切回本机」,本机模式显示「切到云端」。按钮就贴着模式说明,不用先猜现在是什么模式。
  • 与「我的 → 数据来源」完全等价:两处调用的是同一个函数 switchDataSource(),不是各写一套——以后改逻辑不会漏改一处(旧版这类「两处各写一遍」最容易出岔子)。
  • 确认与提示照旧:点一下先弹确认框说明「切完会看到哪份账」,确认后才切、切完自动重新加载;切不过去时仍会大白话提示原因(云端组件没加载 / 配置没填 / 双击打开用不了云端)。
自查两处按钮都真实点过:云端模式弹「切回本机模式?」、本机模式弹「切到云端模式?」;点「取消」模式不变(不会手滑切走),点「确定」才真的切,且切完写进本地存储、刷新不丢。卡片顺序不是靠肉眼看,而是用页面里卡片的真实序号核对:主题色=0、数据来源=1、说明=2、分类管理=3。
更新原因你在实际使用中提的两条:① 数据来源面板位置太靠下,手机上不好找;② 希望个人设置里也能切换本机与云端(原来只有「我的 → 数据来源」一个入口)。
兼容性纯界面调整,不动数据、不改数据库结构,不需要重跑建表脚本。本机模式、云端模式都一样适用;只是把已有的切换入口多暴露了一处,并把卡片换了个位置,统计口径、字段、备份格式全部不变。
自动化验证专项 v3.1.1_test.js 40/40 通过(静态 19 项:卡片顺序 / 公用函数唯一性 / 按钮文案与绑定 / 版本号;运行时 21 项:分别以云端模式和本机模式启动,真实打开个人设置、点按钮、走确认框,并核对「我的」页卡片序号)。全量回归 v2 ~ v3.1.0 共 14 个测试脚本全部通过。
v3.1.02026-09-11次版本:账号可填姓名/昵称与手机号(显示优先姓名)+ 流水新增「记账人」可追溯 + 记一笔「转账」tab 选中态修复 + 个人设置布局调整
更新内容本轮全部来自你的实际使用反馈,逐条对应:

一、你点出来的两个界面问题

  • 「转账」tab 选中后没有填充色(真 Bug):样式表里「支出」「收入」都写了选中态的填充色,唯独漏了「转账」——所以点中转账后底色还是白的,跟没选中分不出来。现补上 .type-btn.on[data-t="转账"] 的填充(跟随主题主色),三个 tab 一眼就能看出选中的是哪个。
  • 云端模式「退出登录」与「关闭」挤成两行:退出按钮原先写在弹窗正文里、独占一整行宽。现把它移进弹窗按钮区,与「关闭」并排(按钮区本就是两列网格,两个按钮天然各占一半)。同时补了一条「按钮区只有一个按钮时通栏」的规则,避免其它单按钮弹窗被压成半宽。
  • 「数据来源」排到「我的」页面最前面:这一项最常用、也最容易出问题(手机看不到电脑的账,八成就是它),故提到「登录账号」上方。

二、账号资料:姓名 / 昵称、手机号(照 08 的做法)

  • 注册时可选填:注册表单新增「姓名 / 昵称」与「手机号」两个选填项,不填照样能注册。
  • 登录后随时可改:「👤 个人设置」里点「填写 / 修改」就地编辑;姓名最长 20 字,手机号校验「11 位、1 开头」,清空即视为不填。
  • 显示优先姓名:顶栏右上角、「我的 → 登录账号」都按「姓名 → 邮箱」的顺序显示,没填姓名才退回邮箱。
  • 存储方式照搬 08 门店收银管家:资料写进 Supabase 账号自带的 user_metadata不额外建表,对数据库结构零影响;本机模式则写在本机账号表里,读取方式与云端完全一致。

三、记账人:每笔流水记下「是谁记的」(可追溯)

  • 写入时快照:记一笔时把当时的「记账人」一并存进流水(流水表新增 记账人 字段)。以后改了姓名,老记录仍显示当时的名字——不然「追溯」就失去意义。
  • 三处可见:流水列表卡片、记一笔页面的「最近记的」、点开某笔记录的详情(详情里只读,不给改)。明细表也加了一列「记账人」(窄屏自动隐藏,手机上卡片照样看得到)。
  • 「本机记账人」解决多人共用:同一个账号几个人共用时,光靠账号姓名分不清谁是谁。个人设置新增「🖊️ 记账人(本机)」——给这台设备单独起个名字,只存本机、不上云、各设备互不覆盖;留空就跟账号姓名一致。
  • 本机模式的取舍:本机模式若从没填过姓名就不写记账人,免得每条流水都挂一长串邮箱;填过姓名或设过本机记账人才写。

四、报错提示与建表脚本

  • 缺列提示更准:若云端库还缺「记账人」列,会直接告诉你要执行哪一句 SQL。顺带修掉一个老问题——PostgREST 的缺列报错里也含 schema cache,原先会被上面那条通用提示抢先命中,用户看不到究竟缺哪一列;现在缺列判断排在前面。
  • 建表脚本系统文件/supabase_schema.sqlcb_records 增加 记账人 TEXT,并补上兼容老库的 ALTER TABLE ... ADD COLUMN IF NOT EXISTS(对已有库只加列、不动数据)。
自查写完后逐条对着你提的 5 个点核了一遍:转账 tab 有填充色、退出与关闭同一行、数据来源排在第一位、注册页多出两个选填框、流水上能看到「记账人」。另外单独验了一条「改名后老记录不变」——这正是「可追溯」的关键,最容易漏。
更新原因你在实际使用中提出的 5 条具体反馈:转账 tab 看不出选中、退出与关闭分两行、数据来源想放最前、账号要能填姓名与手机号(并参考 08 的设置方式)、多人记账要能看出是谁记的。改动均为向后兼容的新增,没有改动任何已有数据的口径与算法。
兼容性需要重跑一次建表脚本(只加字段,不删不改数据)。本版给 cb_records 加了 记账人 列——没跑脚本的话,云端模式记新账时会提示「还缺『记账人』这一列」并给出要执行的 SQL。脚本用 ADD COLUMN IF NOT EXISTS,重复执行安全。旧的流水记录没有这个字段,界面显示为空(明细表显示「—」),不影响任何统计口径。本机模式无需任何操作。
自动化验证专项 v3.1.0_test.js 47/47 通过(含真实跑一遍「注册带姓名 → 记一笔 → 列表显示记账人 → 改名后老记录不变 → 设本机记账人后新记录换名字」);全量回归 v2.4 ~ v3.0.0 及早期 7 个测试脚本全部通过。
v3.0.02026-09-10次版本:云端模式真正接通——电脑 / 手机 / 网址同一份账 + 智能默认模式 + 数据来源一键切换 + 本机数据搬上云 + 云端连接自检 + 免费版 7 天休眠提醒(照搬 08)
更新内容本轮对应你的决定「电脑、手机、网址都能看到同一份账」,并以 08 门店收银管家(云端版)为参照,把它已经验证过的做法一并搬过来。改动分三块:

一、云端模式真正接通(核心)

  • 补上云端的关键两行(根因之一):整套云端能力(登录 / 注册 / 找回密码页面、云端数据层、建表 SQL、行级权限)其实早就写好了,但主页 餐饮流水管家.html 从来没引入过 Supabase 客户端和云端配置这两个文件——所以就算点了「云端模式」,也永远连不上,页面只会悄悄退回本机。v3.0.0 补上这两行,并把 SDK 从外网 CDN 改成本地文件 assets/vendor/supabase.min.js(218KB,@supabase/supabase-js v2 的 UMD 版本),公司网络或断网环境也能加载。
  • 修「一切到云端就白屏」的致命 Bug(根因之二):数据层取表的函数 _from() 在云端分支里写成了 return this._from(table)——调用了它自己。这是个无限递归,一进云端模式立刻栈溢出、整页白屏,连报错都来不及显示。改成真正调用云端客户端 this.sb.from(table) 后正常。这个 Bug 单看代码很难发现(名字太像"正确的调用"),是靠真实浏览器跑通登录流程才暴露出来的。
  • 智能默认模式:用网址打开(http / https)默认走云端;直接双击文件打开(file://)默认走本机。这样部署后不用再手动切模式,也避免"数据库还没配好 + 没网"时整个页面打不开。
  • 「我的 → 数据来源」新增切换入口:以前"怎么开云端"只写在说明书里、界面上找不到入口。现在「我的」页有一行明明白白的「数据来源」,显示当前是哪种模式(云端显示「☁️ 云端数据库 · 电脑 / 手机 / 网址同一份账」,本机显示「🔒 本机浏览器 · 只存在这台电脑上,手机和网址看不到」),右边一个「切换」按钮,换之前先二次确认,换完自动重新加载(避免内存里残留旧模式的数据)。切不了云端时,那一行会直接写出原因:云端组件没加载上 / 云端配置没填 / 双击打开用不了云端。
  • 本机数据一键搬上云:切到云端并登录后,如果检测到这台电脑的本机账本里有流水、而云端账号还是空的,页面会主动问一次「要不要把本机数据搬上来」,点确认就一次性导入分类、流水、预算、周期账、设置,并把每条记录的归属账号重映射成云端账号(否则会被行级权限挡下来),写入按 200 条一批,避免单次请求过大。
  • 修一个会中断切换流程的小 Bug:切换模式的确认弹窗回调被写成了带参数的函数,而确认框的回调本身不带参数,点「确定」会直接抛错、切到一半卡住。已改成无参回调。

二、照搬 08 门店收银管家的做法

  • 云端连接自检:登录失败时,自动在登录框下方跑一次探测(用一个不存在的账号去试云端认证接口,服务器回「账号或密码不对」就说明网络和配置都没问题——也就是 08 里那套"用错误凭据探活"的思路)。结果分三色、用大白话说明:绿色「✓ 云端连接正常,配置没问题。刚才没登进去,是账号或密码不对,核对后再试。」、橙色「配置没填好」、红色「网络不通」。
  • 免费版 7 天休眠提醒:Supabase 免费版连续 7 天没人访问会暂停项目。云端模式登录时,页面顶部会挂一条淡黄色提示条("账不会丢,暂停后到 Supabase 后台点一下恢复即可"),点「知道了」当天不再弹、次日再提醒一次;本机模式不显示。
  • _redirects:根目录加了这个文件,把根网址 / 自动跳到 餐饮流水管家.html。少它访问 xxx.pages.dev 就 404(这个文件必须留在部署包最外层,挪进子文件夹就失效)。
  • 登录页底部「首次使用」指引 + 登录页 / 「我的」页的模式徽标:按当前模式给不同话术,云端模式会引导你去建表、填配置。

三、建表脚本与文档

  • 建表脚本补周期账表:周期记账(年付房租按月分摊这类)原先在云端没有对应的表,写进去会失败。v3.0.0 给 系统文件/supabase_schema.sql 补上这张表(含起始日 / 总额 / 期数 / 类型 / 一级分类 / 二级分类 / 对方 / 支付方式 / 备注 / 已入账期数),并同样开启行级权限、绑定"只能操作自己的行"的策略。现在一共 5 张表:分类、流水、预算、周期账、设置。
  • 使用说明大改:新增「四、数据来源:本机模式 / 云端模式」(含对照表)「五、云端部署步骤」(5.1 Supabase 建表 + 5.2 Cloudflare Pages 上传,逐步说明)「六、登录与注册(云端模式)」「七、休眠提醒与日常维护」四章,并给常见问题补了 8 条云端问答(手机上能不能看同一份账 / 电脑记的手机看不到 / 404 / 登录连不上 / 免费版暂停会不会删数据 / 数据安全吗 / 改了代码怎么上线 / 本机账能不能搬上云)。
  • 杂项:补了一行空白 favicon(消除控制台里那条 404 报错,让排查云端问题时日志更干净);文档互链、脚注、版本号全部对齐 v3.0.0。
自查:用真实浏览器真连了一次 Supabase,不是桩数据这轮不靠桩(mock)下结论,因为最容易出错的地方恰恰是"真实网络 + 真实 SDK"这一段。写了一个零桩真实环境验证脚本程序临时文件/_verify_cloud_real.js),用真实 Chromium 打开真实页面、加载真实 Supabase SDK、真实发请求:
· 场景一(用 http:// 打开):确认自动进入云端模式、客户端对象真的被创建、真实探测云端认证接口能拿到服务器响应(返回 400 = 服务器可达、网络与配置都通),页面提示「云端连接正常」;
· 场景二(用 file:// 打开):确认自动进入本机模式、不创建客户端、页面显示本机模式说明。
结果 18/18 全通过。另外用桩环境跑了 48 项专项校验(SDK 与配置的引入顺序、递归 Bug 已修、智能默认、切换 UI、搬迁时归属账号重映射、照搬 08 的四项功能、建表脚本含周期账表等)。
顺带修的老测试改完之后原来那批跑在 http 协议下的回归测试会自动走云端模式、而测试环境连不上云端,导致 10 个旧脚本连锁失败。没有去改业务代码迁就测试,而是给测试环境加了一层"云端文件返回空桩"的拦截,让它们维持 v3.0.0 之前的本机行为;同时修掉两个早就存在的测试误报(主题数统计没去重、版本号断言写死)。改完 v2.0.0 → v2.6.3 的全部回归重新跑通。
更新原因对应你的两条指示:①「电脑、手机、网址都能看到」→ 确定为云端为主、本机兜底的双模式架构,并把本机已有数据的上云通道打通(否则"看得到"等于从头再记一遍);②「可以参考 08 工具的,里面有些要求也照搬,说明书也要看看 08 对于服务器等的介绍」→ 逐项对照 08 搬了「连接自检」「7 天休眠提醒」「_redirects」三件套,说明书也照 08 的写法补了完整的服务器 / 云端章节(对照表 + 建表 + 部署 + 登录 + 休眠 + 排查)。
兼容性纯前端 + 配置层改动,无数据结构变化,本机模式的账号、分类、流水、预算、周期账、设置、主题、备份文件全部沿用,老数据不受影响。唯一需要手动做一次的事:首次启用云端(或在 Supabase 新建项目)时,要到 Supabase 的 SQL 编辑器里执行一次 系统文件/supabase_schema.sql——脚本里用的是 IF NOT EXISTS,重复执行不会破坏已有数据。不打算上云、继续用本机模式的话,这一步可以完全跳过。
自动化验证v3.0.0 新增 48 项专项校验(SDK 与配置引入顺序 4 项 + 递归 Bug 已修 3 项 + 智能默认模式 4 项 + 云端不可用原因诊断 3 项 + 数据来源切换 UI 5 项 + 本机数据搬迁与归属账号重映射 5 项 + 照搬 08 的四项功能 8 项 + 建表脚本含周期账表 4 项 + 运行时 12 项),叠加原有 v2.0.0 → v2.6.3 的 379 项回归,合计 427 项全部通过、0 运行时错误;另有真实浏览器真连 Supabase 的 18 项端到端复核(详见 程序临时文件/v3.0.0_test.js程序临时文件/_verify_cloud_real.js)。
备份v2.6.3 的 6 份核心文件已存档到 系统文件/备份_v2.6.3_pre_v3.0.0/。按"系统文件/根目录只保留最新 1 份备份"的约定,上一份备份已移入 系统文件/历史归档/
v2.6.32026-09-10补丁版本:手机端布局体检与修复——底部导航「我的」不再掉出屏幕、记账类型按钮不再竖排、主题色设置不再挤压、320px 图表卡不再撑破 + iPhone 全面屏安全区 + 报表环比文案「上上无数据」修正
更新内容本轮不是照着某一处改,而是给手机端做了一次完整体检:用真实浏览器(Chromium)在 4 种手机尺寸下把五个页面逐页真实渲染,自动扫描三类问题——页面横向溢出、文字被截断、触控目标过小——再逐条修。修掉 5 个布局缺陷 + 4 项全面屏适配:
  • 底部导航「我的」入口掉出屏幕(最严重):底部导航栏实际有 5 项(记一笔 / 流水 / 报表 / 资产 / 我的),但样式里写的是「平均分 4 列」。5 个按钮塞进 4 列网格,第 5 个「我的」被挤到第二行,而导航栏高度是固定的,于是「我的」只露出半截、点不到——手机上等于丢了一个主入口(桌面端因为换成左侧竖排导航,看不出这个问题)。修法:列数改成 5,并让导航栏高度由按钮自己撑开,不再写死高度。
  • 「支出 / 收入 / 转账」三个按钮文字竖排:这三个按钮本已是「三等分网格」,但里面又多写了一句 width:33.33%——在网格里再取 33.33%,按钮宽度只剩约 39px,两个字放不下,只能上下叠成一根竖条,占了将近两行的高度,很难看也很好笑。删掉那句多余宽度即可。
  • 「我的 → 主题色」整行被挤变形:这一行左边是说明文字、右边是 8 个色卡圆点,手机窄屏放不下时,说明文字被压成只有 24px 宽(一个字一行),色卡还溢出屏幕 16px。修法:手机端这一行改成「标题在上、色卡在下」,色卡用 8 等分网格自适应宽度,窄屏自动缩小,从此不溢出。
  • 320px 小屏报表图表卡被撑破:在 320px 宽(iPhone SE 一代 / 老机型 / 分屏)下,报表的「支出构成」图表卡会向右溢出屏幕。根因是网页里的图表(Chart.js)会按第一次渲染时的容器宽度写死一个像素宽,而网格布局里的卡片默认「宁可被撑开也不收缩」。修法:给卡片和图表容器加「允许收缩」,并给图表画布限最大宽度 100%。
  • 旧版报表 KPI 显示「上上无数据」:报表对比上期时,如果上月没有数据,本来应显示「上月无数据」,但代码写成「上」+ 取上期名第一个字 —— 「上月」取到「上」,拼出来是「上上无数据」;切「本季 / 今年」范围还会更离谱(「上上季无数据」「上去年无数据」)。改成直接输出上期名:「上月无数据 / 上季无数据 / 去年无数据」。
  • iPhone 全面屏适配(4 项):① 底部导航栏预留 iPhone 底部「home 横条」高度,不再压住按钮;② 页面内容底部同样留出这段高度,最后一条记录不会被导航挡住;③ 登录页高度单位改用 100dvh(原来 100vh 会被手机地址栏撑出一小截无意义滚动);④ 分类「细分」的小圆点触控高度从 28px 抬到 34px(原来比手指小,容易点错),输入框字号抬到 16px,避免 iOS Safari 一聚焦就自动放大整页。
自查:真的在手机上跑过,不是"看代码觉得对"这轮修复不靠肉眼判断。写了一个自动化体检脚本(程序临时文件/mobile_audit.js):启动真实 Chromium 浏览器,模拟 iPhone 14 Pro(393px)/ 主流安卓(360px)/ iPhone SE(375px)/ 极窄小屏(320px)四种尺寸,真实走一遍「注册 → 记 7 笔账 → 切五个页面」,每一页都自动找出所有超出屏幕右边界的元素并打印出它的标签、左右坐标、宽度和文本内容,同时检查金额有没有被容器截断。修复前跑出 42 条问题(其中 2 条是真实布局缺陷),修复后全部归零——4 种尺寸 × 5 个页面 + 登录页 + 个人设置弹层,无横向溢出、无文字截断、无 JS 报错。这个脚本留在项目里,以后每次改版都可以复跑。
更新原因对应你的反馈:在做云端版之前,先把手机端格式弄好、确认没问题再往下走。排查中发现的问题比预想的多,尤其是底部导航「我的」在手机上直接消失——这个在电脑上看不出来,只有真机渲染才会暴露,正好印证了「先体检再上云」的顺序是对的。纯前端样式层改动,无数据结构变化,旧账号数据、分类、设置、备份全部沿用。
自动化验证v2.6.3 新增 28 项专项校验(底栏 5 入口 3 项 + 类型按钮 1 项 + 图表卡收缩 3 项 + 安全区与 dvh 3 项 + 窄屏补丁 4 项 + 环比文案 2 项 + 版本号一致性 5 项 + 底栏与页面容器对应 1 项 + 运行时底栏 5 项与「上月无数据」5 项 + 无报错 1 项),叠加原有 v2.0.0 → v2.6.2 的 351 项回归,合计 379 项全部通过、0 运行时错误;另有 Playwright 真机尺寸渲染 44 张截图复核(详见 程序临时文件/v2.6.3_test.js程序临时文件/mobile_audit.js)。
v2.6.22026-09-10补丁版本:全站金额统一带「¥」单位(饼图图例 / 首页收支 / 报表 KPI / 记账统计 / 欠收款 / 账户 / 流水列表)+ 日历与图表补单位标注 + 窄屏金额排版保护
更新内容按你第九轮反馈做了 3 项:
  • 全站金额统一带「¥」单位(修可读性 · 核心):你反馈「环形图下面的金额不写单位,谁知道」和「日历也是没单位,看不出」,并让我「检查下其他地方是不是也没单位」。查下来远不止这两处——饼图图例、「本月支出/本月收入」、「今日结余」三格、报表 KPI(本月收入/支出/结余/食材成本/平台抽成)、记账页「今日/本月 收入·支出·结余」、欠收款汇总与明细、资产账户余额与期初、流水列表金额、预算与周期账分摊,全都是「光秃秃一个数字」,看不出是不是钱。
    修法不是逐个打补丁,而是把全站唯一的金额格式化函数 fmtMoney 改成自带货币符号:正数 ¥1,234.56、负数 -¥1,234.56。这个函数在全站有 72 处调用且纯做展示、不参与任何计算,所以改一处 = 全站一次性统一,以后新增的金额展示也自动带单位,不会再漏。同时清理掉历史上 18 处手写的「¥」「元」,避免出现 ¥¥1.00¥1.00 元 这类重复。
  • 日历热力图与图表补单位标注:日历格子里的小数字也从 100 变成 ¥100(上万时显示 ¥1.2万),鼠标悬停提示同样带 ¥;「哪天花得多(日历)」标题补成「哪天花得多(日历 · 单位:元)」,「逐月收支对比」补成「逐月收支对比(单位:元)」。之所以用标题标注而不是给每个坐标轴刻度加符号,是因为刻度空间太窄,逐个加 ¥ 会挤成一团。
  • 金额变长后的排版保护:多一个「¥」会让金额字符串变长,窄屏(≤520px)下金额字号自动缩小(汇总三格 17→14px、报表 KPI 19→16px 等),避免 ¥12,345.67 把三列小格子撑破;饼图图例的金额加了「禁止折行、不被压扁」,金额长时优先压缩左侧分类名。
自查:到底还有没有别的地方没单位没有靠"看一遍"下结论,而是写了一条运行时全 DOM 自动扫描:让程序在浏览器里跑起来、逐个切换「记一笔 / 流水 / 报表 / 资产 / 我的」五个页面并打开个人设置弹层,遍历所有可见文本节点,凡是整段文本就是一个数字(形如 1,234.56)且不带 ¥ 的,全部报出来。扫描确实抓到了一处(记账页帮助文案「例:房租每月 5 号扣就填 5」里的天数),加了「数字紧跟 号/天/日/月/期/笔 等 = 非金额」的排除规则后,全站裸金额归零。这条扫描留在了 程序临时文件/v2.6.2_test.js 里,以后每轮迭代都会自动复查一遍,防止新加的金额展示又漏了单位。
更新原因逐条对应你第九轮反馈:① 两个环形图下面的金额没单位 → 全站统一带 ¥;② 日历也没单位 → 格子与标题都补上;③「检查下其他地方是不是也没单位」→ 全站盘点 30 余处并一次性统一,另加自动化扫描防回归。纯前端表现层改动,无数据结构变化,旧账号数据、分类、设置、备份全部沿用。
自动化验证v2.6.2 新增 35 项专项校验(金额格式化唯一真源 9 项 + 图表单位标注 3 项 + 排版保护 3 项 + 版本号与缓存 5 项 + 关键金额位置带 ¥ 8 项 + 报表图例与日历带 ¥ 4 项 + 运行时全 DOM 裸金额扫描 1 项 + 造数校验 2 项),叠加原有 v2.0.0 → v2.6.1 的 316 项回归,合计 351 项全部通过、0 运行时错误(详见 程序临时文件/v2.6.2_test.js)。
v2.6.12026-09-10补丁版本:「墨灰」主题去掉黑心图标(🖤→🌫️)+ 顶栏改「浅灰底深灰字」让字看得清 + 本机模式顶栏不再显示云端残留邮箱
更新内容按你第八轮反馈做了 2 项修正 + 1 项边界排查:
  • 「墨灰」主题不再用黑心表示(改体验):你反馈「墨灰不要用黑心表示」。根因在 THEMES 表里墨灰(ink)的按钮图标写的就是 🖤(黑色心形 emoji),切到墨灰后顶栏右上角那个圆按钮就成了一颗"黑心"。v2.6.1 换成 🌫️(雾)——语义贴「墨灰」、也不突兀;同时「我的 → 主题色」里墨灰的色卡渐变同步成和顶栏完全一致,点之前看到的就是点之后的效果。
  • 「墨灰」顶栏改成浅灰底 + 深灰字(修可读性):排查时发现 v2.5.0 把墨灰顶栏调淡到 #94a3b8 → #cbd5e1 之后,白色文字在这层浅灰上几乎看不清——按 WCAG 对比度公式实测只有 1.6:1(正文可读标准是 4.5:1)。v2.6.1 给顶栏加了自动配色变量:深色顶栏继续用白字,墨灰这种浅灰顶栏自动换成深灰字 #1e293b(实测 5.7 / 9.9:1),店名、日期、按钮、版本徽标全都看得清,同时保留"不黑心"的观感。按钮与徽标的半透明底也从"白色半透明"换成"深色半透明",在浅灰底上才有按钮的立体感。
  • 本机模式顶栏不再显示云端残留邮箱(修一致性):v2.6.0 只改了「个人设置」弹窗里的邮箱,但顶栏右上那颗邮箱胶囊仍是 u.email 无条件显示,本机模式下还挂着云端登录留下的邮箱地址,和「本机模式没有账号」自相矛盾。v2.6.1 起本机模式顶栏显示「👤 本机模式」,云端模式才显示邮箱;鼠标悬停的提示文案也按模式区分。
顺带排查(未改动,仅报告)直接用对比度公式把 8 套顶栏配色全量算了一遍:墨灰已达标(5.7 / 9.9),slate(深色蓝紫)最好(14.6 / 7.6),purple / blue / pink 属"小字勉强"(3.5~4.0),另有 teal / green / orange 三套的白字对比度偏低(约 2.3~2.8,渐变浅色端尤其明显)。这三套属"饱和彩底 + 白字"的常见设计,本次未改动以免打乱你已习惯的观感;若想一起调深,说一声即可。
更新原因逐条对应你第八轮反馈:① 墨灰的黑心图标 → 换 🌫️ 并同步色卡;②「看看有没有其他问题」→ 查出"浅灰顶栏配白字看不清(1.6:1)"和"本机模式顶栏仍挂云端邮箱"两处硬伤并修复。全部为前端表现层改动,无数据结构变化,旧账号数据、分类、设置、备份全部沿用。
自动化验证v2.6.1 新增 33 项专项校验(墨灰图标与配色 8 项 + 8 套顶栏对比度算法校验 4 项 + 本机模式顶栏 4 项 + 版本号与缓存 6 项 + 回归保护与文档洁净 5 项 + 运行时 6 项),叠加原有 v2.0.0 → v2.6.0 的 283 项回归,合计 316 项全部通过、0 运行时错误(详见 程序临时文件/v2.6.1_test.js)。
备份v2.6.0 的 6 份文件已存档到 系统文件/备份_v2.6.0_pre_v2.6.1/。按"系统文件/根目录只保留最新 1 份备份"的约定,备份_v2.5.0_pre_v2.6 已移入 系统文件/历史归档/
v2.6.02026-09-10补丁版本:本月结余右上角加今日日期(同今日结余)+ 本机模式账号邮箱改「无账号」+ 分类筛选排序对齐记一笔 + 导出提醒挪到备份下面 + 更新日志目录补齐
更新内容按你第七轮 4 张截图反馈做了 4 项调整 + 1 项文档修复:
  • 「本月结余」大卡右上角补上今日日期(改体验):你反馈「本月结余的面板右上角时间怎么没有改成和今日结余的一样」——v2.5.0 只把「今日结余」面板和顶栏的日期统一成「2026年9月10日 周四」,紫色「本月结余」大卡右上角还停在旧的「2026 年 9 月」样式。v2.6.0 在 .home-hero 顶部右侧加 #homeHeroDate,与今日面板共用同一个 dateTxt 变量,格式完全一致;原来的月份标签改为「翻到非本月时才显示的徽标」——正常看本月时隐藏(避免和日期重复显示两个月),用顶部左右箭头翻到历史月份时才以胶囊样式亮出「2026年8月」,提示你现在看的是哪个备份月。
  • 本机模式「个人设置」不再显示云端邮箱(改体验):你问「如果没有退出,那怎么还会有一开始的登录」——因为本机模式下 CB.user.email 还残留着之前云端登录过的邮箱(如 chenshuia@outlook.com),看起来像"本机也有账号"。实际上登录/注册页是给云端模式用的:云端模式数据存在你自己的云端数据库,必须先登录;本机模式数据只存这台电脑的浏览器,不需要登录、也没有账号。v2.6.0 把「个人设置」里的「👤 账号邮箱:xxx」在本机模式下改成「👤 账号:本机模式无账号(数据存这台电脑浏览器里)」,云端模式仍正常显示邮箱。
  • 流水页筛选排序对齐「记一笔」(修一致性):你截图反馈「全部分类」里的一级分类顺序(人工工资 / 其他支出 / 办公杂费 / 包装耗材…)和「记一笔」页的分类顺序对不上。根因是 renderFilters / renderFCat2 用了 Object.keys().sort()(拼音字母序),而「记一笔」页走的是 CB.catTree()(分类表里的「排序」字段顺序)。v2.6.0 把两个下拉都改成按 CB.catTree('支出') / CB.catTree('收入') 的顺序排,二级细分同样取该一级分类在 catTree 里的明细顺序——两个页面的分类顺序从此完全一致。
  • 「每月定期提醒导出」挪到备份下面(改布局):你截图反馈这个提醒设置夹在「导出 Excel」和「备份与恢复」之间,位置突兀。v2.6.0 把它从「导出数据」卡片底部整段移到「备份与恢复(本机数据)」卡片里、紧跟在「⬆ 从备份文件恢复」按钮之后。现在「我的」页顺序是:导出数据 → 备份与恢复 → 每月定期提醒导出,逻辑上「导完、备完、再设提醒」更顺。
  • 更新日志目录补齐(修文档):你反馈「更新日志的目录还不全」。查下来是真的漏了——顶部目录只列了 9 个版本、左侧目录只列了 6 个,而页面里实际有 22 个 <details> 版本卡片(漏掉 v1.1.0~v2.0.0 共 14 条)。另外顶部目录第 4 行还残留一个没被解析的转义换行符(反斜杠 n),导致那一行显示错乱。v2.6.0 把顶部目录 + 左侧目录都补齐到全部 23 个版本(含本版),并清掉那个转义换行符。
更新原因逐条对应你第七轮反馈:① 本月结余右上角时间 → 对齐今日结余;② 本机模式怎么还有登录 → 厘清「登录页只服务云端模式」并清理本机模式的邮箱残留显示;③ 分类筛选顺序 → 按记一笔的分类表顺序;④ 导出提醒位置 → 挪到备份下面;⑤ 更新日志目录不全 → 补齐 23 个版本锚点。全部为前端 + 文档改动,无数据层变化,旧账号数据、分类、设置、备份全部沿用。
自动化验证v2.6.0 新增 36 项专项校验(homeHero 日期 5 项 + 本机模式账号 4 项 + 筛选排序 5 项 + 提醒位置 4 项 + 目录补全 5 项 + 版本号/缓存/文档无转义残留 5 项 + 运行时 8 项),叠加原有 v2.0.0 → v2.5.0 的 247 项回归,合计 283 项全部通过、0 运行时错误(详见 程序临时文件/v2.6_test.js)。
备份v2.5.0 的 6 份文件已存档到 系统文件/备份_v2.5.0_pre_v2.6/。按"系统文件/根目录只保留最新 1 份备份"的约定,备份_v2.4.0_pre_v2.5 已移入 系统文件/历史归档/
v2.5.02026-09-10补丁版本:今日面板改名"今日结余"+ 紫渐变同款 + 日期统一年月日周几 + 个人设置恢复退出登录 + 全部细分分组 + 导出提醒改 1-28 号 + 墨灰顶栏调淡
更新内容按你第六轮 4 张截图反馈做了 4 项体验调整 + 1 项视觉修复(顶栏 ⋯ 菜单里退出登录确认已移除,本轮只是个人设置弹窗恢复):
  • 首页「今日」面板改名为「今日结余」+ 配色与本月结余统一(改体验):你截图反馈新加的「今日」面板标题含糊、配色是白底浅色卡,与上面的紫色「本月结余」大卡视觉权重不一致。v2.5.0 把标题改为「今日结余」、外层用和 .home-hero 一样的 linear-gradient(135deg, var(--primary), var(--primary-2)) 紫渐变背景,三列小格改用半透明白底(rgba(255,255,255,.16)),整张小卡视觉上和「本月结余」是一对。右上角日期标签从「9月10日 · 周四」改成「2026年9月10日 周四」,与顶栏 todayLine 统一格式。
  • 顶栏日期格式也统一(顺手):你提到「右上角的日期统一改成年月日周几」——指的是顶栏「我的店 v2.5.0 2026-09-10周四」那一行也改成「2026年9月10日 周四」格式。v2.5.0 把 $('todayLine').textContentCB.todayStr() + ' ' + CB.weekday(...)(输出 2026-09-10 周四)改成与今日面板一致的「YYYY年M月D日 周X」格式。两处同步,开首页 / 看顶栏看到的日期样式一致。
  • 个人设置弹窗恢复「退出登录」入口(设计取舍):你截图说「个人设置的退出登陆保留,只是三个点的退出就不用」——v2.4.0 我把整个 doLogout 函数都删了过头了。v2.5.0 重新加回 doLogout 函数,并在「我的 → 顶栏账号标识 → 个人设置」弹窗底部加一个「⏻ 退出登录」按钮,点了二次确认后真退出(云端模式调 CB.signOut(),本机模式兜底清 cb-session 后刷新)。只在云端模式显示——本机模式数据存浏览器,"退出"反而误导,所以换成一行「💡 本机模式没有退出概念…」说明。顶栏 ⋯ 菜单里不放退出(保持你上轮的诉求)。
  • 流水页「全部细分」也按支出/收入分组(改体验):你截图反馈全部分组分完之后,"全部细分"还是支出/收入混在一起。v2.5.0 改写 renderFCat2:和 renderFilters(一级)一样按类型分组,未选一级分类时「—— 支出 ——」/「—— 收入 ——」两组都显示;选了某个一级时只显示对应类型那组细分(避免空组)。用同一套 catType 字典推断二级所属类型。
  • 导出提醒日范围 1-31 → 1-28(修边界):你截图反馈"应该有些月份没有 31"——是的,2 月最多 29 天、4/6/9/11 月只有 30 天。如果用户设了 29/30/31 号,到那些月份可能整个月都不会到日子,红条永远不弹。v2.5.0 把 bindExportRemind 的循环改为 d <= 28,每月都有 28 号、永远能到日子。红条提醒逻辑本身(todayDay >= cfg.day)不变。
  • 「墨灰」主题顶栏颜色调淡(修视觉):你截图反馈"这个黑色怎么是黑心,真难看"——指「墨灰」主题的顶栏渐变 #334155 → #64748b 在视觉上像是中心偏黑、整条顶栏偏"闷"。v2.5.0 换成更柔和的中灰渐变 #94a3b8 → #cbd5e1(slate-400 → slate-300),整体偏明亮、不再"黑心"。其他 7 套主题顶栏不变。
顺手修的问题v2.4.0 测试里发现的次要 bug:今日面板日期标签如果写 `'周' + CB.weekday(today)` 会得到"周周四"(CB.weekday 已自带"周X"),所以改成 `' ' + CB.weekday(today)`,最终输出"2026年9月10日 周四"。此问题在 v2.5.0 写测试时第一时间暴露并修复,发布版已含正确逻辑。
自动化验证v2.5.0 新增 27 项专项校验(今日面板 HTML/CSS/日期格式 7 项 + 个人设置退出 4 项 + 全部细分分组 4 项 + 导出提醒 1-28 4 项 + 墨灰顶栏调淡 2 项 + 运行时验证 6 项),叠加原有 v2.0.0 → v2.4.0 的 222 项回归,合计 249 项全部通过(详见 程序临时文件/v2.5_test.js)。
备份v2.4.0 的 6 份文件已存档到 系统文件/备份_v2.4.0_pre_v2.5/。按"系统文件/根目录只保留最新 1 份备份"的约定,把 备份_v2.2.1_pre_v2_3备份_v2.3.0_pre_v2.4 移到了 系统文件/历史归档/ 下。
v2.4.02026-09-10次版本:首页今日面板 + 每月导出提醒 + 主题色后 4 套差异化 + 报表饼图同行 + 分类筛选分组 + 移除退出登录
更新内容按你第五轮 4 张截图反馈做了 4 项新功能 + 2 项调整:
  • 首页「今日」面板(新功能):本月结余大卡下面再加一张小卡,三列并排:今日支出 /今日收入 /今日净利(带符号,正绿负橘)。右上角小字标今天日期(09月10日 · 周四)。算法与「本月结余」卡对齐:会员充值这类负债型收入不计今日净利,转账不算收入也不算支出。想知道今天赚没赚、距离目标还差多少,开首页就能一眼看到。
  • 每月定期提醒导出(新功能):在「我的 → 导出数据」卡片底部加了一个「🔔 每月定期提醒导出」小区域,开关 + 「每月 N 号」下拉(1-31)。开启后,到设定的那一天(且当月还没导出过)会在顶栏下方挂一条黄色红条「🔔 今天是导出提醒日,记得把本月流水导出一份留档」,带「立即去导出」按钮(点了会滚到导出区) + 「× 关闭」按钮。关闭当天不再弹;本月成功导出一次(Excel 或全部数据)后自动标记,下次再弹。设置存 localStorage(cb-export-remind-on / cb-export-remind-day / cb-export-remind-last),换浏览器会重置。
  • 主题色后 4 套差异化(修体验):v2.3.0 把主题色扩展到 8 套但只给前 4 套(默认蓝紫 / 深色蓝紫 / 护眼青绿 / 暖橘粉)写了完整 CSS,后 4 套(天蓝 / 森林绿 / 活力橘 / 墨灰)的主色变量缺失,点过去只是顶栏渐变颜色变了,按钮 / 链接 / 选中态这些主色还是默认蓝紫,「后几个主题色变化是一样的」。v2.4.0 补齐了 sky / forest / orange / ink 四套完整 CSS(含 --primary / --primary-d / --primary-2 / --primary-soft / 背景 / 边框 / 文字色),切到天蓝时主色变天蓝,切到森林绿时主色变森林绿,8 套主题差异一眼就能分清。
  • 报表页支出 / 收入饼图同行(改布局):你截图反馈两图上下堆叠占太多版面。v2.4.0 把「支出构成」「收入构成」两张饼图卡片用 grid 2 列的 .pies-row 包起来,左右并排显示,底下仍是「逐月收支对比」和「日历热力」上下堆叠。窄屏(≤640px)自动回退 1 列,避免挤压变形。
  • 流水页分类筛选分组(改体验):流水页顶部「全部分类」下拉原来是支出 / 收入混在一起一长串,看不出哪些是支出的。v2.4.0 改用 HTML 原生 <optgroup> 分两组显示:「—— 支出 ——」和「—— 收入 ——」,分界清楚。细分明细下拉不变(明细是某一类下的子项,不跨类型)。
  • 移除退出登录(简化):本机模式数据就存这台电脑的浏览器里,「退出登录」会让用户回到登录页、感觉像"账号不见了",但又不能真的"换账号"(账号是本机浏览器维度固定的),反而造成误解。v2.4.0 把顶栏「⋯」菜单里和「我的」页底部的「退出登录」入口都移除了,配套的 doLogout / btnLogoutMe / miLogout 一并清理。如果要"换账号",直接清除浏览器数据 → 重新注册。
顺手修的问题无新增 Bug 修复;以上 6 项都是按你截图反馈做的功能与体验调整。
自动化验证v2.4.0 新增 22 项专项校验(今日面板 6 项 + 导出提醒 6 项 + 主题色 4 项 + 分类分组 4 项 + 饼图同行 2 项),叠加原有 v2.0.0 → v2.3.0 的 156 项回归,合计 178 项全部通过(详见 程序临时文件/v2.4_test.js + 程序临时文件/v2_runtime_test.js)。
备份v2.3.0 的 6 份文件已存档到 系统文件/备份_v2.3.0_pre_v2.4/,根目录只保留最新版 v2.4.0。
v2.3.02026-09-10次版本:主题色 8 套与顶栏配色合一 + 账户可增/改/删 + 饼图 tooltip 显示占比 + 走势图响应筛选
更新内容按你第四轮截图反馈做了 2 项新功能 + 2 项修复:
  • 主题色 8 套与顶栏配色合一(改体验):v2.2.1 拆出去的「顶栏配色」独立色卡你反馈「右边那 8 个快捷色没什么用」,看起来和主题色重复、还分两行。v2.3.0 改为:主题色扩展到 8 套(默认蓝紫 / 深色蓝紫 / 护眼青绿 / 暖橘粉 / 天蓝 / 森林绿 / 活力橘 / 墨灰),每个主题方案自带对应的顶栏配色,点圆点同时换主题色 + 顶栏渐变;删掉独立的「顶栏配色」色卡行(CSS 的 [data-topbar-color] 8 套保留,applyTheme 内部统一设置)。选中态高亮。本机记忆:cb-theme + cb-topbar,下次打开自动还原。顶栏月亮/太阳按钮仍可循环切下一套。
  • 账户可增 / 改 / 删(新功能):v2.0.0 之前账户名固定写死在 CB.PAY_METHODS 数组里,没办法加自定义账户。v2.3.0 起,资产页「我的账户」卡片右上角新增「管理账户」按钮,弹窗列出全部账户:现金 / 微信 / 支付宝 / 银行卡 / 挂账 标「内置」只可改名不可删(避免误删后引用账户名的流水找不到归属);自己加的自定义账户(如「数字钱包 / 备用金 / 美团余额」)可改名或删除。改名时流水记录里所有引用旧账户名的地方(支付方式 / 对方)会一起换名。删除自定义账户时如果该账户下还有流水记录,会弹窗让你先选「迁移到哪个账户」,确认后才把引用改成目标账户、再删账户。底部「+ 添加新账户」(1-8 字,中英文·数字·/·-·())。
  • 饼图 hover 显示占比(修体验):你反馈报表饼图 hover 时只有金额看不到占比。v2.3.0 起,drawPie 的 tooltip callback 改为「分类名:金额 元 · 占比 X.X%」,一眼能看出这一块占整体的多少。支出饼图 + 收入饼图都改。
  • 走势图响应筛选(修 bug):你截图反馈选了「仅收入」后,流水页底部明细对得上,但顶部「每日走势」还是收入 + 支出两条线、图例也没变。根因是 drawDayTrend 直接读 S.records 全量数据画图、不应用下面的筛选条件(S.filter.type / cat / cat2 / pay)。v2.3.0 抽出 applyListFilter() 共用,drawDayTrend / monthStatOf 都基于「筛选后 + 范围内」的数据画:「仅收入」时只剩收入线、「仅支出」时只剩支出线,按一级分类 / 细分 / 支付方式筛选时走势也跟着聚焦这部分数据。
更新原因逐条对应你第四轮的反馈:① 顶栏「快捷配色」色卡没用 → 合到主题色;② 账户想自己加、改名 → 管理账户;③ 饼图 hover 没占比 → tooltip 加占比;④ 仅收入筛选走势图不变 → 走势图跟筛选走。功能向「更灵活配置」推进,但仍遵守 SemVer 铁律——加新功能用次版本,不动旧 API / 数据结构。
自动化验证v2.3.0 回归烟测(jsdom 加载真实页面,跑 1 收入 + 1 支出 + 1 水电费 测试数据):
  • HTML 含 v2.3.0、不含 v2.2.1文档链接;app.js VERSION = v2.3.0;顶栏版本号 = v2.3.0
  • #themeGrid 8 个 data-theme-id(default/dark/mint/sunset/sky/forest/orange/ink);#topbarGrid 区块已删;app.js 已无独立 TOPBAR_COLORS / applyTopbar
  • 点「天蓝」主题色后 data-theme = "sky" + data-topbar-color = "blue"(合一) + 本机 cb-topbar = "blue"
  • 点暖橘粉后 data-topbar-color = "pink"
  • 饼图 tooltip 含「占比」关键字 + 计算 total/pct
  • 切「仅收入」后 dayTrend 的 datasets 只有 1 条「收入」线;切「仅支出」后只有 1 条「支出」线;切回「全部收支」恢复 2 条
  • 资产页含「管理账户」按钮;app.js 含 openAccountsManager / addAccountFromDialog / renameAccountEverywhere / migrateAndRemove
  • 添加自定义账户「数字钱包」后资产页含这个名字;renameAccountEverywhere 含 saveSettings + updateRecord + reloadAll;migrateAndRemove 接受 fromName, toName
  • CSS 含 .am-row / .am-ic / .am-main / .am-acts;根目录只剩 v2.3.0 两份文档;系统文件只有 1 份备份(备份_v2.2.1_pre_v2_3)
  • 所有 v2.2.1 / v2.2.0 关键行为保留:pieColorOf / recRow+meta-pf / type-switch 三列
v2.2.12026-09-09次版本:顶栏配色 8 色可点选(独立于主题色)+ 清理根目录 3 套旧版本文档入「系统文件/历史归档/」
更新内容两个事项:
  • 顶栏配色 8 色可点选(新功能):进「我的 → 主题色」下面,能看到一组独立的「顶栏配色」色卡——紫蓝 / 蓝 / 青 / 绿 / 橘 / 粉 / 墨 / 暗蓝灰 共 8 色。点圆点切换,顶部背景渐变两色立刻换掉,不影响主页面背景、按钮、卡片、饼图等其它配色(那些仍跟着主题色走)。选中态会放大 + 高亮边框。本机记忆:cb-topbar。下次打开浏览器自动还原。顶栏原月亮/太阳按钮仍循环切主题色(兼容老习惯)。
  • 清理根目录旧版文档:v2.0.0 / v2.1.0 / v2.1.1 三套(每套「使用说明 + 更新日志」共 6 份)已挪进「系统文件/历史归档/」目录。根目录现在只留 1 份最新版(v2.2.1)的两份文档 + 主页面。历史版本随时可查,不会丢。
更新原因你截图反馈顶栏用户标识区是固定紫色渐变,希望「可以多种颜色」,于是把顶栏渐变两色提为变量、加 8 色预设 + 色卡入口。同时按你「更新日志等旧的删除」的诉求,把根目录堆积的 6 份历史文档归档进子目录。
自动化验证v2.2.1 回归烟测(jsdom 加载真实页面):
  • 点「顶栏配色 → 青」后,document.documentElement 上 data-topbar-color = "teal"、本机 cb-topbar = "teal"、#topbarGrid 内 teal 按钮有 .on 高亮
  • HTML 含 #topbarGrid 容器,共 8 个 data-topbar-id 圆点(purple/blue/teal/green/orange/pink/ink/slate)
  • CSS 含 8 套 [data-topbar-color="X"] .topbar 变量定义
  • v2.2.0 原 31 项断言全部保持通过
v2.2.02026-09-09次版本:主题色 4 套可点选 + 流水翻月折线随动 + 记一笔切类型自动选第一分类 + 类型 tab 三列等宽 + 今日 KPI 卡片同高
更新内容按你第三轮截图反馈做了 1 项新功能 + 4 项修复:
  • 主题色 4 套可点选(新增功能):进「我的 → 主题色」直接点 4 个圆点就能切换「默认蓝紫 / 深色蓝紫 / 护眼青绿 / 暖橘」——整页主色、按钮、流水卡片、报表 KPI、饼图、走势图轴线都会同步换色;选中圆点有放大高亮;顶栏原月亮/太阳按钮仍可循环切下一套(兼容老习惯)。主题存本机 localStorage 「cb-theme」,下次打开自动还原。
  • 流水页翻月时折线跟随刷新(修 bug):之前用顶部 ‹› 翻到「无记录的月份」时,每日走势卡会保留翻之前的旧曲线(卡片数字已是新月份的 0)。根因是 renderList 在筛选结果为空时直接 return、跳过了 drawDayTrend 重画。v2.2.0 把 drawDayTrend 提到空月判断之前,无论当月有没有数据都按当前月份重画。
  • 记一笔切类型时自动选第一个分类 + 不分细分(改体验):之前从「收入」切到「支出」时,分类和细分都清空,需要手动再点一下。v2.2.0 起,setFormType 会自动选中第一个一级分类,二级细分里的「不分细分」也会自动勾上,分类颜色(v2.1.1 引入的)保留。
  • 记一笔类型 tab 改为三列等宽(修 CSS):「支出/收入/转账」三个按钮之前因 grid 列数写 1fr 1fr 把转账挤到第二行;改为 repeat(3, 1fr) 后三按钮一行等宽。
  • 今日 KPI 卡片同高(修 CSS):之前「今日收入 / 今日支出 / 今日结余」三张卡因标题「今日支出」换行会被单独撑高。给 .lb 加 white-space:nowrap + flex 居中布局,三张卡同高对齐。
更新原因你截图反馈:① 翻月后折线不刷新;② 类型 tab 间距太大;③ 主题切换要是多种颜色设定;④ 切类型时希望默认第一个分类的不分细分;⑤ 今日 KPI 三张卡大小不一。逐条对应修复,全部为前端改动,无数据层变化。
自动化验证v2.2.0 回归烟测(jsdom 加载真实页面):
  • 翻到上无记录的月份后,每日走势 data 数组按当月天数重建且数值为 0、labels 长度 = 当月天数(用 Chart 桩暴露 cfg.data)
  • 点「支出」后 cat1Chips 第一项处于 .on 状态、cat2Chips 「不分细分」处于 .on 状态
  • 主题色卡共 4 个、点 mint 后 document.documentElement 的 data-theme = "mint"、本地存储 cb-theme = "mint"
  • type-switch grid-template-columns 包含 repeat(3
  • 所有 .lb 加 white-space:nowrap;.sum-item 用 flex 居中
v2.1.12026-09-09修复:点「本月/本季/今年」真正跳到今天所在时段 + 走势随范围显示(今年显示全年)+ 移除报表「去看这个月流水」按钮 + 分类颜色在饼图生效
更新内容补丁版本(只修不改架构,数据/分类/设置全部沿用),按用户发来的 2 张截图反馈修复 3 处问题,另补 1 处颜色收尾:
  • 「本月 / 本季 / 今年」现在真的会跳回今天(流水页 + 报表页都修):之前这几个按钮只切「数据范围模式」,如果你先前用顶部左右箭头翻到了历史某个月,再点「本月」,界面只会切模式、月份仍停在翻到的旧月份,看起来就是「点了没反应」。现在点「本月 / 本季 / 今年」会先把视图定位到今天所在的月 / 季 / 年,再切范围模式,标题和数据同步跳过去。想看历史月份照旧用顶部左右箭头。
  • 走势图随范围联动(今年 = 全年 12 个月):之前报表「逐月收支对比」和流水页走势卡固定画「最近 6 / 12 个月」,切到「今年」后还是旧的近 6 月窗口,看不出全年。现在走势横轴跟随范围:本月 → 近 N 月(保留 6/12 切换);本季 → 当季 3 个月;今年 → 当年 1–12 月;全部 → 记录覆盖的逐月;自定义 → 所选区间逐月。报表页在非「本月」模式下自动隐藏「近 6 月 / 近 12 月」切换按钮,避免和范围打架。
  • 去掉报表页「📋 去看这个月流水」按钮:你觉得多余,已删除。范围 tab 就在报表页内切数据,不再需要跳流水入口;想看某段时间的流水,点报表 KPI 数字即可跳到流水页对应范围。
  • 分类颜色真正显色:分类管理里给分类选的颜色,除了「记一笔」分类圆点外,现在报表「钱花在哪 / 收入从哪来」饼图的扇区与图例也会按该分类色显示(没设色的分类继续用默认色板)。颜色行上方加了「🎨 分类颜色:点圆点给 XX 换色(流水/报表同步)」说明,一眼可懂。
更新原因你发来截图反馈:① 流水页点「本月」不跳回本月、切「今年」走势不显示全年;② 报表页点「本月」不跳回本月,且「去看这个月流水」按钮不需要;③ 分类管理找不到多种颜色可选。根因分别是:范围按钮只切模式不重置当前月份、走势图写死近 N 月不随范围、独立跳转按钮与 v2.1.0 主方向重复、分类色只在记账处应用而报表饼图未跟随。全部为前端修复,无数据层改动。
自动化验证v2.1.1 回归烟测(jsdom 加载真实页面):
  • 点「本月」后月份标题回到今天所在月、KPI 指向本月
  • 报表切「今年」走势轴为当年 12 个月;切「本季」为当季 3 个月
  • 报表页已无「去看这个月流水」按钮、无对应 JS 绑定
  • 分类管理颜色行带说明文案、8 色点选可写 cb-cat-colors、饼图取色函数 pieColorOf 生效
  • 两页范围条(流水/报表)高亮随当前范围同步
v2.1.02026-09-09设计回退:报表范围 tab 不再跳流水页 + 二级分类叫「细分」+ 展示「分类-细分」+ 挂账可展开欠账人 + 分类多色切换
更新内容次版本(向后兼容),按用户发来的 3 张截图反馈,做 1 处设计回退 + 4 项功能调整,无破坏性改动,旧账号数据、分类、设置全部沿用:
  • 报表范围 tab 设计回退(重要):报表页上方的「本月 / 本季 / 今年 / 全部 / 自定义」这几个范围 tab,点击后只在报表内部切到对应那段范围的数据(KPI、构成、趋势都跟着变),不再把你跳去流水页。原因:你反馈点范围 tab 只想就地看报表那段数据,被带去流水页反而多走一步。想看对应范围流水,用报表页里恢复的独立按钮「📋 去看这个月流水」即可(它会把流水范围同步切好)。这是把 v1.8.0 的跳转设计撤回去。
  • 「明细」统一改「细分」:二级分类(原叫「明细」)在流水、报表、编辑、分类管理各处一律显示「细分」——「不分明细」→「不分细分」、「全部明细」→「全部细分」、提示「已添加明细」→「已添加细分」等。数据层字段名没变,只是显示词改了,老数据照常显示。
  • 展示格式「分类-细分」:凡涉及一级 + 二级分类的展示统一成「分类-细分」——流水表格显示「一级 - 二级」(如「食材采购 - 蔬菜菌菇」),多个分类用「;」分隔;报表饼图显示「一级 · 未填细分」(没填二级时);记一笔成功提示显示「一级-二级」。
  • 挂账账户可展开欠账人:资产页「挂账」那一行可以点开,点一下向下展开具体欠账人列表,按「待还 / 待收」分别汇总每个人的未结清金额,和「我的 → 欠/收款管理」的角色视角一致。
  • 分类管理多色切换:「我的 → 分类管理」弹窗里,每个一级分类旁边多了一排颜色点(默认灰 + 8 种预设色)。点一个颜色就给这个分类上色,选中态高亮;颜色存在本机浏览器(localStorage 键 cb-cat-colors),换电脑前记得用「备份与恢复」把本机数据一起带走。
更新原因你发来截图指出:① 报表范围 tab 一点就跳流水,想就地看报表数据却被迫跳出,要求恢复「只看报表范围」;② 二级分类叫「明细」和别处「流水明细表」混在一起不好懂,要求统一叫「细分」;③ 展示要直接是「分类-细分」;④ 资产页「挂账」只有总数、看不到具体欠了谁;⑤ 分类想用不同颜色区分。这 5 点全部前端调整,无数据层变动,升级后直接能用。
顺手修的问题报表范围 tab 的「本月」现在正确落在当前月、切换月/季/年不再残留旧数据(之前切换范围后图表未重算的显示问题一并修掉)。
自动化验证v2.1.0 新增 31 项端到端烟测(jsdom 加载真实页面 + 模拟点击),全部通过、运行期 0 报错:
  • 明细→细分:流水/报表/编辑/分类管理各处用户可见「明细」字样全部消失,仅剩「细分」
  • 分类-细分格式:表格单元格、饼图 key、记一笔 toast 均为「一级-二级 / 一级 · 未填细分」形态
  • 报表范围 tab:点本月/本季/今年/全部/自定义均只在报表内切范围、不再跳流水;KPI 标签「本月」正确指向当前月
  • 挂账展开:资产页挂账行点击后欠账人列表可见,按待还/待收汇总
  • 分类多色:8 色预设点选可写入 cb-cat-colors 并高亮选中态
  • 走势图坐标轴:日报 X 轴标题「日期」、Y 轴标题「金额(元)」均显示
v2.0.02026-09-09高级版重做:首页总览大卡 + 转账类型 + 流水每日走势 + 报表日历热力与大类/明细切换 + 全新「资产」页
更新内容主版本升级。整体排版与信息层级参考「小青账」重做,核心思路是先看清全局数字,再动手记账。旧账号数据、分类、预算、周期账、欠/收账全部沿用,无需迁移:
  • 首页「本月总览」大卡:打开就在最上方看到本月结余(超大数字),下面一行是本月支出、本月收入、今日已记笔数;设了预算还会多一条预算进度条,花超了会标红提示。以前这些信息藏在顶栏小字里,现在一眼就能掌握全局。
  • 首页只露「近三天」:底部账单从「最近 5 笔」改成近三天按天分组,每天一行小标题写明「N 笔 · 收 X / 支 Y」,再下面是当天明细。跟小青账一样保持首页清爽,想看更多点「查看全部流水 →」。
  • 新增「转账」类型:类型切换从「支出 / 收入」变成「支出 / 收入 / 转账」三档。选转账后填的是从哪个账户转出 → 转到哪个账户,分类等字段自动收起。转账不计入收入也不计入支出,不影响利润,只改各账户余额(比如银行卡取现到现金、微信提现到银行卡)。
  • 流水页顶部加「每日走势」折线:横轴是当月每一天,可切换「收支 / 仅支出 / 结余」三种看法,一眼看出哪天花得多、哪天没开张。鼠标放上去看当天数字。
  • 报表页三处增强:① 支出构成可切「大类 / 明细」两级(对齐小青账的一级二级报表);② 逐月对比可切「近 6 月 / 近 12 月」;③ 新增日历热力图,按当月日历排布,颜色越深代表那天花得越多,没记账的日子留白,可切看支出或收入。
  • 全新「资产」页(底栏第 4 个 tab):列出现金 / 微信 / 支付宝 / 银行卡 / 挂账各账户余额,顶部是账户合计。余额不用手工算,公式是「期初余额 + 收入 − 支出 + 转入 − 转出」。点「设置期初余额」填各账户开始用本工具时实有的钱,之后每记一笔自动加减。页面下方还列出最近的转账记录。
更新原因用户反馈「总觉得不如小青账」。对照小青账梳理后,差距集中在四处:① 首页没有月度全局数字,只有顶栏一行小字;② 账单页没有趋势图;③ 报表没有日历视图和二级分类视角;④ 没有资产账户概念,钱在几个账户里都说不清。本版逐项补齐,同时保留本工具原有的餐饮经营特色(食材成本率、平台抽成率、周期账、欠/收账角色)。
顺手修的问题统计口径加固:此前「收入 / 支出」的判断是「不是收入就算支出」,一旦出现新类型会被误算进支出。现已改成明确判断,转账不会被算成支出,利润数字不会被虚增。
2026-09-09 hotfix:一级分类跟着消失——core.js 的 catTree 把整行「二级明细被标停用」直接 continue 跳过,结果该一级分类连同它下面所有明细都被过滤掉,用户连一级都看不见。改成一级始终保留、只过滤单个明细。② 明细区整块被隐掉——app.js 的 renderCat2 在一级下没有任何可用二级时,会给「明细」字段加 hide 类整块藏起来,没任何提示。改成空态时显示「不分明细 + + 给该一级加明细」入口,用户能看见、能补、能选不填。③ 顺手发现 app.js 里有两个同名 renderCat2(前者「记一笔」、后者「流水页筛选器」),按 JS 函数声明后者覆盖前者,导致「记一笔」的二级联动从未真正跑过新版逻辑。已把后者改名 renderFCat2 隔离。
验证:新增 11 项「一级存在但二级为空」专项断言,叠加原有 156 项回归,合计 167 项全过。
自动化验证v2.0.0 新增 83 项专项校验(jsdom 解析真实页面 + 纯算法单测),叠加原有 73 项回归,合计 156 项全部通过:
  • 首页总览:8 个关键元素齐全,且位置在类型切换之前(保证「先看全局再记账」)
  • 转账:三分切换、转出/转入下拉、同账户校验、与周期/欠账互斥、备注标记、列表专用图标与不带正负号
  • 统计口径:转账 999 元既不计收入也不计支出(真实跑一遍断言)
  • 账户余额:期初 100/0/500 的四笔流水(含两笔转账)算出 220/150/400,且转账前后总额守恒
  • 日历热力:周一对齐、四档深浅、支出/收入可切
  • 样式:17 个新增类全部到位
v1.8.02026-09-09周期记账可设扣款日 + 流水二级分类联动筛选 + 报表范围 tab 直接跳到对应流水 + 导出/备份白话说明 + 未填/未选颜色加深
更新内容次版本(向后兼容),按用户发来的截图反馈,补齐 4 项实操功能 + 1 项可读性优化,无破坏性改动,旧账号数据、分类、设置全部沿用:
  • 周期记账「扣款日」:「记一笔」页底部「周期记账」里新增「每月几号扣(默认 1 号)」输入框。填实际扣款日(如房租每月 5 号就填 5),这条周期账的备注会带上【周期账 月摊 ¥X · 扣款日D号】,回看时一眼看清扣款节奏;月内没那天的(如 2 月 31)自动改用当月最后一天。
  • 流水页二级分类联动筛选:筛选栏一级分类右边新增「明细」下拉(默认「全部明细」)。先选一级(如「食材采购」),二级就只列出该分类下的明细(如蔬菜 / 肉类 / 水产…),再选二级精确筛某一类;切回「全部分类」,二级回到全部。
  • 报表页范围 tab 跳转:报表页上方的「本月 / 本季 / 今年 / 全部 / 自定义」tab,点击即跳到流水页,并把流水范围自动切到对应那段(流水页 tab 同步点亮)。想看某月报表数据再用报表页「左右翻月份」按钮即可。
  • 导出 / 备份区别白话说明:「我的」页「导出数据」卡和「备份与恢复」卡各加一段大白话说明,并单独标出:导出 = Excel 给人看(当前所选范围 / 全部数据,交给会计或留档),备份 = JSON 给程序用(完整数据包,可无损「还原成能继续记账的工具」,换电脑迁移、防丢数据用)。
  • 未填 / 未选颜色加深:流水卡片里「明细:(未填)」「支付:(未选)」「对方:(未填)」占位文字从浅灰斜体改成中灰正体,跟旁边的"明细:蔬菜"等实填文字一眼能分清,不会再像之前那样糊成一片看花眼。
更新原因用户发来截图反馈:① 周期账不知道该记几号;② 一级分类太粗、想再细一层;③ 报表看到异常想马上去流水却要多步切换(最初做了"去看这个月流水"独立按钮,发布后用户要求直接用范围 tab 跳转更顺手,已调整);④ 导出和备份看不懂有啥不一样;⑤ 流水卡片里"未填/未选"字太淡看不清。这几项全部前端 + UI 调整,无数据层变动,升级后直接能用。
自动化验证v1.8.0 新增 30 项端到端烟测(jsdom 加载真实页面),全部通过:
  • 扣款日:表单路径 + addPeriodic API 双路径,备注均写入「扣款日D号」
  • 二级联动筛选:选一级后二级只剩该分类明细,切回全部则全显示
  • 报表范围 tab:本月/本季/今年/全部 点击均跳到流水页且 tab 同步高亮;原"去看这个月流水"按钮已确认移除
  • 导出/备份说明:3 段文字均到位且涵盖 Excel/JSON/当前所选月份/当前账号等关键概念
  • 未填/未选颜色:计算样式确认 color=var(--muted)、font-style=normal(不再浅灰斜体)
v1.7.22026-09-08系统全面体检:修复「改了却看不到效果」的缓存版本号不同步问题
更新内容对全系统做了一轮完整体检(注册 → 记一笔 → 编辑 → 搜索 → 时间范围 → 报表 → 欠收款 → 备份,共 30 项自动化检查),查出 1 个隐蔽但影响很大的问题:主页面引用的 js / css 版本号一直没跟着升,导致浏览器一直用旧缓存文件。已修复。
包含功能
  • 修复缓存版本号不同步(核心):主页面里 core.js / app.js 的引用一直挂着 ?v=1.6.0style.css 挂着 ?v=1.7.0,而程序实际已经到 v1.7.1。浏览器发现网址没变就直接读本地缓存,于是 v1.6.1 之后的所有新功能和修复都加载不到——表现就是「明明改了,打开还是老样子」。现在三个引用全部统一为当前版本号
  • 本轮体检结论(其余各项均正常):记一笔保存(金额 / 时间 / 分类 / 支付方式写入正确)、搜索(对方、分类、备注、金额都能搜)、时间范围联动(本季→「2026 年第 3 季度」、今年→「2026 年」)、报表 6 张 KPI 卡(无 NaN)、欠/收款角色计算(待还 600 / 待收 500 准确)、备份导出 Excel、特殊字符转义(不会被注入)、本地数据损坏时不白屏
更新原因用户反馈「再看看这系统有什么问题」。做完整链路自动化体检时发现:之前每次升版本都只改了程序里的版本号常量和顶栏徽标,唯独漏了主页面里三个资源引用的 ?v= 参数。这个参数的作用就是告诉浏览器「文件变了,别用缓存」,漏改等于白改——这也解释了为什么之前几次反馈「改了没效果」。
解决事项
  • 主页面 core.js?v=1.6.0 / app.js?v=1.6.0 两年没升,v1.6.1~v1.7.1 的代码改动用户浏览器根本没加载
  • 主页面 style.css?v=1.7.0 停在上一版,v1.7.1 新增的样式(明细前缀、新建角色选项配色等)不生效
  • 三个引用版本号互不相同、也和程序版本号不一致,排查困难
v1.7.12026-09-08角色改下拉选择(强制从已有里选,没的就弹新建)+ 流水小字段加前缀标签 + 桌面「最近记的」时间重复修复
更新内容v1.7.0 用户实际操作后第三轮反馈:1 项体验改进(角色输入和直接输入没差别应强制下拉选)+ 1 项显示问题(小字段「不分明细」「未选」看不清含义)+ 1 项 BUG 修复(桌面「最近记的」同一条记录的时间显示了两遍)。
包含功能
  • 角色输入框改纯 select 下拉:把原来「input + 旁边的+」组合去掉,直接换成下拉框。选项从上到下:① 「+ 新建角色…」(高亮蓝紫,单独配色)② 已有角色(来自历史记录的对方 + cb-custom-roles 手动库)。选「+ 新建角色…」自动弹出新建窗、保存后下拉自动选中新名字、再下一次直接选就行,不能再像 input 那样随手敲字
  • 流水小字段加前缀标签:卡片视图的明细行 / 表格视图的明细列、支付列,原来直接显示「不分明细」「未选」三个灰小字,现在用结构化前缀标签显示成「明细:调味料」「支付:微信」,没填的字段也明确写成「明细:(未填)」「支付:(未选)」(灰斜体)
  • 桌面「最近记的」时间重复修复:首页最近记的卡片里,rec-meta 行已经显示 ⏰HH:MM:SS,下面的日期行又重复拼了一遍 今天 · 周二 · HH:MM:SS,同一条记录的时间戳显示两次。现在日期行只显示「今天 · 周二」,时间戳只显示在 meta 行那个 ⏰ 处
更新原因v1.7.0 角色下拉旁的「+」按钮和原来的 input 直接输入新名字对用户而言效果一模一样(都能写新角色),所以用户希望强制只能从已有里选;流水的小字段直接看「不分明细」「未选」三个字不知道是啥意思,加上「明细:」「支付:」前缀后一目了然;桌面最近记的时间显示两次是个隐藏 BUG,用户盯着看才发现。
解决事项
  • 欠账 / 收账角色框的「+」按钮只是另一种输入方式,体验上和直接输新名字没区别,没起到强制规范的作用
  • 流水卡片和明细表里「不分明细」「未选」「未填」三个灰小字挤在一起,看不出哪个字段对应哪个含义
  • 首页「最近记的」列表里每条记录的时分秒显示两次(rec-meta + rec-date 各一次),像系统记录了两个时间
v1.7.02026-09-085 处细节补齐:tab 颜色修复 + 角色「+」新建 + 角色行可展开 + 报表数字跳转流水 + 时间段标题按季/年联动
更新内容v1.6.0 角色化欠/收款上线后第一轮用户反馈集中处理:一处显示 Bug(修改记录 tab 没颜色)+ 4 个角色化后的延伸体验(角色提前建库、查看每笔往来、报表到流水的直达、时间段标题与上下按钮联动)。全部前端 + UI 调整,无数据层变动。
包含功能
  • 修改记录 tab 颜色修复:「点一条记录修改」弹窗里的支出 / 收入 tab 之前因为 data 属性名不匹配 CSS 选择器,导致选中 tab 不显示红/绿填充色(看上去像没响应);现在 tab 切换会有明确的色彩反馈,和「记一笔」主表单 tab 行为一致
  • 欠账 / 收账新增「+」新建角色按钮:输入框右侧加一个醒目的蓝边「+」按钮,点一下弹「新建角色」弹层,把常用对象(张师傅 / 房东 / 美团平台等)提前建进本地角色库;新建后下回记欠账 / 收账时直接选,不用每次手输
  • 角色行可展开看明细:「我的 → 欠/收款管理」里每个角色行点一下头部就展开,能看到这条线上的每一笔往来(日期 + 欠/收账标签 + 金额),再点单行直接打开该记录的修改弹窗查改
  • 报表数字跳到流水:报表页「本月收入 / 本月支出 / 本月结余」三张 KPI 卡现在可以直接点;点了自动切到「流水」页对应月份,并按这个方向预筛「全部 / 收入 / 支出」过滤,零步数从报表跳到对应流水
  • 流水 / 报表时间段标题按季 / 年联动:顶部范围切换「本季 / 今年 / 全部 / 自定义」时,中间标题自动换成「2026 年第 3 季度 / 2026 年 / 全部记录 / 起始 ~ 今」等不同文案;左右切换按钮也跟着按段跳(季 ±3 月、年 ±12 月,全部 / 自定义不可切段)
更新原因v1.6.0 第一次让用户实际操作角色化欠 / 收账,真用起来暴露了一连串小问题:弹窗 tab 没颜色看着像坏的、没建好的角色只能手输没法提前管理、汇总页只能看金额看不到底是哪几笔、报表上看到数字想去流水核对要手动切月份调过滤、时间段切换了但标题还停在「X 月」看着出戏。这一轮把这些一次性补到位。
解决事项
  • 修改记录弹窗支出 / 收入 tab 选中后没有颜色反馈,看着像没切换
  • 欠账 / 收账只能手输或选旧的「对方」记录,没有"先建好角色库"的入口
  • 欠 / 收款管理页只能看到每个角色的总金额,想看是哪些笔、什么时候记的记不起来
  • 报表上看到「本月支出 4.00」想跳到对应那几笔流水,要手动点「流水」再选月份和支出过滤,多步操作
  • 顶部切「本季 / 今年 / 全部」但中间标题还显示「2026 年 09 月」,视觉不一致;左右按钮也只能切月,季度切不动
v1.6.02026-09-07「更多记账方式」收回记一笔 + 欠账/收账引入角色 + 新增按角色的欠/收款汇总
更新内容把上一版的「更多记账方式」从表单下方的独立卡片收回「记一笔」表单内部,作为一组可展开的折叠项(周期记账 / 欠账 / 收账并排);欠账、收账里都新增「角色」选择(谁欠你 / 你欠谁,可选手写过的对象),并在「我的」里新增「欠/收款管理」页,按角色自动汇总每一笔的往来,事后一眼看清到底欠了谁多少、谁还欠你多少。
包含功能
  • 记一笔表单底部新增「⚙️ 还有更多记账方式」折叠(默认收起),里面并排 3 项:周期记账、记一笔欠账、记一笔收账,跟随当前收支类型记成支出或收入
  • 欠账 / 收账都要求选「角色」(可复用以前填过的对象,也可直接填新的),保存时角色会写进记录的「对方」,方便以后查
  • 「我的 → 欠/收款管理」汇总页:顶部显示总「我仍欠别人」与总「别人仍欠我」,下面按每个角色列出明细往来与「净欠 / 净收」结余,橙色「待还」、绿色「待收」徽标一目了然
  • 角色候选自动累积:凡是记过一笔的「对方」或欠/收账角色都会进入下拉候选,点选即可,不用重复打字
更新原因上一版把「更多记账方式」做成了独立卡片,和记一笔常规表单分得太开,视觉上割裂;同时欠账、收账只有「欠谁 / 收谁的账」一个选填框,没有把对象当「角色」管理,记多了根本分不清谁欠谁、各欠多少。
解决事项
  • 更多记账方式与常规记账分得太开,切换、连记不便
  • 欠账 / 收账没有统一的对象(角色),无法按人查结余
  • 记多了以后不知道每个供应商 / 熟人到底欠了还是被欠、差多少
v1.5.02026-09-07记账体验四连升:默认时间 + 个人中心 + 更多记账方式(周期/欠账/收账)+ 日期带周几 + 登录邮箱快捷输入
更新内容围绕「记一笔」和「登录」两个最高频场景做体验升级,全部沿用本机优先模式,不动数据结构。
包含功能
  • 记一笔默认填「当前时间」:打开记账弹窗时间框就自动是现在几点几分;在「支出 / 收入」之间切换时,时间还会自动刷新成切换那一刻的当前时间,连记多笔只改日期不用重填时间
  • 顶栏账号可点:点右上角邮箱进入「个人设置」,看账号邮箱 / 登录模式 / 店铺名 / 注册时间,可一键改店铺名、退出登录
  • 记一笔下方新增独立的「更多记账方式」卡片(与常规记账分离,不再嵌在表单里,参考小青账的清爽布局):内置周期记账、记一笔欠账、记一笔收账三类
    • 周期记账:年付房租等一次记总额,报表按月自动分摊(流水里不写多条)
    • 记一笔欠账:保存后强制「挂账」,备注打【欠账·待还】标记,列表左边框橙色、带💸图标
    • 记一笔收账:保存后强制「挂账」,备注打【收账·已收】标记,列表左边框绿色、带💰图标
  • 日期显示带周几:最近记的、顶栏当日、流水卡片日期都显示「周几」,一目了然
  • 登录 / 注册 / 找回密码页邮箱框下方加常用邮箱后缀快捷按钮(@qq.com、@163.com 等),点一下自动补齐,参考 08 收银管家
更新原因按实际使用反馈补高频小需求:记账时常忘记填时间、想快速看账号信息、需要记挂账和欠/收账、看日期想知道周几、登录时手输邮箱麻烦。
解决事项
  • 记账时间要手动选,连记多笔重复操作
  • 顶栏账号只是展示,看不到登录模式 / 店铺名 / 注册时间,也没法改店铺名
  • 挂账、欠账、收账没有专门入口,只能靠备注自己记,事后分不清
  • 流水只有「最近记得」没有具体日期和周几,跨天翻看对不上
  • 登录时邮箱要一个字一个字敲,容易输错
v1.4.02026-09-06改成本机优先模式:不建服务器也能用全部功能 + 一键备份恢复
更新内容数据模式从「必须连云端服务器」改成「本机优先」:不用建任何服务器、不用填任何配置,双击打开就能注册登录、记账、看报表,数据全部存在本机浏览器里;登录形态、账本结构都和原来一致,将来想上服务器时数据能直接迁过去。
包含功能
  • 本机模式:账号 + 全部账目数据存本机(localStorage),彻底离线可用
  • 图表、Excel 导出库已下载到本地,双击打开不再需要联网
  • 登录页显示「本机模式」徽标,账号密码本地校验,注册即用
  • 「我的」页新增「备份数据」一键导出备份文件、「从备份文件恢复」一键还原
  • 云端模式完整保留:以后在云端后台建好表、切到云端即可,程序代码不用改
  • 界面各处提示随模式动态切换(云端文案 → 本机文案)
更新原因云端版需要先在 Supabase 后台建好数据库表才能用;后台还没建表时,一打开就报英文错误,连试用都试不了。先把全部功能打磨到位、数据存在本机,跑顺之后再上服务器,避免被服务器配置卡住开发进度。
解决事项
  • 没建服务器、没建表时打开就报「schema cache」之类英文错,根本无法使用
  • 依赖外网 CDN,断网时图表和导出功能用不了
  • 数据只存本机后可能因清缓存丢失,缺一个一键备份/恢复的兜底
v1.3.02026-09-06分类管理一键补齐:餐饮常用分类点一下全到位
更新内容分类管理弹窗顶部新增「一键补齐餐饮常用分类」按钮。内置一套贴合餐饮店的常用分类模板(收入 5 组:堂食、外卖、团购券核销、会员充值、其他收入;支出 12 组:食材采购、房租物业、人工工资、水电气能耗、包装耗材、平台佣金、设备维修采购、清洁洗涤、损耗报损、营销推广、办公杂费、其他支出),点击后自动把账本里还没有的分类和明细补上;已经建过的分类绝不会重复添加,也绝不会动你已有的分类。
包含功能
  • 「我的 → 分类管理」弹窗顶部常驻「一键补齐餐饮常用分类」按钮
  • 补齐逻辑幂等:缺哪个一级分类整组补入,缺哪条明细只补明细,全部已存在则提示「无需补充」
  • 新补的分类排在原有分类之后,不打乱已有顺序
  • 补齐后当前分类列表立即刷新,无需重进
  • 老账号、新账号都适用;新账号首次登录仍会自动写入默认分类,互不冲突
更新原因内置常用分类只在账号「全新首次登录」时自动写入一次;如果当时删过分类、或是从老版本带上来的账号,后面想加回餐饮常用分类只能一个个手动建,费事又容易漏。加一个一键补齐入口,随时可以把账本补成一套完整的餐饮分类。
解决事项
  • 老账号没有默认分类,或默认分类被删过后无法快速补回
  • 手动一个个建 17 组常用分类太费时间
  • 想对比「食材采购」等常用科目却发现分类不全,报表统计不准
v1.2.02026-09-06记一笔新增「对方」:写清楚这笔钱给了谁 / 来自谁
更新内容记账除了能选「买了什么 / 卖的是什么(分类)」,现在还能记「钱给了谁 / 来自谁」:记一笔和改账时都有「对方」栏,支出时显示「支出给谁」(如 XX 蔬菜批发、房东、李师傅),收入时显示「收入来自谁」(如散客、张会员、美团结算)。填过一次的对方会被自动记住,下次输入出现候选项,点选即可。
包含功能
  • 记一笔新增「对方」栏:随收支类型自动切换提示(支出给谁 / 收入来自谁)
  • 输入自动联想历史对方,支出、收入分开建议,最近用过的排前面
  • 卡片视图每条记录显示「给 XX / 来自 XX」;流水明细表新增「对方」列,可点表头排序
  • 点开任意记录可补改「对方」
  • Excel 导出增加「对方」列,月底按对象对账更省事
  • 老库只需补执行一条 SQL 即可升级,见使用说明常见问题
更新原因光有分类只能看出「这笔钱买了什么」,看不出「钱给了谁」——供应商货款、房租、员工工资各花了多少,月底只能靠翻备注回忆;收入也分不清是散客、会员还是美团、饿了么哪笔结算的。
解决事项
  • 想按月统计「钱主要花在哪个供应商 / 房东 / 平台」时没有对应字段
  • 收入来源混在一起,说不清散客、会员、外卖平台各占多少
  • 同一对象每次手输易打错字,月底对账被算成两笔
v1.1.32026-09-06桌面端布局重做:顶栏全宽 + 左竖排导航,对齐 08 收银管家
更新内容桌面端布局从「左侧 200px 悬浮竖条 + 顶栏只盖主区」重做为「顶部全宽渐变顶栏 + 左白底竖排导航 + 右侧主区自适应」的两栏后台布局,视觉对齐同族产品 08 门店收银管家。
包含功能
  • 顶栏横跨整个视口(高 64px,常驻顶),左 logo + 店名 + 版本 + 今日日期,右 账号 + 刷新 + 深浅色 + ⋯ 菜单
  • 左导航白底、右边框分隔,4 个入口竖排:记一笔 / 流水 / 报表 / 我的
  • 导航项悬停浅蓝、当前页整条渐变填充(#2563eb→#7c3aed)白字高亮
  • 导航 sticky 常驻视口(top:64px),页面滚多长导航都在原位置,永不跳动
  • 主区自适应剩余宽度,页面内容自动居中不贴边
  • 移动端(<768px)不受影响:仍是单列布局 + 底部 4 tab 横排 fixed
更新原因v1.1.2 的左侧固定侧栏在桌面端视觉割裂:侧栏 200px 悬浮条孤悬在页面左侧,顶栏渐变只覆盖主区上方,左右两块背景不连贯,观感不像一个整体产品;08 收银管家同族产品采用「全宽顶栏 + 左导航」的标准后台布局,更耐看、更专业。
解决事项
  • 桌面端侧栏与顶栏背景割裂、顶栏未横跨全宽的问题
  • 页面内容在超宽屏下贴边拉伸,缺少内容最大宽度的视觉引导
v1.1.22026-09-06桌面端改成左固定侧栏,彻底修好 4 个按钮位置漂移问题
更新内容桌面端(窗口 ≥768px)把底部横排 4 个 tab 改成左侧固定垂直侧栏;移动端(<768px)继续保留底部 4 tab 横排不动。从此切换任何页面,4 个导航的位置都不会变。
包含功能
  • 桌面端新增左固定侧栏,宽 200px,从上到下纵向排列 4 个 tab:记一笔 / 流水 / 报表 / 我的
  • 当前页 tab 在侧栏里浅蓝高亮,永远在固定位置
  • 主区 padding-left 200px 给侧栏让位,内容再长也不会盖住导航
  • 移动端不变:底部 4 tab 横排 + position:fixed;bottom:0
  • 侧栏边框、阴影、安全区适配一气呵成
更新原因v1.1.0/v1.1.1 桌面端把 .tabbar 写成了 position:sticky;top:0,sticky 在主区滚到底部时才会出现,导致用户「点击这四个按钮,有时会在最下面,要划到下面才可以」,体验割裂。
解决事项
  • 桌面端切页面后底部 tab 跟随滚动条位置漂移,要找导航要滚一遍
  • 桌面端横向 sticky 4 tab 在 1280px 以上视觉扁平、看着像普通 footer 不像导航
v1.1.12026-09-06改回蓝紫配色 + 顶栏瘦身单行 + ⋯菜单收纳
更新内容配色回滚到蓝紫(与 07 本地版、08 收银管家同语言),顶栏从两行压缩成单行,原先散落的「刷新 / 退出 / 使用说明 / 更新日志」四个动作按钮收进右上角 ⋯ 弹出菜单。
包含功能
  • 主色回滚到 #2563eb(渐变到 #7c3aed),收入绿 / 支出红 / 警示橙恢复项目家族一致配色
  • 顶栏单行:左 logo + 店名 + 版本徽标 + 今日日期;右 账号胶囊 + 刷新 + 主题 + ⋯
  • ⋯ 菜单收纳「退出登录 / 使用说明 / 更新日志」,点空白处自动收起
  • 底栏维持 position:fixed + grid 4 列,切换页面不再跳动
  • 窄屏 (≤520px) 自动隐藏账号胶囊,≤380px 隐藏副标题日期
更新原因v1.1.0 的暖橙配色与项目家族(07 本地版、08 收银管家)不一致,且顶栏两行排布过于密集,账号胶囊与四个动作按钮挤在一起,移动端尤其明显。
解决事项
  • 配色与同族工具不一致,看着不像同一个产品线
  • 顶栏第二行的「刷新/退出/使用说明/更新日志」四个按钮在窄屏挤成一排,按错率高
  • 切换页面时顶栏与内容区会因布局密度不同产生视觉跳动
v1.1.02026-09-06顶栏信息升级 + 流水明细表视图 + 全站暖橙配色
更新内容顶栏补齐品牌标识、版本徽标、今日日期、登录账号与刷新 / 退出 / 使用说明 / 更新日志入口;流水页新增可排序的明细表视图;全站配色换成餐饮暖橙,与视觉设计稿统一。
包含功能
  • 顶栏两行布局:品牌 + 店铺名 + 版本徽标 + 今日日期 + 深浅色;账号胶囊 + 刷新 / 退出 / 使用说明 / 更新日志
  • 流水页可在「卡片视图 / 明细表视图」之间一键切换
  • 明细表 6 列:日期 · 类型 · 分类 · 摘要 · 方式 · 金额,点表头即排序,再点反向
  • 表格表头吸顶、斑马纹、合计条吸底:显示当月笔数、收入、支出、结余
  • 会员充值仍单独标注为「负债」,不计入收支合计
  • 浅色改暖白底、深色改暖黑底,主色统一为暖橙 #F2731C
更新原因原来顶栏只有一行标题,看不到当前账号和日期;流水只能一行行翻,没法按金额排序、也没法一眼看到当月合计;网页配色和视觉设计稿不一致,两边看着不像同一个产品。
解决事项
  • 顶部看不到账号、日期、版本号,也无法快速刷新数据
  • 流水无法按金额 / 分类排序,月底对账要来回翻页
  • 网页(蓝紫)与设计稿(暖橙)配色不一致
v1.0.02026-09-05首个可独立使用的云端版
更新内容首个正式版本,含记账、流水、分类管理、经营报表、预算五大模块,数据存云端、按账号隔离。
包含功能
  • 云端账号登录 / 注册 / 找回密码,数据按账号隔离
  • 记一笔:收/支切换、一级 + 二级分类联动、金额、备注
  • 流水:按日期分组、多维筛选、编辑 / 删除
更新原因原来零散记账无法分析、换设备看不到、分类不统一;需要随手可记、月底可看的经营账本。
解决事项
  • 记账入口分散、换设备不同步
  • 会员充值误算收入、平台抽成看不出
餐饮流水管家 · 更新日志(全量)· 程序在版本号升高时自动于顶部追加