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

本工作台的全部版本迭代记录,最新在最上方。v4.20.0 停用分类能管起来了、定时保存不再卡死:分类管理每个大类多了「停用」按钮,停用后整组移到「已停用分类」区(只显示已停用的,不占位置);顶部「停用 / 恢复分类」再开一个弹窗,能整组恢复或点某个细分单独恢复;旧损耗标记(报损 / 来源于)也摘进「系统备注」列;修掉定时记账保存卡在「保存中…」;休息记录可以编辑修改。
v4.19.2 修定时计划跨机丢失:本地模式导出再导入,定时记账的计划配置会整包丢掉,现已对齐导出/导入两端对设置项数组的约定,跨机恢复后所有关联不断。
v4.19.1 导出更清爽、工作表更全:导出的「备注」只留你写的话,系统标记单独进「系统备注」列;删「更多记账」、周期账改名「周期记账」、新增「分日记账」「定时记账」两表;损耗标记带 #编号。
v4.19.0 编号看得懂了:流水/损耗用 JF、周期用 PD、定时用 SC、分日用 FD,后面跟日期和序号(如 JF202611040001);旧记录保留原随机编号不动。
v4.18.0 / v4.17.0(概要补录):报表吸顶体验优化、新增校验台、支持 PDF/音频导出;以及若干性能与稳定性打磨。
v4.16.0 经手能改了:编辑周期账 / 定时任务时可以直接改「经手」,改完已记流水一起改;点周期账卡筛选也能认出备注没标记的老流水。
v4.15.3 缺的那几期点名说清:「已记 2 期、流水只找到 1 笔」时,弹窗直接写出缺的是第几期、应记哪天、每期多少钱,拿日期就能去流水页对账。
v4.15.2 编号识别容错 + 编辑页列流水:备注里「# 编号」多一个空格也认,编号被改坏的老流水按「该期日期 + 每期金额 + 分类」找回;编辑周期账直接列出已记的流水;修掉「改定时金额成功却弹操作没成功」。
v4.15.1 经手跟随第一笔、分天改分日:自动记的经手人在登记时就落库,不再靠翻流水反推(根治「变 local」);改金额提示里列出每期记流水的时间;「分天记账」改名「分日记账」。
v4.15.0 周期记账可设时间、定时记账上首页:周期账固定时间代代沿用并回填已记流水;流水页新增「定时记账 · N 条」卡片;暂停恢复改顺延;已暂停/已结束收进底部折叠区。
v4.14.2 系统备注统一 + 编辑页排版对齐:三类自动账的系统备注统一成【周期记账】【定时记账】【分天记账】一套写法(老记录自动改写);编辑周期账 / 编辑定时任务按「记一笔」的两列版式重排,补上付给与时间;定时记账可以起名字。v4.14.1 界面收尾:去掉多余小字、并排输入框等高、定时条件框两列并排;分天 / 定时 / 周期账自动记的流水补上时间,流水备注末尾标出【周期记账】【定时记账】【分天记账】来源。v4.14.0 新增分天记账 + 定时记账(都在记一笔表单上加框完成):一笔钱分多天入账(余数堆最后一天)、按周期到日子自动记一笔;界面按要求重排(四格照常显示、起始日与日期联动、面板内两列成行、退出回普通支出);更多记账弹层改居中,自动生成的记录带可溯源的系统备注框。v4.13.2 三处文字样式与对齐修正:公式里中文用常规说明灰、金额纯黑不加粗、字号统一 11.5px;横跨两栏的短公式居中;两边相同的副说明行居中(计算口径不变)。v4.13.1 四处排版修正(计算口径不变):一侧空着的行改为通栏(不再一半有字一半空白)、右栏副说明不再重复显示、左栏公式改顺排文字(不再挤成三行贴边)、人工成本率公式补括号;v4.13.0 两处调整(一处显示修正 + 一处明细展示增强):周期账公式改为逐笔列出每一笔(不再只举第一笔),一眼看清各笔怎么加、合计怎么来,计算口径不变;双栏卡改为「头部一行 + 数值行 + 副行 + 通栏公式」,左右两栏行数对齐、1:1 等宽;v4.12.0 两处调整(一处核心计算修正 + 一处界面增强):周期账摊销改为按「自然月整月摊」,修正本月/本季/今年被周期账起始日截短、且与右栏(租金占比)口径打架导致「÷31×6=合计1166.67」自相矛盾的问题;双栏卡左右两栏始终画竖线分隔(账面≠应计时线加粗变主题色、右栏空白也画);v4.11.0 四处调整(界面 + 一处计算修正):大屏 KPI 改每行 4 列并删掉遗留的 220px 网格覆盖、提示「点击可跳转至流水」改「点击查流水」且与指标同行不遮挡、周期账摊销除数统一改为所属月份实际天数(28/29/30/31,随查看月份逐月变化);v4.10.0 六处界面调整(含一处显示修正):删除口径开关说明、左右两栏说明默认折叠、毛利率"理论/实际毛利"移到金额右侧、损耗率右栏补公式、公式行按长短居中/左对齐;并修"当前口径"被吸顶卡遮挡;v4.9.1 两处修复:KPI 卡片网格最小列宽改为「不超过容器 100%」,手机上不再撑出横向滚动条;「区间进度」那一行收紧间距、压缩天数文字,让「预计全月」开关在 360~412px 手机上都稳定留在同一行。v4.9.0 九处调整:流水「编辑」行加收入 / 支出 / 结余;「预计区间全程」开关挪到区间进度那一行的最右边;账目视角不再显示经营那一摞(口径开关 / 说明 / 当前口径 / 区间进度 / 预计全程 / 经营体检 只在经营视角);「当前口径」搬到口径说明下面并跟它同字号;说明离开关拉开 12px;能耗率左栏改口成「右栏把本月能耗平摊到区间天数」;租金 / 装修 / 设备三张摊销卡的计算合并成通栏一行;「左右两栏怎么看」补一句大白话。v4.8.5 一处调整:口径开关只把「理论支出计入经营指标 + 开关」那一行钉在顶栏下方,下面那句说明移出吸顶组、跟着内容滚走;吸顶这一行不再含说明,高度恒定,跨过吸附阈值不跳。v4.8.4 一处修复:修「上滑时卡一下」——上一版吸住瞬间把口径开关卡的说明文字隐藏、内边距也压小,整块矮了十几像素,下面内容跟着上跳,看着就卡;现在吸附前后尺寸一致,并把滚动回调改成按帧节流、CSS 变量只在变化时写。v4.8.3 三处调整:经营视角卡片补齐「详细计算」——租金占比补上「周期账按天摊 + 一次性 = 合计」与「每期 ¥1,166.67 ÷ 31 天 × 20 天 = ¥752.69」,装修 / 设备 / 能耗的右栏也给出算式;顺带把「理论支出计入经营指标」开关并入吸顶组,下滑时钉在顶栏。v4.8.2 一处修复:修「同一分类下有两笔周期账 → 右栏凭空翻倍」——重建 / 重复创建周期账后留下的旧流水(编号已不在配置里)会被右栏当成「窗口外周期账」再摊一遍,¥752.69 被算成 ¥1,505.38;现在同分类有在册周期账时旧流水一律不再计入。顺带把 ?v= 缓存号升到 v4.8.2,避免浏览器继续用缓存的旧 app.js。v4.8.1 三处调整:① 经营视角「视角切换 + 齿轮」重新钉回顶栏——下滑时跟月份 / 范围一起吸在顶栏下方,随时切换账目 / 经营视角;② 右栏「人工(应计)」拆成「人工工资(应计)+ 夫妻工资(应计)」两项明细,和左栏口径完全一致(口径开关关掉时夫妻工资自然为 0);③ 修正左右栏语义说明——明确左栏=本区间账面(含周期账摊进本区间)、右栏=截至今日 / 区间应计(按天折算到今天,不是整月),周期账在左右栏是同一笔摊销结果、不会翻倍,直接回应「租金翻倍」的疑问。(租金翻倍的旧 Bug 在 v4.8.0 源码里已修,本版确保发布版含修复。)v4.8.0 五处调整:① 周期账改成按天精确摊——装修 / 设备 / 租金这类走周期账的分类,改成「每期金额 × 本区间与该期重叠天数 ÷ 该期天数」,任意自定义区间都能算出该摊的钱,不再因为没有整笔落在区间里就显示 0;② 点装修摊销 / 设备摊销 / 租金占比卡跳流水时自动把时间范围放宽到「全部」,一定看得到周期账每一期;③ 口径开关卡压到两行(标题与开关同一行、说明只一句),名字改成「算上夫妻工资的经营」/「不算夫妻工资的经营」;④ 修 开关关掉后人工成本率公式里还留着「夫妻工资」;⑤ 修时间范围选「全部」时报表页报错的隐患。v4.7.0 四处调整:① 毛利率两档叫全名——「毛利率(不含损耗)理论毛利」=假设买进来的菜一点没坏、「毛利率(含损耗)实际毛利」=再把损耗扣掉,「实际毛利」卡的算法里直接写明两档差几个点、折成钱是多少;② 报表顶部新增「理论支出计入经营指标」口径开关——开=经营口径(夫妻工资 / 折旧 / 自有资金利息 / 门店自用都算进成本,看开店本身赚不赚钱),关=口袋口径(这几笔钱没真掏出去,整类剔掉,看口袋里到底多了还是少了),收入 / 支出 / 结余、经营指标、预计全程、支出构成饼图、经营体检全部跟着变;③ 报表底部新增「经营体检」卡——把比率翻译成人话:赚没赚、钱花在哪(前三大块)、哪几项超建议线、跟上一期比、保本线还差多少、下一步干什么;④ 修两个真问题:「理论支出 ▸ 夫妻工资」细分出现两个(默认分类表与改名迁移撞车,已自动去重,只删多余分类条目、流水金额不动)、记一笔的时间停在「打开账本那一刻」(没手动改过日期时间就自动刷新成当前时刻,改过的绝不覆盖)。v4.6.0 五处调整:① 毛利率拆成两档——「不含损耗」(只扣食材采购,就是原来那个数)和「含损耗」(再把损耗报损扣掉),两档之差就是损耗吃掉的钱,卡片说明写明两者区别;② 报表所有比例改两位小数(58.2% → 58.23%),指标卡、右栏应计、环比同比、饼图图例与导出 Excel 全部统一;③ 人工成本算上「夫妻工资」——人工成本 = 人工工资 + 理论支出·夫妻工资(夫妻俩自己的工资,钱没真发出去但同样是人力投入);④ 自定义日期按日薪平摊工资——选某月 1~7 号,一整月工资只算 7/31,不再全额砸进这几天;⑤ 「理论支出」提示改文案换配色(补上「发给员工的工资请选『人工工资』」、主色底醒目显示),细分「经营工资」改名「夫妻工资」。v4.4.0 三处显示调整:① 窄窗口(390~640px)里「(点击可跳转至流水)」不再被挤到指标名下面单独一行,改成自动缩字号跟「营收」「综合费用率」这些名字同一行(460px 约 10~12px,390px 最小 9px;桌面多列时左栏太窄,缩不下就照旧排第二行);② 报表左右两栏字号拉齐(说明 11.5px、公式 11px),公式里的金额和百分比加粗,最下面「算法:」那行保持 11px 不变;③ 综合费用率移到营收正后面——赚了多少后面紧接着被花掉多少,费用率 + 净利率 = 100%,两张卡挨着看。v4.2.0 按老板拍板把成本结构饼图精简成一张「截至今日(应计)」(账面那张跟账目视角支出构成重复,删掉)并新增大类 / 细分切换;「预计全月」随范围变「预计全季 / 预计全年」,「费用」明确改叫「支出」;左栏公式改成名字金额同行的内联格式、占比左右同色同字号、账目三卡右栏说明独立成行、手机上饼图浮框不再被屏幕挡住。v4.1.0 继续打磨双口径报表:成本结构改成上下两张饼图(账面 / 截至今日)、报表卡去掉填充框压得更紧、「点击可跳转至流水」挪到标题名后面、本季和今年也纳入折算(所选范围包含今天就有右栏)、报表卡加宽让页面变短。v4.0.0 新增「截至今日」双口径:每张卡改成左右两列逐行对齐,右栏把周期账、月底才记的能耗工资按天折算成应计数,月中看经营不再被「整月固定成本 vs 半月收入」吓到。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,不会破坏已有数据)。本机模式的账号、分类、流水、设置、备份全部照旧。

当前版本 v4.20.0 · 共 185 个版本 · 最新在最上方
📖 查看使用说明☁️ 云端部署与维护
v4.20.02026-11-04停用分类完整闭环;旧损耗标记摘进系统备注;修定时记账保存卡死;休息记录可编辑
为什么升次版本这一版既有新增功能(停用/恢复分类、休息记录编辑),也有纯 bug 修复(定时记账保存卡死)和识别规则放宽(旧损耗标记归类),都向后兼容——旧账本不用改任何设置、不用动云端表、旧备份照样能导入。按 SemVer「修 bug + 加新功能同时出现时取高」,升次版本(v4.19.2 → v4.20.0)。
① 旧损耗标记摘进「系统备注」列(不动历史、纯分类)老板反馈:上传到云端后,早先登记的损耗,备注没改、也没进「系统备注」列。查下来不是关联丢了——旧记录里的「报损」「来源于」这些老写法一直好好保存在备注里,上传 / 导出 / 导入都不会丢;只是系统备注的提取规则只认新格式(带 #编号的【损耗登记:…】【损耗登记来源:…】),老写法没被认出来,所以既不在导出列、也不在 App 的「系统备注」框里。
本版在三处同步放宽识别规则(core.js 的 SYS_NOTE_RX、sysNoteText,以及 app.js 的 WASTE_RE),让旧「报损-3元」「来源于…的…」也归到系统备注。一条历史记录都不改写,纯分类,个人手写的备注一个字不动。
「预本子」这个标记在现存所有源码备份(最早到 v4.8.5)和文档里都找不到样本,没敢瞎写正则误伤正常备注;需要的话提供一条真实老记录原文即可补上。
② 定时记账保存卡在「保存中…」(真 bug)老板反馈「定时任务怎么保存不了」:点保存后按钮一直显示「保存中…」,计划根本没写进去。根因是 save() 里新建计划对象时写成了 id: CB.genId('SC', scObj.起始日)——对象还没赋值就先引用了自己,JS 当场抛错,按钮的「保存中…」状态再也退不出来(从 v4.14.0 起就埋着)。现在改成先把起始日取到局部变量 scStartDate 再引用,保存恢复正常。
③ 停用分类:停用 → 查看 → 恢复 完整闭环老板先问「停用的字段是什么、去哪里看」,再要求「每个分类里有个停用按钮,点了移到停用区,停用区只显示停用的」。本版按这个形态做全:
· 每个一级分类卡片加「停用」按钮,点一下把该大类整组标记停用,卡片从主列表移走;历史流水一条不删,分类名原样保留;
· 「已停用分类」区放在主列表下方,只放已停用的分类,一个大类一行(写清几个细分),右侧「恢复」一键整组启用;没有停用项时整块不渲染,不占地方、不混入没停用的;
· 弹窗最上面新增「⏸ 停用 / 恢复分类」入口,点它再弹出一个「停用分类」弹窗——里面也只列已停用的分类,按大类聚合,可「恢复整组」,也可点某个细分 chip 单独恢复(这就解决了「一个个细分铺一行、占位置太大」);
· 导入备份时与已有分类重名、被保留为「停用」以免老流水对不上的分类,同样在两处都能看到并恢复。
④ 休息记录可以编辑修改「我的 → 店铺休息」原来只能新增、删除,写错日期或原因只能删了重记。现在休息记录列表每行多一个「编辑」按钮,改完保存列表立刻刷新,日期 / 时段 / 原因都能改。
验收真实浏览器端到端 版本升级脚本/验收_v4.20.0.js 21/21 全过:定时计划保存不再卡死且确实写入、休息记录编辑后原因回写、顶部入口位置、卡片停用整组、停用区只显示已停用分类、恢复后回到主列表、第二个弹窗只列已停用分类(未停用的不出现)、整组/单个细分恢复、导入重名孤立项可恢复、全程无未捕获 JS 错误。
另有系统备注正则单元测试 版本升级脚本/_test_sysnote.js:旧报损 / 旧来源于正确摘入系统备注、新格式仍认、含「报损」字样的个人备注不误伤。
兼容性 / 云端要不要动不用动:停用状态写在 cb_categories 原有的 停用 字段上,休息记录仍存在账号设置里,都没给云端表加列;旧备份、云端库表结构一律不变。上传 Cloudflare Pages 后请 Ctrl+F5 强刷,顶栏版本号应为 v4.20.0。
v4.19.22026-11-04修导出/导入在本地模式下定时计划配置丢失,跨机恢复后关联完整
为什么升补丁号只修一个真实 bug(本地模式导出再导入,定时记账的计划配置会丢),不改任何功能、不改数据结构、不改编号规则。按 SemVer 升补丁号(v4.19.1 → v4.19.2)。
问题老板反馈:在一台电脑导出备份、到另一台导入,定时记账的「计划」不见了——之后不会自动记了,但已经记出来的流水还在。经核对,是本地存储把「设置」存成数组、导出/导入两端约定不一致导致的:
· 导出时直接读本地存储拿到的设置是数组,取不到 `数据.定时计划`,所以导出的「定时记账」表是空的;
· 导入时又把设置写成单个对象、且没带账号标识,和本地「数组」约定冲突,导入后按账号过滤取不到,计划配置就丢了。
修复两处都对齐本地存储约定:
· 导出端:读到设置数组后取第一条、归一化成单对象,再读 `数据.定时计划` 生成「定时记账」表;
· 导入端:本地模式按数组写回,并强制把账号标识落到当前账号,和本地约定一致。
云端模式本来就是按表存、不受影响。这样无论本机还是云端,导出再导入都能把计划配置完整带过去。
验证新写真实浏览器往返测试 __verify/test_roundtrip_4191.js:造全量数据(含周期/定时/分日/损耗、且含一条 v4.19.0 前的旧随机编号记录)→ 导出 → 清空 → 导入另一账号 → 二次导出,22/22 全过。关键证据:
· 导入后损耗①②③、周期、定时、分日每一条关联都不断;
· 定时计划配置修复前是 null(计划丢了),修复后是 SC202610260001(计划完整恢复);
· 二次导出的表名、每行「个人备注」、系统备注(旧编号换成新编号后)与首次导出完全一致——即「导出和导入完整匹配」。
既有回归零破坏:sheets_loss 30/30、export_sheets 19/19、remap 10/10、genid 16/16、旧格式兼容 E2E 5/5、genid E2E 10/10。
兼容性 / 云端要不要动不用动:只修导出/导入对本地存储约定的处理,不改线上库表。上传 Cloudflare Pages 后请 Ctrl+F5 强刷,顶栏版本号应为 v4.19.2。
v4.19.12026-11-04导出备注只留个人内容;工作表重组(周期记账/分日记账/定时记账);损耗标记带 #编号
为什么升次版本导出结构有变化(新增列、新增/改名工作表),旧备份仍能导入(导入做了兼容)。属向后兼容的功能增强,升次版本(v4.19.0 → v4.19.1)。
① 导出「备注」只留你写的话以前导出的「备注」列里混着程序自动维护的系统标记(周期/定时/分日/损耗的来源与编号),你写的话和机器标记搅在一起,发给会计或自己看都乱。现在:
· 「备注」列 = 只有你手写的个人内容(用 `stripSysNote` 把系统标记剥掉);
· 新增「系统备注」列 = 只放程序标记(周期记账第几期、分日/定时批次、损耗来源与 #编号),一眼能区分。
导入时再把两列拼回完整备注,所以「导出再导入」和原来一模一样,不会丢任何关联。
② 工作表重组老板要求:「周期账和更多记账工作表内容重复了,把更多记账删除,新建分日记账、定时记账工作表,周期账工作表改名周期记账」。改动:
· 删除「更多记账」工作表(它和周期账内容重叠);
· 「周期账」改名为「周期记账」;
· 新增「分日记账」和「定时记账」两张表,列布局和周期记账一致(id / 起始日 / 总额 / 期数 / 类型 / 一级分类 / 细分 / 对方 / 支付方式 / 备注 / 已入账期数 / 暂停);
· 分日记账由流水里的 `#FD批次` 标记聚合、定时记账从「设置.定时计划」汇总,都保证数据完整、可导入恢复;导入只认 流水/分类/预算/周期记账(兼容旧名)/单价/设置,分日与定时作为派生视图从流水和设置还原。
③ 损耗标记带上 #编号登记损耗时写的两处系统标记,原来没有编号、跨机导入时定位不到来源。现在:
· ① 来源记录上的标记:【损耗登记: 2026/11/04 损耗 1 元#损耗id】(反查这笔损耗记录);
· ② 损耗记录上的标记:【损耗登记来源:食材采购-肉禽蛋(2026/11/04采购)#来源id】(反查这笔采购/收入);
· ③ 隐藏关联标记保留。保存逻辑改为先建好损耗记录拿到它的新编号,再回写来源记录的 ①(带 #损耗id),保证来源能精准指回损耗。
同时修了一个隐藏 bug:旧导入重映射正则只匹配隐藏 ③ 标记,覆盖不到新的 ①/②,已补 ①a/①b 两条正则,导入时把旧编号正确换成新编号。
兼容性 / 云端要不要动不用动:导出列和工作表名变化只在备份文件里,不改线上库表;旧备份(带「更多记账」「周期账」表名、旧格式标记)照样能导入(导入做了兼容识别)。上传后 Ctrl+F5 强刷,顶栏应为 v4.19.1。
v4.19.02026-11-03流水/周期/定时/分日编号改为可读格式(如 JF202611040001),旧随机编号保留
为什么升次版本新增编号规则(向后兼容,旧数据不动),升次版本(v4.18.0 → v4.19.0)。
问题之前每条记录是一串随机字符(如 `mw0uyu1eyu61ff2`),看不出是哪天、哪类、和别的记录什么关系;损耗、周期、定时、分日这几类自动账互相靠备注里的 `#随机串` 关联,跨机导入时若编号对不上就断链。
做法:可读编号新记录统一用「前缀 + 日期 + 4 位序号」:
· 流水 / 损耗 → JF(如 JF202611040001)
· 周期账 → PD
· 定时记账 → SC
· 分日记账 → FD
序号按「当天同前缀」从 0001 自增,纯数字、不出现字母后缀;同一个时间戳+随机的串不再使用。
旧数据保留不动:v4.19.0 之前建的随机编号(如 `mw0uyu1eyu61ff2`)原样保留,不迁移、不重写——所以你看到的「随机编号」一定是那笔记录在 v4.19.0 之前建的(或当时浏览器跑了旧缓存代码),新建记录一律是可读编号。
关于「会不会重复 / 加字母 / 增加云端压力」生成时先扫现有记录里同前缀同日期的最大序号、再 +1;导入合并时若撞号会自动顺延,不会重复。序号永远是纯数字,超过 9999 自然进位成 10000,不会冒出字母。新编号只在「新建记录」时生成,不增加任何云端录入负担(旧记录不重写、不触发重算)。
验证__verify/test_genid_4190.js 16/16(格式、序号自增、旧随机 id 隔离、撞号顺延、1 万条零重复)+ __verify/test_genid_e2e_4190.js 10/10(真实浏览器验证四个前缀都走可读编号、导入重映射正确)。
v4.18.02026-10(概要补录)报表吸顶体验优化、新增校验台、支持 PDF / 音频导出
说明本版为概要补录,详细变更条目未在本次文档重建中逐一展开,确切内容以当时提交记录为准。已知要点:
· 报表页吸顶体验优化(进度吸顶更顺、不再跳动);
· 新增「校验台」,对账/查错更方便;
· 支持把报表/说明导出为 PDF 与音频(朗读)。
更早上百个版本的完整历史见 v4.16.0更新日志.html。
v4.17.02026-10(概要补录)性能与稳定性优化
说明本版为概要补录,未在本次文档重建中逐一展开,确切内容以当时提交记录为准。已知为若干性能与稳定性打磨,数据结构与编号规则未变。更早历史见 v4.16.0更新日志.html。
v4.16.02026-11-02周期账 / 定时任务的编辑里能直接改「经手」;点周期账卡筛选能认出备注没标记的老流水
为什么升次版本这一版加了新功能(两类自动账的编辑里可以改经手),旧账本不用改任何设置、不用动云端表,按 SemVer 升次版本(v4.15.3 → v4.16.0)。
① 编辑周期账:新增「经手」老板要求:「周期定时的编辑应该增加一个经手的修改」。以前周期账的经手只能沿用登记时那个人,万一记歪了(比如本机模式变成 local)、或者换了人接手,只能删掉整笔重记。现在编辑弹窗「付给|时间」下面多一栏经手:
· 上面一排名字(当前经手、这台设备的经手、记过账的人,最多 6 个),点一下直接填进去,也能自己写;
· 留空保存 = 不改(还是按「设置里记下的 → 已记流水期数最小的那笔 → 当前经手」这个顺序取值,和自动补记完全一致)。
改完保存,已经记过的流水会一起改成同一个人。为什么整笔统一:一笔周期账本来就是同一笔钱分几期扣,经手只该有一个人;只改之后补记的话,前面几期还是旧名字、后面变成新名字,看着像两本账。只动备注里明确带这笔编号的流水,不按日期金额兜底去改,免得把别人手工记的同额账也改了。改了几笔会写在提示里:周期账已更新,2 笔流水的经手改成了「吴立峰」。
② 编辑定时任务:同样能改「经手」位置、样式、用法和周期账一模一样。以前保存时是「沿用原登记人」,现在表单里填什么就用什么;改了之后已经自动生成的那几笔流水一起改,之后每次自动记也都用这个人。没改人就不扫全表,保存还是原来那么快。提示里同样会说改了几笔。
③ 点周期账卡筛选,认得更全了老板反馈:「点击这两个卡片怎么筛选不出周期账」。查下来:列表筛选原来只认备注里带「【周期账 …】」标记的流水,而编辑弹窗里用的是另一套判断——备注没带标记、但能按「该期日期 + 每期金额 + 分类」认回来的老流水(更早版本记的、备注被清过的)在弹窗里列得出来、在列表里却筛不到,点完卡片就是一片空白,顶部「收入 / 支出 / 结余」也全成 0。现在两处共用同一个判断:有标记的算,认回来的也算;「本月周期账」卡上的合计也跟着一起对齐,不会再出现「卡片 0.00、下面却躺着周期账流水」。
验收专项 18 项 × 390 / 375 / 360 三档全过:经手字段出现、初值取对(流水里期数最小那笔)、点名字能填入、保存后设置里记下新经手、已记流水全部改过来、提示里写出改了几笔、定时任务同样(含计划里的记账人也一起改)、备注没标记的老流水也能被筛选认出来、弹窗不横向溢出。
另外拿老板 2026-11-02 导出的真实备份(365 条流水 / 8 条周期账)单独验证:把这 23 条周期账流水的备注标记全部去掉再点「全部周期账」,仍然筛出 23 条、合计 ¥8,918.63,和带标记时一模一样。
既有回归零破坏:v4.15.3 13 项、v4.15.2 17 项、v4.15.1 17 项、v4.15.0 四组 36/24/17/12 项、v4.14.1 30 项、v4.14.2 36 项、主冒烟 14 项、窄屏 48 项,全部 0 失败。
兼容性 / 云端要不要动不用动:周期账的经手存在账号设置里(cb_settings 原有的 JSON 字段,和「时间」同一套做法),定时任务的经手本来就存在计划里,都没给云端表加列。上传 Cloudflare Pages 后请 Ctrl+F5 强刷,顶栏版本号应为 v4.16.0。
v4.15.32026-11-02已记期数在流水里找不到时,点名说清缺的是第几期、应记哪天、每期多少钱
为什么升补丁号只改提示文案(多带一句「缺哪一期」),不动识别算法、不动补记逻辑、不动任何数据,同一份账本算出来的结果和 v4.15.2 一模一样。按 SemVer 升补丁号(v4.15.2 → v4.15.3)。
问题老板反馈:「明明已经记了 2 期,怎么只显示 1 期」「编号是系统自动给的,不可能没有」。截图里的提示只写「另外 1 期没在流水里找到对应记录」,既不说哪一期、也不说该是哪天,看到这句话没法判断到底是流水被删了、还是那天记成了别的金额——只能来问。
做法:把「缺哪一期」算出来,直接写进提示原来只知道「缺 1 期」,现在按周期账自己的配置(首次扣款日 + 每月扣款日)把每一期应记的日期算出来,跟流水里已经对上的期数一比,缺哪几期一清二楚:
· 以前:另外 1 期没在流水里找到对应记录(可能被删掉了,或是更早版本记的、没带编号)。
· 现在:另外 1 期没在流水里找到对应记录:第 1 期(应记 2026-10-05 · 每期 ¥10.00)。可能是那条流水被删掉了,或者那天的日期/金额/分类跟这一期对不上(备注里也没带编号)。
编辑周期账弹窗、改金额时的提示弹窗两处都改了,说法一致。另外补了一条防误报:如果某一期的日期已经对上(只是备注里的期号没解析出来),就不算缺,免得同一个日期被报两次。
这次是用真实账本核对的拿老板 2026-11-02 导出的账号备份(365 条流水 / 8 条周期账)在「本机模式」里原样灌进去重跑:电锤那笔周期账(¥120 / 12 期 / 首期 2026-10-05 / 每月 1 号)两期都在——第 1 期 2026-10-05 20:45 ¥10.00、第 2 期 2026-11-01 ¥10.00,编辑弹窗、改金额弹窗都正常列出 2 笔、没有缺口提示。
说明编号识别本身是好的,出现「只找到 1 笔」只有一种可能:那份数据里第 1 期流水的日期/金额/分类跟这一期对不上、备注里的编号也不在了(或被删掉了)。所以这一版把「缺的是哪一期、应记哪天」写进提示,一眼就能定位。
验收(真实浏览器跑的)同一份真实备份、三种情形各跑一遍,每档 13 项全过:
· 数据完整:列出 2 期(10-05 / 11-01),无缺口提示;
· 删掉第 1 期流水:只剩 1 笔,缺口提示点名「第 1 期(应记 2026-10-05 · 每期 ¥10.00)」;
· 第 1 期金额被改成 12 元且编号丢了:不算进已记期数,同样点名缺第 1 期、应记 10-05;
· 改金额的提示弹窗里,缺口提示同样带期号 + 日期 + 金额。
手机窄屏 390 / 375 / 360 三档全部 0 失败;既有回归零破坏:v4.15.2 专项 17 项、v4.15.1 专项 17 项、v4.15.0 四组 36/24/17/12 项、v4.14.1 30 项、v4.14.2 36 项、主冒烟 14 项,全部通过。
兼容性 / 云端要不要动不用动:只多算一个「缺哪几期」的显示信息,不改数据结构、不加字段。上传 Cloudflare Pages 后请 Ctrl+F5 强刷,顶栏版本号应为 v4.15.3。
v4.15.22026-11-01「# 编号」多空格也认、编号丢了按日期金额分类找回;编辑周期账列出已记流水;修「改定时金额却说没成功」
为什么升补丁号修的是「认不出老流水」和「明明保存成功却报错」两个问题,没有新增功能,按 SemVer 升补丁号(v4.15.1 → v4.15.2)。
① 明明记了 2 期,只显示 1 期以前是拿「#编号」整段去备注里硬找,只要编号前面多一个空格(# 编号)、或者备注被手改过一遍,这条流水就认不出来。现在改成:把备注里所有「#xxx」一个个抠出来再逐个比对,中间夹半角 / 全角空格都无所谓。
再补一层兜底:编号被整个删掉的老流水,按「这一期该记的日期 + 每期金额 + 一级分类」找回来。这层兜底只用于显示和补时间,不参与「补记去重」——否则会把手工记的同额账误当成某一期,反而少补一期。
另外,卡片说「已记 2 期」、流水只找到 1 笔时,弹窗会明说「按期数记为 2 期,在流水里找到 1 笔」,不让两个数字互相打架。
② 编辑周期账时能直接看到已经记过的流水弹窗底部多一块「已记的期数(记流水的时间)· 共 N 笔 / ¥合计」,每行写清第几期 · 哪一天几点记的 · 多少钱;超过 4 行自动变成可滚动的框,不把弹窗撑长。改金额、改期数之前,先能跟流水里那几笔对上号。
③ 改定时记账的金额,明明存好了却弹「操作没成功」原因是保存成功后去刷新列表时引用了一个只活在上一步的变量(报错原文 mm is not defined),数据其实早就写进去了,只是最后一步崩了。已修正,改完直接提示成功。
④ 结束条件固定在右列「结束方式」「结束日」「共记几次」原来会跟着左边的条件框一起挪位置,选完「每周」就跑到「周期」下面去了。现在固定占右列、按选择显示对应的框,不再跳位。
验收专项 17 项 × 390/375/360 三档全过(编号带空格、编号被删、已记清单、改金额提示、编辑定时任务改金额不再报错)。既有回归 36/24/17/12/30/36/14 项全部通过。
v4.15.12026-11-01自动记的经手跟随第一笔(不再变 local);改金额提示列出每期记流水的时间;「分天记账」改名「分日记账」
为什么升补丁号修的是「经手人忽然变成 local」「提示里看不懂是哪几期」和一处功能改名,没有新增功能,按 SemVer 升补丁号(v4.15.0 → v4.15.1)。
① 经手人跟第一笔走老板原话:「第一笔周期账的经手已经设置了具体的人,后面顺延的周期账应该也是同个经手,定时、分天记账也是」。
以前自动补记时,经手是靠「翻已记流水里期数最小那笔」反推的——那笔一旦被删、或者导出重记过,就反推不出来,只能退化成当前记账人(本机模式常显示成 local),于是同一笔账前面几期是「吴立峰」、后面补出来的却成了 local。
现在改成登记时就把经手人记进设置(和「时间」同一套做法,不给云端表加列),之后每一期都照这份用,跟流水在不在无关。定时记账同样处理,并且取「次数最小」那笔的经手人(以前取的是第一条,越补越偏)。
② 改金额的提示里写清「什么时候记的」以前只说「已记过的 2 期金额不变」,看不到是哪两期。现在每一行都带第几期 · 记账日期与时间 · 金额,跟流水页一眼对得上。
③「分天记账」正式改名「分日记账」按钮、面板标题、系统备注里的字全换;老账本里写成【分天记账 …】的记录会自动改成【分日记账 …】(只替换这几个字,金额、天数、编号一个不动),改动在本地留记号,跑一次不再重复。
验收专项 17 项全过(含「反推出来的经手已存进设置,下次不用再翻流水」);既有回归零破坏。
v4.15.02026-11-01周期记账可设固定时间并代代沿用;流水页新增「定时记账 · N 条」卡片;暂停恢复改顺延;已暂停/已结束收进底部折叠区
为什么升次版本这一版加了新功能(周期账的时间、定时记账卡片、暂停恢复顺延),旧账本不用改任何设置就能用,按 SemVer 升次版本(v4.14.2 → v4.15.0)。
① 周期记账可以设「时间」老板要求:「增加一个时间的设置,和付给同一行」「保存后会记住,之后自动补记每一期都用这个时间」。
登记和编辑周期账时多一个「时间」(如 09:00),之后每一期自动补记都用它,不用天天手改。这个时间存在本机设置里,不给云端表加列——老库没有这一列,加了反而会报错。删除周期账时顺手把这条时间记录一起清掉,不留垃圾。
② 补了时间,已记的流水一起补老板反馈:「这里的时间补上之后,之前记录的流水的周期账时间怎么没有补上」。现在保存时会先重新拉一遍流水、再回填时间(顺序反了会漏掉刚拉进来的那几笔),而且只补空白的——真记过的时刻是有意义的,不能被后来设的值覆盖。补了几笔会如实提示,没落库的不算数。
③ 编辑周期账:两列版式 + 小窗口居中和「记一笔 → 更多 → 周期记账」面板长得一样:总金额|分多少期、首次扣款日|每月扣款日、分类|细分、付给|时间(原来的「对方」改叫「付给」)。并排的框等宽等高(44px),手机上也是居中弹出的对话框,不再贴着底边。
④ 定时记账「结束日」归位老板指出:「结束方式先选择之后,结束日怎么会在周期下面」。结束条件(结束日 / 共记几次)现在固定在「结束方式」下面同一行的右列,不管左边选「每周」还是「每月几号」,位置都不跳。编辑定时任务同理。
⑤ 流水页新增「⏰ 定时记账 · N 条」卡片老板要求:「定时记账也在流水记录里设置一个定时记账 · N 条这种形式」,并且「格式应该和周期记账一样」。现在流水页周期记账卡片下面就是定时记账卡片,条数、每期金额、下次哪天记、已记几次、剩余金额一行看全,暂停 / 编辑 / 取消的按钮位置和周期记账完全一致,不用重新学。
⑥ 展开后,「已暂停 / 已结束」收进底部折叠区卡片里只留在跑的自动账,不跑的全部折进最下面「已暂停 / 已结束 · N 条」,点开才展开。账越记越多也不会把流水页刷成一长条。
⑦ 暂停后恢复=顺延,不补记老板原话:「如果周期定时设置的是 5 号记账,而我 4 号暂停、6 号恢复,理论上 5 号应该不会补记,只会顺延」。以前恢复时会把暂停期间错过的期数一次性补出来,等于凭空多扣一笔。现在恢复只做一件事:把整笔账往后挪——错过的期数不补,首次扣款日往后顺延同样月数,已入账的期数不动。提示文案也改成三套(没有错过的期 / 需要顺延几期 / 已到最后一期),不再说「错过的期数会自动补记」。
⑧ 改金额 / 期数前先说清「已记的不变」改总金额或期数时先弹一个窗:已经记了几期、合计多少钱、每一期是哪天记的,并说明已记的那几期金额不会被改写,新的每期金额从还没记的下一期开始算。想改已记的,得去流水页逐笔改、或者删掉那几笔重新记。
验收本版四组专项 36 + 24 + 17 + 12 项全过(时间保存与代代沿用、回填只补空、编辑页四组两列等高、结束日在结束方式下面、定时卡片格式与周期一致、折叠区计数、暂停恢复顺延的三种提示);主冒烟 14 项、v4.14.x 回归 66 项全过;手机窄屏 390/375/360 三档 0 失败。
v4.14.22026-11-01系统备注统一成【周期记账/定时记账/分天记账】;编辑周期账、编辑定时任务改成两列版式并补付给与时间;定时记账可起名字
为什么升补丁号这一版只改文案和排版——没有新增功能、没有改任何算法和报表口径、没有动数据结构,三类自动账的记账结果和以前完全一样(只是显示的文字更统一、编辑页排得更整齐)。按 SemVer 升补丁号(v4.14.1 → v4.14.2)。
① 系统备注统一成一套写法老板要求:「系统备注定时加上记账也就是定时记账」「系统备注周期账改成周期记账」「周期定时分天的系统备注统一格式」。现在三类自动账的系统备注统一为同一套结构——都以「X记账」开头、都把进度写在最前面、末尾都带编号:
· 周期记账:【周期记账 第1期/共12期 · 每期¥100.00 · #编号】(原「周期账」)
· 定时记账:【定时记账 第1次 · 应记2026-11-01 · #编号】(原「定时 #编号 第1次 …」,编号从前面挪到末尾)
· 分天记账:【分天记账 第1天/共3天 · #编号】(本来就是这套写法,不动)
老账本里旧写法的流水会自动改成新写法:只替换这几段文字(金额、期数、编号一个都不动),一次性跑完在本地留个记号,之后不再重复扫;单条失败不拦,下次打开接着改。旧写法照样能被程序认出来——认不出来就不知道「已经记到第几期」,会重复补记、重复扣钱,所以两套写法长期并存识别。
② 编辑周期账:改成两列,补付给与时间老板要求:「周期账的编辑应该和记录周期账时的格式设置一样」「分类和细分同一行,对方改成付给,增加一个时间的设置,和付给同一行」。现在「编辑周期账」弹窗和「记一笔 → 更多 → 周期记账」面板长得一样:总金额|分多少期、首次扣款日|每月扣款日、分类|细分、付给|时间,并排的框等宽等高(44px),下面一行是备注。新增的「时间」会在保存后记住,之后自动补记的每一期都用这个时间;「时间」不进云端表结构(老库没有这一列),存在本机设置里,云端老库照样能用。
③ 定时记账可以起名字老板要求:「定时记账在每期金额上面增加一个定时记账名称的输入框」。登记面板最上面现在有一个「定时记账名称」,填了就用你起的名字(如「每天进菜」),不填照旧自动按「每天 食材采购」这种规则命名。名字会显示在「⚙ 管理定时计划」列表里,一眼认出是哪条。
④ 编辑定时任务:同一套两列版式老板要求:「编辑定时任务也和登记定时记账的格式一致」。「编辑定时任务」弹窗按登记面板重排:名称、每期金额|起始日、周期|结束方式、条件框(每隔几天 / 星期几 / 每月几号 | 结束日 / 共记几次,各占一半)、分类|细分、付给|时间、备注。「付给」「时间」会存进计划,之后每一笔自动记的流水都带上(以前这两项是空的)。
验收(真实浏览器跑的)① 本轮专项 36 项全过:分天 3 条流水备注为【分天记账 第1/2/3天 · #编号】;定时计划记住了自定义名称「每天进菜」、付给、时间,自动补记那笔的备注是【定时记账 第1次 · 应记日期 · #编号】且带付给;周期第 1 期备注为【周期记账 第1期/共12期 · 每期¥100.00 · #编号】;灌入两条旧写法记录后重新打开,自动改成新写法且用户自己写的备注没被吃掉;编辑周期账四组两列(顶差 <6px)、并排框等宽(差 <2px)等高、标签已是「付给」、时间预填并保存进设置;编辑定时任务四组两列、带出原名称/付给/时间、改完付给能存住;全程无 JS 报错。
② 手机窄屏 390 / 375 / 360 三档各跑一遍,全部 0 失败(两个编辑弹窗与名称框均无横向溢出)。
③ 既有回归:主冒烟 14 项全过(分天 33.33/33.33/33.34、定时计划入库并自动补记、系统备注框可溯源、更多记账居中);v4.14.1 专项 29 项全过(输入框等高、条件框两列、自动账带时间、流水标来源);窄屏 360/375 回归 0 失败。
兼容性 / 云端要不要动不用动:周期记账的「时间」存在本机设置里(不给云端表加列),定时计划的「付给 / 时间」存在原有的计划对象里,系统备注只是改了几个字的写法。老账本打开即用,不用重新配置;旧写法的记录会自动平滑改成新写法。上传 Cloudflare Pages 后请 Ctrl+F5 强刷,顶栏版本号应为 v4.14.2。
v4.14.12026-11-01界面收尾:去多余小字、输入框等高、条件框两列;自动账补上时间,流水标出来源
为什么升补丁号这一版只修显示问题——没有新增功能、没有改任何算法和报表口径、没有动数据结构,分天 / 定时 / 周期账的记账结果和以前完全一样(只是显示得更对)。按 SemVer 升补丁号(v4.14.0 → v4.14.1)。
① 去掉两行多余小字分天面板「起始日」下面的「第 1 天记这天」、定时面板「起始日」下面的「第 1 次记这天」——老板说不需要,已删掉。这两行小字还会把左边的输入框往下挤,跟右边的框对不齐。
② 并排的输入框现在一样高一样宽老板反馈「起始日和分成几天的输入框怎么大小不一样」。量下来宽度本来就一致(都是 155.5px),差的是高度:textarea 类里 input[type=date] 天生 44px,input[type=number] 只有 42px,两个框并排摆着就一高一矮。现在面板里所有并排输入框(日期 / 数字 / 下拉)统一 44px,齐齐整整。
③ 定时记账的条件框改成两列以前选「每 N 天」露出的「每隔几天」、选「每周」露出的「星期几」、选「每月几号」露出的「每月几号」,以及结束方式露出的「结束日 / 共记几次」,都是一个框占满一整行,跟上面「每期金额 | 起始日」「周期 | 结束方式」两列排的对不齐。现在改成:周期条件框在左、结束条件框在右,各占一半——选「每 N 天 + 到某天为止」时就是「每隔几天 | 结束日」并排;选「每 N 天 + 共记 N 次」时就是「每隔几天 | 共记几次」并排。只剩一个框露出来时也只占一半,不再拉满整行。
④ 自动生成的流水补上「时间」以前分天记账、定时记账、周期账(第 2 期起)自动生成的流水,时间是空的——打开编辑页「时间」那格显示 --:--:--,流水卡片上也没有 ⏰。现在:分天按你填的那笔的时间、定时按建计划时的时间、周期账按这笔账已入账那期的时间,自动账也带时间了(老记录改不了,新记的都有)。
⑤ 流水备注末尾标出来源老板要求:「周期、定时、分天的记账流水,在流水记录的显示界面上,备注最后显示【周期记账】【定时记账】【分天记账】」。现在流水卡片和明细表的「备注」末尾都会带一个蓝字标记——周期记账记的显【周期记账】、定时记账显【定时记账】、分天记账显【分天记账】;有自己写的备注就排在备注后面(如「备注:买菜【分天记账】」),没写备注的自动账也照样显示(以前备注一空整格就空着,看不出这笔是谁记的)。
验收(真实浏览器跑的)① 本轮专项 28 项全过:两行小字确认消失;分天「起始日 / 分成几天」等高 44px、等宽 155.5px、同一行;定时「每隔几天 | 结束日」「每隔几天 | 共记几次」并排且各占 154.5px(面板 347px,不是拉满);「每天 + 永不结束」时条件框全部隐藏;分天 3 条流水、定时 1 条、周期账 1 条全部带时间(实测 20:13 这类真实时刻);分天打开编辑页时间不再是 --:--:--;流水卡片分别显示【分天记账】【定时记账】【周期记账】,且带备注时标记排在备注之后(「备注:买菜【分天记账】」),没写备注的周期账也显示「备注:【周期记账】」;全程无 JS 报错。
② 既有功能冒烟 14 项全过(分天堂 33.33/33.33/33.34、定时计划入库并自动补记、系统备注框可溯源、更多记账居中)。
③ 手机窄屏 360 / 375 两档回归 0 失败(无横向溢出、无 JS 报错)。
兼容性 / 云端要不要动不用动:没有新增字段、没有改表结构——时间本来就存在流水里(只是以前自动账没填),来源标记是从已有的备注标记里读出来的。老账本打开即用,不用重新配置。上传 Cloudflare Pages 后请 Ctrl+F5 强刷,顶栏版本号应为 v4.14.1。
v4.14.02026-11-01新增分天记账 + 定时记账(都在记一笔表单上加框),界面按要求重排,退出回普通支出
为什么升次版本号本版新增了两个功能——「分天记账」和「定时记账」,都是往现有「记一笔」表单上加几个框,不改原有算法、不改报表口径、不动已有账本的数据结构,旧用户照常用原来的方式记账即可。按 SemVer 升次版本号(v4.13.2 → v4.14.0)。
① 分天记账(新增)一笔钱分多天入账——最常见的场景是「一次买了两天的菜,钱先付了,菜要分两天用」。进法:「更多 → 分天记账」,主表单当场多出三个框:这笔总金额 / 分成几天(≥2)/ 起始日。填着的时候下方实时显示分摊结果(填 100、分 3 天,立刻显示「前 2 天各 ¥33.33,最后 1 天 ¥33.34」),不用心算。保存后按起始日往后顺延生成 N 条真实流水,前 N−1 天各一样多、余数自动堆到最后一天(100 元分 3 天 = 33.33 / 33.33 / 33.34,多的那 1 分摊在最后一笔,绝不丢分也不虚增)。分类、付给、备注对每一天通用,不用一条一条重填。
② 定时记账(新增)按周期到日子自动记一笔——「每天进菜 300」「每周五交水费 500」「每月 10 号付房租」这类重复性收支,建一次就好,以后不用天天记。进法:「更多 → 定时记账」,主表单上加框:每期金额 / 周期(每天 · 每 N 天 · 每周几 · 每月几号)/ 起始日 / 结束方式(永不结束 · 到某天为止 · 共记 N 次)。选好周期才会露出对应的条件框(比如选「每周」才出现「星期几」)。保存即建好计划并自动补记起始日当天的第一笔,之后每到日子自动记下一笔。面板下方有「⚙ 管理定时计划」,可以改、可以暂停、可以删除。
③ 按老板要求:不弹窗,就地加框这两个功能一开始是做成弹窗的,老板明确要求改掉:「分天和定时改成和周期记账一样,还是在原本基础上增加几个框,而不是用弹窗」。现已改成跟「周期记账」完全一致的模式切换——进模式后主表单当场多出输入框、隐藏用不上的大金额框、保存按钮变成「保存这笔分天账 / 保存这笔定时账」,填完点一下就记完,全程不用跳来跳去。
④ 更多记账弹层改居中「更多记账」菜单以前在手机和小窗口里是从底部弹上来,手指容易够不到;现在一律从正中间弹出,手机 / 小窗 / 大屏表现一致。
⑤ 自动生成的记录带「系统备注」分天 / 定时 / 周期账自动生成的流水,编辑页里多了一个只读的「系统备注」框,写明来路与编号:分天记「【分天记账 第2天/共3天 · #批次号】」、定时记「【定时 #计划号 第1次 · 应记日期】」、周期记「【周期账 第1期/共12期 · 每期¥X · #编号】」。一眼知道这笔是哪来的、还能和批次号对上;这个框只读,手滑也改不坏。
⑥ 界面按老板要求重排(4 处)① 分天 / 定时下方的「日期 / 付给 / 时间 / 备注」四格照常显示——以前做这两个模式时把「日期」格藏掉了,下面只剩「付给 / 时间 / 备注」三格、整行塌下去,跟普通支出的格式对不上;现在四格齐全,格式和位置跟普通支出完全一样(日期|付给一行、时间|备注一行)。
② 面板里的「起始日」与下面的「日期」联动——改起始日,下面日期跟着走;改下面日期,起始日跟着走,两个日期框不会对不上(跟「周期记账」的「首次扣款日 ↔ 日期」一个做法)。
③ 面板内改成两列成行:分天面板「起始日(左)|分成几天(右)」、定时面板「每期金额|起始日」「周期|结束方式」、周期面板「这笔总金额|分多少期」各同一行,省一半竖向空间。
④ 点「退出 ✕」一律回到「普通支出」记账——周期 / 分天 / 定时 / 转账都一样,退出即回普通状态;并顺带修掉一个真 bug:以前退出后周期面板不会收起、界面停在周期模式(面板的显隐原先只在「进周期模式」那条路上管,退出走的是另一条路,漏了)。
验收(真实浏览器跑的)① 功能冒烟 14 项全过:分天 100 元 / 3 天 → 生成 3 条流水、金额 33.33 / 33.33 / 33.34;定时每天 300 → 计划写入设置、自动补记 1 笔、金额 300;两类记录的编辑页都能看到「系统备注」框且含正确标记;「更多记账」弹层水平 / 垂直居中。
② 手机端窄屏回归 48 项全过(360px 与 375px 两档,不是只测 412px):分天面板、定时面板内无元素超出面板宽度,页面无横向滚动条,选「每周」只露出「星期几」、结束方式选「次数」只露出「共记几次」,「管理定时计划」按钮可见可点,无 JS 报错;另新增断言:四格齐全且两两同行、起始日与日期双向联动、三处两列同行、退出周期 / 转账后确实回到普通支出(面板收起、指示条消失、支出高亮、大金额框恢复、按钮文案变回「保存这笔支出」)。
③ 顺带修掉一处文案算错:分天提示里的「余数」原先误把最后一笔的金额当成余数(100 分 3 天写成「余数 ¥33.34」),现已改为真正的余数(¥0.01),金额本身一直是对的、只是提示文案算错。
兼容性 / 云端要不要动无数据结构变更:分天生成的是普通流水,定时计划存在设置里,本机与云端同样生效;旧账本不受影响,不用重新做任何配置。上传 Cloudflare Pages 后请 Ctrl+F5 强刷,顶栏版本号应为 v4.14.0。
v4.13.22026-10-31三处文字样式与对齐修正:中文常规灰 / 金额纯黑不加粗 / 通栏短公式居中
为什么升补丁版本号本版三处改动全是文字样式与对齐的修正——没有新增功能、没有改数据结构、也没有改任何算法口径:卡片上的金额、比率、摊销额一分不动。按 SemVer 升补丁版本号(v4.13.1 → v4.13.2)。
改了什么① 公式里的「中文」和「金额」统一成一套。以前存在三套口径:左栏顺排公式里的 <b> 根本没有颜色规则(继承浅灰,跟中文一个色)、右栏公式是深一档的灰、单栏卡的多列公式又是另一套 —— 所以同一屏里「有的卡中文和金额一个色、有的卡金额更深」,看起来很乱。现在统一为:中文用常规说明灰、金额用纯黑(不加粗)、字号一律 11.5px;副说明里的金额同样按这个口径处理(带 HTML 的字符串会自动跳过,所以环比涨跌的红绿标记不会被包坏)。颜色走主题变量而不是写死 #000,深色主题下会自动变成浅色,照样看得清。② 横跨左右两栏的短公式居中。像「营销推广 ¥75.95 ÷ 营收 ¥7,927.51」「平台佣金 ¥0.00 ÷ 营收 ¥7,927.51」这类横跨整张卡、一行放得下的公式,以前被强制左对齐;现在居中。会折行的长公式(如装修 / 租金的周期账明细)仍然左对齐 —— 长公式居中会很难读。③ 左右两栏内容完全相同的副说明行居中。如装修摊销 / 设备摊销卡两边都是「占营收 15.80%」,合并成一行后居中显示(新增 .k-drow-merge 类,跟「只有一侧有内容」的通栏行区分开)。
验收(真实 Edge 跑的)全部 66 条公式 / 副说明:字号只有一种(11.5px);56 条带金额的条目,中文色 = 常规说明灰、金额色 = 纯黑且字重 400(不加粗),零例外;通栏公式居中 7 条、折行左对齐 1 条,与预期完全一致;无 JS 报错。另跑了一遍 计算规则独立复核(拿原始流水按规则重算 17 张卡逐张对),金额与比率全部零差异 —— 本版只动样式不动数。
兼容性 / 验收无数据结构变更,本机与云端同样生效;上传 Cloudflare Pages 后请 Ctrl+F5 强刷,顶栏版本号应为 v4.13.2。
v4.13.12026-10-31四处排版修正:空半栏改通栏 / 右栏副说明去重 / 左栏公式改顺排 / 人工成本率补括号
为什么升补丁版本号本版四处改动全是显示与排版修正——没有新增功能、没有改数据结构、也没有改任何算法口径:卡片上的金额、比率、摊销额一分不动(已用原始流水按规则独立重算 17 张卡逐张核对,全部一致)。按 SemVer 升补丁版本号(v4.13.0 → v4.13.1)。
改了什么① 一侧空着的行改为通栏——「本月营收」卡里,右栏只有一句「营收每天实收累计,天然就是到今天,不折算,与左边相同」、左栏只有「堂食+外卖+团购核销+会员核销」明细;以前这两行各自占半栏,对面一半空着,长句子还在半栏里折成两三行。现在规则改成:一行里只有一侧有内容,就让那一侧铺满整行(左右都有内容才分两栏、中间画竖线)。经营视角和账目视角的所有双栏卡统一按这条走。② 右栏副说明不再重复——综合费用率 / 毛利率卡里「应计费用(全部支出)¥…」以前在副行渲染一遍、公式行又渲染一遍,同一句话出现两次;现在公式行只放算式,副行只放说明,各写一次。③ 左栏公式改成顺排文字——以前左栏公式用「上文字、下数字」的多列布局(如「营收」在上「¥7,927.51」在下),在半栏宽度里被挤成三行、还贴到卡片左边;现在跟右栏一样顺排成一句话,一行放得下就一行。两边公式文字完全相同时(如毛利率的账面/应计都是同一算式)只写一遍、通栏居中。④ 人工成本率公式补括号——以前写成「人工工资 ¥300 + 夫妻工资 ¥8,000 ÷ 营收 ¥7,927.51」,按先乘除后加减会被读成「8,000 ÷ 营收」;现在写成「(人工工资 ¥300.00 + 夫妻工资 ¥8,000.00)÷ 营收 ¥7,927.51」。右栏在没有应计算式可写时,也不再留下孤零零的「÷ 营收 ¥7,927.51」碎片。
顺手做的独立复核不看卡片怎么算的,直接拿原始流水按「规则定义」重算一遍,再和卡片显示值逐张对比:营收 7,927.51 / 综合费用率 235.87% / 净利率 −135.87% / 毛利率(不含损耗) 21.02% / 毛利率(含损耗) 19.70% / 食材成本率 78.98% / 损耗率 1.64% / 人工成本率 104.70% / 租金占比 14.72% / 能耗率 2.00% / 装修摊销 1,252.47 / 设备摊销 1,116.57 / 营销费用率 0.96% / 平台佣金率 0.00% / 保本营业额 59,176.90 / 外卖占比 0.00% / 外卖毛利 −256.51,17 张卡全部零差异;恒等式也对得上:综合费用率 + 净利率 = 100%(账面、应计两套都成立)、毛利率(含损耗) = 毛利率 − 损耗率×食材占比、保本线 = (支出−食材)÷毛利率。应计比账面多 ¥301(其他支出 ¥200 + 通信网络 ¥101),是「本月没记 → 引用上月数」的既定应计规则,不是错数。
兼容性 / 验收无数据结构变更,本机与云端同样生效;上传 Cloudflare Pages 后请 Ctrl+F5 强刷,顶栏版本号应为 v4.13.1。
v4.13.02026-10-31一处显示修正(周期账公式逐笔列出)+一处明细展示增强(双栏卡头部一行、左右对齐)
为什么升次版本号这是一处显示修正+一处明细展示增强:周期账公式从「只举第一笔」改为「逐笔全列出」(新增展示明细),双栏卡排版重构成「头部一行 + 数值行 + 副行 + 通栏公式」(左右对齐、1:1 等宽)。属新增向后兼容的展示增强,按 SemVer 升次版本号(v4.12.0 → v4.13.0)。无数据结构变更、账目原始数字一分不动。
改了什么① 周期账公式逐笔列出(显示修正)——原来公式只写第一笔当例子(如 每期 ¥609.55),看不出其余几笔、合计数像是凭空来的。现在把本区间生效的每一笔都列出来:4 笔周期账按天摊【(1笔¥609.55 + 2笔¥39.83 + 3笔¥277.08 + 4笔¥190.00) ÷ 31 天 × 31 天】+ 一次性 ¥136.00 = 合计 ¥1,252.47。算法本身完全不变——仍是「每期金额 ÷ 当月实际天数 × 落在区间的天数」逐笔相加,只是把每笔都摆出来好核对。跨多月的本季/今年显示「逐月按各月实际天数摊,共 N 个月生效」。② 双栏卡左右两栏行数对齐(明细展示增强)——原来指标名塞在左栏第一格,造成「左栏三行、右栏两行」看着不齐。现在指标名与「⏱ 截至今日」标签合并到同一行头部,左右两栏都只放「数值 + 占比」两行,彻底对齐;两栏宽度改为 1:1 等宽(之前 1.35:1)。
验证真实浏览器(Edge)端到端验收全过:(a) 本月——装修公式逐笔列出 4 笔并 = 合计 ¥1,252.47(÷31×31)、设备 3 笔 = ¥1,116.57、租金 = ¥1,166.67,全部 ✅;(b) 本季——封顶 10/31 只摊 10 月 = ¥1,252.47;(c) 今年——公式显示「共 2 个月生效」、合计 ¥4,857.44(周期账 2 月 ¥2,232.92 + 一次性 ¥2,624.51),与旧版数字一致;(d) 15/15 双栏卡均有头部行、无零高异常、左右行数对齐,无 JS 报错。
兼容性 / 验收无数据结构变更,本机与云端同样生效;上传 Cloudflare Pages 后请 Ctrl+F5 强刷,顶栏版本号应为 v4.13.0。
v4.12.02026-10-31一处核心计算修正(周期账摊销按自然月整月摊)+一处界面增强(双栏卡左右两栏始终画竖线分隔)
为什么升次版本号这是一处核心计算修正(摊销口径)+一处界面增强:摊销修正是纠正错误数字(属 Bug 修复),但「双栏竖线」是新增视觉特性,按 SemVer 升次版本号(v4.11.0 → v4.12.0)。无数据结构变更、账目原始数字一分不动,本机与云端同样生效。
改了什么① 周期账摊销按「自然月整月摊」(核心计算修正)——原公式把摊销窗口从「周期账起始日」起算,起始日不在 1 号的周期账只摊部分天数(如你截图里装修 ÷31×23、设备 ÷31×27),既不是你预期的「本月=整月×31」,又和右栏「租金占比」按整月摊的口径打架,造成「每期 ¥1,166.67 ÷ 31 天 × 6 天 = 合计 ¥1,166.67」公式因子与合计自相矛盾的显示。现统一改为「按区间覆盖的每个自然月整月摊」:起始日只决定它归属哪个月、不再截短窗口;本月=每期金额 ÷ 所属月份实际天数(28/29/30/31) × 31,自定义 10/1~10/6 仍是 ÷31×6,两条路径口径完全一致。② 本季 / 今年摊销上界封顶到「截至今日」——经营视角与账目视角(支出饼图)的摊销上限都对齐「截至今日 / 区间末」,本季/今年不会把 11、12 月这些未来月份也摊进来放大数字。③ 双栏卡左右两栏始终画竖线分隔(界面增强)——账面(左)与应计(右)两列之间始终有一条竖线,一眼分清两边是两套口径;当两边数值不同(账面≠应计)时线加粗变主题色突出差异,即使右栏空白也照样画线(之前右栏空白时线会消失,现在靠 min-height 保证线不丢)。
验证真实浏览器(Edge)端到端双验证:(a) 摊销四档对比——本月装修/设备/租金公式除数均 = 31、租金合计 ¥1,166.67(÷31×31),与右栏租金口径一致;本季/今年封顶到 10/31,三档租金均 = ¥1,166.67(未被放大);自定义 10/1~10/6 租金 = 每期 ¥1,166.67 ÷ 31 × 6 = ¥225.81,公式与合计一致;全部 ✅、无 JS 报错;(b) 双栏竖线——22/22 双栏卡左右两栏均出现竖线(含右栏空白卡),账面≠应计时 3 张卡出现加粗强调线;390/1920px 双视口 UI 无溢出/无重叠/不遮挡;经营 / 账目视角、成本结构 canvas 回归冒烟全过。
兼容性 / 验收无数据结构变更,本机与云端同样生效;上传 Cloudflare Pages 后请 Ctrl+F5 强刷,顶栏版本号应为 v4.12.0。
v4.11.02026-10-31界面三处调整 + 一处核心计算修正:大屏 KPI 每行 4 列(删 220px 网格覆盖)、提示改「点击查流水」且同行不遮挡、周期账摊销除数统一为所属月份实际天数 28/29/30/31
为什么升次版本号这是界面调整 + 一处核心计算修正(不是纯 Bug 修复,也非破坏性变更),按 SemVer 升次版本号(v4.10.0 → v4.11.0)。无数据结构变更、账目原始数字一分不动,本机与云端同样生效。
改了什么① 大屏 KPI 每行 4 列——原来每行挤 5 个太密;同时发现并删掉 CSS 里一处遗留的「@media(min-width:768px) 内 .kpi-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}」覆盖规则,它在所有 ≥768px 视口把 1500px 的 4 列配置覆盖成 7 列窄卡,导致 4 列一直不生效,现已恢复(≥1500px 稳定 4 列、其它视口按 minmax(340px) 自适应)。② 提示「点击可跳转至流水」改「点击查流水」——提示字随界面自动缩字号、始终与指标名(如「毛利率」)同一行,且不再遮挡右上角「⏱截至今日」字样。③ 周期账摊销除数修正(核心计算)——原公式用「该周期账所属期的零碎天数」当除数,随每条周期账扣款日不同出现 ÷30/÷31 不一致,且不随你查看的月份天数变化(例如你设本月状态、周期账 1166.67,10 月 31 天却按「每期 ÷30 天 ×6 天」算,得 233.33)。现统一改为「所属月份实际天数」(28/29/30/31,逐月变化),公式即「每期金额 ÷ 所属月份实际天数 × 本区间落在那个月的天数」。以你的场景为例:自定义区间 10/1~10/6 → 1166.67 ÷ 31 × 6 = 225.81,与手算一致;整月(如 10 月 31 天)即 1166.67 ÷ 31 × 31 = 1166.67。装修 / 设备摊销卡同理,除数统一取各自然月实际天数。④ 文案口径同步更正为「所属月份实际天数」,并顺手修掉第 ① 点 CSS 覆盖带来的 regression。
验证真实浏览器(Edge)数学层 + 端到端双验证:(a) 纯函数层 7/7——整月 ÷31、10/1~10/6 = 1166.67÷31×6、平年 2 月 ÷28、闰年 2 月 ÷29、9 月起点 ÷30、跨季 Q4 除数 31/30/31;(b) 真实 Edge 灌种子数据——装修摊销「每期 ¥609.55 ÷ 31 天 × 23 天 + 一次性 ¥136.00 = ¥1,252.47」、设备摊销「…÷ 31 天 × 27 天 … = ¥1,115.28」、租金占比「每期 ¥1,166.67 ÷ 31 天 × 6 天 = ¥225.81」,除数断言装修/设备/租金均为 31、全部 ✅、无 JS 报错;(c) 双视口(390/1920px)UI——1920px 稳定 4 列(394.25px×4)、提示与指标同行 13/13、无溢出/无重叠/不遮挡日期、文案「点击查流水」;390px 单列、12/13 同行;1440px 3 列。经营 / 账目视角、成本结构 canvas 回归冒烟全过。
兼容性 / 验收无数据结构变更,本机与云端同样生效;上传 Cloudflare Pages 后请 Ctrl+F5 强刷,顶栏版本号应为 v4.11.0。
v4.10.02026-10-31界面与显示六项调整:删口径说明、左右两栏说明折叠、毛利率理论/实际毛利移到金额右侧、损耗率右栏补公式、公式行按长短居中/左对齐、当前口径说明不再被吸顶卡遮挡
为什么升次版本号这是界面 / 显示调整(不是纯 Bug 修复,也非破坏性变更),按 SemVer 升次版本号(v4.9.1 → v4.10.0)。无数据结构变更、账目数字一分不动,本机与云端同样生效。
改了什么① 删口径开关说明——"理论支出计入经营指标"开关下方那句长说明(开=/关=…)老板明确说"这个不需要",已移除,开关卡下直接接"当前口径"。② 左右两栏说明折叠——"左右两栏怎么看"+①②③④ 那一长段默认只显示一行"点击展开说明",点一下展开全文,进报表不再一上来就占半屏。③ 毛利率标签调整——"毛利率(不含损耗)理论毛利 / 毛利率(含损耗)实际毛利"两张卡,把"理论毛利/实际毛利"从标签里挪到数字金额右边(标签只留"毛利率(不含损耗)"),"点击可跳转至流水"提示仍自动缩小、与"毛利率"保持同一行。④ 损耗率右栏补公式——右栏原先只有数字、没有算式,与左栏对不上;现已补上"损耗报损 ÷(食材采购 + 损耗报损)",左右口径一致。⑤ 公式行按长度对齐——在一行内放得下的短公式(营销费用率、平台佣金率等)居中,会折行的长公式(毛利率、净利率、保本营业额等)左对齐,视觉更整齐。⑥ 修"当前口径"被遮挡——该说明上移后被吸顶的开关卡(position:sticky;z-index:45,带底色与下内边距)盖住顶部一截;已将其上边距由 -4px 改为 10px 正间距,滚动时始终在吸顶卡下方。
验证真实浏览器(Edge + 320/360/375/412px 四档手机视口)复测:报表经营视角六处改动均生效;损耗率左右栏公式一致;公式短居中/长左对齐;"当前口径"在吸顶与滚动两种状态下均完整可见、无遮挡;原 18 项验收全部复测通过、全页无 JS 报错。
兼容性 / 验收无数据结构变更,本机与云端同样生效;上传 Cloudflare Pages 后请 Ctrl+F5 强刷,顶栏版本号应为 v4.10.0。
v4.9.12026-10-31补丁版:修手机端两处显示问题(KPI 卡片横向溢出、「预计全月」开关在 360/375px 掉行)
为什么升补丁版本号纯 Bug 修复,没有任何新功能、没动数据结构、账目数字一分不动,按 SemVer 升补丁号(v4.9.0 → v4.9.1)。
修什么① 手机端横向滚动条——报表经营视角的 KPI 卡片用「每列至少 340px」的网格,手机容器实际只有 300px 左右,被强行撑出一条横向滚动条;改成「最小列宽不超过容器 100%」后,屏幕多窄都不溢出,卡片自动收成单列。② 「预计全月」开关掉行——「区间进度」那一行把「📅 本月进度 + 进度条 + 31/31天 + 预计全月开关」挤在一起,上一版只保证 412px 同行,360/375px 常见手机上开关会掉到下一行;收紧行间距(10→8px)、把「31 / 31 天」压成「31/31天」、进度条最小宽度 64→40px 后,360~412px 都稳定同行(极个别 320px 老机器才换行,属可接受降级)。
验证(真实浏览器,Edge + 320/360/375/412px 四档手机视口)四档下报表页 document.documentElement.scrollWidth 均不再大于 clientWidth(无横向滚动);360/375/412px 下「预计全月」开关与「区间进度」同行(两者 top 差 < 6px);原 v4.9.0 的 18 项验收全部复测通过、全页无 JS 报错。
兼容性 / 验收无数据结构变更,本机与云端同样生效;上传 Cloudflare Pages 后请 Ctrl+F5 强刷,顶栏版本号应为 v4.9.1。
v4.9.02026-10-31流水「编辑」行加收入/支出/结余;预计区间全程开关挪到区间进度右边;账目视角不再堆经营那一摞;当前口径搬到说明下面;摊销卡计算合并成一行
为什么升次版本号这次一共动 9 处,其中既有新东西(流水编辑行的收支结余、计算合并成通栏),也有版式调整(开关换位、视角归属、字号),属于向后兼容的新增 + 调整,不删任何旧接口、不动数据结构,按 SemVer 升次版本号(v4.8.5 → v4.9.0)。
老板的原话「流水记录在编辑的同一行显示收入支出结余的金额,字体只需和编辑同样既可,点击编辑就会隐藏这个收入支出结余」/「不算夫妻工资的经营这一行离上面的开关再远一点,现在被挡住了」/「预计区间全程的开关放到区间进度的右边」/「账目视角不需要这些,只要经营视角放着」/「这个当前口径放到这个下面」/「当前口径这一段太大了,字体设置的和算上夫妻工资的经营一样大」/「增加一句大白话直接描述左右栏区别」/「左栏写右栏是估算值,这个意思不对,应该是右栏将本月能耗平摊到区间天数能耗」/「左右栏的计算描述怎么不一样……如果计算上是一样,就把计算合并成一行,但不一样就分两栏」。
怎么改① 流水编辑行合计——#listEditBar 里新增 <span id="listSumBar">,renderList() 汇总完就把它填上「收入 / 支出 / 结余」,口径就是当前筛选后的那些流水(跟顶部三张卡、走势图同一把尺子,会员充值与「调整」不计入);CSS 字号钉 13.5px,跟旁边「✏️ 编辑」一模一样。点「编辑」后 updateBatchBar() 把它 hide 掉,把整行腾给批量工具条,点「完成」再回来。② 说明离开关远一点——.thy-note 的上边距从 -4px 改成 12px。原来是负边距,这句说明几乎贴在吸顶那张卡的下沿,卡片有圆角和投影,看着就像被压住一截。③ 预计区间全程开关换位——renderRangeProgress() 里把 .rp-sw 从独立的第二行挪进第一行(.rp-toprow)末尾,进度条最小宽度从 110px 让到 64px,保证 412px 手机上「区间进度 + 进度条 + 天数 + 开关」不折行;下面那行只在开关打开时才渲染。④ 账目视角不再堆经营那一摞——applyReportShow() 里新增一组「经营视角专属」,含 #thySwCard / #thySwNote / #bizCalNote / #progCard / #analysisCard,账目视角一律打上 .rpt-off。⑤ 当前口径搬位置——#bizCalNote 从 #bizCard 里移出,放到 #thySwNote 正下方,新样式 .thy-cal 字号 / 行高 / 颜色 / 缩进全部跟说明对齐,并加 .thy-cal *{font-size:11px} 兜底,里面的 <b> 不会再冒出更大的字。⑥ 能耗率改口——左栏括号里那句「右栏是估算值」改成「右栏把本月能耗平摊到区间天数」。⑦ 摊销卡计算合并——新增 amortWide():只有当左右金额确实对得上(两栏都是按同一区间摊出来的,差 ≤ 0.005 元)才把两句话合成通栏一行(tdRows() 新增 wide 行类型 + .k-drow-wide 通栏样式);右栏是「账已记全,不折算」或两边金额对不上时返回空串,卡片照旧左右分栏——算法真不一样就分两栏,一样才合并。⑧ 左右栏大白话——#bizAccNote 开头补一句「左栏=账上实打实记了多少;右栏=把整月的钱按天平摊到今天应该是多少」。⑨ 字号兜底——?v= 缓存号同步升 4.9.0,避免浏览器继续用缓存里的旧 style.css(老板看到的「当前口径太大」就是旧 CSS 没生效造成的)。
验证(真实浏览器,Edge + 412px 手机视口)① 流水页:#listSumBar 与「编辑」同一行、实测字号同为 13.5px,点「编辑」后它隐藏、工具条出现,点「完成」后它回来;② 报表页:#thySwNote 与开关卡实测间距 12px;③ 「预计区间全程」开关与「区间进度」同一行(两者 top 差 < 8px);④ 账目视角下 #thySwCard / #thySwNote / #bizCalNote / #progCard / #analysisCard 全部 .rpt-off,经营视角下全部显示;⑤ #bizCalNote 紧跟在 #thySwNote 下方,两者计算字号同为 11px;⑥ 能耗率左栏文案含「平摊到区间天数」;⑦ 装修 / 设备 / 租金三张卡出现 .k-drow-wide 通栏计算行,且左右金额一致;⑧ 全页无 JS 报错。
兼容性 / 验收无数据结构变更,账目数字一分不动;本机与云端两种模式同样生效。上传 Cloudflare Pages 后请 Ctrl+F5 强刷,顶栏版本号应为 v4.9.0。
v4.8.52026-10-30口径开关只把「标题 + 开关」那一行钉在顶栏下方,说明文字移出吸附组跟着内容滚走
为什么升修订号只改这一块的排版与吸附范围,不动取数、不动数据结构,按 SemVer 升修订号(v4.8.4 → v4.8.5)。
老板的原话「不要整个理论支出计入经营指标的卡片钉住,我要开关那一行」——上一版是整张卡(标题 + 说明 + 开关)一起吸住,那句「算上夫妻工资的经营:夫妻工资、折旧摊销……」很长,吸住之后一直占着屏幕,手机上一屏本来就不高。
怎么改把这一块拆成两半:① 吸顶的那一半——#thySwCard 里只留「理论支出计入经营指标」标题和右边那个开关,整行 33px 高,跟着月份 / 范围 / 视角切换一起钉在 #reportHeadPin 里;② 不吸顶的那一半——说明文字改成独立的 <div class="thy-note" id="thySwNote">,挪到吸附组外面,留在正常流里,往下翻就跟着内容滚走。开关点击后的说明更新逻辑完全没动(renderTheorySwitch() 里仍写 note.innerHTML,只是宿主从 <span> 换成了 <div>)。
顺带的好处上一版「上滑卡一下」的病根是吸住瞬间这块高度变了。这一版吸顶的那一行里本来就没有说明文字,高度是死的(实测滚动前 / 刚吸附 / 继续下滚都是 33px),跨过吸附阈值不会有任何尺寸变化,自然不会跳。
验证(真实浏览器,Edge + 412 / 360 / 320 三种屏宽)① 结构:#thySwNote 已不在 #reportHeadPin 内(contains() 返回 false),且全页只有一份;② 高度:#thySwCard 在「滚动前 / 刚吸附 / 继续下滚」三种状态下都是 33px,完全一致;③ 说明:下滚 373px 后说明文字的底边已跑到视口上方(-31px),确认它没跟着钉住;④ 对齐:说明首字与卡片标题首字的左边距实测都是 24px,偏差 0.0px;⑤ 交互:点开关 → 说明文字在「算上夫妻工资的经营」与「不算夫妻工资的经营」之间正常切换,账目视角下这一行也照常显示。
兼容性 / 验收无数据结构变更,账目数字一分不动。上传 Cloudflare Pages 后请 Ctrl+F5 强刷,顶栏版本号应为 v4.8.5;在报表页往下滑,钉在顶栏下方的应该只剩「理论支出计入经营指标 + 开关」一行,那句灰色说明跟着内容往上走掉了。
v4.8.42026-10-30修「上滑时卡一下」(吸住瞬间高度变化导致内容上跳);滚动回调改按帧节流、CSS 变量只在变化时写
为什么升修订号只改滚动与吸附的表现层,不动取数与数据结构,按 SemVer 升修订号(v4.8.3 → v4.8.4)。
病根上一版把「理论支出计入经营指标」并进吸顶组时,多做了一件「体贴」的事:吸住时(.head-pin.stuck)把说明文字 display:none、内边距从 6px 压到 4px,想让它别占地方。但跨过吸附阈值的那一瞬间整块矮了 16px,下面所有内容跟着往上跳一次;再往回滑又跳回来 —— 老板反馈的「上滑卡顿」就是这次跳动,不是手机卡。
怎么修① 吸附前后尺寸完全一致:删掉 .stuck 里那两条改高度的规则,只留一个常量间距 .head-pin .thy-card{margin:8px 0 0}——吸住只换投影(纯绘制,不触发布局),说明文字一直显示。② 滚动回调按帧节流:一帧内的多次 scroll 事件合并成一次(requestAnimationFrame),快速滑动时不再每个事件都读一次布局。③ CSS 变量只在真变了才写:--head-top(顶栏高度)和 --list-pin-h(流水页吸附组高度)以前每帧都 setProperty,等于每帧都让浏览器重算一次样式;现在缓存上次的值、相同就跳过。
验证① 结构:.head-pin.stuck 里已无任何改高度 / 改内边距 / 隐藏子元素的规则(grep stuck 只剩投影);② 视觉:吸附前后 .thy-card 高度一致(说明文字恒定占位),阈值处不再有内容位移;③ 卡片内容不受影响——用老板 2026-10-30 的账号备份跑真实渲染,租金 / 装修 / 设备 / 能耗四张卡的左右栏算式与上一版逐字一致(render_cards.js 四项断言全过)。
兼容性 / 验收无数据结构变更。上传 Cloudflare Pages 后请 Ctrl+F5 强刷,顶栏版本号应为 v4.8.4;在报表页上下滑动,「理论支出计入经营指标」那一行滑过顶栏时只吸附、不跳动,说明文字也照旧显示。
v4.8.32026-10-30经营视角卡片补齐「详细计算」(租金 / 装修 / 设备 / 能耗的左右栏都写清算式);「理论支出计入经营指标」开关并入吸顶组
为什么升修订号只改卡片上显示的文字与头部吸附结构,不动任何取数、不动数据结构,按 SemVer 升修订号(v4.8.2 → v4.8.3)。老账本打开即用。
① 租金占比卡:补上「周期账平摊」的详细计算老板反馈:「租金为什么没有详细计算,就是周期账平摊计算」。以前这张卡只有一句「房租物业 ¥752.69 ÷ 营收 ¥7,927.51」,¥752.69 是凭空冒出来的。现在左栏按装修卡的同一套写法拆开:周期账按天摊 ¥752.69 + 一次性 ¥0.00 = 合计 ¥752.69 ÷ 营收 ¥7,927.51;右栏写清应计是怎么摊出来的:每期 ¥1,166.67 ÷ 31 天 × 20 天 = ¥752.69 ÷ 营收 ¥7,927.51——正好是老板自己按计算器算的那条式子。新增 periodicExplain() 专门产这段文字:按 每期金额 ÷ 该期天数 × 本区间落在该期的天数 逐段算,只输出文字、不参与取数,所以小字和大数字永远同源;区间为「全部」或不做摊销时自动回退到原来的写法。
② 装修 / 设备 / 能耗卡:右栏也给出算式以前这三张卡的右栏只有「周期账 4 笔按天摊 · 占营收 9.22%」,看得见笔数、看不见钱怎么来的。现在右栏写「4 笔周期账按天摊(如 每期 ¥609.55 ÷ 30 天 × 13 天)= ¥730.88」,有一次性支出的再补「+ 一次性 ¥201.91」(设备卡);能耗左栏的 ¥0.00 补一句「本区间没记水电气,右栏是估算值」,不再让人以为算错。多笔时按「笔」报数、只举第一笔当例子——一笔跨月会被切成两段(4 笔 → 8 段),按「段」报数会跟卡片上的「4 笔」打架。
③ 「理论支出计入经营指标」开关并入吸顶组老板要求:下滑时这一块(含开关)也要钉在顶栏。整张卡挪进报表头部吸附组 #reportHeadPin,跟月份 / 范围 / 视角切换 / 齿轮一起吸住;吸住时说明文字自动收成一行(.head-pin.stuck 里隐藏那句说明),只留标题 + 开关,不占屏幕;还给吸附组补了 10px 底部留白,免得卡片下沿贴着下面内容。
验证用老板 2026-10-30 的账号备份(区间 10-11~10-30)在真实 app.js 上跑渲染,逐格比对左右栏文字:租金 左「周期账按天摊 ¥752.69 + 一次性 ¥0.00 = 合计 ¥752.69 ÷ 营收 ¥7,927.51」/ 右「每期 ¥1,166.67 ÷ 31 天 × 20 天 = ¥752.69 ÷ 营收 ¥7,927.51」;装修 4 笔 → ¥730.88;设备 3 笔 + 一次性 ¥201.91 → ¥655.76;能耗左栏 0.00 带说明、右栏「按当月 ¥158.16 ÷ 31天 × 20天 = ¥102.04」。另核 HTML 结构:#thySwCard 在 #reportHeadPin 内且全页只有一份,吸附组内 div 开闭配平(8/8)。
兼容性 / 验收无数据结构变更,老账本打开即用。上传 Cloudflare Pages 后请 Ctrl+F5 强刷,顶栏版本号应为 v4.8.3;经营视角自定义 10-11~10-30,租金卡第三行应出现「每期 ¥1,166.67 ÷ 31 天 × 20 天 = ¥752.69」;往下翻报表时,「理论支出计入经营指标」那一行应一直钉在顶栏下方。
v4.8.22026-10-30修「周期账重建 / 重复创建后右栏翻倍」(租金 ¥752.69 被算成 ¥1,505.38);?v= 缓存号升到 v4.8.2,避免浏览器用旧 app.js
为什么升修订号只改取数判定,无数据结构变更、无破坏性变更,全部向后兼容,按 SemVer 升修订号(v4.8.1 → v4.8.2)。老账本打开即用,本机 / 云端都不用动表。
病根老板截图:经营视角自定义 10-11~10-30,左栏租金 ¥752.69(=1166.67 ÷ 31 × 20,完全正确),右栏却是 ¥1,505.38,正好两倍。根因不是折算公式,而是同一个分类下存在两条周期账流水:一条属于现在还在用的周期账配置(编号在配置里),另一条是重建 / 重复创建周期账时留下的旧流水(编号已不在配置里)。旧流水不会被「换成按天摊的虚拟行」,于是右栏把它当成「窗口外的周期账」又按天摊了一遍 —— 同一笔房租算了两遍。用老板 2026-10-30 的账号备份核对:房租一栏确实有两条不同编号(mucut4uzzm6v47b 与 mu1zoquimtwa2zm),而周期账配置表里只有一条,证实这种重复是真实存在的。
怎么修新增判定 periodicLiveCats():只要该一级分类下还有在册周期账,编号对不上的旧周期账流水就不再参与账面(applyPeriodicAmort)与应计(accrualByKey 的窗口外周期账)。真·配置丢失(换设备 / 云端没搬上来,该分类一笔周期账配置都没有)时维持原行为:照旧拿流水按天摊出应计,不会把账算没。
验证用真实备份 + 造数三种场景实测:①只有一条、编号对得上 → 左 ¥752.69 / 右 ¥752.69;②新配置 + 旧孤儿流水(老板遇到的就是这种)→ 修复前左 ¥752.69 / 右 ¥1,505.38(复现截图),修复后左右均 ¥752.69;③配置全丢 → 左 ¥0 / 右 ¥752.69(保留估算,不误删)。另外把经营视角 20 张卡片的左右栏逐张核了一遍:营收 / 食材 / 损耗 / 营销 / 佣金 / 外卖等 11 张左右栏完全一致;人工 / 能耗 / 综合费用 / 净利率 / 保本线 5 张按天折算(右栏=应摊到本区间,符合定义);租金 / 装修 / 设备 3 张周期账卡左右一致、不翻倍。区间模式扫描覆盖 本月 / 自定义 / 本季 / 全月 / 已过子区间 / 全部,均无翻倍。
顺带说明:为什么之前几次像「没修好」中间几次改完只覆盖了文件,没有升 ?v= 缓存号,浏览器 / CDN 一直在用缓存里的旧 app.js,所以看到的还是旧数字。本版缓存号升到 v4.8.2,会强制拉新代码。
兼容性 / 验收无数据结构变更。上传 Cloudflare Pages 后请 Ctrl+F5 强刷,顶栏版本号应为 v4.8.2;再看经营视角自定义 10-11~10-30,租金左右栏都应是 ¥752.69。若同一分类下确实重复记了两笔真账,请到流水页删掉多余那笔(周期账卡的「流水明细」里能逐期看到)。
v4.8.12026-10-30经营视角「视角切换+齿轮」重新钉顶栏;右栏人工(应计)拆成「人工工资+夫妻工资」两项;修正左右栏语义说明(周期账左右栏同一笔摊销、不翻倍)
为什么升修订号三处都是界面 / 取数展示调整,无数据结构变更、无破坏性变更,全部向后兼容,按 SemVer 升修订号(v4.8.0 → v4.8.1)。老账本打开即用,本机 / 云端都不用动表。
① 视角切换 + 齿轮重新钉回顶栏场景:上一版为了修「上滑时经营视角卡在开关位置」,把视角切换条移出了吸顶组,结果下滑时它跟着内容一起跑了,老板想随时切视角得先滚回顶部。现在把视角切换 + 齿轮重新并入吸顶组(月份 + 范围 + 视角切换 + 齿轮整组吸顶),sticky 只在整组滚到顶栏下沿时吸住,内容照常从下方滚过,不会「锁死」。
② 右栏人工(应计)拆成两项明细场景:右栏「人工(应计)¥X」之前是一笔合并值,看不出工资和夫妻工资各占多少。现在和左栏一样拆成「人工工资(应计)+ 夫妻工资(应计)」两项,口径开关关掉时夫妻工资整类剔除、右栏只剩工资。用老板自己 2026-10-30 的账号备份模拟验证:区间覆盖 10-30 那笔 ¥8,000 夫妻工资时,右栏人工(应计)= ¥5,087.10 = 工资 ¥183.87 + 夫妻 ¥4,903.23(= 8,300 × 19 ÷ 31),与截图完全吻合;开关关掉时右栏人工(应计)= ¥183.87(只剩工资)。
③ 修正左右栏语义说明场景:老板看到旧版右栏租金 ¥1,430(翻倍)误以为「又算了上个月」、且「截至今日」覆盖整月。其实左栏=本区间账面(区间里实际记的 + 周期账摊进区间的),右栏=截至今日 / 区间应计(按天折算到今天或区间末,不是整月),周期账在左右栏是同一笔摊销结果、不会重复算。本版把说明文案改清楚,并确认租金翻倍旧 Bug 已修(左右栏均=按天摊后的数,不再翻倍)。
兼容性无数据结构变更、无破坏性变更。老账本打开即用,本机 / 云端都不用动表;上传 Cloudflare Pages 后请 Ctrl+F5 强刷(三个 ?v= 缓存号已升到 v4.8.1),顶栏版本号应为 v4.8.1。
验收① 经营视角下滑时视角切换 + 齿轮吸在顶栏下方;② 右栏「人工(应计)」卡的小字拆成「工资 X + 夫妻 Y」;③ 租金等周期账左右栏数字一致、不翻倍;④ 顶栏版本号 = v4.8.1。
v4.8.02026-10-30周期账改成按天精确摊(装修 / 设备 / 租金任意区间都有数);口径开关卡片压小、名字改成「算上 / 不算夫妻工资的经营」;修开关关掉后人工成本里还留着夫妻工资
为什么升次版本周期账从「按记账日落地」改成「按天精确摊」是算法变更(所有带周期账的分类都受影响),另外新增了「点摊销卡自动放宽时间范围」的跳转行为、口径名称整体改名,属于向后兼容的新功能。按 SemVer 升次版本号(v4.7.0 → v4.8.0)。数据结构没动,老账本打开即可用。
① 周期账改成按天精确摊场景:老板选了自定义区间(比如 10 月 1~7 号),点「装修摊销」想看细节,跳到流水页却一笔都没有——因为那条装修的周期账流水记在 10 月 15 号,不在这 7 天里;更早时候甚至会出现卡上显示 0,以为装修钱没算。根因是老做法把周期账当成「记账日那一天的一笔支出」,区间一窄就漏。
  • 新算法:每期金额 ×(本区间与该期重叠的天数 ÷ 该期天数)。装修、设备、租金、包装耗材等所有走周期账的分类统一生效,跟那期的记账日落在哪天完全无关。
  • 只摊已经入账的期数(已入账期数),不会把还没付的未来几期提前算进成本。
  • 整月 / 整季 / 全年区间的结果跟以前完全一致(一期正好覆盖一整月时,重叠天数=该期天数,摊出来还是那一期的钱),只有自定义区间才是真正「按天切」。
  • 只动经营视角的取数:流水、账户余额、导出备份、账目视角的收入 / 支出 / 结余一律不动,还是「钱实际怎么进出的」。
实测:装修 12 万分 12 期(每期 ¥1,000)、本期从月初开始 → 选 10/1~10/7 时装修摊销从「无」变成 ¥225.81(=1000 × 7 ÷ 31),设备 ¥2,000 每期同区间摊出 ¥451.61。
② 点摊销卡跳流水时自动放宽到「全部时间」接着上面的场景:按天摊让卡上有数了,但那张周期账流水本身还是记在别的日子。装修摊销 / 设备摊销 / 租金占比这三张卡点下去,会自动把时间范围切到「全部」并按该分类筛选,同时弹一条提示「已切到「全部时间」,这样才看得到周期账的每一期」。这样点进去一定看得到钱,不会一片空白。
③ 口径开关卡片压小、名字改清楚上一版那个开关占得太高,而且「口袋口径」这个名字老板说看不懂。现在:
  • 整张卡从四行压到两行:标题「理论支出计入经营指标」和开关在同一行(开关靠右对齐标题),下面只有一句话的说明,不再把口径名单独占一行。
  • 名字改成一看就懂:开=算上夫妻工资的经营,关=不算夫妻工资的经营。
  • 去掉了「开=」「关=」这种符号,口径名直接并进说明句子里,整卡高度从约 110px 降到约 60px(手机上约 79px),报表页第一屏能多露出一整张卡。
报表页的「当前口径」说明、经营体检卡、切档时的提示气泡里,这个词也全部同步改了,不会一处新一处旧。
④ 修:开关关掉后,人工成本里还留着「夫妻工资」现象:把开关关掉(不算夫妻工资),人工成本率的数值已经正确降到只算真工资,但那张卡的公式行还写着「+ 夫妻工资 ¥0.00」,看着像还在算。现在开关一关,公式行直接变成「人工工资 ÷ 营收」,跳转分类也只剩「人工工资」,不再出现夫妻工资。
⑤ 顺手修一个会白屏的隐患时间范围选「全部」时,报表页原本会去读一个不存在的对象(win.full),整页直接报错。这个隐患在点摊销卡自动切「全部」之后被踩中,一并修掉了。
兼容性无需改数据结构、无需重建表。周期账按天摊只在自定义区间才会算出与旧版不同的数(旧版那种情况往往是 0 或整笔砸进来,新版才是真正该摊的钱);整月 / 整季 / 全年的数字与 v4.7.0 完全一致。口径开关的旧设置(开 / 关)原样保留,只是名字换了写法。
验收① 装修 / 设备 / 租金这类走周期账的分类,选任意自定义区间,卡上都有按天摊出来的数(不再是 0 或整笔);② 点「装修摊销」卡能跳到流水页,且时间范围自动变成「全部」、分类已筛好;③ 开关卡只剩两行,标题和开关在同一行,说明里写「算上夫妻工资的经营」/「不算夫妻工资的经营」;④ 关掉开关后人工成本率的公式行不再出现「夫妻工资」;⑤ 预算范围选「全部」时报表页不报错。
v4.7.02026-10-30毛利率两档叫全名(理论毛利 / 实际毛利);报表顶部新增「理论支出计入经营指标」口径开关;底部新增「经营体检」卡;修「两个夫妻工资」和「记一笔时间停在打开账本那一刻」
为什么升次版本新增了口径开关和「经营体检」卡两个功能,另外两处是修 Bug(重复细分、时间不刷新)。按 SemVer,有新功能就升次版本号(v4.6.0 → v4.7.0)。数据结构没动,老账本打开自动处理,不需要重新建表。
① 毛利率两档叫全名场景:老板盯着两张毛利率卡问「哪个是我真正赚到的?」——只写「不含损耗 / 含损耗」看不出谁更接近真实。现在两档各自叫全名:
  • 毛利率(不含损耗)理论毛利=(营收 − 食材采购)÷ 营收 —— 只扣买食材的钱,等于假设买进来的菜一点没坏、全部变成了营业额,所以叫理论毛利。它回答的是「我的菜单定价本身健不健康」。
  • 毛利率(含损耗)实际毛利=(营收 − 食材采购 − 损耗报损)÷ 营收 —— 再把坏掉、过期、退菜吃掉的钱扣掉,才是这批货真正剩下的钱,所以叫实际毛利。它跟净利率同一口径。
「实际毛利」那张卡的算法行直接写明两者的差:「比理论毛利低 X 个点=损耗吃掉 ¥Y」,不用自己拿计算器减。两张卡的说明文字也各补了「为什么叫这个名」。
② 顶部口径开关:理论支出计入经营指标场景:把夫妻工资算进人工成本后,报表显示亏很多,但老板说「我口袋里其实没亏这么多」——因为夫妻工资、折旧这些钱根本没有真的掏出去。现在报表页顶部(视角切换条正下方)加了一个开关,默认开:
  • 开=经营口径:夫妻工资、折旧摊销、自有资金利息、门店自用都算进成本和利润,看的是「开这个店本身赚不赚钱」。
  • 关=口袋口径:「理论支出」整类剔掉,看的是「这段时间我口袋里真金白银多了还是少了」。
开关一动,报表页的收入 / 支出 / 结余三张卡、全部经营指标卡、预计区间全程、支出构成饼图、趋势图、底部经营体检卡一起跟着变,当期和对比期用同一口径,环比同比不会串味。经营指标区顶部和体检卡上都写着当前是哪一口径、剔掉了多少钱,不会看着看着忘了自己看的是哪一套。状态会记住,下次打开还是你上次选的那档。只影响报表页的数字,流水、账户余额、导出备份一律不动——那是账,不是口径。
③ 底部新增「经营体检」卡上面的指标卡给的是一堆比率,老板真正想知道的是「我这段时间到底怎么样」。在「预计区间全程」下面新增一张卡,按当前区间自动算、一行一条说人话:
  • 赚没赚:营收、支出、净赚 / 净亏,并折算成「每做 100 元生意赚(亏)多少元」。
  • 理论毛利 vs 实际毛利:两档各多少,差几个点,折成钱是多少。
  • 钱花在哪:花钱最多的三大块,各占营收多少(夫妻工资并入「人工成本」,不会跟「理论支出」重复计算)。
  • 哪块超标:食材、人工、租金、能耗、营销、佣金六项里超过建议线的逐条点名。
  • 跟上一期比:营收涨/跌百分之几、支出涨/跌百分之几、上期净利多少;支出涨得比营收快会单独提醒一句。
  • 保本线:还差多少钱够本,按现在每天的节奏还要做几天。
  • 下一步干什么:按最严重的那一条给动作,最多两条(如「人工成本率 27.50% 最吃利润,先看排班能不能压」)。
数字的口径跟指标卡一致:区间还在进行中用「按天折算」的应计数,区间已过完用账面数,卡上会写明是哪一种。
④ 修:「理论支出」下出现两个「夫妻工资」现象:升级后点「理论支出」,细分区里「夫妻工资」出现了两个。原因:默认分类表里已经写成「夫妻工资」,每次打开会「缺什么补什么」先补进一条;紧接着改名迁移又把老账本里的「经营工资」改成「夫妻工资」,于是撞出两条一模一样的。现在每次打开都查一遍同名细分,只留排序最靠前的那条(也就是原来「经营工资」的位置),多出来的删掉。只删分类条目本身,历史流水、金额、日期一分不动(流水记的是分类名字,不是分类编号)。
⑤ 修:记一笔的时间停在「打开账本那一刻」现象:老板 00:10 打开账本,看了一会儿报表,00:25 回来记一笔,存下来的时间却是 00:10,跟实际对不上。原因:日期 / 时间只在进入页面时填了一次「当时那一刻」,之后一直没刷新。现在规则改成:只要日期 / 时间没被手动改过,切回记一笔页、以及点「保存这笔」的那一刻,都自动刷成当前时刻;手动改过就一律尊重手填值,绝不自作主张覆盖(照抄历史记录、切支出 / 收入类型这些场景也都不会被刷掉)。
⑦ 新增「装修摊销」「设备摊销」两张卡场景:装修花 12 万、设备花几万,都是按月摊进成本的,但报表里只有一个笼统的「综合费用率」,看不出这段时间到底摊了多少、摊得对不对。现在经营视角在「能耗率」后面多了两张卡:
  • 装修摊销=所选区间里「门店装修」分类落地的钱;设备摊销=所选区间里「设备采购维修」分类落地的钱。
  • 主数字是金额(这个区间摊了多少),副行写占营收百分之多少;卡片公式行把钱拆成「周期账分摊 N 期 ¥X + 一次性 ¥Y」——周期账每期落库时备注里带「【周期账 第N期/共M期 · 每期¥X · #编号】」,靠这个标记区分,不新增字段、不改数据结构。
  • 走周期账按月摊的,区间里落几期就算几期;一次性全额记的整笔也算进来。点卡片跳流水页看是哪几笔。右栏「截至今日」同步给应计金额。
顺带回答一个疑问:装修、设备的周期账平摊,本来就已经算在区间里了——周期账每一期都会写一条真实流水(跟手工记的一模一样),落在区间内的期数自然被统计到;这两张卡只是把它单独挑出来让你看得见,数字本身没有多算也没有少算。
改了哪些文件
  • assets/app.js:新增 theoryIncluded / setTheoryIncluded / rptRecs / theoryAmount / renderTheorySwitch(口径开关)、amortBreak(周期账摊销拆分);bizMetrics 返回新增「装修」;BIZ_LB / TD_MAP / kpi 新增「装修摊销」「设备摊销」两张卡;monthStat、rangeStat 增可选「记录集」参数;renderReport / renderBizView / drawExpensePie / drawTrend 全部改走 rptRecs();毛利率两档改名(BIZ_LB、TD_MAP、kpi 标题、导出 Excel);新增 renderBizAnalysis(经营体检卡);新增 dedupeFuqiWageV4610(夫妻工资去重);新增 refreshFormDateTime + S.dtTouched(记一笔时间);版本号 v4.7.0。
  • assets/style.css:新增 .thy-card / .thy-row(口径开关)与 #analysisCard 各条(经营体检卡)。
  • 餐饮流水管家.html:新增口径开关卡片 #thySwCard、经营体检卡容器 #analysisCard、经营指标区口径说明 #bizCalNote;版本号 6 处升 v4.7.0(顶栏 + 3 个 ?v= 缓存号 + 两份文档链接)。
兼容性无需改数据结构、无需重建表。口径开关默认开(经营口径),也就是跟 v4.6.0 完全一致;关掉之后净利率、人工成本率这些会好看一些,那是口袋口径,不是账错了。有重复「夫妻工资」的账本首次打开会自动清掉多余的,并弹一条提示。「毛利率(不含损耗)理论毛利」的数字与旧版「毛利率」完全一致,只是换了个名字。
验收① 经营视角能看到「毛利率(不含损耗)理论毛利」「毛利率(含损耗)实际毛利」两张卡,后者的算法行写明「比理论毛利低 X 个点=损耗吃掉 ¥Y」;② 报表顶部有「理论支出计入经营指标」开关,关掉后支出 / 结余变小、人工成本率只算真发出去的工资、经营指标区与体检卡写明当前是口袋口径及剔了多少钱;③ 报表底部「经营体检」卡至少 6 行,含赚没赚、花钱前三大块、超标项、环比、保本线、下一步;④ 「理论支出」细分里只有一个「夫妻工资」;⑤ 记一笔的时间跟着当前时刻走,手动改过则保持不变;⑥ 经营视角能看到「装修摊销」「设备摊销」两张卡,公式行写明周期账分摊几期、一次性多少。
v4.6.02026-10-29毛利率拆成「不含损耗 / 含损耗」两档;报表比例改两位小数;人工成本算上夫妻工资;理论支出提示改文案换配色;「经营工资」改名「夫妻工资」
为什么升次版本五处都是新增/改口径(多一档毛利率指标、人工成本多算一块、分类改名、提示文案与配色),不是单纯修 Bug,按 SemVer 升次版本号(v4.5.0 → v4.6.0)。数据结构没动,老账本打开自动补齐,不需要重新建表。
① 毛利率拆成两档,并写明区别以前只有一张「毛利率」,口径是只扣食材采购、不扣损耗,名字却没写明,容易和「净利率」(那个是含损耗的)对不上。现在拆成两张卡:
  • 毛利率(不含损耗)=(营收 − 食材采购)÷ 营收 —— 就是原来的那个数,一个数字没变。
  • 毛利率(含损耗)=(营收 − 食材采购 − 损耗报损)÷ 营收 —— 再把坏掉、过期、退菜吃掉的钱扣掉,才是这批货真正剩下的钱。
两档的差就是损耗占营收的比例:差得越大说明损耗吃掉的钱越多。它跟净利率是同一口径(损耗本来就计在全部支出里),所以「含损耗」这一档一定 ≤「不含损耗」那一档。报表右栏「截至今日」同步加了这一档。
② 报表比例改成两位小数以前所有比例只留 1 位小数(如 58.2%),看不出细小的变化。现在报表页全部比例统一 2 位小数(58.23%):经营指标卡、右栏「截至今日」、环比同比对比、成本结构饼图的图例与浮框,以及导出备份 Excel 的「分类汇总 / 关键指标」两个分析页都跟着改。金额轴(万元)和存储用量仍是 1 位小数,不受影响。
③ 人工成本算上「夫妻工资」老板夫妻俩自己的工资记在「理论支出 ▸ 夫妻工资」(钱没真发出去),但它跟发给员工的工资一样是人力投入。现在人工成本 = 人工工资 + 理论支出·夫妻工资,「人工成本率」卡、右栏应计、导出 Excel 的「关键指标」页(新增「人工成本(元)」「人工成本率」两行)全部按这个新口径。点卡片跳转会同时带出这两类的明细流水。
④ 自定义日期按日薪平摊工资场景:区间选 10/1~10/7 这 7 天,工资却是 10 月整月 6000 —— 老算法把 6000 全额算进这 7 天,人工成本率直接飙到离谱。现在自定义区间里,「人工工资」和「理论支出·夫妻工资」都按「当月月额 ÷ 当月天数 × 区间落在当月的天数」平摊(上例只算 6000 ÷ 31 × 7 ≈ 1355)。规则跟人工工资完全同一把尺子;整月、整季、全年这些完整周期不折算,跟以前一样。
⑤ 理论支出提示改文案 + 换配色记账时选「理论支出」后,金额输入框下面那行说明原来跟普通灰色小字一个样,容易被一眼滑过去。现在:
  • 文案补上关键一句 —— 「发给员工的工资请选『人工工资』」,只有夫妻俩自己的工资才记在这里的「夫妻工资」。举例也从「老板工资」改成「夫妻工资」。
  • 整条换成主色底 + 主色深字的醒目配色(跟随主题,深色模式自动变浅蓝),跟旁边的「损耗报损」提示明显区分开。
⑥ 「经营工资」改名「夫妻工资」「理论支出」下的细分「经营工资」改名「夫妻工资」,叫法跟实际含义对得上。老账本开机自动改一遍:分类表、历史流水、周期账配置三处同步改名(只跑一次),金额、日期、备注一律不动。新账号的默认分类直接就是「夫妻工资」。
改了哪些文件
  • assets/app.js:新增 isLaborRow / laborBook / laborAccrual / isSpreadKey(人工成本与日薪平摊);bizMetrics 接第 3 参 laborV、新增「毛利率含损耗」;accrualByKey 提前算三份基准并加「工资类日薪平摊」段;报表 23 处比例改 2 位小数、环比精度提到 0.01%;导出分析页补「人工成本(元)」「人工成本率」;新增 migrateFuqiWageV4600 改名迁移;版本号 v4.6.0。
  • assets/core.js:默认分类「理论支出」细分「经营工资」→「夫妻工资」。
  • assets/style.css:新增 .th-hint.th-theory 配色。
  • 餐饮流水管家.html:理论支出提示文案 + class;版本号 6 处升 v4.6.0(顶栏 + 3 个 ?v= 缓存号 + 两份文档链接)。
兼容性无需改数据结构、无需重建表。老账本首次打开会自动把「经营工资」改名「夫妻工资」,并弹一条提示告诉你改了多少笔历史流水。「毛利率(不含损耗)」的数字与 v4.5.0 完全一致;新增的「毛利率(含损耗)」「人工成本(含夫妻工资)」是新口径,第一次看到的数会比旧版低一些,属正常。
验收① 经营视角能看到「毛利率(不含损耗)」「毛利率(含损耗)」两张卡,后者 ≤ 前者,卡片说明写明两档区别;② 报表任意比例都是两位小数(如 58.23%);③ 记一笔「理论支出 ▸ 夫妻工资」,人工成本率随之变大;④ 自定义区间选某月 1~7 号,人工成本只算约 7/31;⑤ 选「理论支出」时提示条为主色底并写有「发给员工的工资请选『人工工资』」;⑥ 分类管理里「理论支出」下是「夫妻工资」,不再有「经营工资」。
v4.5.02026-10-29导出备份「设置」按功能分列(店铺休息 / 默认记账 / 账户各占一行);同步状态卡片与 10 对齐
为什么升次版本一处新增导出可读性(备份 Excel 的「设置」sheet 不再把整个「数据」袋子塞进一个单元格),一处与 10 点单系统对齐同步状态显示,旧数据、云端结构、记账逻辑一行没动,升次版本号(v4.4.0 → v4.5.0)。
① 导出备份「设置」按功能分列以前「设置」sheet 里有一行「数据」,值是一整坨 JSON(店铺休息、默认记账、账户、主题、借还迁移……全挤在一个单元格),打开 Excel 一行塞满看不清。现在每个功能子项拆成独立一行:字段名写成「数据·店铺休息」「数据·默认记账」「数据·账户」……,值仍是各自的结构化内容。导入时自动反向拼回原来的「数据」对象,新旧备份都认得(旧版整坨格式也能正常导入)。
② 「我的 → 同步状态」卡片与 10 工具对齐本机 / 云端两种模式的提示文案与 10 餐饮点单系统统一风格(本机模式提示不上云、云端模式显示「已同步云端 · X前」),不后台定时轮询,每次写入云端成功才刷新。
改了哪些文件
  • assets/core.js:exportBackup 把 settings.数据 展平为「数据·xxx」多行;importBackup 两处解析反向拼回,兼容新旧格式;版本号 v4.5.0。
  • assets/app.js:版本号 v4.5.0。
  • 餐饮流水管家.html:版本号 6 处升 v4.5.0(含 3 个 ?v= 缓存号 + 两份文档链接)。
验收导出一份备份,打开「设置」sheet 可见「数据·店铺休息」「数据·默认记账」等多个独立行;把这份新备份再导入,设置完整还原。无页面报错。
v4.4.02026-10-29窄窗口「点击可跳转至流水」自动缩字号跟指标名同一行;报表左右两栏字号统一、公式里的数字加粗;综合费用率移到营收正后面
为什么升次版本三处都是改版面的显示方式(提示语排版、字号字重、卡片顺序),记账逻辑、数据结构、算法口径一行没动,属于「新增 / 调整的显示能力」,升次版本号(v4.3.1 → v4.4.0)。
① 「(点击可跳转至流水)」不再单独占一行窄窗口(大约 390~640px,卡片只占一列)时,这句蓝色提示会被挤到指标名的下一行,看着像两个标题。现在它会按 0.5px 一档自动缩小,刚好塞回指标名后面那行就停——460px 的窗口上大约是 10~12px,390px 的手机上最小 9px,始终和「营收」「综合费用率」这些名字同一行。顺带把提示语前头那个多余的空格去掉(缩进改由样式控制),省下的 3px 正好让它在 390px 手机上也塞得下。桌面上卡片被切成多列时左栏实在太窄(只有约 94px),缩到 8.5px 也塞不下,这时恢复原字号照旧排在第二行,跟这次改版前一模一样,不会出现「缩得看不清还硬挤」。
② 报表左右两栏字号统一、公式里的数字加粗以前右栏(⏱ 截至今日 / 区间应计)的说明行是 11px、公式行 10.5px,比左栏各小 0.5px,两列并排时明显右边更细更小。现在两边拉齐:说明行一律 11.5px、公式行一律 11px;公式里的金额和百分比加粗(左栏「上文字下数字」里的数字、右栏公式里的 ¥ 金额和 % 都加粗),扫一眼就能抓到数。最下面那行「算法:……」保持原来的 11px 不变——它是解释口径的,不该抢数字的注意力。
③ 综合费用率移到营收正后面主网格新顺序:营收 → 综合费用率 → 净利率 → 毛利率 → 保本营业额 → 人工成本率 → 租金占比 → 食材成本率 → 能耗率 → 损耗率 → 营销费用率 → 平台佣金率。「赚了多少」后面紧接着「被花掉多少」,而综合费用率 + 净利率 = 100%,两张卡挨着看就知道钱是被吃掉了还是留下了。
改了哪些文件
  • assets/app.js:新增 fitJumpHints()(提示语自动缩字号,9px 起、8.5px 兜底,塞不下回原字号)+ 窗口缩放防抖重算;标题名用 <span class="k-lb-t"> 包一层当测量基准;右栏公式行的金额 / 百分比加粗(boldNum);综合费用率卡移到营收卡之后;版本号 v4.4.0。
  • assets/style.css:取消 ≤430px 一刀切隐藏提示语;右栏说明 11→11.5px、公式 10.5→11px、右栏公式里的数字加粗、公式数字字重 600→700;「账已记全,不折算」一类的暗色小字 12→13px。
  • 餐饮流水管家.html:版本号 6 处升 v4.4.0(含 3 个 ?v= 缓存号 + 两份文档链接)。
验收Playwright 真机(本机 Chromium)实测:注入 2026-10 的 9 笔账(营收 ¥8,481.01 / 支出 ¥6,855.38),在 390 / 430 / 460 / 520 / 640px 五个宽度上经营视角 10 张可点卡片提示语掉行 0 个(字号 9~12px 自适应,全部与指标名同行);768px(多列)按预期恢复 12px 排第二行,与改版前一致。字号实测:左栏说明 11.5px = 右栏说明 11.5px,左栏公式 11px = 右栏公式 11px,算法行 11px 未变,公式数字字重 700。卡片顺序实测为 营收→综合费用率→净利率→毛利率→保本营业额→人工成本率→租金占比→食材成本率→能耗率→损耗率→营销费用率→平台佣金率。无页面报错。
v4.3.12026-10-28修经营视角「区间已结束仍显示截至今日」:右栏改显示「区间应计」;经营卡片按常看优先重排(净利率、人工、租金提前)
为什么升修订版本两处都是修 bug(经营视角标签没跟着区间状态变 + 卡片顺序不合老板常看的重点),不动记账逻辑、不动数据结构,升修订号(v4.3.0 → v4.3.1)。
① 经营视角「区间应计」标签修复v4.3.0 只改了账目视图(账目视角三卡)的标签,经营视角(生意健康时钟)的标签仍写死「⏱ 截至今日」——所以区间截止到 27 号、今天 28 号时,右栏还是显示「截至今日」,看着像还在推算。现已改成跟账目视图一致:区间已结束 → 「⏱ 区间应计 · N天 / 应计」,区间进行中才显示「截至今日」;成本结构饼图下方的折算公式行前缀同步切换。
② 经营卡片按常看优先重排老板天天看的往前放,主网格新顺序:营收 → 净利率 → 毛利率 → 保本营业额 → 人工成本率 → 租金占比 → 食材成本率 → 能耗率 → 损耗率 → 综合费用率 → 营销费用率 → 平台佣金率(净利率紧跟营收;人工、租金两块固定成本提到食材 / 损耗前面)。外卖子区(占比 / 抽成 / 毛利 / 配送费)不动。
改了哪些文件
  • assets/app.js:经营视角 tg / tgA 标签按 win.full 切「区间应计 / 截至今日」;成本结构公式行前缀同步;主网格 kpi 卡片顺序重排;版本号 v4.3.1。
  • 餐饮流水管家.html:版本号 7 处升 v4.3.1(含 3 个 ?v= 缓存号)。
验收Playwright 真机(本机 Chromium)实测:注入 2026-10 数据,经营视角自定义区间 10-11~10-27(今天 10-28,属过去区间),右栏全部显示「⏱ 区间应计 · 17天 / 应计」、主网格已无「截至今日」;成本结构公式行显示「⏱ 区间应计 房租物业 21.4%(¥1,700.00)= 账面 ¥3,100 ÷ 31天 × 17天」「人工 按当月 ¥8,000 ÷ 31天 × 17天 = ¥4,387.10」「能耗 ¥600 ÷ 31天 × 17天 = ¥329.03」;卡片顺序为营收→净利率→毛利率→保本→人工→租金→食材→能耗→损耗→综合费用→营销→佣金;无页面报错。
兼容性不动数据结构、不改记账逻辑,老记录、云端数据、备份全部照旧。
v4.3.02026-10-28修三个报表问题:手机端报表卡恢复左右两栏、左右两列金额对齐、自定义区间(不含 1 号周期账 / 月底才记的人工能耗)折算不再漏算
为什么升次版本三个都是修 bug(手机布局错乱 + 自定义区间折算漏算),不动记账逻辑、不动数据结构,升次版本号(v4.2.0 → v4.3.0)。
① 手机端报表卡恢复左右两栏之前 ≤430px 窄屏把「账面 / 应计」两列折成了上下单栏,左右对照看不出来;现在窄屏也保持左右两列(跟电脑一致),对照清晰。
② 左右两列金额对齐右栏标签(⏱ 截至今日 / 区间应计 · N天)之前字号(10.5px)和行高跟左栏(12px)不一致,导致右栏金额跟左栏金额上下错开;统一成同字号同高度后,左右金额逐行对齐。
③ 自定义区间折算不再漏算(核心)
  • 问题:自定义月内某一周时,若周期账记在 1 号(如月租 ¥3100)、或人工 / 能耗月底(31 号)才记,而自定义区间不含那一天,这两笔就整笔漏掉,应计数算错。
  • 修法(三分法强化):周期账按「窗口 ∩ 这笔覆盖的整月」天数分摊(如选 7 天那周 → ¥3100 × 7/31 ≈ ¥700);人工 / 能耗等月底才记的,按窗口占当月天数分摊,且优先引用当月实际数(没记才退用上月);窗口外的周期账自动捞回参与分摊。
  • 过去区间(区间末日 < 今天)右栏标签从「截至今日」改成「区间应计」,区间全程都折算;当前进行中的区间仍叫「截至今日」。
改了哪些文件
  • assets/app.js:accrualWindow 自定义分支补「过去区间也做应计」;accrualByKey 新增 extraPeriodic(捞回窗口外同月周期账)+ periodicCats(避免重复折算)+ 自定义按窗口占当月天数分摊;报表标签随区间是否过去变「区间应计 / 截至今日」;版本号 v4.3.0。
  • assets/style.css:删掉 ≤430px 把报表卡折单栏的媒体查询;右栏标签字号 / 行高与左栏对齐。
  • 餐饮流水管家.html:版本号 7 处升 v4.3.0(含 3 个 ?v= 缓存号)。
验收Playwright 真机(本机 Chromium 真视口)实测:手机 430px 报表卡为左右两栏、金额对齐;自定义历史周(10-08~10-14)支出应计 ¥6,441.94(房租 ¥700 + 人工 ¥1,806.45 + 能耗 ¥135.48 + 区间内食品 ¥3,800),标签「⏱ 区间应计 · 7天」;自定义当前周(10-22~10-28)支出应计 ¥4,587.10,标签「⏱ 截至今日 · 7天」;两场景均无页面报错。
兼容性不动数据结构、不改记账逻辑,老记录、云端数据、备份全部照旧。
v4.2.02026-10-28成本结构饼图精简成一张「截至今日」并支持大类 / 细分切换;预计全季 / 全年随范围变;「费用」明确改叫「支出」;左栏公式内联、占比左右同色;账目三卡右栏说明独立成行;手机浮框不再被屏幕挡住
为什么升次版本按设计稿定稿实施:饼图删一张加下钻、预计行随范围变化,都是加功能、调样式,不动记账逻辑、不动数据结构,升次版本号(v4.1.0 → v4.2.0)。
① 成本结构饼图精简 + 细分下钻
  • 删掉「📒 账面」那张——它和账目视角「支出构成」是同一批数,重复;账面构成要看就去账目视角(那边还能下钻二级分类)。
  • 只留「⏱ 截至今日(应计口径,按天折算;占营收比例)」一张——应计构成是别处没有的:周期账按天折算、能耗工资按上月折算后的全部支出构成,一张饼一眼看全。
  • 新增「大类 / 细分」切换(跟账目视角同款按钮):细分按「一级 · 二级」逐条折算,折算规则与大类完全一致;下面的折算公式文字行也跟着细分模式变化。
  • 折算公式文字行继续保留。
② 预计全月随范围变 + 「费用」改「支出」
  • 切本季 → 「📅 本季进度 + 预计全季 + 固定成本按整季算」;切今年 → 「预计全年 + 按全年算」;自定义区间 → 「预计区间全程」。
  • 「费用」两个字改成「支出」——它就是本期全部支出相加(转账、借还不计),和账目视角支出卡同一个数,不再让人猜。
  • 「营收 / 支出 / 预计净利」三段字号统一(改前营收段小 1px),名字小字浅色、金额同号,预计净利仍负红正绿。
③ 左栏公式内联左栏计算公式从「名字一行、金额一行」的竖排积木改成「名字金额同行」的一行内联(如「(营收 ¥5,626.00 − 食材采购 ¥4,714.39)÷ 营收 ¥5,626.00」),跟右栏同格式;金额颜色不变,窄屏按「名字+金额」整体折行、不会拆散。全部左栏公式卡(毛利率、净利率、保本营业额、食材成本率、损耗率、人工/租金/能耗/营销/佣金/综合费用率、外卖四张、账目三卡)统一改。
④ 占比左右同色同字号
  • 右栏占比数字跟左栏同色:达标绿、未达标橙(如毛利率不到 55% 两边都橙)、亏损红,之前右栏一律黑色。
  • 右栏数值跟左栏同字号同高度(19px,≤520px 窄屏一起缩到 16px),之前右栏偏小。
⑤ 账目三卡右栏格式收入 / 支出 / 结余卡的右栏改成跟经营视角同一格式:第二行 = 口径说明(如支出卡「周期账按天折算;能耗、工资本月没记就引用上月数折算,本月已记按实际」,对齐左栏环比行),第三行 = 折算明细公式(房租物业、设备采购维修逐条列出),不再挤成一坨。
⑥ 饼图浮框修边悬浮说明改以整块屏幕为界夹位置(左边距 ≥6px),手机上扇区贴饼图左边时浮框不再被顶出屏幕、文字不再被吃掉半截;浮框比屏幕还宽时自动折两行,内容永远完整。
改了哪些文件
  • assets/app.js:折算引擎抽象出 accrualByKey(大类 / 细分共用一套三分法);成本结构只画应计饼 + 细分切换;进度卡标签随范围变;kpiAcct 右栏说明独立成行;右栏占比补颜色;浮框按屏幕夹取;版本号 v4.2.0。
  • assets/style.css:左栏公式内联样式、右栏数值 19px 与颜色类、进度行字号统一、≤520px 断点同步。
  • 餐饮流水管家.html:成本结构区块重构(单饼 + 大类/细分按钮)、版本号 6 处升 v4.2.0。
验收Playwright 无头实测 32 项全绿:只剩 1 张饼图、切「细分」图例变「一级 · 二级」且折算文字行跟随、切回大类恢复;本季进度卡「预计全季 + 按整季算 + 支出」;毛利率占比左右同色同字号(rgb(234,88,12) / 16px);支出卡第二行说明、第三行明细;手机 430px 浮框完整落在屏幕内;无页面报错;1080 / 1440 / 430 三档共 9 张截图核对排版正常。
兼容性不动数据结构、不改记账逻辑,老记录、云端数据、备份全部照旧;「大类 / 细分」选择记在本机,不影响他人。
v4.1.02026-10-28报表卡压紧去填充框、成本结构改上下两张饼图(账面 / 截至今日)、「点击可跳转至流水」挪到标题名后、本季和今年也纳入折算、报表卡加宽页面变短
为什么升次版本沿用 v4.0.0 的双口径框架,往里加功能、调样式(饼图、本季今年折算、卡片变宽),不动记账逻辑、不动数据结构,升次版本号(v4.0.0 → v4.1.0)。
① 报表卡压紧
  • 右栏去掉浅蓝底填充框,改用一条细分隔线跟左栏隔开,卡片整体更轻。
  • 右栏跟左栏逐行对齐:第二行左边「食材成本 ¥4,714.39」、右边「食材成本 ¥4,714.39(随营业走,不折算)」;第三行两边都是公式,公式里的金额也带文字(如「(营收 ¥5,626.00 − 食材采购 ¥4,714.39)÷ 营收 ¥5,626.00」),不再光秃秃一串数字。毛利率、净利率、食材成本率、综合费用率等都改了。
  • 报表卡网格从最窄 220px 加宽到 340px:中屏 2~3 列、大屏 3~4 列宽卡,页面明显变短。
② 成本结构改饼图
  • 原「横条列表」换成上下两张饼图(不并排,免得小屏挤):上面「📒 账面」(整月口径,流水记了多少算多少),下面「⏱ 截至今日」(应计口径,按天折算)。
  • 饼图样式照《管理系统规范模板》第 6 章走:固定 1:1 占位、图例定高内部滚动、空数据不画。
  • 下面的折算公式文字行继续保留(房租、能耗、工资、设备等需要折算的分类逐条列出)。
  • 饼图悬浮说明(tooltip)改画在画布外面:原来小饼图只有 150px 宽,悬浮说明经常被边缘裁掉半截;现在改成黑底白字的小浮框浮在图上,完整显示不遮挡,靠近顶部还会自动翻到下方。
③ 跳转提示挪位置「(点击可跳转至流水)」从右栏挪到左栏标题名字后面(如「本月收入 (点击可跳转至流水)」),右栏只放数字和公式。
④ 本季、今年也折算
  • 之前只有「本月」和含今天的自定义区间有右栏;现在本季、今年这类跨月但包含今天的范围也有右栏。
  • 周期账改成按该笔自己所在的月份折算:过去月份整月算满、当前月按已过天数摊、未来月份不摊。本季看租金时,10 月按已过天数、11/12 月整月,混在一起合计。
  • 能耗、工资仍然「本月没记按上月折算」,在所属月份里各自处理。
⑤ 说明文字改写「📊 经营指标」的图例说明改成 ①②③④ 逐条排列,能耗、工资的口径写清楚:本月还没记且上月有数 → 引用上月数据按天自动折算;本月已记 → 按本月实际数计算,不再折算。
改了哪些文件
  • assets/app.js:折算引擎扩展本季/今年窗口、周期账按所在月折算、bizMetrics 接应计口径、饼图渲染替换横条、kpi/kpiAcct 跳转提示与公式行合并、版本号 v4.1.0。
  • assets/style.css:右栏去填充框、饼图上下排与图例定高、卡片网格 340px、≤430px 断点同步调整。
  • 餐饮流水管家.html:成本结构双饼图容器、图例说明加序号、版本号 6 处升到 v4.1.0。
验收Playwright 无头实测 21+9 两套共 30 项全绿:右栏背景透明、「点击可跳转至流水」在标题后、两张饼图上下排(账面 5 项图例 / 应计 7 项图例)、折算文字行 4 条、租金占比 34.2% 且公式含「÷ 31天 × 28天」、能耗按上月 ¥900.00 折算出 ¥812.90、本季下租金能耗仍正常折算、历史月「账已记全,不折算」、食材成本率卡第二行右栏对齐且公式带文字、饼图悬浮框宽 199px 完整显示(画布只有 150px 也不裁)、移开即消失、无页面报错;1080 / 1440 / 430 三档截图核对排版正常。
兼容性不动数据结构、不改记账逻辑,老记录、云端数据、备份全部照旧;手机、平板、电脑排版都已核对。
v4.0.02026-10-27新增「截至今日」双口径:报表每张卡左右两列逐行对齐,右栏把周期账和月底才记的能耗工资按天折算成应计数;顶部加「本月进度条 + 预计全月」
为什么升主版本报表从「只看账面」变成「账面 + 应计」双口径,是看数方式的大改,升主版本号(v3.80.1 → v4.0.0)。解决的真问题:租金、设备平摊这类周期账每月 1 号就把整月金额记进流水,月中 15 号打开经营视角,是「半个月的收入扛整月的固定成本」——净利率、保本线被压得很难看;而能耗、工资这类月底才记的,月中又是 0,两头都不准。
① 左右两列逐行对齐
  • 每张卡改成左右两列:第一行左边「标题 + 大数字(账面)」、右边「⏱ 截至今日 + 折算后数字」;第二行左右对应说明;第三行左边原计算式、右边折算的代入公式。行与行一一对应,不再挤在右上角。
  • 右列统一浅蓝底,跟左列一眼区分;手机(≤430px)自动改成上下排,每行仍是「先左账面、后右截至今日」。
  • 覆盖账目视角三卡(收入 / 支出 / 结余)和经营视角全部指标卡(营收、毛利率、净利率、保本营业额、食材成本率、损耗率、人工成本率、租金占比、能耗率、营销费用率、平台佣金率、综合费用率、外卖专项四张)。
② 三分法自动折算
  • 周期账类(流水备注带「周期账」标记,如 1 号入账的租金):应计 = 账面 ÷ 覆盖天数 × 已过天数。1 号入账时正好等于「÷ 当月天数 × 已过天数」;不是 1 号首扣的按该笔当月实际覆盖天数算。
  • 月底才记的(能耗、人工工资——本月没记、上月有):应计 = 上月金额 ÷ 当月天数 × 已过天数,公式里注明「按上月估」;本月已记的就按本月,不再折算。
  • 随营业走的(食材、包装、佣金、损耗等):不折算,左右相同——它们和营收天然同期。
  • 全部自动判定,不用逐个分类配置;同一分类里混着周期账和手工账时逐笔处理再相加。
③ 成本结构折算行
  • 成本结构条里需要折算的分类(房租物业、设备采购维修、能耗、人工工资)下面多一条蓝色小行,写明「截至今日 X%(¥金额)= 折算式 ÷ 截至今日营收」;随营业走的分类不加,免得满屏都是。
  • 本月账面还没记但按上月折算出数的分类(能耗、工资)也会列出来显示折算行。
④ 本月进度 + 预计全月
  • 报表顶部新增「📅 本月进度」进度条(已过 X / 共 Y 天),一眼解释「为什么月中净利率低」。
  • 「预计全月」开关:打开后显示按目前节奏外推的全月营收、费用与预计净利(变动成本随营收外推,租金等固定成本按整月算)。开关记在本机,不动数据库 / 云端。
⑤ 范围规则
  • 右栏只在所选范围包含今天时折算(本月、含今天的自定义区间);看历史月份时右栏显示「账已记全,不折算」;本季 / 今年 / 全部这类跨月区间不做折算(相应说明一并隐藏)。
  • 营收本身不折算——它就是每天实收累计到今天。
⑥ 图例说明「📊 经营指标」的颜色说明下面新增一段「右栏『⏱ 截至今日』是什么」,讲清左账面、右应计、月中看右栏、整月看左边。
改了哪些文件
  • assets/app.js:新增折算引擎(accrualWindow / accrualByCat / accrualFormula / projFullMonth / renderRangeProgress);bizMetrics 支持应计口径;kpi / kpiAcct 支持左右两列;成本条加折算行;版本号 v4.0.0。
  • assets/style.css:.k-drow / .kd-l / .kd-r 双列样式、.bar-sub 折算行、进度条与预计全月开关样式(含 ≤430px 断点)。
  • 餐饮流水管家.html:新增进度卡容器与「截至今日」口径说明;版本号 6 处升到 v4.0.0。
验收Playwright 无头实测 17 项全绿:版本号、进度条、支出卡应计 ¥14,096.80、结余卡应计、租金占比右栏 33.0% 且公式含「÷ 31天 × 27天」、能耗率按上月折算、成本结构折算行、预计全月、历史月「账已记全,不折算」、无页面报错;桌面 900px 与手机 430px 截图核对排版正常。
兼容性不动数据结构、不改记账逻辑,老记录、云端数据、备份全部照旧;不想要右栏的月份(历史月)自动退回纯账面显示。
v3.80.12026-10-27个人设置「云端 / 本机」文案再精简、切换按钮与文字同一行;登记损耗加防手滑重复锁;周期账扣款日 hint 精简;借还「剩余欠款」框放大;成本结构标签列加宽(手机不再截「设备采购维修」)
这次改了什么五处小修,全是界面文字与交互,不动记账算法,升补丁版本号(v3.80.0 → v3.80.1):① 个人设置里「云端模式 / 本机模式」文案再精简,且「切回本机 / 切到云端」按钮与「当前模式」文字强制同一行;② 点「登记损耗」云端反应慢、容易连点出两条——加防手滑锁(点一下立刻锁住整层、按钮变「登记中…」,成功才关、失败才解锁);③ 周期账「扣款日 / 收款日」的提示太长、手机右边半宽会折成两三行——精简但意思不变;④ 借还的「剩余欠款」展示框放大;⑤ 经营视角成本结构里最长的「设备采购维修」在手机上被截成「设备采购…」——标签列加宽。
① 模式文案 + 同行
  • 云端模式:「云端模式(存在你的云端数据库)」(比上版再砍掉「的」);本机模式:「本机模式(只存这台设备的浏览器里)」。
  • 个人设置里「📌 当前模式:…… 切回本机」——加 CSS 让按钮和文字在同一行(手机上不再把按钮换行掉到下面)。
② 防手滑锁
  • 问题:点「登记损耗」后云端写得慢,以为没点到又点一次,结果同一笔损耗记了两条,但原订单只减一次。
  • 修复:点下去的瞬间就把整层锁住——所有按钮禁用、这颗变成「登记中…」,云端写成功直接关层、写失败才解锁让你重填。同一笔绝不会记两次。
③ 周期账 hint
  • 支出侧「扣款日(第 2 期起每月几号自动扣)」→ 「扣款日(第 2 期起每月几号扣)」;收入侧「收款日(第 2 期起每月几号自动收一笔)」→ 「收款日(第 2 期起每月几号收)」。
  • 下面的例子也缩成一句「例:首次 22 号、之后每月 1 号 → 选 22 号、这里填 1。留空按首扣日;短月(如 31 号遇 2 月)按月末扣。」
④ 剩余欠款框
  • 借还面板的「剩余欠款」展示框字号 16 → 19、内边距加大、撑满整列,看着清楚不费眼。
⑤ 成本结构标签
  • 经营视角成本结构横向条,左侧标签列从 76px(手机 64px)加宽到 84px(手机 78px)——最长的「设备采购维修」(6 字) 在桌面和手机都能完整显示,不再被截成「设备采购…」。
改了哪些文件
  • assets/app.js:模式文案再精简;登记损耗防手滑锁(openWaste);周期账扣款日 / 收款日 hint 与例子精简;版本号 v3.80.1。
  • assets/style.css:#profRow-mode 同行样式;.bw-balance 放大;.biz-bar-lb 标签列加宽(含 ≤420px 断点)。
  • 餐饮流水管家.html:周期账面板静态 hint / 例子精简;版本号 6 处(verLabel + ?v=×3 + 两份文档 href)升到 v3.80.1。
兼容性不动数据结构,老记录、云端数据、备份全部照旧。
v3.80.02026-10-27修「登记损耗第二次上限算错」;借还「跟谁」改成弹小窗选角色(手机上不再全屏铺满、有退出键);转账 / 周期记账指示条整体放大;个人设置「云端模式」文案精简
这次改了什么四块:① 修 Bug——同一笔采购第二次登记损耗时,「最多能填多少」算错了;② 借还面板的「跟谁」选角色,手机上从「全屏铺满、退不出来的原生下拉」改成应用内小窗(带 ✕ 和「取消」);③ 转账 / 周期记账下面那颗模式指示条整体放大(跟「会员」那排按钮差不多大);④ 个人设置里「云端模式」去掉云朵、文字精简。记账逻辑只动了损耗上限这一处算法,其余是交互与文字,升次版本号(v3.79.0 → v3.80.0)。
① 修损耗上限
  • 问题:采购 22 元、登记损耗 8 元后剩 14 元——再点「登记损耗」,输入框却提示「最多 6.00」,只让填 6。
  • 原因:登记过一次后,这笔采购记录的金额已经被扣成 14;程序算上限时又拿 14 减了一遍已登记的 8,把「还能登记多少」错算成 6,等于把同一笔损耗扣了两次。
  • 修复:采购的上限直接按「当前剩下的金额」算——上例现在最多可以填 14,提示与拦截也跟着改对。收入(退菜)的算法不变(收入金额本来就不动,仍要减去已登记的部分)。
② 选角色小窗
  • 在哪:记一笔 → 借还 → 「跟谁」。原来是原生下拉,手机上点开会全屏铺满、也没有退出键。
  • 现在:点一下弹应用内小窗——高度最多约占半屏、人多时列表内部滚动;右上角有 ✕、底部有「取消」,点小窗外面也能退,随时出来不卡人。
  • 小窗里照旧有「+ 新建角色…」(点了弹新建窗,保存后自动选中);每个角色前面带圆点,当前选中的是实心 ●,还多了一项「不选(先空着)」。
  • 页面上的「跟谁」长得跟普通输入框一样、右侧带 ▾,选中后显示名字;记完一笔保存后自动清回「请选择角色」。
③ 指示条放大
  • 点了「更多 → 转账」或「周期记账」后,类型按钮下面那颗「💳 转账 / 📅 周期支出 + 退出 ✕」小胶囊整体放大:字号 12.5 → 15、「退出」按钮加高到跟旁边文字匹配,大小和上面「会员」那排按钮接近(老板反馈:太小了)。
④ 云端文案
  • 个人设置里「☁️ 云端模式(数据存在你自己的云端数据库)」改成「云端模式(存在你的云端数据库)」,去掉前面的云朵(照老板原话)。
改了哪些文件
  • assets/app.js:修损耗上限(openWaste);新增选角色小窗(paintWhoBtn / openWhoPicker),接入填充与保存后清空;个人设置文案。
  • assets/style.css:模式指示条放大;选角色小窗样式(.bw-who-btn / .rp-list / .rp-row)。
  • 餐饮流水管家.html:借还面板「跟谁」加按钮、藏原生下拉;版本号 6 处升到 v3.80.0。
兼容性不动数据结构,老记录、云端数据、备份全部照旧;借还编辑小窗里原来的「跟谁」下拉不受影响。
v3.79.02026-10-24新增「店铺休息」:我的页记休息日(支持每周/每月/每年与农历定期),流水日历当天标「休」,休息记录弹窗表格;个人设置里的姓名/手机号/店铺名/经手全部改成叠层修改;我的页结构跟 10 工具对齐
这次改了什么四块:① 新增店铺休息功能;② 个人设置里的姓名 / 手机号 / 店铺名 / 经手四项,从「就地改」改成叠层小窗(点修改弹一层、取消 / 保存都回到个人设置,跟改密码同一套);③ 「我的」页结构整理——去掉「数据来源 / 登录账号」卡,把备份与导入、存储用量挪到店铺信息下面,跟 10 工具一模一样;④ 退出登录按钮去掉了那个显示成豆腐块的图标,改成纯红色文字。都是改交互 / 加功能,不动记账逻辑,升次版本号(v3.78.0 → v3.79.0)。
① 店铺休息
  • 在哪:「我的 → 🏖️ 店铺休息」,卡片里「+ 添加休息日」和「休息记录」两个按钮并排一行(手机上自动上下排)。
  • 填什么:日期 + 时段 + 定期 + 原因(选填)。日期框右侧有 ▲▼ 上下按钮,按一下就是后一天 / 前一天(跨月跨年也算得对),改完下面那行农历立刻跟着变;日期框下面实时显示这一天是农历几月几日(带干支年和星期,如「2026年10月24日(周六)· 农历丙午年九月十五」);时段可选 全天 / 上午 / 下午 / 晚上 / 自定义时段(自定义要填起止时间,且开始早于结束)。
  • 定期六档:不重复(只这一天)/ 每周 / 每月 / 每年 / 农历每月 / 农历每年。后两档按农历算——比如选农历九月初一 · 农历每月,就是每个农历初一都歇;选八月十五 · 农历每年,就是每年中秋歇。
  • 第二天自动恢复:「不重复」的每一条只管所选那一天,不用手动关——过了那天,日历上的「休」自然就没了,记录还留着;选了定期的会按周期持续标。
  • 流水日历标「休」:记好的日子,在「流水页 → 日历热力」对应格子的右上角会出现一枚橙色「休」角标,悬浮能看到定期和原因。同一天重复添加会覆盖更新内容。
  • 休息记录:点「休息记录(N)」弹出表格弹窗——日期分两行显示(上面国历年月日+星期,下面农历),再是时段、原因,每条右边「删除」,删前再问一次确认,删掉后日历上的「休」也跟着去掉。
② 四项信息改叠层
  • 姓名 / 手机号 / 店铺名 / 经手,点「修改 / 填写」都弹一个叠在个人设置上面的小窗(和「修改密码」同一套叠层)。
  • 小窗里填完点保存就写进去了;点取消或点小窗外,都只是退回个人设置,不会把已填的内容弄丢——之前是就地改,取消会被整仓关掉重开,现在顺了。
③ 我的页结构
  • 去掉了「数据来源 / 登录账号」卡(切换模式在个人设置里也有,重复了)。
  • 卡片顺序改为:店铺信息 → 备份与导入 → 存储用量 → 其余,和 10 工具(餐饮点单系统)对齐,摆一起看不再两张面孔。
改了哪些文件
  • assets/app.js:新增店铺休息模块(添加表单 / 定期展开 / 休息记录弹窗表格 / 日历角标)+ 农历换算(1901–2099,含干支年,已与权威农历库逐日比对 377 天无差异);姓名 / 手机号 / 经手 / 店铺名改为叠层;去掉记一笔页的休息开关(移到我的页);清掉两个已删除函数的悬空调用。
  • assets/style.css:新增 `.rest-badge`(日历「休」角标)、`.cal-cell.rest`(浅橙描边)、`.rest-btn-row`(两个按钮同一行)与 `.rest-tbl`(休息记录表格);删掉已不用的 `#restBar` 旧样式。
  • 餐饮流水管家.html:我的页卡片重排(备份与导入、存储用量移到店铺信息下面)。
  • 没有表结构变化:不用改 Supabase、不用重跑 SQL。店铺休息存在设置 JSON 里,跟着备份 / 云端自动走。
v3.78.0v3.78.02026-10-24存储用量跟 10 工具对齐:阈值行文字在左、下拉在右不再遮挡;清理旧数据改成两步确认,没得删时「下一步」是灰的
这次改了什么老板把 10 和 11 摆在一起看,发现三处不一样:11 的清理弹层按钮挤在正文里(10 的钉在底部);没得删的时候 10 的「下一步」会灰掉、11 的不会;「用到百分之多少提醒」那行 11 的下拉被挤到文字下一行、里面的「85%」还被裁掉一半。这版把这三处全部改成跟 10 一模一样。属于改长相 + 补体验,不动任何记账逻辑,升次版本号(v3.77.0 → v3.78.0)。
① 清理弹层跟 10 同款
  • 第 1 步:填「保留最近几个月」(默认 3),底下实时算出删到哪个月 1 日、删几笔、留几笔;按钮挪到底部按钮条——「取消 | 蓝色下一步」。数字没填对、或者那之前压根没账时,「下一步」半透明灰掉点不了,跟 10 一模一样。
  • 第 2 步:确认框叠在上面——标题「真的要删除吗?」,笔数写在最上面(将删除 N 笔、哪月 1 日之前),底部「取消 | 红色确定删除 N 笔」。点取消退回第 1 步还能改月数;点确定才真删,两层一起收掉、水位马上重算。
  • 规矩没变:只删严格早于「保留最近几个月」那个月 1 日的账,本月和最近几个月一笔不动;填 0 = 全部清空,也要过「真的要全部清空吗」这一关。
② 阈值行不再遮挡
  • 场景:「用到百分之多少提醒」那行,说明文字一长,下拉被挤到下一行右下角,框里的「85%」只露出半截——是输入框默认的上下内边距太大,把 34px 高的下拉撑爆了。
  • 现在:整行改成跟 10 同款排版——名称和说明在左、下拉钉在右边,手机窄屏也不折行;下拉内边距改小,「85%」完完整整显示。
  • 说明文字也补齐了半句:提醒条点一下就跳到这里(跟 10 的说法一致)。
改了哪些文件
  • assets/app.js:清理旧数据两步重写;弹层组件新增 footer / noSnap 两个可选参数(别的弹层不受影响);按钮补上「灰显」样式。
  • assets/style.css:新增底部按钮条 .sheet-f、按钮 disabled 半透明、存储卡阈值行窄屏不折行;顺手删掉两个已经没人用的旧样式。
  • 餐饮流水管家.html:阈值下拉补内边距、说明文字补「点一下就跳到这里」。
  • 没有表结构变化:不用改 Supabase、不用重跑 SQL。
v3.77.0v3.77.02026-10-23存储用量可以自己定「用到百分之多少提醒」;新增「清理旧数据」:只删够老的几个月,本月一笔不删
这次改了两件事一件是把提醒线从写死的 85% 改成用户自己设(60~95%);一件是补上「清理旧数据」—— 老板的原话是「也给 11 工具增加清理旧数据功能」。两件都围着同一件事:存储平时看不见,动手又不可逆,所以要先摆到明面上、动手前先算清楚。属于新增功能,升次版本号(v3.76.1 → v3.77.0)。
① 提醒线自己定
  • 场景:以前提醒线写死在 85%。数据少的店一辈子到不了 85%,那根提醒条从来没出现过,等于没有;数据多的店 70% 就已经慌了,85% 才提醒已经来不及。
  • 现在:「我的 → 存储用量」里多一行「用到百分之多少提醒」,可选 60 / 70 / 75 / 80 / 85(默认) / 90 / 95,改完立刻按新线重判。设置跟账号走,换设备、重登都按你设的那个,不会弹回 85%。
② 清理旧数据:先算后删,本月一笔不删
  • 场景:账记了两年,明细越攒越多,想删掉老的那几段,又怕把正在记的这个月一起扫掉。以前只能一笔一笔勾着删,几千笔根本删不动。
  • 现在:「我的 → 存储用量 → 🧹 清理旧数据」→ 选「只留最近 3 / 6 / 12 / 24 个月」,每一档都当场算出「删 N 笔 / 剩 N 笔」,确认框里写清删的是哪一段、留的是哪一段。
  • 本月永不删:算法上往回退「选的月数 − 1」个月,所以「只留最近 6 个月」=含本月一共 6 个。本月和最近几个月一笔不动。
  • 按 id 批量删:不直接按日期条件删(云端和本机两套逻辑跑出来的结果会对不上),而是先把要删的 id 算出来,云端一批 200 个删、本机直接过滤重写 —— 本月的 id 根本不在列表里,想误伤都误伤不了。
  • 删完:重新载入数据、重画列表和报表、重算水位(水位降了提醒条自己撤掉)。不够老的账一条没有时,会明说「还没有老到可以清理的账」,不会静默什么都不做。
改了哪些文件
  • assets/core.js:新增 deleteRecordsByIds(ids)(云端分批 200 个按 id 删 / 本机过滤重写)。
  • assets/app.js:readStorageWarn / saveStorageWarn / storageWarnRatio 三件套替掉写死的 STORAGE_WARN;新增 openPurgeOld / doPurgeOld / purgeOptions;VERSION 升 v3.77.0。
  • assets/style.css:新增 .store-warn-row(阈值行)、.purge-opts / .purge-opt / .purge-sum(清理选项)。
  • 餐饮流水管家.html:存储用量卡里加阈值下拉与「清理旧数据」按钮;三处 ?v= 升到 3.77.0。
  • 没有表结构变化:不用改 Supabase、不用重跑 SQL;删的是行,表还是那张表。
v3.76.12026-10-23320px 老手机上「本机模式」四个字不再挤掉店名(与点单系统 v2.8.0 同一套做法)
这是一次纯修 Bug 的补丁版没有加功能、没改任何操作方式,只改了顶栏在极窄屏上的两档尺寸。
修的是什么
  • 场景:iPhone SE 这种 320px 宽的手机上,顶栏右边「👤 本机模式 + 刷新 + 主题」三颗一共占掉约 160px,4 个字的店名被挤掉 23px,显示成「粉面…」。300px 的老安卓更严重。
  • 现在(≤350px):三颗一起收紧 —— 账户入口内边距 9→5、文字 11.5→10.5、两颗圆键 30→28,省出约 24px,刚够 4 个字的店名 + 版本号。
  • 再窄(≤315px):让出前面那个 👤 图标(纯装饰,点整个按钮一样能进),「本机模式」四个字照样留着 —— 那是判断数据在云端还是本机的唯一线索,这个字不能藏。
  • 桌面 / 平板 / 普通手机(≥351px)一个字没变。
为什么跟点单系统一起改两个工具的顶栏是同一套骨架、同一套断点(《管理系统规范》第 3 章)。点单系统 v2.8.0 修了这条,流水管家不跟上的话,同样一台 320px 手机开两个工具会长得不一样。
改了哪些文件
  • assets/style.css:@media (max-width:350px) 与 @media (max-width:315px) 两段。
  • assets/app.js:VERSION 升 v3.76.1。
  • 餐饮流水管家.html:三处 ?v= 缓存参数升到 3.76.1。
v3.76.02026-10-22顶栏与点单系统统一成一套骨架:桌面 / 平板 / 手机三档各一套尺寸;长店名先缩字号、再让图标、最后才让日期;刷新键只转箭头
优化顶栏和点单系统(10 工具)统一了,两边一模一样。以前同一个人的两个工具顶栏长得不一样:点单系统把日期挂在店名右边、小屏藏日期;本工具小屏把日期挪到第二行,顶栏高一截,把下面的分类行顶下去了。现在骨架、字号、按钮尺寸全对齐,改一处不用重新想一遍。
三档宽度
  • 桌面(≥768px):店名 19px、日期 13px,和店名并排一行;顶栏定高 64px。
  • 平板(521–767px,含 iPad 竖屏、手机横屏):店名 17px、日期 12px,也是一行——这一档以前会换成两行,现在不会了。
  • 手机(≤520px):店名 16px,日期整条不显示,把宽度让给店名(日期在别的页都看得到);按钮从 32px 收到 30px。
长店名怎么退让先缩字号(最小 11.5px)→ 再让出左边那个装饰用的 🧾 图标 → 还放不下连日期一起让出去 → 最后才画省略号。以前是一刀切省略号,二十来个字的店名一眼只剩三个字,连自己的店都认不出来。
账户入口手机上不再整颗隐藏。以前 ≤520 直接把「👤 本机模式」藏掉,手机用户就找不到账号信息、也看不出数据到底在云端还是在这台设备上;现在三档都写着「本机模式」(云端显示姓名,管理员显示「管理员:姓名」),点进去还是同一个「个人设置」面板。
刷新键点一下只转箭头(0.7 秒),按钮那颗圆角底框原地不动——以前整块跟着转,看着像在扭。800ms 内连点直接忽略,不会连发两次请求;刷新只重读数据 + 重画当前页,筛选条件、当前页面、没提交的输入都不动。
兼容性不涉及数据与登录,本机和云端都不用动表、不用重跑 SQL;上传后请 Ctrl+F5 强刷(三个 ?v= 缓存号已升到 3.76.0),顶栏版本号应为 v3.76.0。
v3.75.02026-10-21搜索体验统一:三处搜索的「收起」改成「取消」(点了就清空输入并收起)· 修单价页取消后旧关键字还挂在列表上
优化三处搜索右边的「收起」都改叫「取消」:流水页搜索、日常单价页搜索、管理物料弹窗搜索。点「取消」= 删掉输入的内容并收起搜索框,列表立刻恢复成没搜索的样子。
修复单价页的取消以前不清空关键字:点「收起」只是把输入框藏起来,旧关键字还留在框里,列表一直按旧词过滤——搜索框不见了、列表却「少了一截」,很迷惑。现在点「取消」一定清空并恢复,重新打开搜索框也是空的。
说明三处搜索都是「输入即搜」:流水页停 0.2 秒就过滤、单价页停 0.15 秒、物料弹窗实时跟手,不用按回车;按 Esc 或点「取消」都是清空收起。
兼容性不涉及数据与登录;上传后请 Ctrl+F5 强刷(三个 ?v= 缓存号已升到 3.75.0),顶栏版本号应为 v3.75.0。
v3.74.12026-10-21修:本机模式明明没设过密码,个人设置却显示「•••••• 修改密码」,点进去还要求填一个不存在的当前密码
修复没设过密码的老账号被误判成「已设置」:早期版本建的本机账号,账号记录里没有保存密码这一项(或存的是空字符串)。判断「有没有设过密码」时只比了「不等于空密码」,没考虑「压根没这一项」,于是老账号被当成已设置——个人设置里显示 🔑 本机账号密码:•••••• [修改密码],点进去先要「当前密码」,可这个密码从来没设过,填什么都不对,等于改不了。
现在老账号正确显示 🔑 本机账号密码:未设置 [设置密码],点进去不要求填当前密码,直接设新的;设好立刻生效,「填账号登录」时就要用它。真设过密码的账号行为不变(还是要先验旧密码)。
说明这次只修判断逻辑,没加任何新功能、没改数据结构;流水、单价、分类、预算、设置一条都没动,也不用重新登录。
兼容性本机 / 云端都不用动表;上传 Cloudflare Pages 后请 Ctrl+F5 强刷(三个 ?v= 缓存号已升到 3.74.1),顶栏版本号应为 v3.74.1。
v3.74.02026-10-21补上「忘记密码」后半程:点邮件链接回来直接弹出设置新密码 · 「我的 → 个人设置」新增改密码入口(先验当前密码,本机 / 云端都有)· 重置邮件带上跳回地址
新增点「重置密码」邮件链接回来,自动弹「设置新密码」:以前点链接是直接登进账本,密码根本没换,程序里也没有任何地方能设新密码——等于这个功能只做了一半。现在识别出「这是邮件链接进来」,先弹设置框、设好才进账本;两遍新密码一致且满 6 位才提交,成功后自动进账本,以后用新密码登录。
新增「我的 → 个人设置 → 修改密码」:登录状态下随时能换密码。为了防别人趁屏幕没锁把密码改掉,要先输一遍当前密码验证身份;当前密码错了当场提示「当前密码不对」,不会提交新密码。本机模式同样有(本机账号本来存着密码 hash,走「先验旧密码 → 设新密码」;默认账号从没设过密码,第一次显示为「🔑 本机账号密码:未设置 [设置密码]」,直接设即可,不用填当前密码)。
修复重置密码邮件没带跳回地址:以前点开邮件跳到哪儿全看云端后台 Site URL 配的是什么,配错就是死链。现在发邮件时带上本工具自己的地址,正常情况点开就回到本工具并弹出设置新密码。
说明改密码不会丢数据:只换登录凭证,流水、单价、分类、预算、设置一条都不会少——云端每张表按账号 ID(user_id)隔离,改密码后 ID 不变,数据还挂在同一个账号下面。
说明「稍后再说」不影响你先进去看账:邮件链接本身已经让你登录了,点「稍后再说」会先进账本并提醒一句「密码还没改」,下次登录仍要用旧密码,想改随时可以再点忘记密码或走个人设置。
兼容性本版没改任何数据结构(无新增字段、无新增表),本机 / 云端都不用动表;上传 Cloudflare Pages 后请 Ctrl+F5 强刷(三个 ?v= 缓存号已升到 3.74.0)。若邮件链接提示「无效或已过期」,去云端后台 Authentication → URL Configuration 把本工具网址加进 Redirect URLs;链接默认 1 小时有效。
v3.73.02026-10-20「全部记录」「管理物料」两个弹窗的表头钉在第一行 · 滚到底不再被横向滑条压住最后一行 · 点右边几列表头排序不再自己跳回第一列
修复滚到最底部,最后一行怎么滑都露不全:横向滑动条原来吸在弹层最下沿、浮在表格上面,它正好盖住最后一行的单价——滚到头也没法再往上,那一行就永远缺一截。现在滑动条固定在表头下面,表格在它下面自己滚,滚到底最后一行完整可见(底部还留了 4px 空隙,不贴边)。
修复手指竖着滑到表格区域时,有种「滑不动」的感觉:表体那层容器被浏览器算成了一个「自己不能上下滚的滚动容器」,竖向手势容易被它吃掉。现在明确写成只负责左右滑,上下滑动一律交给外层列表,手势不会再丢。
修复点右边几列表头排序,画面自己跳回第一列:排序是整体重画表格,重画后横向位置被重置成 0,所以刚滑到「分类/来源/备注」一点就弹回「日期」。现在重画前先记住当前的横向、纵向位置,画完原样补回去——排序只改顺序,视图一动不动,表头和数据也仍然严丝合缝对齐(顺带修掉表头与表体差 4px 的老毛病)。
新增表头锁定在第一行:「全部单价记录」和「管理物料字典」两个弹窗的表头都钉在顶部,滚到第几十行也看得见列名,想换排序直接点表头,不用先滑回顶部。
说明同一列再点一下 = 升序 / 降序切换(箭头 ▲▼ 跟着变);换一列点 = 按新列自己的默认方向排。筛选(🔍 搜索)无结果时表头会跟着隐藏,清空关键字自动回来。
兼容性本版没改任何数据结构,本机 / 云端都不用动表;上传 Cloudflare Pages 后请 Ctrl+F5 强刷(三个 ?v= 缓存号已升到 3.73.0)。
v3.72.02026-10-20手机常用语这次真的全露出来了(多垫标签栏的高度)· 已聚焦再点一下也会再弹 · 自定义日期默认预填前 7 天(不应用)
修复手机 · 常用语还差一点:上一版把常用语顶到了键盘上面,但底下那条标签栏(记一笔/流水/报表…)还有约 60px 高,常用语下半截又被它压住——这就是「还差三四十px」的原因。现在多垫的高度按标签栏的实际高度算,常用语整条露在「键盘 + 标签栏」上面。
修复手机 · 弹上去后滑下来再点就不弹了:补滚原来只挂在「聚焦」和「键盘弹起」两个时机,输入框已经聚焦着再点一下这两个时机都不会触发。现在点一下输入框就补滚一次(付给、备注都一样)。
新增自定义日期默认预填前 7 天:点「自定义」时起止框自动填好「7 天前 ~ 今天」(含今天);这只是预填,要点「应用」才真正生效,不点应用数据不变。已经应用过的自定义日期不受影响(还是填已应用的起止)。
说明备注的常用语和付给是同一套:显示的是你以前在备注里填过、且满 3 次的词(次数门槛可在「我的 → 显示设置 → 常用语门槛」调);备注没填过重复的词就没有按钮,属正常。
兼容性本版没改任何数据结构,本机 / 云端都不用动表;上传 Cloudflare Pages 后请 Ctrl+F5 强刷(三个 ?v= 缓存号已升到 3.72.0)。
v3.71.02026-10-19界面体验打包升级:全部记录弹窗对齐管理物料 · 键盘不再盖住常用语 · 自定义日期应用后收起并显示「共几天」 · 应用按钮有状态填充 · 使用说明/更新日志挪到「我的」
修复日常单价 · 「全部记录」弹窗:和「管理物料」对齐成同一个框架——同样放宽、高度固定(86% 屏高),列表自己内部滚,「完成」按钮固定在底部;原来一窄一矮还没按钮,看着不像一个工具里的。
新增自定义日期 · 应用后收起:流水、报表页点「应用」后,日期选择区自动收起(两边一起收);再点「自定义」才重新展开,展开时自动填好已应用的起止日期。
新增自定义日期 · 标题带「共几天」:顶部标题除了显示起止日期,后面加「(共 N 天)」(首尾都算,10-14 ~ 10-19 = 共 6 天)。
新增自定义日期 · 应用按钮状态填充:改了日期还没点应用 → 按钮蓝色;点「应用」后变白并收起;再改日期又变回蓝色——一眼分清应用没应用。
新增流水 ↔ 报表联动:流水页应用自定义日期后,报表自动同用一段日期,报表页的高亮、输入框、收起状态也一并对齐(原来报表那边摊着一块空日期区,看着像没应用)。
修复手机 · 常用语被键盘盖住:点「付给 / 备注」时输入法是稍后才弹起的,原来聚焦当下就滚一次等于白滚;现在等键盘真弹起来再补滚一次,常用语整条顶到键盘上方。
新增「我的」页新增帮助入口:顶栏 ⋯ 菜单取消,「使用说明」「更新日志」挪到「我的」页的「📖 使用说明 / 📋 更新日志」卡片。
修复顶栏版本号:上个版本漏升了程序内部的版本常量(顶栏一直显示 v3.69.1),本版已修正为 v3.71.0。
兼容性本版没改任何数据结构,本机 / 云端都不用动表;上传 Cloudflare Pages 后请 Ctrl+F5 强刷(三个 ?v= 缓存号已升到 3.71.0)。
v3.70.02026-10-19流水列表排序改对:同一天按记录上的「时间」排(不再是按录入先后) · 没填时间的排在当天最后
修复流水列表 · 同一天的排序:以前同一天只看录入先后,晚上补记下午的账(比如根据 22 点堂食补一笔报损、时间填 14:50)会插在当天最前面,看着像列表没按时间排、也容易误以为填错了。现在同一天按记录上的时间排,晚的在前,补记的账会落到它该在的时刻。
新增没填时间的记录排在当天最后:老记录没写时间的不会抢位;时间完全相同的两笔再按录入先后排,保证每次打开顺序稳定不乱跳。
兼容性本机 / 云端都不用动表:只改取数时的排列方式,数据本身一字未动;上传 Cloudflare Pages 后请 Ctrl+F5 强刷(三个 ?v= 缓存号已升到 3.70.0)。
v3.69.12026-10-18界面收口(纯修补):全部单价记录表头固定+可见区底部可拖滑动条 · 物料字典搜索不再变短、不弹「还没保存」 · 按物料汇总筛选行平分整行 · 单价记录时间挪到日期下面
修复记一笔单价:点「+ 新增物料」展开的手填框和按钮同高同宽同圆角(原来比按钮高一点、宽一点,看着歪)。
修复管理物料字典 · 搜索:点 🔍 在筛选行下面单独生成一行搜索框(右侧带「收起」),再点 🔍 / 点收起 / 切换分类细分都自动退出并清空。
修复管理物料字典 · 搜索后变短:弹层改成高度固定(86% 屏高),只让里面的表自己滚——搜出几行就留几行,下面全留白、整层高度不变。
修复管理物料字典 · 三处细节:① 关键字框只是搜索不改内容,关弹层不再问「还没保存」;② 表头由方角改圆角(不再像左右还有内容);③ 手机 375px 筛选行格子收小、一行放齐(原来两行)。
修复按物料汇总 · 筛选行:明明够显示却还能左右滑 → 大界面三个框平分整行(升降序靠右),手机把格子收小一行放齐,多余的左右滑动没了。
新增全部单价记录 · 表头固定 + 底部滑动条:表头单独固定在上面、只有表体横滑;表头下方/显示区最下方有一条可拖的横向滑动条(也能点轨道跳),表头跟着对位、列宽严格对齐;往下滚时滑动条一直贴在可见区底部。
修复单价记录 · 时间换行:时间挪到日期下面一行(两排),日期列不再被撑宽;走势弹层里的时间仍是行内小灰字。
修复其他记录表表头统一成物料字典那套点击切换 升序▲ / 降序▼ 的格式。
兼容性本版纯粹修界面,没加功能、没改数据结构;上传 Cloudflare Pages 后请 Ctrl+F5 强刷(三个 ?v= 缓存号已升到 3.69.1)。
v3.69.02026-10-18记一笔「单价」弹层点新增物料不再向上跳(桌面端顶部吸附) · 物料字典:+新增与全部细分同排、搜索收成🔍图标、表头点击排序
优化记一笔「单价」弹层点「+ 新增物料」不再向上跳:桌面端弹层原来垂直居中,手填框展开让内容变高、整层对称上移(用户说的「向上动一下」);改成桌面端(≥852px)顶部吸附,内容只向下生长、顶部不动。移动端仍是底部弹层。手填框的平滑展开动画保留。
优化管理物料字典重排:「+ 新增物料」挪到「全部细分」同一行、它的右边(之前占满一整行/另起一行);搜索从整行搜索框收成一个 🔍 放大镜符号,放在行最右边——点一下才展开关键字框(默认只占图标),再点一下收起并清空过滤。
新增物料字典表头点击排序:表格表头(分类 / 细分 / 物料 / 默认单位)现在可以点,点某一列在升序▲ / 降序▼ 之间切换,换列重置为升序;「操作」列不排。没点过时维持原来的「分类 + 细分 + 物料」默认顺序。
兼容性本版没改任何数据结构:排序、搜索、弹层吸附都是界面层;上传 Cloudflare Pages 后请 Ctrl+F5 强刷(三个 ?v= 缓存号已升到 3.69.0)。
v3.68.02026-10-18新增物料手填框归位「物料」栏(再点一下收起) · 空白下拉不再常驻 · 字典没有的物料记一笔自动进字典 · 物料字典加搜索、下拉按拼音排
优化「+ 新增物料」的手填框挪到「物料」栏正下方,按钮变成开关:和「选已有物料」下拉共用同一个格子、二选一显示——平常(没点新增)这个位置是隐藏的;点「+ 新增物料」后下拉让位、手填框亮出并聚焦(不猛滚),再点一下就收起、下拉回到原位;亮出/收起都是平滑展开,弹层不再跟着跳一下。快捷框里已打的名字自动带进手填框,换分类也不会把正在填的名字顶掉。
修复空白下拉不再常驻:没选分类时「物料」栏下面原来摆着一个空白下拉框(看着像坏了一样),现在整个隐藏;选了分类才出现「选已有物料(可不选)/再选细分」。
新增字典里没有的物料直接记,自动收进物料字典:在物料框输入字典里没有的名字(比如「方式」)直接点「记一笔」——不再被「请选择或填写物料」拦住,这条单价照常保存,物料自动补进物料字典(带上当时选的分类、细分和单位)。联想列表的空提示也改成「直接点下面的『记一笔』,会自动收进物料字典」。
新增管理物料字典:搜索放大镜 + 下拉按拼音排:筛选行下面多了一行 🔍 搜索框,打几个字(物料名 / 细分 / 分类名都行)表格即时过滤,搜不到时提示「没找到和『xx』相关的物料」;「全部分类」「全部细分」两个下拉的选项改成按拼音排序,和表格顺序一致。
兼容性本版没改任何数据结构:物料字典本来就是「记过一次就自动积累」的机制,这次只是把自动补充覆盖到「直接输入」的场景;搜索和排序都是界面层。上传 Cloudflare Pages 后请 Ctrl+F5 强刷(三个 ?v= 缓存号已升到 3.68.0)。
v3.67.02026-10-18单价可记时间 · 新增物料手填在左 · 中等宽度最低最高不重叠 · 店名字号跟长短走 · 版本号放大 · 联动文案重写 · 物料框变宽 · 报表两套视角开关 · 点别处自动收起 · 标记色一行
新增记一笔单价能记「时间」了:第一行变成日期 + 时间两格(跟「记一笔」页一致),新建默认填当前时刻。「全部记录」的日期后面、「价格走势」的历史行里都会带上这个时间(老记录没有就不显示);勾「同时记一笔采购支出」时,那笔支出也带上同一时刻。
优化单价:物料下拉不再显示「先选分类」:分类就在下面一行,这句是废话还占地方,现在没得选就留空,只在有物料时给「选已有物料(可不选)」这类提示。
优化「+ 新增物料」的手填框挪到按钮左边:原来是按钮下面再长一行、整张表跟着变长;现在同一行左边打字、右边按钮。手机上位置不够时「单价」整栏自动换到下一行,保证手填框够宽。
修复中等宽度下「最低 / 最高」胶囊叠在一起压住涨跌:原来这条断点只看窗口宽度,没算左边 210px 导航和主区内边距,窗口 1092px 时主区只剩 826px,两个胶囊被压成上下两行、横着压到「跌 ¥x」上。现在改成「宽度够才排一行」:主区够宽用一行六列,不够就整行退回手机那套两行式。
优化顶栏店名按长短自动缩字号:桌面 19px / 手机 16px 起,最多缩到 11.5px;手机上缩到最小还放不下时,把纯装饰的 🧾 图标让给店名(不影响任何操作),再放不下才用「…」。版本号同时放大到 10.5px(手机 10px)。
优化「同时记一笔日常单价」的说法重写:删掉「比如买菜顺手记下『牛肉 48 元/斤』,以后看涨跌」这句;展开后的说明改成「该功能是为了之后可以看物料单价情况。保存时会自动把上面的『付给』记成供应商、『备注』记成备注,所以这两栏不用再填。」
修复长物料名 / 长分类被截:记一笔里的「物料」在手机上独占一行(原来和单价各占半格,候选列表里「食材采购 / 肉…」永远被截);单价页的物料下拉也比单价框宽了 1.6 倍。
优化报表显示设置:日历项删掉,两个视角各一套开关:日历热力已搬到流水页,这里不再管它;面板分成「账目视角」5 项和「经营视角」3 项,各存各的开关,互不影响。
新增报表显示设置点页面别处会自动收起:点别的功能(切视角 / 翻月份 / 任何地方)它就自己收起来,不用再特意回来点「收起」。
优化文案与排版两处小改:①「报表输出时,应用到的分类可以用方框样式表示(取消勾选 = 恢复圆角)」→「报表数据应用到的分类用方框表示(不勾选就默认圆角)」;②「🎨 报表分类标记色」标题和「恢复默认」排在同一行(手机上也不折成两段)。
兼容性本版新增了单价表的「时间」列:本机模式不用管;云端老库第一次保存带时间的单价时会提示缺列,在 Supabase 的 SQL Editor 执行 ALTER TABLE cb_prices ADD COLUMN IF NOT EXISTS 时间 TEXT; 即可(建表脚本已同步加入)。其余都是界面/交互改动,没改任何已有字段名。上传 Cloudflare Pages 后请 Ctrl+F5 强刷(三个 ?v= 缓存号已升到 3.67.0)。
v3.66.02026-10-17常用语切换不闪 · 日历点天停第一笔 · 往来横幅清除✕贴右 · 余额条也有✕ · 小界面物料字典见物料列 · 关弹层退编辑态 · 新增物料改按钮在单价下 · 清除键只留✕ · 物料字典大界面也多列
修复常用语在「付给 / 备注」之间切换不再一闪而过:原来付给框失焦的收起动作比备注框的展开晚一点,把刚铺好的常用语又关掉。现在失焦时先看光标落在哪个框——落在备注上就显示备注的常用语,落到金额/分类才收起。
修复点日历某天直接停在当天第一笔:只看一天时列表短、页面底下没内容,浏览器滚不到那么远,原来停在账单中间。现在定位到这一天的分组、避开顶部吸顶条,并在只看某天时给列表垫一段尾部留白撑出滚动空间(退出筛选自动去掉)。
优化「正在看…」横幅的 ✕ 清除贴到最右边:原来是紧跟文字后面、位置飘忽,现在固定贴在整行右端,跟别处的清除键一致。
新增往来余额提示条也带 ✕:记录区顶部「和 XXX 的往来:还欠我 ¥xxx」右边加了 ✕,点它直接退出「只看这个人」,和上面横幅的清除等效。
修复小界面「管理物料字典」一屏能看到物料列:原来手机上只看到分类/细分,要右滑才见物料名。窄屏改为固定列宽(20/18/22/18/22%),五列一屏排下、不用横滑。
修复关弹窗时页面的「编辑」态一起退出:单价「全部记录」或流水页点过「✏️ 编辑」后,开个弹窗再点外面关掉,编辑态原来还亮着。现在点外围或右上角 ✕ 关掉弹层会顺手退掉编辑态(保存/取消按钮照旧走各自的逻辑)。
优化记一笔单价「+ 新增物料」改成按钮、放到单价下面:不再占物料下拉的一项(那个位置容易被当成「选物料」);点按钮才出现「填新物料名」输入框,和单价框同宽同左,默认收起。物料下拉只列当前细分下已有物料,选中即收起手填框;字典里查不到的物料会自动亮出手填框并带上原名。
优化「✕ 清除」统一收成一个「✕」:「只看某天/某月」提示条、往来横幅上的清除键不再带「清除」二字,只留一个 ✕(鼠标停留提示「清除筛选」),效果不变、格子更短。
优化大界面「管理物料字典」也一屏五列:电脑上同样五列排下、不用左右滑;这层弹窗单独放宽到 720px、行高留足,多列但不拥挤。
兼容性本版只改界面与交互:数据字段名一律没动(存储里仍是「支付方式 / 记账人」),老记录、旧备份、云端表都能直接用,不用重跑建表脚本、不用迁移。上传 Cloudflare Pages 后请 Ctrl+F5 强刷(三个 ?v= 缓存号已升到 3.66.0)。
v3.65.02026-10-17常用语收底部 · 日历移到走势上 · 往来横幅平铺带清除 · 记账人与付给同行 · 小界面单价列右滑 · 切页清空搜索 · 全部记录弹窗 · 新增物料 · 日常单价前置 · 免密码登录说明 · 备注左对齐 · 付款/收款 · 经手 · 新增物料并排
优化常用语统一收到底部:点付给 / 备注唤起的常用语不再贴输入框弹,统一收在「记一笔」最下方时间框下面一块(#dtQuick);手机上自动滚入可视区,弹输入法也不挡常用语。
优化流水页日历移到走势上方:原来走势在上、日历在下,现在日历热力图放到每日走势上面,先看哪天大额再看当天走势。
优化往来横幅平铺成一行:从资产页点进来的「正在看流水」横幅由胶囊堆叠改平铺整行(圆角 10px、整宽不折叠);右侧保留 ✕ 清除键,点一下清掉当前往来筛选。
优化编辑弹层字段调整:修改记录弹层里「记账人」挪到「付给」右边同一行(收入显示「来自」);「我的备注」改名为「备注」(各处 label 同步)。
优化小界面单价表核心列优先:手机 / 窄屏(≤600px)单价表默认显示「分类 / 细分 / 物料」,来源 / 规格 / 备注通过左右滑动查看(表格外套横向滚动)。
优化切页自动清空搜索:打开流水 / 单价搜索后,再点底部其他页(如报表、资产)会先清空并收起搜索框,不带旧筛选串页。
新增「全部记录」入口调整:单价页「全部记录」按钮移到「管理物料」右边,点开弹出全部单价记录弹层(复用批量编辑 / 列表);原来的内嵌列表块移除,能力都在弹窗里保留。
优化记一笔单价更好填:物料下拉空选项从「请选择物料」改成「新增物料」;「常用供应商」与「管理供应商」放同一行(flex 横排)。
优化底部导航顺序:日常单价移到资产前面,常用入口更靠前。
优化免密码登录说明澄清:重写说明——只管这台设备,期限内再开不用重输密码;超期或没登过才重输,且账号已填好只输密码;换设备 / 清缓存要重登。
优化大界面「备注」左对齐:修改记录弹层里「备注」标签改成按文字自然宽、紧贴输入框,和上方「金额 / 分类 / 日期 / 付给」标签同一条左缘。
优化「支付方式」按收支显示「付款 / 收款」:记一笔、修改记录、登记损耗、批量改内容等处,支出显示「付款」、收入显示「收款」,切类型实时跟着变;流水卡片和明细表也按每笔类型显示「付款:微信 / 收款:现金」。
优化「记账人」统一改叫「经手」:修改记录、批量改内容、流水卡片、明细表列名、我的页面「本机经手」等所有用户可见处统一;数据字段不变,老记录照常显示。
优化小界面点弹层外面退出缓冲改 30px:手机 / 窄屏(≤640px)下离弹层边缘 30px 内不算误触、不关闭;大界面仍 70px。
优化记一笔单价「新增物料」更好填:点「新增物料」就出现「或手填新物料名」输入框;该输入框放在下拉右边、同一行(下拉自然宽、输入框占剩余),不再单独占一行。
兼容性本版为界面布局与交互理顺(无破坏性变更):不改数据库、不需要重跑 Supabase 建表脚本;旧备份照常可用。上传 Cloudflare Pages 后请 Ctrl+F5 强刷(三个 ?v= 缓存号已升到 3.65.0)。
v3.64.02026-10-17损耗默认当前日期时间 · 标签与输入框并排 · 编辑弹层两列 · 流水卡片左滑操作 · 日头吸附 · 弹层字号独立分组 · 弹层防误触
新增登记损耗默认当前日期/时间:点「登记损耗」时,弹层默认填充当前日期和时间,用户可改。
优化登记损耗弹层改水平两列:每列内标签放输入框左边,金额|支付、日期|时间、类型|付给,备注占整行。
优化「同时记一笔日常单价」收小/两列:文案、字号、方框都收小;展开后物料|单价、单位|规格两列,单价分类整行;区内输入框尺寸统一。
优化记一笔四格标签与输入框并排:日期/付给/时间/备注的标签从上方改到输入框左边。
优化流水编辑弹层两列:金额|支付方式、分类|细分、日期|时间、付给整行、我的备注整行;标签紧贴输入框,输入字号只比标签大一点。
优化转周期弹层总金额与期数同行:这两个字段并排放,更紧凑。
优化各处填空字号与标签统一:修改记录、登记损耗、记一笔四格、单价区、转周期弹层的输入框字号都改成和外面标签一样大;标签与输入框中线对齐(去掉标签自带的下外边距)。
优化记一笔页占位再收一档:金额字号缩小、卡片间距与内边距收紧、分类标签与选项距离拉近(适度,不挤)。
优化流水卡片改左滑操作:手机端流水卡片左滑露出「删除/复制」。
新增流水页日头吸附:往下拉流水列表时,每天的日头(「X月X日 周X · N 笔 收/支/结」)吸附在筛选行正下方不跟走;滚到下一天自动换成下一天的日头。
优化「填空字号」说明补例子:写明调到「大」后,修改记录里日期框中的日期数字会跟着变大。
修复导入重复数据报错:备份文件里有互相重复的记录时,导入会报「Cannot create property '日期' on boolean 'true'」并中断。原因是「文件内部只录一条」的标记被存成布尔值,后续重复记录往它上面补字段就崩了;现在文件内部重复直接跳过,导入正常完成。
新增「填空字号」实时预览框:设置项下方多了一个输入框,切「小 / 标准 / 大」或在框里打字,马上能看出输入框里的字实际多大。
新增「标签字号」设置:高级设置 → 排版新增「标签字号」,小 12 / 标准 13 / 大 14.5,管弹层里输入框左边的标签(金额、日期、付给…),和「填空字号」分开调。
优化字号预览框升级:改成左边标签、右边输入框(跟修改记录弹层一个样子),切档时标签和填的字两样一起变。
修复「我的备注」字号不跟填空字号:一条老样式把它的字号写死 16px(比别的框大一圈)、高度也顶着两行固定高度不放。现在和别的框一样跟「填空字号」走。
优化「系统备注」跟随字号设置:修改记录里系统备注的框内文字跟「填空字号」、标签跟「标签字号」。
优化手机/窄界面排版:周期账「共 ¥X · 待还 ¥Y」拆成上下两行,左边「付给」那行能多显示字;「我的备注」标签竖排两行放宽到 ≤640px 小界面也生效。
新增弹层防误触退出:弹层里有改过还没保存的内容时,点弹层外面先弹「不保存退出 / 继续编辑」确认,不再一点就丢;没改过的照旧一点就关。
优化「填空字号 / 标签字号」单独分组:高级设置里这两项自成一卡「🔤 弹层字号」,不再和其他排版设置混放,预览框也搬进这张卡。
优化修改记录弹层对齐整理:手机/窄界面上「付给」「我的备注」的输入框和「金额/分类/日期」左列输入框左边缘一条线;电脑上「付给」也和「金额」对齐,「我的备注」保持不变。
优化点弹层外面关弹层加缓冲:离弹层边缘 70px 以内的点击算手滑不关,贴边蹭一下不再误退;改过没保存的照旧先确认。
新增「记账人」可修改:修改记录弹层里「记账人」从只读改成输入框(「我的备注」下面),记错名字能就地改;留空保存 = 清掉。
优化批量改内容弹层升级:「记账人统一改成」「统一改成这个日期」输入框字号跟「填空字号」设置走;日期右边加了时间框,可只统一时间不动日期。
优化所有输入框统一遵循「填空字号」:除大金额框(专属大字)、手机防放大的 16px、极窄屏防溢出的保底收小这三类刻意例外外,全站输入框字号都跟这一项设置走(含搜索框、筛选下拉、自定义日期行、单价汇总筛选、批量改内容)。
说明版本号说明:这批改动含新功能,按 SemVer 定为次版本 v3.64.0;开发期临时号 v3.63.2 未对外发布,全部改动计入本版。
兼容性本版为界面交互微调补丁(无破坏性变更):不改数据库、不需要重跑 Supabase 建表脚本;旧备份照常可用。上传 Cloudflare Pages 后请 Ctrl+F5 强刷(三个 ?v= 缓存号已升到 3.64.0)。
v3.63.12026-10-16首页卡日期左右分布 · 卡片间距收紧 · 净利颜色统一 · 损耗默认继承来源日期时间 · 标签字体减重
优化首页合并卡更紧凑:国历放左、农历放右,去掉过大的日期数字;合并卡、金额卡、日期卡之间的间距与内边距收紧。
优化净利颜色统一:本月净利 / 今日净利不再单独红/绿高亮,统一成白色,避免渐变卡上颜色不一致。
优化登记损耗默认继承来源日期时间:弹层里的损耗记账日期和时间默认等于来源账单,可手动修改。
优化损耗弹层标签字体减重:字段标签字重降低、颜色变淡,不再显得过粗。
兼容性本版为界面微调补丁(无破坏性变更):不改数据库、不需要重跑 Supabase 建表脚本;旧备份照常可用。上传 Cloudflare Pages 后请 Ctrl+F5 强刷(三个 ?v= 缓存号已升到 3.63.1)。
v3.63.02026-10-16首页两张卡合并加农历 · 顶栏版本号缩小不换行 · 记一笔四格改单列两列 · 流水对方改付给/来自 · 损耗弹层加时间付给两列 · 单价默认按最新日期
新增首页合并卡 + 农历:原来「本月总览」「今日结余」两张卡合成一张——大日期 + 农历(1900–2100,内置表、不联网)+ 本月/今日 支出·收入·净利 六个数;去掉「小结余」字样,占位更小,主题切换跟随蓝紫渐变。
新增顶栏版本号缩小不换行:店名再长也和版本号同一行,顶栏占位更小。
新增记一笔四格改单列两列:左列日期/时间(变短),右列付给/备注(单行拉长);日期左对齐贴卡、时间移到日期下方;「支出给谁」改「付给」移到备注上方对齐;+-×÷=按钮变小、手机端贴在金额右边。
新增流水对方改付给/来自:支出显示「付给:某某」、收入显示「来自:某某」,卡片视图与表格视图同步;未填显示「付给:(未填)」。
新增登记损耗弹层加时间、付给两列:两列布局——金额|支付 / 日期|时间 / 类型|付给 / 备注整行;新增「损耗记账时间」(默认继承来源这笔的记账时间,可改)和「付给」(默认等于来源账单对方)。
新增日常单价默认按最新日期:排序默认从「按分类」改为「按最新日期」,打开即见最近登记的单价。
兼容性本版为界面与交互优化(无破坏性变更):不改数据库、不需要重跑 Supabase 建表脚本;旧备份照常可用。上传 Cloudflare Pages 后请 Ctrl+F5 强刷(三个 ?v= 缓存号已升到 3.63.0)。
v3.62.02026-10-16登记损耗可选支付方式(默认同关联账单) · 备份导入到别的账号,关联照样连得上
新增登记损耗能选支付方式:弹层里加「支付方式」下拉,默认=这笔采购 / 收入的支付方式,可改。采购拆损耗时和采购一样 = 支出总额不变、账户余额不动;改选别的,弹层实时提示「采购那笔回到原账户、损耗从新账户出」。收入退菜默认跟收入一样(退款是真付出的第二笔钱)。
修复备份导入换新编号后关联会断:导入时每条记录都换新编号,备注里藏的损耗来源编号 / 周期账编号就对不上了。现在导入时程序自动把标记里的编号重映射成新编号——导到另一个账号后,损耗照样挂在原来源上(「看来源采购」能点、删损耗照样还原金额),周期账照样对得上号。同账号导出再导入走查重跳过,账原封不动。
兼容性本版为功能升级(无数据结构变更、无破坏性变更):不改数据库、不需要重跑 Supabase 建表脚本;旧备份、导出的 Excel 照常可用,老备份文件照样能导入。上传 Cloudflare Pages 后请 Ctrl+F5 强刷(三个 ?v= 缓存号已升到 3.62.0)。
自动化验证本版专项 test_v3600.js 114/114(新增 N1~N4:登记损耗支付方式默认一致、导入换号后关联标记重映射);回归 test_v3550.js 32/32、test_v3560e.js 35/35、test_v3560f.js 29/29、test_v3560g.js 27/27、test_v3570.js 27/27、test_v3571.js 26/26、test_v3572.js 17/17、test_v3581.js 20/20、test_v3581b.js 18/18、test_v3581c.js 31/31、test_v3581d.js 39/39、test_v3581e.js 47/47、test_v3581f.js 38/38、test_theory_v3560.js 13/13、test_theory_v3560b.js 30/30,全部通过。
v3.61.02026-10-15右滑删除/复制 · 复制改预填记一笔 · 备注显示与删除联动定型 · 日历跳记录区 · 手机批量按钮一行 · 提示点击即消失
新增记录右滑删除 / 复制(手机):任意一条记账往右一滑,滑出「删除 / 复制」两个按钮,点空白处收起;电脑端无触摸不受影响。
新增复制改「预填不保存」:复制一笔 → 跳到「记一笔」,内容、分类、对方、支付方式、日期和时间都照原记录填好,不自动保存,核对后自己点「保存这笔」;批量工具条勾一笔点「复制」同样方式,勾多笔仍是原样照抄直接复制。复制一律不带系统备注:损耗的【来源于…】、周期账编号、转账、欠账/收账标记都不跟到新的一笔上,备注只留用户自己写的。
修复备注显示定型:列表/表格/导出里系统备注接在用户备注后连在一起显示(不带「系统备注」标签);编辑弹层里才分开「我的备注 / 系统备注」,且系统备注只显示前半句——内部配对编号不再露出(保存时照旧带回,关联不断链)。
修复删除联动定型:编辑弹层、批量工具条、右滑共用一套删除——删「拆出来的损耗」会把来源备注还原、金额恢复;删「挂有损耗的来源」提示「还挂着 N 笔损耗登记,删除后会一起清掉」并按正确顺序连带删除,不会留下孤儿账。
修复日历点击直接看到那天的账:跳到流水页后自动滚到下面的记录区(不再停在顶部);「只看某天」提示条走势图盒子里和编辑行左侧两处同步显示,都能一键清除。
修复损耗记录带上时间:登记损耗时新记录继承来源记录的时间(原来时间为空)。
修复手机编辑态批量按钮折行:「全选 / 改内容 / 复制 / 删除 / 完成」一行放下、间距收小,太窄整条横向滑动。
修复今日结余卡三个金额不一样大:支出 / 收入 / 净利统一字号(原来净利单独放大一号)。
新增提示条点一下就消失:普通提示在程序里点任何地方立刻收起,不用再等滑动;确认式提示(点「知道了」)不受影响。
兼容性本版为功能升级(无数据结构变更、无破坏性变更):不改数据库、不需要重跑 Supabase 建表脚本;旧备份、导出的 Excel 照常可用。上传 Cloudflare Pages 后请 Ctrl+F5 强刷(三个 ?v= 缓存号已升到 3.61.0)。
自动化验证本版专项 test_v3600.js 105/105(含新增 L 节:复制预填记一笔不保存 / 提示点击即消失);回归 test_v3550.js 32/32、test_v3560e.js 35/35、test_v3560f.js 29/29、test_v3560g.js 27/27、test_v3570.js 27/27、test_v3571.js 26/26、test_v3572.js 17/17、test_v3581.js 20/20、test_v3581b.js 18/18、test_v3581c.js 31/31、test_v3581d.js 39/39、test_v3581e.js 47/47、test_v3581f.js 38/38、test_theory_v3560.js 13/13、test_theory_v3560b.js 30/30,全部通过。
v3.60.02026-10-15登记损耗:坏掉/退掉的钱不再算两笔 · 收入可登记退菜损失 · 备注全大白话 · 报表新增损耗率 · 窄屏筛选行重挤
新增「登记损耗」:点开食材采购记录 → 填坏掉多少钱 → 采购自动 100→70、新增「损耗报损·食材过期 30」,两笔合计仍 100、支出总额不变、账户余额不动(同一笔钱只算一次);损耗记账日期默认登记当天,超额拦截;两笔双向关联(采购显示已拆多少,损耗一键「看来源采购」),删损耗自动把钱还回采购、备注还原。
新增收入也能登记损耗(退菜):菜品不满意退钱时,点开那笔收入 → 损耗类型默认「退菜损失」。收入金额不动,新增一笔损耗报损、支付方式跟收入一样——账户余额与利润正好少退款那个数,退款只算一次。
新增备注自动写明来龙去脉:登记后来源记录备注补「【2026/10/15 损耗 30 元】」,损耗备注写「【来源于2026/10/10的食材采购-蔬菜菌菇】」;来源记录改日期/分类,这句自动跟着更新(损耗自己的记账日期不会被误改)。
修复备注里的机器代码太不清晰:来源编号等代码全部藏进标记、列表/表格/导出自动摘掉,备注里只剩大白话;编辑备注也只显示用户自己写的部分,关联删不坏。
新增防重复提示:记一笔时分类选到「损耗报损」就常显提示——这笔是不是已包含在某次采购里?是的话请从那笔里拆,别新增。
新增报表「损耗率」:损耗报损 ÷(食材采购 + 损耗报损),超 8% 标红(餐饮一般 3%~8%);分母含损耗是因为损耗本来就从采购里拆出,只拿采购当分母会算高。
修复手机很窄屏筛选行重叠:放大镜按钮收窄,「全部收支」与展开三角不再叠住;「全部收支 / 全部分类 / 全部细分 / 全部方式」四个字完整显示,筛了具体值后显示前段。
兼容性本版为功能升级(含新功能,无数据结构变更、无破坏性变更):损耗关联写在备注标记里(与周期账同套路),不改数据库、不需要重跑 Supabase 建表脚本;旧备份、导出的 Excel 照常可用。上传 Cloudflare Pages 后请 Ctrl+F5 强刷(三个 ?v= 缓存号已升到 3.60.0)。
自动化验证本版专项 test_v3600.js 64/64(登记损耗全链路 / 防重复提示 / 损耗率 / 窄屏筛选行 / 收入退菜 / 来源改日期同步);回归 test_v3550.js 32/32、test_v3560e.js 35/35、test_v3560f.js 29/29、test_v3560g.js 27/27、test_v3570.js 27/27、test_v3571.js 26/26、test_v3572.js 17/17、test_v3581.js 20/20、test_v3581b.js 18/18、test_v3581c.js 31/31、test_v3581d.js 39/39、test_v3581e.js 47/47、test_v3581f.js 38/38、test_theory_v3560.js 13/13、test_theory_v3560b.js 30/30,全部通过。
v3.59.02026-10-14日历按当天结余填色、没记账不画0 · 走势带备注列、点行改单价 · 窄屏筛选显示末尾两字 · 表单控件尺寸统一
优化报表页删繁就简:「经营指标」大段解释文字删除(口径不变);「导出 PDF」整体移除,显示设置收成一颗齿轮跟在视角按钮右边。
修复手机上报表饼图大类名被切:窄屏下饼图约占四成、图例约占六成,大类名完整显示;环形图贴近卡片边缘,宽度尽量让给文字。
优化日历数字与联动:金额保留两位小数、去掉「¥」、一万元以上折「x.xx万」;日历跟上方筛选联动;四档「收支」打头并默认选中。
优化日历配色重做:金额统一深色字,红绿改由底色按「当天结余(收−支)」表达——结余为正偏绿、为负偏红,深浅按悬殊程度分档;没记账的日子不再显示 -0 / +0。
优化走势图位置锁死:筛选时标题行高度固定,单位文字过长省略号收尾,「按天/按周/按月」按钮不再被顶来顶去。
新增价格走势带「备注」列:备注过长整行撑宽、左右滑动能看全;来源列不再写死宽度——短来源统一留 5 个字对齐,长来源完整显示,手机上加竖线分隔。
新增点走势任意一行直接改单价:弹出这条记录的编辑弹层并预填原值,保存后走势就地刷新(最高/最低/价差跟着变)。
优化搜索收成一个按钮:流水页只留放大镜(点开才展开输入框、搜索中高亮);筛选行字号统一 14px。
修复多选下拉「点开就被收回去」:按钮与面板之间有条小缝,鼠标经过被误判为移出。现在移出后留短暂缓冲,移回即取消收起。
优化很窄的手机(≤430px)筛选项显示末尾两个字(如「…收支」「…分类」),截断也能分清是哪一项。
优化单价页三下拉严格等宽:「全部分类 / 全部细分 / 按分类」在窄屏下等分同一行;「管理物料 / 搜索」加浅色填充、与展开的搜索框拉开间距。
新增「同时记一笔采购支出」勾上才展开那一块:以前不管勾没勾,最底下都摆着一个「数量 / 重量」,看着莫名其妙。现在不勾整块收起,勾上才展开,里面有数量 / 重量和支付方式(不填 / 现金 / 微信 / 支付宝 / 银行卡;借还有自己的页签,这里不列;设了默认支付方式会先套用),并给出例子(金龙鱼调和油 50 元/瓶 × 3 → 自动多一笔支出 150 元,备注写「采购:金龙鱼调和油(食材采购·粮油调味) × 3瓶」);填了单价与数量后还会实时算出这笔会记多少钱。数量框的用途=支出金额 = 单价 × 数量,只问价不买货时不用管。
修复「记一笔单价」表单控件高矮不一:物料快捷输入框比下面的「请选择物料」矮一截,现已统一——全表单输入框/下拉同高同字号。
修复宽屏括号分类名折成两行:按物料汇总的名称列加宽并强制不折行。
兼容性本版为功能升级(含新功能,无数据结构变更、无破坏性变更):不改数据库、不动云端表,不需要重跑 Supabase 建表脚本;旧备份、导出的 Excel 照常可用。上传 Cloudflare Pages 后请 Ctrl+F5 强刷(三个 ?v= 缓存号已升到 3.59.0)。
自动化验证本版专项 test_v3581.js 20/20、test_v3581b.js 18/18、test_v3581c.js 31/31、test_v3581d.js 41/41、test_v3581e.js 47/47、test_v3581f.js 38/38、表单尺寸检查 check_form_v3590.js 12/12;回归 test_v3550.js 32/32、test_v3560e.js 35/35、test_v3560f.js 29/29、test_v3560g.js 27/27、test_v3570.js 27/27、test_v3571.js 26/26、test_v3572.js 17/17、test_theory_v3560.js 13/13、test_theory_v3560b.js 30/30,全部通过。
v3.58.02026-10-13手机筛选排成一行 · 流水每天多一个「结」 · 报表公式下面直接带实际数字 · 表格不再拦住下拉
优化手机上筛选排成一行:以前窄屏会挤成两行且宽窄不均(「全部…」被截成省略号),现在整行四等分,每一项一样宽、稳在一行;日常单价「按物料汇总」的筛选同样处理。
新增流水每天多一个「结」:日期行的「收/支」后面加上当日结余(收入 − 支出),正数绿、负数红;首页「最近三天」三张日卡同步加上,口径与流水页一致。
优化汇总卡不再挂「价差」胶囊:卡片上那颗小胶囊平时收起,点开走势弹层里照样能看到,一条没少,卡片腾出地方。
修复「全部记录」表格拦住下拉:表格区原来的高度上限加滚动锁定,导致手指在表格中间往下滑页面不动、只能从边边滑。现在去掉限制,在表格上直接往下滑就能翻页。
优化「恢复默认」先问一句:分类设置的「恢复默认」改成先弹确认(写明会恢复成出厂那一套、自己新增的分类不受影响),确认后才执行。
优化自定义日期那一行收紧:流水页与报表页的日期输入框收窄、「应用」按钮改成小胶囊,不再被挤到第二行。
优化报表卡片公式改成「上文字、下数字」:公式里每一项的正下方就是它的实际金额,一一对应不用再猜;收入卡额外列出堂食/外卖等分项数字,结余、毛利率、外卖毛利、外卖抽成率各卡同规矩(含括号里的项目)。数字格只放金额或百分比,不重复写文字。
修复筛选行字号忽大忽小:下拉框 16 号、多选按钮 15 号、小按钮 14 号三种混在一行,现在统一 14 号(流水页、单价汇总页都是)。
修复流水日头「结」比「收/支」粗:加「结」时单独用了更粗字重,现在收/支/结统一粗细;日历、走势、最近三天同类写法一并核对,没有第二处不一致。
兼容性本版为次版本升级(新增「结」显示、报表公式列,全部向后兼容):不改数据库结构、不动云端表,不需要重跑 Supabase 建表脚本;旧的备份文件、导出的 Excel 都能照常导入。上传 Cloudflare Pages 后请 Ctrl+F5 强刷(三个 ?v= 缓存号已升到 3.58.0)。
自动化验证本版专项 test_v3571.js 26/26、test_v3572.js 17/17 通过;回归 test_v3570.js 27/27、test_v3560g.js 27/27、test_v3560f.js 29/29、test_v3560e.js 35/35、test_v3550.js 32/32、test_theory_v3560b.js 30/30、test_theory_v3560.js 13/13,全部通过。
v3.57.02026-10-12「理论支出」说明改成一直显示 · 全部记录批量工具条预留位置,点「编辑」表格不再下移
优化「理论支出」的说明改成一亮到底:以前点进金额框或金额里有数字就会自动收起,现在只要分类选着「理论支出」就一直显示,手动输入、计算器、语音回填都一样;切回普通分类才收起,编辑一条已有的「理论支出」记录时也照样显示。
修复单价页点「编辑」会把下面的表格推下去:批量工具条原来是「从无到有」地冒出来,把表格整体顶低一截。现在标题「全部记录」下面永远留着这一条的位置,工具条在这条留白里现形,表格一动不动(桌面、手机都验过)。
修复进出编辑态时标题行会高低不一:「✏️ 编辑」按钮原来用 display:none 藏,行高会变;改成占位式隐藏(看不见但占位),来回点标题行高度完全一致。
兼容性本版为次版本升级(可见行为有变化,全部向后兼容):不改数据库结构、不动云端表,不需要重跑 Supabase 建表脚本;旧的备份文件、导出的 Excel 都能照常导入。上传 Cloudflare Pages 后请 Ctrl+F5 强刷(三个 ?v= 缓存号已升到 3.57.0)。
自动化验证本版专项 test_v3570.js 27/27 通过(提示条常显 12 项、工具条预留占位 14 项含窄屏、无 JS 报错 1 项);回归 test_v3560g.js 27/27、test_v3560f.js 29/29、test_v3560e.js 35/35、test_v3550.js 32/32、test_theory_v3560b.js 30/30、test_theory_v3560.js 13/13,全部通过。
v3.56.02026-10-12新增「理论支出」分类(账面成本·不动余额) · 日常单价可排序/可批量改内容 · 日历加「收支/结余」两档 · 手机流水卡片说明行最多 3 行
新功能记一笔新增「理论支出」一级分类:用来记「账面上有成本、钱没真的出去」的项(老板工资、折旧摊销、自有资金利息、门店自用)。记它时支付方式固定「不填」,不动任何账户余额,但照常计入经营费用与利润,费用率/净利率算得对。金额框下方一条小灰字说明,点进金额框或有数字就自动收起。
新功能「按物料汇总」可排序:新增排序下拉(按分类/按名称/最新日期/按单价/按涨跌),旁边小方钮一键翻升降序;日期、单价、涨跌默认降序,分类、名称默认升序。
新功能「全部记录」改成和流水页一样的批量操作:右侧「✏️ 编辑」进编辑态后变「已选 N 笔/全选/改内容/复制/删除/完成」,每行带勾选方格。「改内容」九项全可改(日期、物料、单价、单位、来源、规格、分类、细分、备注),只写你填了的项。
新功能「改内容」只勾一条时自动带入原值:只选一条时,九项全部预填成这条记录现在的内容,改要改的地方点「应用」即可(清空某项 = 清掉某项);勾多条仍按「留空 = 不改」,避免拿一条的值覆盖另一条。
优化「全部记录」列序与表头排序:列序改成 日期/物料/单价/单位/来源/规格/分类/细分/备注;点任意表头即可按该列排序,↑↓ 显示当前方向、再点翻向。
新功能流水页日历加「收支」「结余」两档:档位变四个。收支 = 当天支出+收入合计(格子里上下两个数字,上支出下收入);结余 = 当天收−支净额(正数带 + 走绿色)。
优化日历金额一律带正负号:支出档统一加「−」、收入档加「+」,不靠颜色也能看出方向。
修复「理论支出」提示条输入金额后还挂着:原来只在「点进金额框/光标移开/换分类」时复判,语音记账、编辑回填、计算器算完这些程序直接写金额的路径会漏掉。现在只要金额一变就复判(输入、计算器、语音回填、记完清空全覆盖),并在金额卡片上加了「按下去就先让位」的兜底,老机型点金额框不派发 focus 也能收起。
修复批量「改内容」只能改一部分字段:之前日期、单价、单位、来源改不了。现在九项全开放,并改成「只写填了的项」,不会再把你没打算动的字段清空。
修复批量工具条全选后按钮掉到下一行:根因是工具条自己那层还带着换行(只在外层禁换行没用)。现在按钮统一收小(13px、内距 5×10),编辑态整条工具条单独占一行右对齐、禁止逐个换行,手机上「全选」后也稳稳一行。
修复日历切换档位时格子忽高忽矮:原来只有「收支」那档是 46px,切回支出/收入会缩到 38px。现在四种档位统一 46px,切换整月版式不跳。
修复手机窄屏流水卡片说明行太长:「对方/细分/支付/备注」那一行改为最多 3 行,写不下手动右滑;电脑大屏仍是一行不换行。
修复打开「日常单价」时偶发一处运行时报错:编辑态还没建立勾选状态时读到了空值(Cannot read properties of undefined)。已加兜底初始化,全程无报错。
兼容性本版为次版本升级(新增功能 + 修复,全部向后兼容):不改数据库结构、不动云端表,不需要重跑 Supabase 建表脚本;旧的备份文件、导出的 Excel 都能照常导入。新增的「理论支出」分类会在首次打开时自动补进分类表(只补一次,已有分类不动)。上传 Cloudflare Pages 后请 Ctrl+F5 强刷(三个 ?v= 缓存号已升到 3.56.0)。
自动化验证本版专项 test_v3560g.js 27/27 通过(版本号与缓存号 3 项、提示条 7 项、单条改内容预填与写回 9 项、日历四档高度 5 项、无 JS 报错 1 项);回归 test_v3560f.js 29/29、test_v3560e.js 35/35、test_v3550.js 32/32、test_theory_v3560b.js 30/30、test_theory_v3560.js 13/13,全部通过。
v3.55.42026-10-10全工具展开/下拉箭头统一 · 细分改 ↑↓ 排序 · 分类恢复默认 · 余额调整不算收支且金额黑字 · 单价走势弹窗对齐
优化全工具「展开/下拉」箭头统一:筛选下拉(全部收支/全部方式)、多选按钮(全部分类/全部细分)、设置页折叠项、往来明细、资产页挂账、周期账折叠——六处箭头统一成同一个图形、同一大小、同一颜色(随主题变色),展开/收起旋转动画保留。月导航 ‹ › 与单价页 ▲▼ 属功能/方向符,保持不变。
修复下拉箭头点开后变小/出现重影:根因是残留了一套旧的 SVG 箭头样式与新的箭头叠加,焦点态时被切回旧样式。已删旧样式,全部控件单一来源。
新功能分类管理新增「恢复默认」:按当前「支出/收入」标签页只恢复那一类(排序、分类、细分回到出厂默认),点前弹确认框;自加的分类也会被清掉。
优化分类管理细分排序改成 ↑↓ 箭头:去掉原来的拖动(拖动会卡顿、留黑影)。每个细分左侧 ↑ / ↓ 点一下与相邻项交换并自动保存,稳定不卡。
优化单价页窄屏指标缩紧:手机窄屏两行式里「最低/最高/价差」改成小号彩色胶囊(最低绿、最高红、价差浅灰),占位更小;宽屏六列不变。
修复单价走势弹窗没对齐:「最低单价/最高单价/价差」三卡改成等高、金额同一水平线;历史列表拆成四列、单价右对齐,小数点不再歪。
修复余额调整被算进收支:⚖️ 调整记录此前在个别统计里被算成支出。现已全局排除(顶部小计、按日分组小计、报表、首页今日收支、最近三天小计、表格合计、导出关键指标),报表/净利/费用率不受影响。
修复余额调整金额显示成绿字:调整不是收支,金额不再按正负显示绿/红,统一用默认文字色(黑字),并去掉正负号。
兼容性本版为纯修复/优化补丁,不改数据库结构、不动云端表,不需要重跑 Supabase 建表脚本。上传 Cloudflare Pages 后请 Ctrl+F5 强刷,避免浏览器用旧缓存。
v3.55.02026-10-10设置余额(直接改 / 生成调整记录) · 单价页窄屏两行式 · 细分拖动排序 · 删细分提醒 · 住宿补贴
新功能「设置期初余额」升级为「设置余额」(我的 → 资产):输入框预填每个账户当前实有余额;保存时若与账面对不上,弹一次选择——直接改余额(差额反推进期初,不留记录)或生成「余额调整」记录(当天流水可见、可删除,不算收入也不算支出,报表/净利/费用率不受影响,只动账户余额)。调整记录(⚖️)点开只能看和删,不能改内容;流水筛选新增「仅调整」;资产页口径小字补了「± 余额调整」。
新功能单价页手机窄屏改「两行式」(按选定的方案A):每条固定两行——行1 物料名+最新价(两端对齐),行2 涨跌胶囊+低/高/价差紧凑小字+日期+走势;一屏能看 7~8 个物料。宽屏六列排版完全没动(宽屏仍显示「最低/最高/价差」胶囊)。
新功能细分支持拖动排序:分类管理里按住细分卡片拖到想要的位置,松手自动保存(电脑按住即拖,手机按住卡片拖;面板空白处照常滚动)。新增 CB.reorderCategoryItems 接口,组内排序值原位互换,一级分类的顺序不受影响。
新功能删细分加确认提醒:以前点 ✕ 直接删。现在和删分类同一套确认框——显示该细分被多少条流水使用(0 条也提醒「没有流水使用」),确认后才删;已记过的账不会被删掉。
新功能「人工工资」新增「住宿补贴」细分:默认清单与老账本自愈迁移(只跑一次;用户删过就不再加回)。
优化流水/报表顶部的月导航 ‹ › 箭头从 13px 细体改成 17px 加粗。
兼容性「调整」是新记录类型,走 cb_records 原有字段(金额带符号),不需要重跑 Supabase 建表脚本;旧版程序读到调整记录会按未知类型显示,建议云端和本地一起升到本版。上传 Cloudflare Pages 后 Ctrl+F5 强刷。
v3.54.12026-10-10下拉箭头统一大小 · 面板滚动不再穿透到页面 · 批量编辑切页自动退出
修复下拉展开符号一处大一处小:「全部收支 / 全部方式」用浏览器自带大箭头、「全部分类 / 全部细分」用 12px 小箭头,同一个筛选行里很不整齐。现在全工具的下拉箭头统一成同一颗「▾」(宽 10px、颜色随主题变色,取原「全部收支」箭头再小一点的尺寸);顶栏左右 ‹ › 月份箭头、「记一笔 → 更多记账方式」的展开小三角也一并对齐。纯样式改动,不影响任何数据。
修复多选面板滑到底,页面跟着滑:「全部分类」这类面板内容多、要在面板里滚动,以前滑到底再继续滑,后面的流水列表会跟着动。现在面板、弹层、原始数据表格、备注联想、报表图例都加了「滚到头就停」,里面的滚动不再穿透到页面。
修复批量编辑切页不退出:流水页点「✏️ 编辑」勾了几条,切去别的页签再回来,编辑态还原样挂着。现在一切页签自动退出批量编辑,回流水页就是普通列表,不用再点「完成」。
兼容性只改样式与界面交互,没碰数据结构,不需要重跑 Supabase 建表脚本。上传到 Cloudflare Pages 后 Ctrl+F5 强刷一次即可。
v3.54.02026-10-09备份文件名再带上「几点几分」:2026-10-09 22时12分导出~账号备份~餐饮流水管家.xlsx
优化备份文件名再加上时、分:v3.53.0 起文件名开头是导出当天日期(2026-10-09导出~账号备份~餐饮流水管家.xlsx),一天导好几份时还是分不清先后。现在改成 2026-10-09 22时12分导出~账号备份~餐饮流水管家.xlsx:日期后面直接跟上「22时12分」,24 小时制、具体到分钟——同一天导的几份按文件名排序就是先导在前、后导在后,点开文件夹一眼挑到最新那份。时分同样取导出那一刻你这台电脑的本地时间。
细节为什么用汉字「时」「分」而不是写成「22:12」:英文冒号 : 是 Windows 文件名禁用字符(\ / : * ? " < > | 都不行),直接写进文件名会存不下来或被截断;改用「时」「分」既避开非法字符,中文读起来也最顺。
兼容性只改文件名与备份「说明」页那行示例文案,没碰数据结构,不需要重跑 Supabase 建表脚本;旧名字的备份、老多账号 .xlsx、v1.4 旧 .json 全部照常能导入(导入只认文件内容,不认文件名)。上传到 Cloudflare Pages 后 Ctrl+F5 强刷一次即可。
v3.53.02026-10-09备份导出文件名改为「2026-10-09导出~账号备份~餐饮流水管家.xlsx」,日期取本机当天
优化备份文件名改成「导出日期导出~账号备份~餐饮流水管家.xlsx」:旧名字是 餐饮流水管家_账号备份_邮箱前缀_2026-09-13-1930.xlsx——前面挂着邮箱前缀、后面拖一串时间戳,一天导好几份、几个月的备份堆在一个文件夹里时,光看名字分不出哪份是哪天留的档。现在统一成 2026-10-09导出~账号备份~餐饮流水管家.xlsx:开头就是导出当天的日期,一眼看出是哪天导的,也方便按日期排序、按月份归类。
修复文件名与「说明」页的导出时间在凌晨会差一天:旧版文件名用的是格林尼治时间(UTC,比北京时间晚 8 小时)——凌晨 0 点到 8 点之间导出,文件名会写成前一天;备份里「说明」页的「导出时间」也是 UTC 串。这版两处都改成按你这台电脑的本地时间,日期与文件名始终对得上(「导出时间」同时从 2026-10-09T14:05:33.000Z 改成「2026-10-09 22:05」这种好读的写法)。
兼容性文件名怎么改都不影响导入——导入只认文件内容里的数据页,不认文件名;旧名字的备份、老多账号 .xlsx、v1.4 的旧 .json 全部照常能导。只改文件名与「说明」页那行时间文案,没碰数据结构,不需要重跑 Supabase 建表脚本。上传到 Cloudflare Pages 后 Ctrl+F5 强刷一次即可。
v3.52.02026-10-08构成图图例显示全部分类(不再只列前 8 项,超出滚动)
新增支出 / 收入构成图:图例显示全部分类与占比:旧版图例固定只列前 8 项,「细分」模式下排后面的类目(金额、占比)看不到。现改为全部列出,图例区限高(桌面约与环状图同高、手机约 150px),类目多时在图例区里上下滚动即可看完;环状图大小与右侧布局不变。
v3.51.12026-10-08手机窄屏构成图也保持左右排并缩小一档
修复手机窄屏上构成图退回上下排、图占屏太大:v3.51.0 在窄屏上把图例回退到环状图下方,结果图占满整行宽、下面再拖一长串图例,一屏只装得下一张图。现改为手机上也保持「图左、例右」的并排布局,同时把环状图自动缩小一档(高约 150px)、图例字号与占比列同步收紧,整卡高度大幅变短;「图表精简度」设置(省电 / 标准 / 高清)在手机上同样生效。
v3.51.02026-10-08构成图图例右移、修复物料汇总筛选点「全部」没反应、单价列表分类改括号、日历标题带年月
优化支出 / 收入构成图:图例移到环状图右侧:图和彩色图例(名称、金额、占比)并排,卡片高度明显变矮,报表一屏能装下更多内容;手机窄屏自动回退成上下排。
修复「按物料汇总」筛选点到「已选 0 个」后,点「全部分类 / 全部细分」毫无反应:「全部」框的勾选判断此前写反——无论当前是全勾还是全不勾,点它算出的结果都与当前状态相同,画面永远不变、列表卡死在空。现对齐流水页 v3.28.0 语义:没勾满时点「全部」= 一键回全部;已全勾时点 = 清空。
优化单价列表:分类改到物料名后面的括号里:原单独占行的小字分类(如「食材采购 · 调味料」)取消,改为豆瓣酱(食材采购.调味料),括号保持原小字字号与灰色,物料名字号不变,每行更紧凑。
新增日历标题显示具体年月并随月份导航联动:标题由「哪天花得多(日历 · 单位:元)」改为「哪天花得多(2026年09月 · 单位:元)」(收入模式同理),切月即同步,回看 / 截图不再搞混月份。
v3.50.02026-10-086 项反馈:横幅不再遮挡侧栏、备注加标签、物料汇总可筛选、算不出画横杠、报表卡片左缘线、日历缩小
修复桌面宽屏上备份提醒条遮挡左侧导航:提醒条此前横跨整行(占左列 + 内容列),左半截被白色的导航卡盖住,「🔔 今天是留档提醒日…」只能看到「月账日…」半截。现在提醒条(含红色的「空间快满」提醒条)钉回右侧内容列,显式指定列号与行号,既不乱跑也不进左列;手机窄屏排版不变。
优化流水卡片:备注内容前标「备注:」:以前备注内容不加标签直接混在信息行里(「…;支付:微信;潮汕猪肉卷10斤」),看不出那截是备注。现在与「对方:」「细分:」「支付:」同款标签样式,显示为「备注:内容」。
优化支出卡删掉多余的「给」字:「对方:给 谷·淘宝」→「对方:谷·淘宝」;收入卡的「对方:来自 ×」保持不变。
新增「按物料汇总」支持按分类 / 细分筛选:标题下新增「全部分类 ▾」「全部细分 ▾」两个多选下拉,交互与流水页筛选完全一致(点开勾选、可多选、文案三态:全部分类 / 单名 / 已选 N 个 / 已选 0 个)。没填细分的物料显示为「不填细分」。筛选只影响汇总列表,搜索框与「全部记录」表不受影响,可叠加使用。
修复没有营收时比率显示误导性的 0.0%:毛利率、净利率、食材成本率、人工成本率、租金占比、能耗率、营销费用率、平台佣金率、综合费用率九张卡,在营收为 0 时改显横杠「—」并转中性色——0.0% 像「真的是 0」,横杠才是「分母为 0 算不出」。成本金额与成本结构条照常显示。
修复环比 / 同比在没法对比时显示「无数据」或吓人的 ±100.0%:基期没数据 / 为 0、或本期为 0 时,环比同比都没有意义,现在一律画横杠「—」;两边都有数时照旧显示涨跌百分比。
新增报表页指标卡左缘加主题色竖线:账目视角三张卡与经营视角全部比率卡的左缘各加一条 3px 竖线,颜色随主题自动变化(对齐「资金往来」卡的左缘线风格)。
优化日历热力整体缩小一档:格子高度 46→38px、间距 5→4px、字号同步缩小,手机一屏能看全整月。
v3.49.02026-10-0711 项反馈一版收完:日历搬到流水页、食材采购加「配菜」、物料汇总去重并按分类排序、经营视角无营收也显示
改版日历热力从「报表」页搬到「流水」页:以前它在报表页最下面,要看「哪天花得多」得一路滑到底;现在紧跟在流水页「每日走势」的正下方,看完折线接着看日历。日历始终按月显示(跟随顶部月份导航所选月份),流水页范围切到本季 / 今年 / 全部时它仍显示所选那个月——这是日历「一个月一张表」的固有维度,不是没跟上筛选。报表「显示设置」里的「哪天花得多(日历热力)」勾选照旧生效(勾掉就隐藏)。
新增「食材采购」新增「配菜」细分:位置在「调味料」之后、「冻品半成品」之前,用来记现成配菜 / 半成品配菜(凉拌菜、卤味配菜等)。新账本自带;老账本开机自动补一次(打标记,只跑一次,之后「分类管理」里手动排的顺序优先)。补上后记一笔、分类筛选、报表口径全部同步可用。
优化流水卡片的信息行改用「;」分隔,并去掉空项:以前「支付:微信、分类:食材采购」用顿号连成一串,几个信息点挤在一起容易看串;现在统一用分号分隔,颜色跟随主题(与「支付:」这类小标签同色)。空着的项目不再显示,行尾不会再挂一个孤零零的顿号。
优化手机上信息行最多两行,不再横向右滑:窄屏(≤767px)下这一行改成最多两行、超出截断(原来是单行不换行、只能左右拖着看后半截)。卡片高度稳定、不会无限撑高;要看完整内容点开这条记录的编辑弹层即可。
修复周期账总账卡的金额被裁掉最后一位:「共付 ¥35,594.6」这类长金额在窄格子里会被截成一位小数(数值本身没丢,是显示被裁)。现在按字符长度自动缩一档字号(≥10 字符用 11px、≥12 字符用 10px),一位数字都不裁。
修复每月备份提醒每次打开都弹:点提醒条右上角的「×」以前只是关掉当次、不写入「本月已提醒」,于是每次打开都重新弹一遍。现在点「×」与点「立即去备份」一样,都把当月标记为已提醒。同时修好窄屏下提醒条被内容撑宽、把「立即去备份」按钮和「×」挤出屏幕的问题(文字列可压缩、按钮与关闭键不再收缩、横幅不超出容器)。
修复记一笔的「备注」框会弹出浏览器的自动填充:这个输入框漏了关闭浏览器自动填充(其它输入框都有),点一下就冒出「保存的信息」之类的历史下拉挡住输入。现已补上,工具自带的常用语不受影响。
改版按物料汇总:同名不同规格合并成一行:以前分组键是「物料 + 规格 + 单位」,于是「肉卷(10斤25条)」和没填规格的「肉卷」分成两行,看着像两个东西。现在按「物料 + 单位」分组,规格不同也算同一个物料;最新价取日期最新的那条,最低 / 最高 / 价差 / 涨跌、走势都按合并后的全部记录算。「全部记录」表仍逐条显示规格,一条不少。
新增按物料汇总:按分类排序并标出分类:排序改为一级分类 → 二级分类 → 物料名,同一分类的物料挨在一起;每行物料名上方多一行小字「一级 · 二级」(取该组最新一条的分类),不用点进去就知道它归哪一类。
改行为经营视角没有营业收入也照常显示:以前只要这段时间的经营收入为 0,整块就换成一句「这段时间还没有营业收入」,毛利率、净利率、保本营业额、成本结构全都不显示。现在照常出卡,没有数据时显示 ¥0.00 / 0.0%;除零已做保护(毛利率算不出来时保本营业额显示「—」),不会出现 NaN。
调整报表「资金往来」卡只在账目视角显示:切到「经营视角」时自动让位(经营视角只管比率类指标),切回账目视角照常显示;「显示设置」里的勾选仍然优先。
v3.48.02026-09-28手机周期账卡不再截断、主题/备份提醒跟账号记忆、小屏排版优化
改版手机上两张周期账卡不再被截断:以前窄屏时两张卡各占一半宽,「已付 ¥2,966.20」「共付 ¥35,594.40」这类金额经常被截没。现在「本月周期账」卡收窄,卡里的已付 / 已收改成上下两排(窄卡也放得下);「周期账(总账)」卡加宽,共付/已付/待付、共收/已收/待收六格完整显示。电脑宽屏五卡一行不变。
新增主题跟账号走,不再「每次打开都不一样」:以前主题只记在本设备的浏览器里,换设备、重登、或浏览器清了缓存就打回默认。现在选过的主题记在账号设置里(云端同步)——换手机、重登、换浏览器打开都是你选的那个主题。
新增每月备份提醒默认启用(每月 1 号):从没动过这个开关的账号,现在默认每月 1 号顶栏挂「该留档了」红条,提醒点一次「导出备份」。关掉或改了日期就按新的来(记在账号里),重登 / 换设备不会弹回默认。
优化记一笔「常用语」手机上占满一整行:以前「支出给谁」下方的常用语只占左半栏,三个词就折得乱七八糟;现在小屏时排满整行,一行放不下自动折下一行,有几个排几个。
优化报表「显示设置」小屏排版:「报表分类标记色」这行在手机上换成上下两段——说明文字占整行,色块和「恢复默认」按钮单独一行,按钮不再被挤成一字一行竖排;方框样式那行说明也允许正常折行。
兼容性只是在账号设置的「数据」里新增了「主题」「备份提醒」两个小项,不需要改数据库表、不需要重跑建表脚本。上传到 Cloudflare Pages 后 Ctrl+F5 强刷一次即可。
v3.47.12026-09-28卡片选中改主题色填充、资金往来没有记录也显示
优化流水页汇总卡点选样式更醒目:以前点「收入 / 支出 / 结余 / 周期记账」卡片,选中只是加一圈蓝色边框,和各主题颜色对不上;现在改为淡淡一层主题色填充(主题色按比例混进卡面底色)——点中哪张卡,整块卡就带上该主题的淡色底,字体颜色一点不变,所以金额照样看得清;默认蓝紫、深色、护眼青绿、暖橘等 8 套主题各自用自己的主色。再次点同一张卡取消筛选,填充随之消失。
改版报表「资金往来」没有记录也照常显示:以前这个时间段没有会员充值 / 借入 / 借出 / 还款时,整张资金往来卡会自动收起来,想找都找不到入口;现在始终显示,没有记录时各项就是 ¥0.00,点卡片看明细的入口也一直在。
兼容性纯展示层调整,不涉及任何数据和逻辑。上传到 Cloudflare Pages 后 Ctrl+F5 强刷一次即可。
v3.47.02026-09-28汇总卡跟随筛选、周期记账卡筛选下保留、周期账配置丢失可一键补回
改版顶部汇总卡跟着筛选一起变:以前筛了分类(比如只看「门店装修」),上面的收入 / 支出 / 结余还是整月总数,对不上号;现在它们和两张周期账卡一起,完全按当前筛选结果统计(分类 / 细分 / 支付方式 / 记账对象 / 搜索 / 类型 / 周期账,点哪张卡筛哪项都算进去)。注意:点「支出」卡后收入卡显示 ¥0.00 是正常的——已经筛成只剩支出了。
修复周期记账卡片不再被筛选藏起来:以前一点「收入 / 支出」卡、或搜关键字、选分类,流水页的「📅 周期记账」整块就消失,看起来像周期账没了;现在筛选状态下也一直保留,随时能展开看每一期的进度。
新增周期账配置丢了可以一键补回:换设备 / 换账号 / 数据没搬上来时,会出现「流水里躺着带周期账标记的记录,周期记账列表却空空的」(卡片也全是 0)。现在这种情况会在流水页顶部给出提示条,点一下「补回这 N 条周期账」,程序按流水里记的期数、每期金额原样把配置建回来,流水一笔不动。
修复周期账起始日缺失不再整条消失:老逻辑一旦「起始日」为空或格式不认识,就把这条周期账整个丢掉,列表直接空白;现在会照常列出来(按已入账期数算进度),可以在列表里点「编辑」把起始日补上。
兼容性纯前端改动,不需要重跑 Supabase 建表脚本,数据格式不变。上传到 Cloudflare Pages 后 Ctrl+F5 强刷一次即可。
v3.46.02026-09-27资金往来点卡看明细、经营视角新增保本营业额、净利率移位、修改记录备注框改多行
新增报表「资金往来」卡片点击看明细:以前五个数只给合计,想看具体是哪几笔得自己去流水页翻;现在点任意一格直接弹窗,列出这一类每笔记录的日期时间、对方、金额和备注,底部有合计,弹窗里就是当前时间范围的数。
新增经营视角新增「保本营业额」卡:营收做到多少就不亏?=(综合费用 − 食材采购)÷ 毛利率。副行直接告诉你「已过保本线(多赚 ¥X)」还是「距保本线还差 ¥X」;毛利率 ≤ 0 时显示「—」。食材成本随营收浮动,此数为估算参考。
改版「净利率」移到「毛利率」后面:卡序改为 营收 → 毛利率 → 净利率 → 保本营业额 → 食材成本率 → …——「赚不赚钱」的头两张卡挨在一起,一眼看完。
优化修改记录的备注框改多行:以前是单行输入框,长备注(如「260918~大型家电在购买时…」)只能看到开头一截;现在改成 3 行文本框,完整显示,还可以拖高。
兼容性纯前端改动,不需要重跑 Supabase 建表脚本,数据格式不变。上传到 Cloudflare Pages 后 Ctrl+F5 强刷一次即可。
v3.45.02026-09-27周期账卡改版(已付/已收 + 总账瘦身)、卡片互切加固、导出按时间排序、左侧菜单可滚动、本机免登录
改版周期账两张卡重排(按你的反馈):① 第一张卡(随筛选)的「支付 / 收入」两格改叫「已付 / 已收」——数值不变,仍是当前范围内、备注带【周期账】的流水求和。② 总账卡去掉「支付 / 收入」一行(和第一张卡口径重复),只留累计口径:左列 共付 / 已付 / 待付(支出侧),右列 共收 / 已收 / 待收(收入侧)。共付 = 所有周期账的总额,已付 = 已入账期数 × 每期,待付 = 总额 − 已付(收入侧同理)。③ 排版改紧凑细条(每行「标签 + 金额」左右对齐),大界面五卡一行、小窗口时两张周期账卡并排在第二行各占一半宽,极窄屏字号自动降档,金额永不截断;总账卡高度随之变矮。
修复卡片点选切换(三处加固):① 「总账」卡选中后再点第一张周期账卡没反应——旧逻辑用「时间范围是不是全部」区分两张卡,总账把范围切到「全部」后,点第一张卡的判断条件永远不成立,怎么点都停在总账。现在改用专门的「当前选中卡」标记区分两张卡,互切、再点取消都正常。② 先选「全部」范围再点第一张周期账卡,范围被强制跳回「本月」——现在点卡保持当前范围,标题跟着范围变(全部周期账 / 本月周期账…),不再乱跳。③ 点「总账」卡仍是切到「全部」范围看累计口径,行为不变。
修复导出的「流水」表不按时间排序:以前导出按数据库里的存放顺序,用 Excel 打开先后是乱的;现在同一先按「日期」、再按「时间」升序排好。
优化电脑端左侧菜单超过一屏可以上下滚动:以前菜单锁定不能滚,屏幕矮时底部几项点不到;现在内容超过一屏自动出滚动条。
安全云端登录页去掉「本机模式」入口 + 移除本机访问口令:① 云端网址(https)登录页不再显示「本机模式」按钮——堵住「用网址随手选本机模式就绕过管理员审批直接进」的口子;双击 HTML 文件(file://)打开仍保留本机模式。② v3.44.0 加的本机访问口令(默认 123456)整套移除——本机模式改为免登录(见下一条),口令机制不再需要。
新增本机模式免登录:双击打开文件后,登录页点「登录」不用输邮箱密码直接进入——第一次用会自动建一个本机账号,用过则自动进上次的账号;如果你主动填了邮箱密码,仍按输入验证登录(保留切换账号的能力)。云端模式登录流程不变(仍需邮箱 + 密码 + 审批)。
兼容性纯前端改动,不需要重跑 Supabase 建表脚本,数据格式不变。上传到 Cloudflare Pages 后 Ctrl+F5 强刷一次即可。
v3.44.02026-09-27隐私加固:管理员邮箱不再整张暴露、库大小不再被陌生人查到、注册需邮箱验证、本机模式加访问口令
修复云端隐私加固(一次补齐 5 处):①管理员邮箱不再被任意登录用户整张拉走——前端不再 SELECT 整张管理员名单,改用数据库函数 cb_is_admin() 判定身份,只拿到「是 / 否」,拿不到邮箱清单。②数据库大小不再被未登录的陌生人查到——撤销了用量函数 cb_db_usage 默认对所有人(含匿名)开放的权限,只有管理员调用才返回真实占用,其他登录用户按条数估算。③注册需要邮箱验证——配合 Supabase 后台开启「Confirm email」,注册成功后会要求先去邮箱点验证链接再登录,前端注册流程已适配(无 session 时友好提示)。④本机模式新增访问口令(默认 123456,正式使用前请改成你自己的;设为空则不要求口令)。⑤修正一处过期注释(曾误写「管理员可看任何人账本」,实际数据库层早已钉死每本账互相隔离)。
兼容性①~② 涉及数据库规则,需要把 系统文件/supabase_schema.sql 在 Supabase 后台 SQL Editor 重跑一次(脚本幂等、不动已有数据);③ 需额外在 Supabase 后台「Authentication → Providers → Email」勾选「Confirm email」;④ 只改前端一处常量。上传到 Cloudflare Pages 后 Ctrl+F5 强刷一次即可。
v3.43.42026-09-27修走势图不跟周期账筛选:点周期账卡后图与列表口径不一致
修复点「周期账(随筛选)」卡后,走势图和下面的流水列表对不上:列表会筛成只带【周期账】标记的那几笔,可走势图取数时漏了「周期账」这一条筛选,仍按全部流水在画——所以你看到「上面图还是老样子、下面只剩几笔」。接着再点「收入 / 支出 / 结余」卡,图上两条线更是和列表完全不是一回事。现在走势图的取数和列表用同一套筛选(含周期账),点周期账卡图跟着只画标记流水,改点别的卡退出周期账筛选后图也马上回到正常口径。资金往来档(会员充值 / 借入 / 借出 / 还款)口径不变。
兼容性纯显示口径修复,不需要重跑 Supabase 建表脚本,数据格式不变。上传到 Cloudflare Pages 后 Ctrl+F5 强刷一次即可。
v3.43.32026-09-27修点「周期账(随筛选)」卡后范围被强制跳回本月:现在保持当前范围
修复先选「本季/今年/全部」,再点「随筛选」那张周期账卡,范围会被强制切回「本月」:这是 v3.42.0 的老设计——当时这张卡只管本月,点卡就顺手把范围锁定到当月。v3.43.2 起这张卡已经跟随范围(标题、金额都跟着切),锁定当月反而成了「点一下就跳回本月」的困扰。现在点卡保持当前范围,只把流水筛成带【周期账】标记的,和卡上金额口径一致。点「总账」卡仍是切「全部」(总账口径就是全部),行为不变。
兼容性纯点击行为修复,不需要重跑 Supabase 建表脚本,数据格式不变。上传到 Cloudflare Pages 后 Ctrl+F5 强刷一次即可。
v3.43.22026-09-27修「周期账(随筛选)」卡标题:跟随范围切换(本月/本季/今年/全部/所选),不再写死「本月」
修复切到本季/今年/全部后,卡上标题还写着「本月周期账」:这张卡的数值其实一直都跟着上方范围走(切「全部」显示的就是全部范围内带标记流水的合计),但标题在 v3.42.0 加卡时写死了「本月」两个字,切范围也不换词,看起来就像筛选没生效。现在标题跟随范围:本月 / 本季 / 今年 / 全部 / 所选周期账,一眼能对上。
兼容性纯标题文字修复,不需要重跑 Supabase 建表脚本,数据格式不变。上传到 Cloudflare Pages 后 Ctrl+F5 强刷一次即可。
v3.43.12026-09-27修「本月周期账」卡统计口径:取消/删光周期账后,已入账的带标记流水仍计入
修复「本月周期账」卡显示 0.00、下面却有带「周期账」标记的流水:卡 B 的统计被写成了「先判断有没有周期账,没有就直接跳过」,于是周期账取消或删光后,账本里已真实入账的第 1 期流水(标记不会被删)就不再被统计。现在只要流水带标记就计入,与周期账是否存在无关。
说明带「【周期账 第N期/共M期】」标记的流水是当时真实记下的钱:取消周期账只停掉「以后自动记账」,已记的流水不会被删(取消时的弹窗也写明了这一点)。周期账没了、流水还在,是正常设计;这次修的只是卡片没把它们算进去。
兼容性纯显示修复,不需要重跑 Supabase 建表脚本,数据格式不变。上传到 Cloudflare Pages 后 Ctrl+F5 强刷一次即可。
v3.43.02026-09-27周期账两张卡改为一直显示(没有周期账时显示 0.00),不再自动隐藏
改行为「本月周期账」「周期账(总账)」两张卡不再自动隐藏:v3.42.0 的设计是「没有周期账记录时把卡藏起来」,结果用户打开云端账本(周期账还没搬上云)时看不到卡,以为功能丢了。现在两张卡常驻显示,没有周期账时显示 0.00,一眼能看出「这里可以管周期账」。
修复顺带修掉一个显示隐患:以前只在有周期账时才刷新卡上数值,把周期账删光后,卡上会残留上一次的旧金额(数字看着还在,实际账已经没了)。现在每次渲染都重算,删光即为 0.00。
兼容性只改界面显示规则,不需要重跑 Supabase 建表脚本,数据格式不变。上传到 Cloudflare Pages 后 Ctrl+F5 强刷一次即可。
v3.42.22026-09-26修「点收入/支出卡没有蓝框、重复点击高亮跳到结余」;颜色说明补上黄色数字含义
修复流水页顶部「收入」「支出」两张卡点击后没有蓝框:v3.42.0 给五张卡加「点卡即筛 + 蓝框高亮」时,收入、支出两张卡的蓝框错加在了卡片内层的数值元素上,而高亮样式只认外层卡片,导致这两张卡点了不亮(结余、周期账两张卡正常)。现在给收入、支出卡外层补上专属 id(mInBox / mOutBox),高亮与结余卡走同一套样式,五张卡都能正常亮。
修复重复点击同一张卡,高亮跳到「结余」:原来的逻辑是「再点一次取消筛选」,取消后高亮回落到默认的结余卡,看起来像「点了收入却跳到结余」。现在改为重复点击同一张卡保持选中不变;想看全部流水,点「结余」卡即可(结余卡本来就是「看全部」的意思)。
补充报表「经营指标」的颜色说明补上黄色数字:黄色=没达到建议线(如毛利率不到 55%、人工成本率超过 25%、租金占比超过 12%),提醒你留意。v3.42.1 只写了绿/红/蓝,漏了最常出现的黄。
v3.42.12026-09-23修复卡片点击后分类/细分按钮未同步刷新;报表经营指标增加颜色图例
修复点击流水页顶部「收入/支出/结余/本月周期账/周期账总账」卡片后,筛选状态已正确生效,但分类、细分下拉按钮文字没有同步刷新(例如仍显示"已选 21 个分类")。v3.42.1 在点击回调中补上 renderFilters(),按钮文字现在会随卡片点击立即更新。
新增报表页「经营指标」说明段增加颜色图例:绿色数字=收入或正向经营比率;红色数字=亏损(如净利率为负);蓝色文字=可点击跳转到对应流水。
v3.42.02026-09-23流水页顶部新增「周期账」两张卡(本月已付/待付、累计总账),点卡即筛对应流水
新增流水页顶部「收入 / 支出 / 结余」右边新增两张卡,解决「周期账平摊出来但不知道实际掏了多少钱」:① 「本月周期账」(随上方本月/本日切换)显示本月、备注带「【周期账」的流水求和的支出与收入;② 「周期账」总账卡(标「总账·不随筛选」)显示所有周期账累计的支出已付/待付、收入已收/待收(已付 = 已入账期数 × 每期,待付 = 总额 − 已付)。
新增顶部五张卡均可点击筛选:点收入/支出/结余只看该类;点「本月周期账」→ 只看带【周期账 的流水(当时范围锁定当月;v3.43.3 起改为保持当前所选范围);点「总账」卡 → 范围切「全部」、只看周期账流水。当前生效卡蓝框高亮;改类型或切月份自动退出周期账筛选。
新增无周期账时两张卡自动隐藏,界面与以前一致。
v3.41.02026-09-22走势图点一下跳到对应流水 + 修「换分类后细分默认串味」「转周期账每月几号改不了」+ 周期账到期自动停 + 周期账备注挪到金额下面 + 周期记账那行显示我的备注、卡片改显示「共 / 待还」
新增走势图可以点了:流水页走势图上点某一天,下面的流水就只看那天;「本季/今年/全部/自定义」的逐月走势里点某个月,就只看那个月。图下方出现「只看 XXXX-XX-XX 这一天的流水 · ✕ 清除」提示条,再点同一个点或点「✕ 清除」即恢复全部。切月份、换时间范围时「只看」自动失效(不会莫名空列表)。走势图本身不套这层筛选,方便接着点别的日子。
新增鼠标移到图上会变成手型,走势图说明里也写了「点图上的点,下面流水就只看那一天」。
修复换分类后「细分」还挂着上一个分类的默认细分(用户报:「这个分类没有设置默认,应该是还没设默认」)。现在细分默认只在它确实属于当前一级分类时才显示,否则显示「还没设默认细分」;切回原分类又会自动出现。细分被删掉的情况同样按「还没设默认」处理。
修复经营视角「综合费用率」一直是黑字,夹在一堆绿字红字里像坏了。现在有赚头(费用率 <100%)显示绿字,支出吃穿营收(≥100%)变红字,和其余指标卡一致。
修复综合费用率 / 净利率两张卡的小字补上「这个比率表示什么」:前者讲「每 100 元营收被支出吃掉多少」,后者讲「每 100 元营收真正剩下多少」。同时删掉用户不要的「设备采购建议走周期账按月摊」「设备采购维修也计入经营费用」两句,并修正原来写错的算式——正确的是综合费用率 + 净利率 = 100%(原文写的「毛利率 − 综合费用率 ≈ 净利率」并不成立)。
修复把一笔流水「转为周期账」时,「每月几号」输入框是灰的、改不了(v3.35.0 起写死跟随首次扣款日,v3.40.0 把扣款日解耦成独立字段时漏改了这个弹层)。现在可以单独填:首次 22 号 + 每月 1 号 → 上面选 22 号、这里填 1;留空按首次扣款日的日子。改「首次扣款日」时只有它还跟着旧日子才自动同步,手动改过不再被拖走;填 1-31 之外会拦下。
新增周期账期数记满后自动停止,不会再往下扣款:卡片打上绿色 「已完成 · 不再扣款」标签,这一行不再显示「暂停/恢复」按钮(编辑、取消保留);补记环节也加了显式护栏,已记满的周期账直接跳过。想把某笔接着扣,进「编辑」把期数改大即可。
调整周期账每期流水的备注以前是「你自己的备注 · 【周期账 第1期/共12期 · 每期¥277.08 · #编号】」全挤在正文行里,混在一起不好认。现在把周期账信息挪到金额下面单独两行显示(📅 第1期/共12期、共 ¥3,325.00 · 待还 ¥3,047.92);不再显示「每期 ¥X」——那个数就是卡片上的金额,重复一遍反而看不清。第二行的待还金额用暖色点出来,一眼看到还剩多少没入账;两行的字号、行距与「第N期」那行完全一致(样式表里通用 .sub 规则会把它顶大一级,已在 .rec-pd.sub 上写死收口),正文行只留你自己写的备注;末尾那串 #编号不再展示——它是这条周期账的内部编号,程序靠它把每期流水对上号、防止重复补记。表格视图同样只显示你的备注、后面跟一个「📅 1/12 期」小标;编辑弹层的备注框也只显示你自己写的内容,保存时自动把编号原样带回去(不会丢)。备份导出仍写完整原始备注,恢复后照样能对账。
新增周期记账面板那行现在会显示你自己写的备注。以前那行只有分类(「门店装修 - 硬装材料·实体店」),看不出具体是什么事;现在备注以 📝 小标签挂在名字旁边,一眼看出是哪笔。要加要改:点这一行「编辑」→「备注(选填)」里写,保存后立刻显示。备注只挂在周期账这一行,已经记好的各期流水仍显示每期自己的备注。
修复点走势图上的点会偶发一条 JS 报错(Cannot read properties of undefined (reading 'handleEvent'))——原因是在图表自己的点击事件里当场把图表销毁重画了。现在把重画延到本次事件走完再执行,报错消失。
回归全套静态套件绿(含被改写死断言的 test_v3290/v3300/v3310/v3311/v3323 已同步),真机验收覆盖走势图点击、提示条清除、换分类后细分默认、综合费用率配色。
v3.40.02026-09-22周期记账「扣款日」真正生效:与首次扣款日解耦 + 与日期双向联动
新增「扣款日」管第 2 期以后的扣款节奏:第 1 期永远记在「首次扣款日」当天;第 2 期起从起始日的下个月开始、每月按「扣款日」那天自动扣/收。例:9 月 22 日首扣、扣款日填 1 → 9 月 22 日第 1 期,之后每月 1 日一期(之前「扣款日」只是显示,实际都按首扣日的日子走)。老周期账没存过扣款日 → 自动按起始日的日子扣,行为完全不变。
新增「首次扣款日」和下面的「日期」双向联动:改首次扣款日,日期跟着变;改日期,首次扣款日也跟着变(只在周期记账模式下联动)。
变更记一笔 / 编辑周期账里改「扣款日」不再拖动「首次扣款日」(v3.35.0 的双向绑定移除);扣款日留空 = 按首次扣款日的日子;填了必须是 1-31。改首次扣款日时扣款日仍会自动跟上(仅当扣款日之前一直跟着旧起始日)。
提醒云端老账本第一次保存「改过扣款日」的周期账时,会提示缺「扣款日」列——照提示在 Supabase 执行:ALTER TABLE cb_periodic ADD COLUMN IF NOT EXISTS 扣款日 INTEGER;(不改扣款日的普通周期账不需要补列,照常用)。缺列提示已按整数(INTEGER)类型给对语句。
回归套件 49 项断言全过(含每期日期单测:22 号首扣扣款日 1 → 10/1、11/1;跨年;31 号在 2 月按月末;老数据回退);真机验收 18 项全过(手机视口三字段联动、解耦保存落库、编辑弹层改扣款日、普通记账回归)。
v3.39.12026-09-22修「云端缺列」提示的 SQL 类型(暂停列 BOOLEAN)+ FAQ 补云端补列步骤
修复缺「暂停」列的提示文案给出错误 SQL 类型:云端 cb_periodic 表缺「暂停」列时,通用缺列提示让用户按 TEXT 类型补列;但该列是布尔(BOOLEAN)——按 TEXT 建会把暂停状态存成 't'/'f' 文字,JS 里 'f' 也是真值,全部周期账会被误判成「已暂停」。现在缺列报错命中「暂停」时优先给出正确语句:ALTER TABLE cb_periodic ADD COLUMN IF NOT EXISTS 暂停 BOOLEAN DEFAULT false;(真机实测:云端探测确认缺的正是这一列)。
新增使用说明 FAQ 新增「提示云端缺列怎么操作」:手把手给出 Supabase 后台 SQL Editor 补列的四步操作(登录 → SQL Editor → 原样粘贴提示语句 → Run 后刷新页面),并提醒布尔列不能照老提示建成 TEXT。
回归v3.39.1 套件 34 项断言全过(版本 / 计算器 / 转周期 / 暂停列提示分支优先命中 / BOOLEAN 语句文案 / 不回退项)。
v3.39.02026-09-21金额行计算器 + 流水一键转周期账 + 删「支出给谁」灰色历史下拉
新增金额行计算器:金额输入框右侧新增「+ − × ÷ =」五个键(主色等号键),点运算符把当前金额存为左操作数并清空输入框,「=」从左到右连算回填结果(两位小数取整);输入框旁有算式提示条,点一下取消本次计算;除 0 有大白话提示。手机宽度(≤520px)下按钮自动折成金额下面单独一整行 44px 高的大按钮,触控好点不误触。用户此前反馈「手机上想算一下再记,加减乘除不好点」,本功能直接解决。
新增流水转周期账:点开某条收支记录的修改弹窗,新增「📅 转为周期账」入口。填总金额(默认这笔的金额)、分期数,选首次扣款日(默认这笔的记账日期、可改,每月几号跟随它),确认后:先建周期账(已入账期数 = 1),再把这笔流水本身变成第 1 期——金额改成每期金额、日期同步成首次扣款日、备注带上「【周期账 第1期/共N期 · 每期¥X · #编号】」标记;之后到期期数由自动补记机制按月写入,账目不重不漏。已是周期账某一期的记录不显示该按钮,防止重复转换。
修复「支出给谁」不再弹浏览器灰色历史下拉:输入框原挂原生 datalist(把历史「对方」全部列出来、没有次数门槛),和 v3.2.0 的「常用语」(满 3 次才上榜)两套叠加,出现「已经有常用语还弹一个」的重复打扰——用户反馈后确认下线历史下拉,删除 datalist#cpList 及其数据源;常用语按钮、借还编辑的「跟谁」固定角色名单都不受影响,历史名字打字仍可输入。
回归新增 v3.39.0 套件 31 项断言(版本动态解析 / 历史下拉删净 / 计算器按钮与连算逻辑 / 转周期函数与防重入 / 常用语与角色名单不回退);Playwright 真机验收 19 项全过(手机视口 390px:计算器一整行大按钮可点、12+3×2=30、除 0 提示、转周期后金额 1000 + 周期账 1 条 + 备注带编号、已是周期不再显示按钮、更多→周期记账入口回归);全量 33 套自动测试通过。
v3.38.02026-09-21支出分类全部方框 + 顺序重排 + 删独立「改记账人」+ 语音默认关闭
优化记一笔支出分类全部纳入报表「方框」标记:v3.34.0 新增的 5 个分类(资金手续费 / 财务税费 / 通信网络 / 学习培训 / 门店装修)此前漏在报表分类名单外,显示成圆框——用户反馈「这些都是报表计算里的,为什么不全都是方框」。现在支出 17 个内置分类全部进名单,和报表口径完全一致。同时方框与圆框的字体、大小完全统一(同为 13.5px 字号、37px 高度,窄屏也不再单独缩小),只靠直角形状 + 标记色区分。
变更支出分类按新清单重排:食材采购 → 包装耗材 → 水电气能耗 → 清洁洗涤 → 平台佣金 → 营销推广 → 资金手续费 → 损耗报损 → 办公杂费 → 设备采购维修 → 人工工资 → 通信网络 → 房租物业 → 财务税费 → 学习培训 → 门店装修 → 其他支出。老账本开机自动搬一次(弹提示),之后分类管理里手动排序永远优先;历史记录不受任何影响,只动显示顺序。
变更独立的「改记账人」按钮删除:v3.37.0 已把记账人并进「改内容」弹层,两处功能完全重复。现在改记账人请勾选记录后点「改内容」,候选名单(历史记账人去重 + 本机操作人排最前)和单独填写入口都还在弹层里,功能一个不少。
变更语音记账默认关闭:升级后没开过语音的账号不再显示麦克风;要用到「我的 → 语音记账」点「点我开启」。手动开过(存过开启状态)的账号不受影响。
回归新增 v3.38.0 套件 39 项断言(REPORT_CATS 全 17 类 / DEFAULT_CATEGORIES 新顺序 / 迁移函数切片桩测三场景 / voiceOff 三态切片实跑 / batchWho 删除 / 版本动态断言);同步修正 v3.23.1(方框收窄 CSS)、v3.35.0(独立按钮切片桩测改静态断言)、v3.36.0 / v3.37.0(引用点计数剥注释)四处老断言;全量 33 套自动测试通过;另跑死链/死锚点与 Edge 真机渲染验收、部署包 18 文件 MD5 比对。
v3.37.02026-09-21批量改内容新增「记账人」+ 筛选按钮「全不勾」文案修复
新增「改内容」也能一起改记账人:流水页点「✏️ 编辑」勾一批 → 点「改内容」,弹层里现在多了一栏「记账人」——候选名单取历史记账人(去重),当前操作人排最前,也可以自己写一个;选好名字和分类 / 细分 / 支付方式 / 日期一起提交。只改你点选的项,没选的照旧;单独只想改记账人时,工具条上的「改记账人」按钮仍然保留,怎么顺手怎么来。
修复筛选勾全取消后按钮仍写着「全部分类」:把「全部分类 / 全部细分」面板里的勾一个个取消干净后,列表确实空了,但按钮文字还挂着「全部分类 / 全部细分」,看起来像筛选没生效——这正是用户反馈的现象。现在清空([])时按钮如实显示「已选 0 个分类 / 已选 0 个细分」;没筛过(null)和整组勾满才显示「全部分类 / 全部细分」,三种状态一眼能分清。
说明筛选的数据口径完全没变:这三态(没筛过 = 看全部 / 全不勾 = 一条都不留 / 部分勾 = 只看勾的)与 v3.32.2 定下的一致,本次只改按钮文字,不动筛选逻辑。
回归新增 v3.37.0 套件 30 项断言(切片实跑批量改内容弹层:候选去重 / 本机操作人置顶 / 空值不入候选 / patch 写「记账人」;切片实跑筛选按钮三态文案);同步修正 v3.28.0 套件里写死的「清空 → 全部分类」断言、把 v3.36.0 套件的版本断言改成动态解析,避免下次升版失修;全量 32 套自动测试通过;另跑死链/死锚点与 Edge 真机渲染验收、部署包 18 文件 MD5 比对。
v3.36.02026-09-21批量改内容 + 筛选面板大方框 + 记一笔界面修正
新增流水页批量「改内容」:点「✏️ 编辑」勾一批 → 点「改内容」,一个弹层里可以统一改一级分类(带图标,按支出/收入分组)、细分(选了分类后级联列出,含「不分细分」)、支付方式、日期。只改你点选的项,没选的原样保留;改分类时只对同类型(支出对支出、收入对收入)的记录生效,类型对不上的自动跳过并提示;改了分类后原细分自动清成「不分细分」,除非另选了细分。
改进「全部分类 / 全部细分」筛选面板改成大方框:报表和流水里点开筛选面板,以前是又小又密的勾选框列表,现在换成和「记一笔」同一套大方框(带分类图标),勾中的亮主色底,一眼看清筛了哪些。筛选逻辑(全部 ↔ 全不勾 ↔ 部分勾)完全没变。
修复记一笔分类/细分的第二行显示不全:分类方框里带 emoji 图标,高矮不一,折叠时按第一个框的高度算,第二行被裁掉半截。现在方框统一等高,折叠线按最高的一行算,露出的两行完整。
改进记一笔日期排的留白收窄:「日期/时间/支出给谁/备注」的标签列留白太大,能填内容的地方就少了。标签列收窄后,省出的宽度全部让给输入框。
回归新增 v3.36.0 套件 31 项断言(chip 等高、折叠量高、三档标签列宽、面板 chip 化与 :has 勾选态、批量改内容的切片实跑:细分去重/排除空细分/跨类型跳过/不填拦截),并把三处写死版本号的老断言改成「动态解析 + 不低于诞生版本」,以后升版不再失修;全量 31 套自动测试通过;另跑死链/死锚点与 Edge 真机渲染验收、部署包 18 文件 MD5 比对。
v3.35.02026-09-21批量改记账人 + 「后厨工具」细分 + 周期记账扣款日生效
新增流水页批量「改记账人」:点流水页右上「✏️ 编辑」→ 勾一批(或点「全选」一次全选)→ 点「改记账人」,从历史记账人里点一个、或自己写个名字,一次改完。只改「这笔是谁记的」,金额、分类、日期、对方、支付方式一律不动;改完流水卡片、明细表、报表里的「记账人」同步刷新。顺带修了一个老问题:以前改记账人的请求会被底层静默忽略(字段没在允许修改的名单里),点了没反应,现在改得动。
新增「设备采购维修」细分「后厨工具」:菜刀、锅具、砧板、打蛋器这类后厨小件有了自己的归处,不用再挤在「器具损耗更换」里。老账本打开自动补上(只补一次);你已经自己加过同名的不会重复添加;要是你把整个「设备采购维修」分类删了,也不会硬塞回来。它属于支出,自动计入综合费用,不用改任何设置。
修复周期记账「每月扣款日」填了不生效:面板上写着「房租每月 5 号扣就填 5」,但补记时实际按「首次扣款日」的日子走,两边不一致时每期就记在了错误的日期上。现在两个日期绑在一起:改扣款日,首次扣款日的日子跟着变;改首次扣款日,扣款日跟着显示(比如填 31 而那个月只有 30 天,自动按当月最后一天)。编辑周期账的弹窗里也补上了「每月扣款日」一栏,改完照样两边同步。
改进分类补齐的提示不再报错名次:以前只要自动补了任何一项(哪怕只是一个细分),提示都会写「新增支出分类:资金手续费、财务税费、通信网络、学习培训、门店装修」。现在只报这次真的补上的那几个。
回归新增 v3.35.0 套件 43 项断言(后厨工具迁移四个场景实跑:补一条/已存在只补标记/已打标记不动/分类被删不硬塞;批量改记账人弹窗的候选名单去重、空名拦截、改的字段正确;周期记账扣款日双向联动含 31 号跨月兜底),全量 30 套自动测试通过;另跑死链 / 死锚点与 Edge 真机渲染验收、部署包 18 文件 MD5 比对。
v3.34.02026-09-21支出分类大扩容(17 类)+ 常用语门槛可调 + 分类折叠统一两行
新增5 个支出分类:资金手续费(微信/支付宝提现手续费、跨行转账费)、财务税费(增值税、所得税、印花税、财产保险、贷款利息)、通信网络(店面宽带费、工作手机话费、监控套餐费)、学习培训(员工培训费、新品研发试错、老板外出学习费)、门店装修(设计费、硬装材料、硬装施工、门头招牌、软装布置、道具家具、消防暖通、其他杂项)。每个分类都有「不分细分」;新记账直接可选,综合费用、支出卡自动包含(口径 = 全部支出,不用改任何设置)。
整理三处口径去重:① 「人工工资」的「员工餐福利」改名「工作福利」,并新增「劳保用品」细分;② 平台佣金里的「支付手续费」挪出去独立成「资金手续费」(和平台抽成不是一个口径);③ 水电气能耗里的「网络通讯」挪出去独立成「通信网络」。老账本开机自动迁移:分类表、历史流水、周期账、默认记账四处同步改名搬家,一条记录都不用你手动改。老账本里已独立的「配送费」细分(v3.20.0)保留在平台佣金里不动。
新增支出分类按记账频率重排:食材采购 → 平台佣金 → 包装耗材 → 人工工资 → 房租物业 → 水电气能耗 → 资金手续费 → 财务税费 → 通信网络 → 营销推广 → 设备采购维修 → 清洁洗涤 → 损耗报损 → 学习培训 → 门店装修 → 办公杂费 → 其他支出。只重排这一次(打标记),之后你在分类管理里自己拖的顺序永远优先。
新增常用语出现门槛:记一笔页「支出给谁 / 备注」下面的常用语,现在同一个词要记满 3 次才出现(以前只要输过 1 次就上榜,偶然输入会把真正常用的词挤出前 4 名)。次数可在「我的 → 高级设置 → 常用语出现门槛」调成 1 / 2 / 3 / 5 次,改完当场生效。设置仍存在本机,不动账目。
改进分类、细分的折叠统一成默认露两行:v3.23.3 曾让窄屏只露一行,找分类要来回展开;现在手机和电脑都默认两行、点「展开全部」看全部(选中的项被折住时仍会自动展开)。
回归新增 v3.34.0 套件 49 项断言(17 类顺序与细分清单、迁移函数三个场景实跑:改名/搬家/补齐/重排/幂等安静,常用语门槛接线),全量 29 套自动测试通过;另跑死链 / 死锚点与 Edge 真机渲染验收、部署包 18 文件 MD5 比对。
v3.33.12026-09-21说明书补全:新增整章「装到手机桌面当 App 用」(含图标图示)+ 顺手修好三处老文档损坏(只改说明书,程序一行没动)
文档使用说明新增一整章「📱 十三、装到手机桌面当 App 用(半 App 模式)」——安卓 / 苹果 / 电脑三种装法分步骤写清(苹果必须用 Safari、微信里打开的不行)、装完是不是同一份账、以后怎么更新、不想要了怎么卸载,全在一章里。上一版只在这块要点里提了一句,翻不到细节,现在可以照着一步步做。
文档把应用图标画进说明书了——蓝底白小票 + 金色 ¥ 硬币的图标直接以图片形式放进 13.1,并说明 192 / 512 / 512(安卓裁圆专用,留了安全边)/ 180(苹果)/ 64(浏览器标签页)五个规格各自用在哪;想换成自己的 Logo,替换 icons/ 里的 png 就行,文件名不用改。
修复那段「怎么装到桌面」的说明放错了位置——它早前被粘在「分类的二级细分怎么筛」这条常见问题的末尾,按目录找永远找不到,所以看起来像「说明书没写」。现已挪出来独立成章,并单独加了一条常见问题。
修复v3.25.0 那张版本卡的框丢了——更新日志里 v3.25.0 的开标签早前被误删(只剩一个 id),导致这一条没有卡片外框、也不能折叠,像一段裸文字挂在中间。现已补回,85 张版本卡全部可以正常展开收起。
修复说明书里三处老毛病——① 页脚一直写着「v3.18.0」(十几个版本没跟着走),改成当前版本;② 「文件清单」标题上面飘着一段讲首页大卡的说明(放错了章节),挪到「操作步骤」里它该在的位置;③ 清掉 v3.8.1 那条后面重复粘的一段文字。
说明这一版程序本身一行都没改——只是把说明书补全、修好两处老文档损坏。重新部署一次即可,账目、分类、设置全部不受影响。
回归全部 28 套自动测试通过(新增 v3.33.1 文档校验:新章节存在、图标图示是内嵌 PNG、安卓/苹果/电脑三种装法关键词齐全、文件清单已含 manifest.json 与 icons/、页脚版本正确、双文档互链双向);另跑死链 / 死锚点与 Edge 真机渲染验收。
v3.33.02026-09-21可以装到手机桌面当 App 用(图标 + 全屏打开,云端照常共享)+ 补回线上缺失的 3 个底层组件
新增能装到手机桌面,像 App 一样用——手机浏览器打开网址后,安卓在菜单里点「安装应用 / 添加到主屏幕」,苹果用 Safari 点「分享 → 添加到主屏幕」,桌面上就多一个「流水管家」图标。点开是全屏、没有浏览器地址栏,观感和普通 App 一样。桌面图标和网站看到的是同一份账(前提是用云端模式登录,因为数据存在云端数据库里,跟从哪进去无关)。以后更新不用重新安装:这边改完、你重新部署,图标打开就是新版。
新增真正的应用图标——蓝底 + 白色小票(底部锯齿)+ 三条账目线 + 金色「¥」硬币,导出 192 / 512 / 512(maskable)/ 180(苹果)/ 64(浏览器标签页)五个规格。顺手把原来那个「空图标占位」换掉,浏览器标签页上现在也能看到图标了。安卓会把图标裁成圆形或圆角方形,maskable 那版四周留了安全边,图案不会被切掉。
说明故意没有加「离线缓存」——离线缓存的好处是断网也能打开,但它也最容易造成「程序明明改了、手机上还是老界面」。本工具的数据本来就在你自己的云端数据库里,断网也记不了账,所以取舍是:每次打开都取最新代码,宁可断网打不开、也不要看到旧版本。这也意味着以后更新完,手机图标打开就是最新的,不用清缓存。
修复线上云端模式进不去(按钮置灰、提示「暂不可用:云端组件没加载上」)——部署包的制作清单里一直漏了 assets/vendor/ 下三个底层组件:Supabase 云端组件、Chart.js 走势图、Excel 导出库。这三个文件线上全是 404,所以不只是云端登录,走势图和 Excel 导出在线上其实也一直是坏的。现在部署包补齐到 18 个文件,并且加了自动防线:主页面引用的每个文件都必须真实存在于包里,否则打包直接报错,这类「漏打包」以后不会再发生。
回归全部 27 套自动测试通过(新增 v3.33.0 三十三项:图标尺寸与格式、清单文件字段与图标声明一致性、主页面各条引用、引用完整性、版本号 6 个引用点、部署包含新文件;另加真机验证:本地起网站服务后浏览器实跑,全站零 404、清单与五个图标全部 200 可下载、页面正常渲染)。
v3.32.32026-09-20综合费用 = 全部支出(自建分类也自动算进来)+ 卡片写明口径(补丁)
修复自己在「分类管理」里新建的支出分类,钱花了、支出总数里有它,却不进经营费用——「综合费用率」和「净利率」背后的经营费用,以前是把 12 个内置支出分类写死相加的。你在分类管理里新建一个支出分类(比如「水电工程翻新」)之后,那笔钱会出现在「账目视角」的支出卡里,却不进综合费用率 —— 同一段时间的账,两个数对不上(用户就是这么报的:「我看经营费用的计算好像是全部支出相加」)。现在改成:综合费用 = 本期全部「支出」记录相加,与支出卡同一个口径,自建分类、改了名的分类都自动包含在内;转账(账户之间倒钱)和借还(不是收支)依然不算。
改进「综合费用率」卡正面写明「综合费用就是全部支出」——卡片金额小字从「经营费用 ¥X」改成「综合费用(全部支出) ¥X」,公式从原来罗列 12 项改成一句「全部支出 ÷ 营收」,下面算法一行也写清楚:含你在「分类管理」里自建的支出分类、转账借还不计、与「账目视角」的支出卡是同一个数。点这张卡 = 跳流水页「仅支出」且不限定分类,看到的正好是这个比率的全部构成(以前只筛那 12 个分类,自建分类会漏)。
改进「支出」卡反向指路:账目视角的「支出」卡小字补了一句「「经营视角」的综合费用就是这个数」,两张卡是不是一个数一眼能对上。成本结构条末尾会补上自建支出分类那几根,否则「综合费用率」的金额比条形图加起来还大,看着像钱算丢了。
调整「净利率」卡公式改成「(营收 − 综合费用)÷ 营收」,与上面的综合费用率用同一套说法。这张卡不再点了(它的构成就是全部收支,指不出一个具体范围)——想看支出明细,点它上面的「综合费用率」卡。
回归全部 26 套自动测试通过(新增 v3.32.3 三十七项:自建分类计入、与支出卡同口径、转账/借还排除、内置分类改名不丢钱、卡片文案与跳转参数;真机点测 31 项全通过;同步修正 5 套老测试里随口径变化的断言)。
v3.32.22026-09-20「勾全取消」不再显示数据 · 「不分细分」按分类各管各家(补丁)
修复筛选里把勾全部取消,以前会「装作没筛过」继续显示全部流水——分类和细分的勾选框全部取消,本意是「一条都不看」;但程序把这种「空选择」和「从来没筛过」当成了一回事,于是列表和走势图照常显示全部数据。用户看到的就是「分类/细分一个都没勾,怎么还有数据、还有走势图」。现在两者分清楚了:从没筛过 = 显示全部;勾全取消 = 真的一条都不看(列表空、走势图也空)。再点一下「全部…」,数据原样回来。
修复每个分类组下的「不分细分」不再是同一个东西,勾一个会牵连全部——细分面板里每个分类组下面都有一项「不分细分」,但它们之前共用同一个名字:勾「食材采购 · 不分细分」,别的分类组里的「不分细分」会跟着一起被勾上,筛出来的也是所有分类里没填细分的流水混在一起。现在它们按所属分类各自区分,勾「食材采购 · 不分细分」就只捞出食材采购下没填细分的那几条。面板上显示的字仍然是「不分细分」,不会出现奇怪的后缀。
修复流水的分类排序跟着「分类管理」走——在「我的 → 管理收入/支出分类」里上移、下移某个分类,或者删掉一个分类,流水页的分类顺序会立刻同步过去。被删掉的分类,它的历史流水留在原来的位置,不会被甩到列表最末尾(老版本拿「当前还存在的分类表」当排序依据,分类一删就查不到排位,只能垫底)。
回归全部 25 套自动测试通过(新增 v3.32.2 三十四项,覆盖三态筛选语义、各分类「不分细分」互不干扰、按钮文案不露出内部值;真机点测 28 项全通过;同步修正 3 套老测试里随口径变化的断言)。
v3.32.02026-09-18新增「不分细分」「不填」筛选项,排序对齐「记一笔」(次版本)
新增细分面板多了「不分细分」这一项——记一笔的时候,二级细分不是必填的,很多人只选一个分类(比如「堂食」)就把钱记了,这条流水的细分其实是空着的。以前这种「没细分」的流水在细分面板里找不到对应的勾,想单独看它们没办法。现在每个分类组的最上面多了一个「不分细分」,它就是专门用来筛「只选了分类、没填细分」的流水;流水的详情行里也统一写成「细分:不分细分」。
新增支付方式多了「不填」这一项——和细分同理,记一笔时支付方式也可以留空(比如内部调账、红包、代付这类说不清走哪个渠道的)。现在筛选行的支付方式下拉里,紧跟在「全部方式」后面就是「不填」,选它就能把「没填支付方式」的流水单独挑出来;部分选中「不填」时按钮也会明说「已选:不填」。流水详情行里同样显示「支付:不填」。
调整两个新选项都排在列表最前面,和「记一笔」的顺序一一对应——记一笔里「不分细分」按钮就在细分按钮行的第一个,支付方式那一栏「不填」也排在第一个。现在筛选面板严格照这个顺序来:「不分细分」在每组最前、「不填」在「全部方式」之后第二位,你脑子里记一笔的肌肉记忆,在筛选这里也一样管用。支付方式下拉里没有「借还」(那是记账用的特殊类型,不是真实支付渠道,和记一笔的收支/借还面板保持一致)。
说明没有「不选分类」这个选项,因为分类是必选的——记一笔如果没选分类,页面会直接拦住不让保存(提示「请先选择一个分类」)。既然每条流水都必然有分类,筛选面板自然不需要「不选分类」。
回归全部 22 套自动测试通过(新增 v3.32.0 二十五项,覆盖「不分细分」在每个分类组第一位、空细分正确映射为「不分细分」、「不填」的筛选语义与下拉顺序、以及「不选分类」确认不存在;同步修正 3 套老测试里写死的项目数断言)。
v3.31.02026-09-20净利率公式写全 + 细分面板按分类分组 + 跳转后细分状态统一(次版本)
修复净利率的公式只写了半句——卡片划线上方原来写「营收 − 经营费用」,两个金额相减怎么算都是个金额,可卡片上显示的是百分比,对不上账。现在写全:(营收 − 经营费用)÷ 营收。顺便说清楚这个数怎么读:分子「营收 − 经营费用」就是小字里的「本月净利润」,除以营收变成比率,意思是「每做 100 元生意留下几元利润」——金额看规模,比率看健康度,跨月比较只能靠比率。
修复细分面板「说全部、点开却全不勾」——从报表点卡片跳到流水页(或在分类多选里换组合)后,细分按钮显示「全部细分」,点开面板却一个都没勾,和「全部分类」的规则(没筛 = 全勾)正好相反。现在统一:按钮说「全部细分」,面板里就全部勾上;只有你亲手点掉「全部细分」,才会变成全不勾。三个状态(全勾 / 全不勾 / 部分勾)和分类面板完全一样。
新增细分面板按「所属分类」分组显示——以前所有细分平铺在「—— 支出 ——」一大组里,几十个细分混在一起找不着北。现在像分类面板一样分组:组头就是分类名(—— 食材采购 ——、—— 房租物业 ——……),组内列该分类的细分;勾了哪几个分类就只显示这几组,跳转过来的也能一眼看出「这个数是哪几类钱凑的」。同名细分只在第一个所属分类组里出现一次。
修复账本为空时收入分类的细分会整组消失——细分面板给分类归类时,没在账本里出现过的收入分类会被错归到支出树下,找不到自己的细分,整组凭空不见。测试桩暴露的边角,已修。
回归全部 21 套自动测试通过(新增 v3.31.0 二十九项,覆盖净利率公式、跳转后细分三态、分组渲染的范围与去重;同步修正 3 套老测试里写死旧文案/旧切片锚点的断言)。另用真实浏览器实测:跳转后面板 50 项全勾、12 个分组头、换分类组合后仍全勾,零报错。
v3.30.02026-09-19报表 / 流水下滑时锁住筛选区(次版本)
新增报表页往下滑时,「账目视角 / 经营视角」这一行及以上会锁住不动——月份切换、时间范围(本月 / 上月 / 自定义)、自定义日期、视角切换这四行现在一直贴在顶栏下面。以前想看下面的饼图、趋势、成本结构,滑下去之后这些按钮就跟着滚走了:看一半想换个月份,得先一路划回顶部才能点,划回来又得重新往下找刚才看到哪。现在滑到哪儿都能随手换条件,看到的位置也不丢。
新增流水页往下滑时,「全部收支」这一行及以上同样锁住——月份切换、时间范围、自定义日期、搜索框、四个筛选(收支 / 分类 / 细分 / 支付方式)整块常驻顶部。翻长长的流水时最常见的动作就是「边翻边改条件」(比如翻着翻着想只看外卖、或者换个关键词再搜一次),以前每改一次都要回到顶上,现在直接改。
细节锁住的时候下面会加一道浅投影,让你一眼看出「这一块是浮在内容上面的」,划回顶部投影自动消失。同时确认过不会挡事:顶栏、底部导航、弹窗(分类多选面板 / 显示设置 / 提示条)全都照常在最上层,锁住的筛选区里的按钮、搜索框、下拉也都能正常点、正常输。筛选区本身不高——报表页约占小屏的一成七,流水页约占三成(条件最多的一页)。
回归全部 20 套自动测试通过(新增 v3.30.0 四十二项,覆盖两处锁定区的结构边界——该锁的一个不少、该跟着滚的一个不多、自定义日期行与范围条的兄弟关系没被包裹打断;吸附开关的真实源码切片跑一遍「静止不上投影 / 下滑才锁 / 藏着的页不算 / 回顶自动松」;层级上确认顶栏 60、底部导航 50、弹窗 100、提示条 200、菜单 999 都在锁定层 45 之上)。另外用真实浏览器把七个页面在手机和桌面两种宽度下走了一遍主要操作,零报错、零出界。
v3.29.02026-09-19设备采购维修计入经营费用 + 综合费用率公式写全 + 三张卡补跳转(次版本)
调整「设备采购维修」整个计入经营费用了——以前这一整类被排除在经营费用外,本意是怕「一次性买台冰箱把当月利润砸出坑」。但这么做有个更麻烦的后果:周期账按月分摊写进来的每一期,也落在「设备采购维修」分类下,于是连分摊也被一起排除——你明明每月摊了 1000,利润里却一点都看不见,等于白摊。现在统一计入:钱真花出去了就得算进利润。仍然建议大额设备走「周期账」按月摊(记一笔时选到「设备采购」细分,系统会主动提醒):那样每个月只进来一期,利润曲线才是平的;一次性全额记,那个月确实就该这么难看。成本结构条形图也随之多出第 12 根「设备采购维修」。
修复综合费用率的公式等于没写——卡片划线上方只写「经营费用 ÷ 营收」,可「经营费用」到底由哪些分类凑出来,一个字没提,看了也不知道钱花在哪几块。现在把构成写全:「(食材+包装+人工+租金+能耗+营销+佣金+损耗+清洁+办公+设备+其他)÷ 营收」,12 项一眼看清。
修复毛利率 / 综合费用率 / 净利率 三张卡点了没反应——六张成本卡早就能点着跳流水,这三张却一直空着:没给它们配「跳过去要看哪几个分类」,所以既没有「(点击可跳转至流水)」这句提示,点了也毫无动静。现在三张都能点,跳到流水页自动按构成它的分类过滤:毛利率= 四个营收分类 + 食材采购;综合费用率= 经营费用的 12 个支出分类;净利率= 四个营收分类 + 12 个支出分类,一分一厘都能对上账(周期账按月分摊自动写入的那些也列得出来)。
回归全部 19 套自动测试通过(新增 v3.29.0 三十七项,覆盖设备采购纳入后的经营费用 / 净利率 / 综合费用率数值、成本条形图第 12 根、三张卡的跳转与提示、经营视角说明文案同步新口径;同步修正 3 套老测试里与新口径冲突的过时断言)。
v3.28.02026-09-18「全部」各项跟着全勾 + 点卡跳转修好 + 去箭头改文字提示(次版本)
修复打开时「全部分类 / 全部细分」勾着,里面每一项却没勾——以前只把最上面那个「全部」勾上,下面分类全是空框,看着像漏勾、也分不清到底筛没筛。现在「全部」勾着时,里面每一项也一起勾上(这才是「全部」该有的样子)。点「全部分类」= 全部取消,再点 = 全部勾上,一下就能看见变化;勾了部分项时「全部」自动熄灭。按钮文字也跟着修:没筛、清空、全勾都显示「全部分类」,不会再冒出「已选 12 个分类」。
修复切到「经营视角」后,点指标卡跳不了流水——这是个藏得比较深的问题:卡片点一下能跳流水,靠的是页面加载时给卡片绑好的点击。切「账目视角 / 经营视角」时指标卡会被重新画一遍,新画出来的卡还没绑点过,所以点了没反应(直接从起始状态进经营视角又能点,才让人找不着规律)。现在每次重画卡片都会重新绑一次,两个视角随时切换都能点。
调整能点跳流水的指标卡不再显示 → 箭头,改在第一行小字末尾写「(点击可跳转至流水)」——箭头只认「点卡跳流水」这一种,营收卡和六张成本卡走的是「按分类跳」,结果只有营收卡有箭头、其余没有,看着像「只有它能点」。现在统一成一句文字提示,两个视角、所有能点的卡一致:营收、毛利率、食材成本率、人工成本率、租金占比、能耗率、营销费用率、平台佣金率、综合费用率、净利率,以及账目视角的收入 / 支出 / 结余三卡。不能点的卡不加这句,界面不再乱。
回归全部 18 套自动测试通过(新增 v3.28.0 三十八项;随实现演进同步修正了 6 套老测试的切片锚点与过时断言)。
v3.27.12026-09-18「全部分类」真能全打勾 + 公式独立一行 + 营收卡去掉箭头(补丁版)
修复点「全部分类 / 全部细分」还是没全打勾——v3.27.0 的修法看的是「被点那个框自己的状态」,可「全部分类」天生就是勾着的(程序语义:不勾任何项 = 不过滤 = 全部),你一点它,浏览器先把它切成「未勾」,程序就永远走「清空」那条路,各项纹丝不动。现在改成看下面各项的实际勾选情况:没全勾 → 全部勾上;已全勾 → 清空。另外单项勾选也改成「以面板上真实勾了什么为准」,不再自己记增减,界面和筛选结果永远一致。
修复指标卡的金额和公式挤在一起、从中间难看地断开——v3.27.0 把公式跟在金额小字后面同一行,公式一长就在半截处换行。现在公式独占一行,排在金额小字下面、虚线上面:金额一行、公式一行,读数看得清清楚楚。全部 14 张指标卡(含外卖明细 4 张)都调了。
修复「营收」卡右上角那个 → 箭头去掉了——箭头原本只跟着「点卡跳流水」的类型走,营收卡和六张成本卡其实都能点,但只有营收卡显示了箭头,看着像「只有它能点」。现在统一:点卡片跳流水的卡都不显示箭头(营收 + 六张成本卡),账目视角三张纯跳转账目的卡照旧显示。点击跳转功能完全不受影响。
回归全部 17 套自动测试通过(新增 v3.27.1 二十二项,覆盖「全部」点击的三种初始态、单项勾选与界面同步、公式独占一行、箭头显示规则)。
v3.27.02026-09-18点「全部分类」全打勾 + 勾选不重排 + 指标卡公式上划线(次版本)
修复点「全部分类 / 全部细分」现在全部打勾——v3.26.0 里点它只是清空多选(程序逻辑上「不勾任何项 = 不过滤 = 全部」),面板里其他勾选框纹丝不动,看着就像没生效。现在点「全部分类」= 下面所有分类全部勾上;再点一次取消 = 全部清空、回到默认。勾了部分项时「全部分类」自动熄灭,全部勾满或全不勾时自动亮起,「全部细分」同理。
修复勾选分类后筛选行不再移动——筛选行里的下拉框都有「弹性等宽」规则,但「分类 / 细分」两个多选按钮是后加的 div,没吃到这条规则,宽度跟着按钮文字走(全部分类 → 房租物业 → 已选 2 个分类),一勾选整行跟着重排。现在它们和旁边的下拉框同规则等宽,怎么勾排版都不动。
新增经营指标卡的计算公式上移到划线上——金额小字同一行后面直接跟公式(如食材成本率「食材成本 ¥1,166.67 · 食材采购 ÷ 营收」),不用到划线下面找算法;划线下方只留参考值和看法建议,不再重复公式。毛利率卡小字也补上了「食材成本 ¥…」金额。营收 / 毛利率 / 食材成本率 / 人工成本率 / 租金占比 / 能耗率 / 营销费用率 / 平台佣金率 / 综合费用率 / 净利率 / 外卖占比 / 外卖抽成率 / 外卖毛利 / 配送费,全部公式上移。
回归新增 test_v3270(34 项)覆盖全选打勾、勾选态同步、筛选行等宽、公式渲染与转义;全部 16 套自动测试通过。
v3.26.02026-09-18报表分类选中态加深 + 分类细分多选筛选 + 成本卡金额加名称 + 营收卡跳转口径修正(次版本)
修复报表分类「方框」选中态看不出选了哪个——renderCat1 给报表分类加的内联样式,选中 / 未选中都把背景设成同一个浅色,把 .chip.on 的加深样式盖掉了,方框模式下根本分不清选了谁。v3.26.0 改为:选中时背景用实色(标记色分支用标记色、跟随主题分支用主题主色)+ 白字,未选中才是浅底,一眼分明。
新增流水页「分类 / 细分」筛选支持多选——原来只能单选一个分类;现在点「全部分类」按钮弹出勾选面板,可同时勾 2 个以上分类一起筛(细分同理),按钮文字实时显示「已选 N 个分类」。S.filter 增加 cats / cat2s 数组,applyListFilter 与 renderList 内联过滤都改成「多选优先、单选兼容」;KPI 点卡跳转、清筛选也同步支持多选。
优化经营视角六张成本卡金额小字补名称——食材成本率 / 人工成本率 / 租金占比 / 能耗率 / 营销费用率 / 平台佣金率 / 综合费用率下方小字分别写明「食材成本 / 人工成本 / 租金 / 能耗 / 营销费用 / 平台佣金 / 经营费用」金额,外卖占比写明「外卖收入」,避免只看到一个数不知道是哪笔钱凑出来的。
修复点「营收」卡跳到流水显示「全部收入」——营收卡跳转时只按类型 = 收入过滤,把「其他收入 / 会员充值」也带出来了,和「经营视角」用「四营收分类」当分母的口径不一致。v3.26.0 改为点营收卡跳到流水页并按堂食 / 外卖 / 团购券核销 / 会员消费核销四个分类过滤(data-catlist 多分类),和分母口径对齐。
回归全部 15 套自动测试通过(新增 test_v3260.js 覆盖选中态 / 多选过滤 / 营收卡口径 / 金额名称 / 清多选 / 绑定顺序;老版本测试 test_v3250 的版本断言改为动态,避免升版误报)。
v3.25.02026-09-18点卡跳转修复:成本卡真能点了 + 结余卡联动走势图(次版本)
修复经营视角六张成本卡(v3.24.0 加的)点了没反应——根因是「绑定点击」跑在「画出卡片」之前:程序先给页面上已有的卡片绑好了点击事件,然后才把成本卡画出来,后画的卡自然一个都没绑上。已把绑定挪到卡片画完之后,现在食材成本率 / 人工成本率 / 租金占比 / 能耗率 / 营销费用率 / 平台佣金率六张卡都能点了,点卡片跳到流水页并自动按「支出 + 该分类 + 当前日期范围」过滤好。
新增点「结余」卡跳到流水页后,走势图自动切到「结余」档——以前跳过去走势图还停在「收支」档,图上只有收入 / 支出两条线,看不到结余;现在跳过去直接看每天(或每月)的结余起伏,正数是当天赚的比花的多,负数是净亏损。点「收入」「支出」卡的行为不变:按筛选只显示对应那条线。想换回「收支」档,点走势图上方的按钮即可。
回归成本卡点卡过滤(分类清空、跳页、滚回顶部)行为与 v3.24.0 设计一致;全部 14 套自动测试通过(含 v3.21.0 / v3.22.0 两套老测试的过时断言一并修正为动态版本断言)。
v3.24.02026-09-18经营视角点成本卡看明细 + 设置面板分组标题(次版本)
新增经营视角六张成本卡可以点了——食材成本率 / 人工成本率 / 租金占比 / 能耗率 / 营销费用率 / 平台佣金率,点卡片直接跳到流水页,并自动按「支出 + 该分类 + 当前日期范围」过滤好,一眼看到这个数是哪几笔钱凑出来的。典型场景:毛利率为负、食材成本率 131%,却觉得自己没录过食材——点开「食材成本率」卡就看清了:周期账会按月自动写流水(比如总金额 ÷ 期数,每月写一笔),如果建周期账时分类选成了「食材采购」,每月都会自动记一笔食材支出,报表就照实算进去了。
优化显示设置虚线下的分组起名——「方框样式」和「报表分类标记色」这两行上面加了小标题「报表分类显示设置」,和上面 1–6 条(报表显示哪些板块)彻底分开;顺手把「方框样式」行里多余的方框图标去掉——它长得像第二个勾选框,容易误会。
兼容性纯前端改动,无需重跑建表脚本,云端数据不受影响。备份 / 导入的文件格式与 v3.14.0 起完全一致,新旧互相都能导。
v3.23.32026-09-17标记色严格跟主题 + 设置面板分组 + 窄屏一行更稳(补丁版本)
修复「跟随主题」的标记色偶尔和主题对不上——此前「跟随主题」是程序在渲染那一刻先读出当前主题色、再写死到每个分类上,个别情况下(页面缓存了旧程序 / 读取时机不对)会读到旧值,看起来「明明跟随主题却不是主题色」。现在改成直接把「主题色变量」交给浏览器解析——任何时机、任何设备都严格等于当前主题主色,换主题即时跟着变。同时明确规则:分类自己在「分类管理」里设的颜色只对普通(圆角)分类生效,报表分类一律用标记色,两种颜色不再打架。
优化显示设置面板分组更清晰——「方框样式」一行文字改成「报表输出时,应用到的分类可以用方框样式表示(取消勾选 = 恢复圆角)」,整行铺开不再挤半列(此前「方框」两个字会被挤成竖排一列字);它和「报表分类标记色」这两行与上面 1–6 条之间用虚线划开——上面是「报表里显示哪些板块」,下面是「分类长什么样」,两种不同的对象不再混在一堆。
优化窄屏分类条行数更合理——手机宽度(≤520px)默认只露一行;屏幕实在太小(≤380px)一行放不下几个分类时,自动退回两行;电脑宽度仍是两行。点选中的分类正好被折住时依旧自动展开。
兼容性纯前端改动,无需重跑建表脚本,云端数据不受影响。备份 / 导入的文件格式与 v3.14.0 起完全一致,新旧互相都能导。
v3.23.22026-09-17标记色不点也生效 + 窄屏分类只露一行(补丁版本)
修复报表分类标记色只在「方框样式」下显示——此前标记色只在勾选「报表所需分类用方框样式」时才上色:切回圆角样式后报表分类不染色,只有点选中的那一颗才变成主题色,不点看不出哪些是报表分类。现在标记色对方框和圆角都一直生效:留空跟随当前主题主色(换主题即时跟着变),设了色固定用这个色,不用点选中也看得出。「方框样式」开关从此只管形状、不管颜色。
优化窄屏(手机宽度 ≤520px)分类 / 细分条默认只露一行——此前窄屏也按两行折叠,占两排高度;现在手机宽度下默认收成一行,「展开全部(共 N 项)」点开看全部,收起后按钮写明「收起(只看前一行)」;电脑宽度仍是两行不变。点选中的分类正好被折在下面时,列表依旧自动展开让你看见。
兼容性纯前端改动,无需重跑建表脚本,云端数据不受影响。备份 / 导入的文件格式与 v3.14.0 起完全一致,新旧互相都能导。
v3.23.12026-09-17标记色脏数据自动恢复 + 取色框不再显示假黑 + 方框窄屏不拥挤(补丁版本)
修复记账页的报表分类方框全变黑——v3.23.0 修好了「标记色被强转成开关值」的 bug,但只是「原样保留」,你设备上留下的脏数据是数值 1,它不是合法颜色:边框画不出来回退成深色、背景被算成黑色,于是 12 个方框全黑。现在读取时做校验:只认正常的十六进制颜色(如 #ff0000),其它一律按「空 = 跟随主题」处理——老账本打开就自动恢复,不用手动清任何设置。
修复显示设置里点了「恢复默认」,取色框还是黑的——网页原生的取色框不允许「空」,空值会被浏览器强制显示成黑色 #000000,看着像没恢复成功(实际存的已是「跟随主题」)。现在改成:留空时取色框显示当前主题的主色,旁边文字提示「跟随主题」;自定义时显示所选色并提示色值;切换主题时若设置面板开着,取色框也即时跟着变。
优化方框分类在窄屏上不再拥挤——12 个报表分类的方框内边距、字号整体收一小档(比圆角分类略紧凑但更透气),窗口 / 手机宽度 ≤520px 时再进一步缩小字号与内边距、间距同步收紧,不再挤成一团。
兼容性纯前端改动,无需重跑建表脚本,云端数据不受影响。备份 / 导入的文件格式与 v3.14.0 起完全一致,新旧互相都能导。
v3.23.02026-09-17修本机删除报错 + 视角高亮不灭 + 标记色真生效 + 支出卡精简提示(次版本)
修复本机模式弹「操作没成功:CB._from(...).delete(...).in is not a function」——v3.22.0 起程序开机自动把「会员充值」从收入分类里移除(它是欠顾客的钱,走「会员」页签记,不再当收入),这一步要「按一批编号删数据」,而本机模式的底层数据表恰好没做这个方法,删除直接报错:「会员充值」一直没被移走、每次开机都弹一次。现已把缺的方法补上(按编号批量删,与云端同一用法),开机自动移除正常完成、只提示一次。
修复报表页点「账目视角」,高亮立刻熄灭——点「经营视角」能正常亮,点「账目视角」却像没点一样。根因:「日期范围条」(本月 / 本季 / 今年…)有一段「统一点亮当前选中项」的公共逻辑,误把视角切换条也当成范围条——视角按钮没有范围属性,全部判成「不匹配」,刚点亮就被抹掉。现已把视角切换条排除在外,点哪个亮哪个,颜色随主题走。
修复「报表分类标记色」设了不生效——显示设置里选好的颜色,在保存 / 读取时被误转成了「开关值」(颜色字符串丢了),于是:自定义颜色不生效、取色器显示成黑色、「留空 = 跟随主题」也失灵(换主题方框颜色不变,点一下方框才变)。现已按原样保存颜色:设了颜色 → 报表所需分类的方框固定用这个色;留空 → 跟随当前主题主色,切换主题即时跟着变。
优化账目视角「支出」卡删掉「设备采购维修不算经营费用」的提示文字——按你的要求不再显示这句(设备采购维修怎么处理你自己会设置),卡片保留「钱花在哪一块最重,看『经营视角』的成本结构条」。只是去掉一行提示,支出的计算口径完全没变。
兼容性纯前端改动,无需重跑建表脚本,云端数据不受影响。备份 / 导入的文件格式与 v3.14.0 起完全一致,新旧互相都能导。
v3.22.02026-09-17账目视角三卡同款排版(结余补环比同比)+ 方框样式可设置 + 收入分类默认排序 + 修旧名残留(次版本)
优化账目视角三张卡(收入 / 支出 / 结余)改成和经营视角一样的排版——上面一行小字写「实际计算」(这个数是怎么来的,比如结余 = 收入 − 支出),下面一行小字给「分析」(这个数要怎么看、容易误读在哪)。原来「环比 / 同比」对比行原样保留;结余卡这次也补上了环比 / 同比——以前只有收入和支出有对比,结余一直光着。
新增报表分类的「方框样式」可以在显示设置里关掉——报表页「⚙️ 显示设置」新增一项「记账时,报表所需分类用方框样式」,默认开(方框);不想要方框的取消勾选,恢复成普通圆角。设置存本机,跟设备走。
修复「设备维修采购」旧名还在的问题——上一版说会自动把旧名改成「设备采购维修」,但实际改名时读错了变量(读了一个根本不存在的变量,判成「分类表里没有旧名」),于是只记了「改过了」的标记,旧名原封没动。这一版找到根因重写:开机就检查现在还有没有旧名,有就再改一遍(分类表 / 流水 / 周期账 / 设为默认四处),改完复查,改干净才报成功;万一改不动,会如实提示去「我的 → 分类管理」手动改,不装成功。
新增收入分类默认排序——堂食 → 外卖 → 团购券核销 → 会员消费核销 → 其他收入 → 会员充值。常用的排前面,会员充值(欠顾客的负债)放到最后,免得手滑记错。老账本开机自动重排一次;之后你在「分类管理」里自己拖的顺序永远优先,不会被开机覆盖。
优化「日期 / 时间 / 支出给谁 / 备注」四格包进白卡片——原来这四格裸放在灰色页面背景上,跟页面里其它白卡片不搭;现在同样是一张白卡,整页观感统一。
兼容性纯前端改动,无需重跑建表脚本,云端数据不受影响。备份 / 导入的文件格式与 v3.14.0 起完全一致,新旧互相都能导。
v3.21.02026-09-15账目视角精简(经营卡移入经营视角)+ 报表分类方框标识 + 删改警告 + 设备采购提醒修复(次版本)
优化账目视角不再重复显示经营指标卡——上一版「账目视角」和「经营视角」都画了毛利率 / 各项费用率 / 净利率等卡,看两遍、还容易以为数不一样。现在账目视角只留「收入 / 支出 / 结余」三张总账卡 + 饼图 / 趋势 / 热力,经营指标卡统一收进「经营视角」,两个视角各自只说一件事,数字还是同一批账、一定对得上。
优化经营视角卡片按经营逻辑重新排序:营收 → 毛利率 → 食材成本率 → 人工成本率 → 租金占比 → 能耗率 → 营销费用率 → 平台佣金率 → 综合费用率 → 净利率,顺着看就是「先有营收、再扣各项成本、最后看净利」。外卖专项里新增「外卖抽成率」(外卖抽成 ÷ 外卖收入),和外卖占比 / 外卖毛利 / 配送费放在一起。
新增报表会用到的分类,框变成方的——记账选分类时,凡是报表计算会用到的一级分类(收入:堂食 / 外卖 / 团购券核销 / 会员消费核销;支出:食材采购 / 包装耗材 / 人工工资 / 房租物业 / 水电气能耗 / 营销推广 / 平台佣金 / 清洁洗涤 / 损耗报损 / 办公杂费 / 其他支出 / 设备采购维修)都被框成方角,一眼就能和一般分类区分开。
新增删改这些分类会弹警告——如果你要删除或修改上面那些「报表所需分类」,会提示「这是报表计算所需的数据(毛利率、各项费用率、净利率等都会用到),删除后这些指标将统计不到它,谨慎改动」,避免误删把报表算漏一块。
修复「记一笔」选到「设备采购」细分时不弹按月分摊提醒——根因是 v3.20.0 只改了默认分类表里的分类名(设备维修采购 → 设备采购维修),但你的云端 / 本机老数据里还是旧名「设备维修采购」,判断对不上,提醒就不触发了。v3.21.0 启动时会自动把你老数据里的旧名一次性改成新名(分类表 / 流水 / 周期账三处都改),不用手动处理;判断本身也加了旧名兜底,双保险。
修复窄屏下「日期 / 时间 / 支出给谁 / 备注」四格布局留白过多、不好看——把标签列宽改成「正好等于本列最长标签的宽度」,标签靠右紧贴输入框,省下的宽度全给输入框,四格依旧等宽、上下对齐,390 宽手机上每个框也更长更顺手。
兼容性纯前端改动,无需重跑建表脚本,云端数据不受影响。备份 / 导入的文件格式与 v3.14.0 起完全一致,新旧互相都能导。本次的老数据分类改名是程序启动时自动完成的,你不会感觉到、也不用操作。
v3.20.02026-09-16报表双视角(账目 / 经营)+ 经营指标 10 项 + 配送费明细 + 设备采购提醒分摊(次版本)
新增报表页多了「账目视角 / 经营视角」切换——「账目视角」是你熟悉的饼图、趋势、热力,回答「钱花哪了」;「经营视角」是成本结构、净利率、外卖毛利,回答「生意健康不健康」。两个视角用的是同一批账、同一个日期范围,所以数字一定对得上。默认停在账目视角,你选过哪个,下次进来还是哪个。
新增经营指标 10 项:营收、毛利率、净利率、综合费用率、人工成本率、租金占比、能耗率、营销费用率、食材成本率、平台佣金率。每张卡下面都带一行小字写明这个数是怎么算的、分母是什么,不用猜。
新增成本结构条形图——食材、人工、租金、佣金等 11 项按占营收的比例从长到短排开,哪一块最重一眼就看得出来。条形长度按「谁最大」画(好比较),右边标的数字才是「占营收百分之多少」(用来做判断)。
新增外卖专项:外卖占比、外卖毛利(带毛利率)、配送费。要说明的是,外卖的食材成本是按「外卖收入 ÷ 营收」的比例估算的——一锅菜既做堂食也做外卖,采购时拆不开渠道,所以这个数是估的,卡片上已经标明「估算」。
新增平台佣金下加了「配送费」明细——以前配送费只能混在佣金里,看不出外卖到底被平台抽走多少。现在单列出来,外卖毛利才算得准。
改名「设备维修采购」改成「设备采购维修」——只是名字顺口些,记账和统计的口径完全没变。因为这套账还没正式启用、里面没有老数据,所以直接改了名,没做旧数据迁移;顺带把物料字典里预置的那条也一起改了。
新增记一笔选到「设备采购」时,提醒你去按月分摊——设备不论 500 还是 5 万,本质都是一次性投入;全额记进当月会把那个月的利润砸出一个坑,看着像亏了其实没亏。提示会建议你去「周期账」按月摊(比如 12000 的冰箱分 12 期,每月只算 1000)。判断看的是「细分」选没选到设备采购,不看金额。
修复口径统一:所有比率的分母都改成「营收」——以前「平台抽成率」和「结余率」用的是收入(含会员充值和卖废品),而「毛利率」用的是营收(堂食+外卖+团购核销+会员核销),同一张报表里两套分母,数字互相打架。现在统一用营收;原来的「结余率」相应改称「净利率」,和经营视角完全一致。
说明保本营业额、安全边际率、复购率、获客成本、营销 ROI 这次没做——前两项要把成本拆成「固定 / 变动」才能算,后三项需要客户档案和营销归因,系统里现在没有这些数据。等需要的时候再补。
兼容性纯前端改动,无需重跑建表脚本,云端数据不受影响。备份 / 导入的文件格式与 v3.14.0 起完全一致,新旧互相都能导。新增的「配送费」只是分类里的一个明细,不用改数据库。
v3.19.42026-09-15四格合并成一个网格(输入框吃满宽度)+ 单价表单物料/单价并排一行 + 支出的支付方式去掉「借还」(补丁版)
修复「记一笔」里填内容的框还是不够长——上一版把标签列固定成 64px,「日期」这种两字标签的左边就空出一大截(屏越窄越显眼)。现在把四个格子合并成一个网格:标签列的宽度正好等于这一列里最长标签的宽度(不再多留一像素),标签靠右紧贴自己的输入框;两个输入框各占剩下的一半,所以四个框仍然等宽、上下左右边界完全对齐,省下来的宽度全给了输入框。390 宽的手机上每个框从 96 涨到 130(约 +35%)。
优化「记一笔单价」把物料和单价并排一行——物料那栏给了 1.5 倍宽度(它里面装着快捷录入框 + 物料下拉 + 手填框,太窄会挤)。整张表单从「日期 → 物料 → 分类/细分 → 规格/单位 → 单价 → 来源 → 备注」缩短成「日期 → 物料 | 单价 → 分类/细分 → 规格/单位 → 来源 → 备注」,少滚一屏。
修复物料快捷录入框的提示字被切掉半句——原来那句「🔍 快捷录入:输入物料名,如「猪肉」「肉」「粉」,自动带出分类」又长又带括号,框一窄就只剩半句。现在缩成「输入物料名,带出分类」、字号收小一号;完整说明放进了鼠标悬停提示,把鼠标停上去就能看到。
优化支出的支付方式不再出现「借还」——借还有自己的页签(借入 / 借出 / 还债 / 收债,记在专门的面板里)。在支出里再选一次「借还」,会把一笔采购记成债权、账就错了。现在支出只留 不填 / 现金 / 微信 / 支付宝 / 银行卡;收入那边不受影响,老记录里已经是「借还」的照样能打开编辑。
修复顺带修掉「日常单价」页在平板上被撑出横向滚动条——屏幕宽度在 760~900 之间时,单价摘要行是固定列宽的表格(最小要 ~510px),而内容栏只有 ~515px,会顶出卡片、整页能左右滑。现在这个宽度区间也让它折行(折行断点从 760 放宽到 900)。这是老版本就有的问题(v3.19.2 / v3.19.3 同样存在),本次一并修好。
兼容性纯前端改动,无需重跑建表脚本,云端数据不受影响。备份 / 导入的文件格式与 v3.14.0 起完全一致,新旧互相都能导。
v3.19.32026-09-15标签紧贴输入框 + 单价表单重排(分类/细分、物料上移)+ 物料字典改名 + 周期记账可折叠(补丁版)
修复「记一笔」标签与输入框之间的空白过大——上一版把标签列固定成 64px 且靠左排,「日期」这种两字标签右边就空出一大截(屏幕越窄越明显)。现在标签改为靠右、紧贴输入框,标签右边缘与输入框左边缘贴合;两行仍共用同一套列宽,四个输入框依旧等宽、上下边界对齐。
优化「同时也记一笔日常单价」把字段对应写在明面上——勾选后展开的区块顶上新增一行说明,实时显示这笔单价会带上的「供应商」和「备注」:上面的「支出给谁」记成供应商、上面的「备注」记成备注;改动上面两个框,这行说明跟着变。
优化「记一笔单价」表单重排——物料上移到日期下面;「分类 / 细分」改为左右并排一行;「规格 / 单位」也并排一行。整体更短,少滚一屏。
优化「一级分类 / 二级分类」统一改叫「分类 / 细分」——与「记一笔」的叫法保持一致,同一个东西不再有两个名字。改动范围:记一笔单价表单、管理物料字典的表头与筛选项、新增/编辑物料弹层,以及流水 / 周期账的编辑弹层。
优化「周期记账」卡片默认折叠——以前打开流水页它就摊开占掉一屏。现在只显示一行标题「📅 周期记账 · N 条」,点标题才向下展开明细(暂停 / 编辑 / 取消都在里面),再点收起;你操作期间展开状态会保留,不会被刷新收回。
兼容性纯前端改动,无需重跑建表脚本,云端数据不受影响。备份 / 导入的文件格式与 v3.14.0 起完全一致,新旧互相都能导。
v3.19.22026-09-15常用语改为「点一下才出现」(位置挪到支出给谁下方)+ 备注常用语剔除周期账文字(补丁版)
优化「常用语」改为「点一下才出现」——以前它一直挂在输入框下面占一行。现在平时收起,只有当你点/聚焦「备注」(或「支出给谁」)时,才在下方展开一排可点的短语;光标移开自动收起。展开位置统一放在「支出给谁」下面(左半栏),「备注」的常用语不再挤在备注正下方。点一下短语即填入,填完不会闪退。
修复「备注」常用语不再混入周期账的自动文字——周期记账每期会自动生成「【周期账 第N期/共M期 · 每期¥X · #编号】」这类备注,数量多,会把你手写的常用备注挤掉。现在统计常用语时会跳过这类系统文字,只保留你真正写过的备注。
兼容性纯前端改动,无需重跑建表脚本,云端数据不受影响。备份 / 导入的文件格式与 v3.14.0 起完全一致,新旧互相都能导。
v3.19.12026-09-15记一笔两行对齐修复 + 时间去选填 + 常用语归位 + 顶栏滚动常驻(补丁版)
修复「记一笔」两行两列左右不对齐、支出给谁框过宽——上一版(v3.19.0)把「日期/时间、支出给谁/备注」拆成两个独立的网格,各自按内容算标签列宽,导致两行输入框的左右边界对不齐、支出给谁那组占了半屏多还偏宽。现在两行共用同一列宽(标签固定 64px),四个输入框宽度完全相等、左右边界严丝合缝,各占一半。
优化「时间」标签去掉「(选填)」二字——标签更干净,不再有冗余提示;时间本来就是可填可不填,留空照样能记。
修复常用语快捷按钮位置归位——常用语(历史里最常输入的收款对象 / 备注文字)本来贴错了地方,显示在「支出给谁」下方。现在各自贴到对应字段下面:「备注」的常用语贴在备注输入框下方、「支出给谁」的常用语贴在支出给谁输入框下方,点一下就能填,不再错位。
修复顶栏(店名 / 版本 / 刷新 / 主题 / 菜单)滚到底也一直钉在屏幕最上方——顺手修了一个潜伏 Bug:之前页面横向裁切写在了 body 上,导致 body 成了滚动容器,内部所有「滚动时固定」效果全部失效(连桌面端顶栏固定一直是坏的,只是没人发现)。现已把横向裁切改到 html,顶栏在手机和电脑上滑动浏览时都稳定常驻顶部,不会滑没了。
优化常用语数量收紧到 4 个——改成「各贴各的半边」(约 177px 宽)后,原来最多 8 个会把这一行堆高 3~4 行、把备注标签挤到中间,现限制为 4 个,只占一行,高度更稳。
兼容性纯前端改动,无需重跑建表脚本,云端数据不受影响。备份 / 导入的文件格式与 v3.14.0 起完全一致,新旧互相都能导。
v3.19.02026-09-15记一笔更紧凑 + 设为默认挪标题右侧 + 提示滑动关闭 + 周期编辑补细分 + 备份卡改名上移(次版本)
优化「记一笔」日期/时间、支出给谁/备注改成「文字在左、填空在右」的两行两列——以前这两组是上下两块、每块里标签占一整行,手机上很占高度。现在标签贴左边、输入框在右边,两两并排成两行,整体更矮、一屏能看到更多。
优化「⭐ 设为默认」移到小标题右侧——分类、细分、支付方式三个小标题,原来「设为默认」和状态文字在字段最底下,要点完分类才看得到。现在直接和小标题并排显示在右上方,状态(已设为默认/未设置)也一并放右边,一眼就知道当前默认是哪个。
优化普通提示改为「滑动屏幕才消失」——除了「导出/导入备份」的确认提示仍需点「知道了」关闭,其余提示(保存成功、已记 N 笔等)不再自动消失,会一直停在屏幕下方,直到你滑动/滚动屏幕才收起,避免没看清就消失。程序自动滚动不会误关,只有你主动滑才关。
修复周期账编辑弹层补上「细分」并实时显示每期金额——以前编辑周期账只能改总金额/期数/起始日/一级分类/对方/备注,没有「细分」(二级分类),也不显示每期多少钱。现在编辑时可选细分(跟着一级分类联动),并在改金额或期数时实时算出「每期 ≈ ¥X」,保存后细分写入该周期账。
修复免密码登录「默认 3 天」实际没生效——原代码读取设置时把「没设置」误当成「0 天(每次都要密码)」,导致出厂默认值 3 天从不生效。现在没设置、或填了脏值(空/非数字/负数)都正确回落到 3 天;设 7 读 7、设 0 读 0 均正常。你「我的 → 免密码有效期」看到的「默认 3 天」现在真的管用。
优化备份卡改名、按钮并排、整卡上移——「备份数据」按钮改名「⬇ 导出备份」、「从备份文件导入」改名「⬆ 导入数据」,两个按钮左右并排成一行;「备份与导入」整张卡片从「月度预算」下方移到「语音记账」卡片上方,位置更顺手。顶栏留档提醒、卡片说明文案同步改成「导出备份」。
兼容性纯前端改动,无需重跑建表脚本,云端数据不受影响。备份 / 导入的文件格式与 v3.14.0 起完全一致,新旧互相都能导。
v3.18.02026-09-15周期账每期一条流水自动补记 + 本机密码门/预算比例/更多记账等累积升级(次版本)
重构周期记账改为「每一期一条流水」——以前只有第 1 期写流水、其余期只在报表按月分摊,流水和周期账对不上。现在每一期都会在扣款日/收款日当天自动写一条真实流水(金额=每期摊额,备注带【周期账 第N期/共M期 · 编号】),打开应用时自动补记已到期还没写的期数(单次最多补 120 笔,其余下次继续),以编号标记去重、多设备也不会重复补。报表/汇总直接按流水统计,不再重复算分摊。
新增本机模式访问密码——在 系统文件/Supabase云数据库-云端配置.js 里设置 LOCAL_MODE_PIN 后,登录页选本机、本机注册/登录、云端切回本机都要先输对密码,防止别人拿着网址随手注册使用(密码写在网页源码里,属「防随手」级别)。
新增「更多记账」入口——记一笔类型条改为 支出 | 收入 | 借还 | 会员 | 更多,转账和周期记账收进「更多」弹层;选完在类型条下方正中显示「周期支出 / 周期收入 / 转账」胶囊指示,点 ✕ 退出。周期记账支持「首次扣款日」(保存当天即记第 1 期流水)、实时显示「每期 ≈ ¥X」、选收入时自动改叫「收款日」。
新增流水页周期账管理卡——固定在右上「编辑」上方,列出每条周期账(首期日期、每期金额、已记 X/Y 期、剩余金额),每条可直接 暂停 / 编辑 / 取消;暂停期间不写流水,恢复后错过的期数自动补记。报表页不再重复显示这张卡。
新增免密码登录有效期可设置——默认 3 天内免密码、超过要重输;可在「我的」改为 每次都要 / 1 / 3 / 7 / 30 天或自定义任意天数(0 = 每次都要密码),只对当前设备生效。
新增月度预算自定义提醒比例——每项分类可设 50%、90% 等提醒百分比(默认 80%),超比例标黄、超支标红。云端老库需重跑 系统文件/supabase_schema.sql(或按应用内提示执行 ALTER 语句)新增「提醒比例」列。
新增登录/注册密码框小眼睛——点一下显示明文、再点隐藏;「我的 → 语音记账」可关闭语音,并显示当前环境能不能用、为什么不能用;登录页会提示云端免费版 7 天无访问自动暂停的恢复步骤。
优化「记账网站」卡片恢复说明文字,复制/编辑改成两个小图标按钮,不再占一大排;网址可改、自动记住、一键复制发给别人。
优化「记一笔」表单更紧凑——日期+时间一行两列放金额下面;支出给谁+备注一行两列;支付方式恢复独立一行。管理账户弹窗不再叠加(新增账户后点一次「完成」就能退出);删除分类前提示该分类已被多少条流水使用;全部提示停留加长到 3.6 秒;左侧边栏与右侧主区同高、栏目间距统一。
修复删除账户 / 设置期初金额要点刷新才生效——保存后现在立刻刷新界面,不用再手动点右上角刷新;流水第二行内容多时手机上可左右滑动看全;底部导航选中态改为整块填充,夜间也看得清。
v3.17.02026-09-14登录页可直接选本机/云端 + 手机端 6 处体验修补(次版本)
新增登录页可以直接选「本机模式 / 云端模式」——页面最上方两个按钮,点一下就切,切完自动重载。以前只能在进系统后的「我的 → 数据来源」里切换,手机上第一次打开根本找不到在哪切。云端按钮在「双击打开的文件 / 云端组件没加载 / 云端配置没填」这三种情况会自动置灰,并把原因直接写在按钮上,不会点了像没反应。
优化分类和细分默认只显示两行,其余折进「展开全部(共 N 项)」——支出有 14 个一级分类,手机上以前要划很久才滑到底。展开后可以再「收起」;如果你选中的分类正好被折在下面,会自动展开让你看见。「⭐ 设为默认」固定在分类区最后一行。
优化走势图在手机上不再拥挤:左侧那行竖排的「金额(元)」去掉了(它最占宽度),单位与「最高 ¥X」挪到卡片标题旁边;Y 轴刻度精简到 4~6 档并缩小字号,X 轴在窄屏上自动隔几个显示一个。图本身明显变大,一眼能看出量级。
修复手机上语音记账「卡住」:微信 / QQ 内置浏览器不允许网页调用麦克风,以前点了一直停在「正在听…」或只弹一句含糊报错。现在这类浏览器里直接不显示语音条;正常浏览器里麦克风被拒、没麦克风、断网时,会立刻复位按钮并说清「点地址栏的图标改成允许」;另外加了 9 秒兜底——一直没声音会自动停下,不再干等。
优化单价「全部记录」可以左右拖动,看全规格、来源、备注、操作等列(以前窄屏会把这些列直接藏掉,看不全)。卡片标题旁加了「手机上可左右滑动看全部列」的提示。
优化备份 / 导入的确认提示铺满屏幕宽度,文字整行排开,「知道了」按钮移到底部整行——以前手机上文字被右侧按钮挤成一条细长竖条,条数根本看不清。
优化手机顶栏显示个人信息(👤 姓名 / 本机模式),以前窄屏被样式藏掉了,想确认「现在登的是哪个账号」还得进「我的」里找。
移除「记一笔」页的「近三天」流水卡片按你的要求去掉(页面更短)。看流水请点底部导航的「流水」。
说明本机模式注册后不需要审批——数据只在自己设备的浏览器里,没有服务器也就没有管理员;需要审批的是云端模式(防止陌生人注册进你的云库)。v3.17.0 起登录页与注册页都把这点写明了。
兼容性纯前端改动,无需重跑建表脚本,云端数据不受影响。备份 / 导入的文件格式与 v3.14.0 起完全一致,新旧互相都能导。
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.js 与 v3.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/98、v3.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/108、v3.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.sql 的 cb_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').textContent 从 CB.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.0,style.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首个可独立使用的云端版
更新内容首个正式版本,含记账、流水、分类管理、经营报表、预算五大模块,数据存云端、按账号隔离。
包含功能
  • 云端账号登录 / 注册 / 找回密码,数据按账号隔离
  • 记一笔:收/支切换、一级 + 二级分类联动、金额、备注
  • 流水:按日期分组、多维筛选、编辑 / 删除
更新原因原来零散记账无法分析、换设备看不到、分类不统一;需要随手可记、月底可看的经营账本。
解决事项
  • 记账入口分散、换设备不同步
  • 会员充值误算收入、平台抽成看不出
餐饮流水管家 · 更新日志(全量)· 当前 v4.20.0 · 共 185 个版本 · 程序在版本号升高时自动于顶部追加