2026-10-14 工作日志整天分支cloud主用/selfhost/main 收工水印*-2026-10-14-pipeline1今天一共11 个提交cloud跨两个工作时段凌晨收尾晚上连做 4 轮。一句话概括凌晨把 10-13 真机翻车的账说清楚写纪要 查云托管计费 澄清「券」晚上连做 4 轮功能订单页刷新 → 菜品月销量 → 订单详情页 → 详情页流水线中间还顺手把一份在说假话的文档改准了。一、凌晨00:04 – 00:09把 10-13 的账说清楚承接 10-13 真机首测「4 条通知一条都收不到」的定位结论线上容器还在跑旧版本轮只做整理与答疑没动功能代码。做了什么产出把 10-12 22:17 10-13 23:07 两天的完整过程整理成纪要docs/order-notify-worklog-2026-10-12_13.md9 章查证「微信云托管是不是要钱、在哪看」计入纪要第 6 章解释「accept 的券还在 7 天有效期」是什么计入纪要 项目记忆云托管计费查证过别再重查收费。按量付费、先用后付每环境独立计费。首个环境送 3 个月免费额度。计费项单价首环境免费额度3 个月容器 CPU0.055 元/(核·小时)720 核·小时容器内存0.032 元/(GB·小时)1440 GB·小时构建时长0.05 元/分钟600 分钟公网流量0.8 元/GB5 GB两条最影响成本的规则CPU / 内存在「实例数 ≠ 0」时持续产生用量→ 副本最小 1 就是 7×24 计费。只通过callContainer访问服务不产生公网流量用量官方原文→ 我们的通知全程走callContainer流量费恒为 0。本项目估算约21 元/月0.25 核 / 0.5 GiB 副本最小 13 个月约 540 核·小时 1080 GB·小时在免费额度内。查看入口微信云托管控制台 → 费用中心 → 充值与账单。「券」是什么问题答案券是什么微信一次性订阅消息的发送许可订阅授权额度能用几次1 次授权 只能发 1 条发一条消耗一张有效期授权后7 天没用掉就作废谁有券按「人 × 模板」独立计数 —— 发通知给别人用的是别人的券为什么这次没消耗请求在容器那步就因参数校验失败返回了missing touser or data根本没走到微信发送接口结论容器发布新版本后可以直接重测不需要重新授权。二、晚上21:51 – 22:42连做 4 轮第 1 轮 · 订单页能看到对方的操作21:51需求原话「既然这个是 2 人食堂那我我觉得订单记录页面应该有刷新功能能看到另一个人的新增订单、以及另一个人对订单状态的修改……你要么实时刷新要么给个下滑刷新的功能」根因不是「没做刷新」是刷新被缓存吃掉了原来的bootstrap()判断「本地已有订单 ordersDirty为 false 就跳过拉取」而ordersDirty只在自己下单时才置位—— 对方的动作永远不会让它失效所以页面一直显示旧数据。定案三层刷新时机行为每次进页面onShow必拉去掉了缓存跳过下拉手动刷新结束后收起动画页面可见时每 30 秒轮询一次onHide/onUnload清理定时器不后台空转配套细节数据指纹比对id:status:items长度拼接—— 没变化就不重渲染列表、不弹提示fromSelf抑制自己操作引起的提示静默刷新失败保留旧数据不弹错。第 2 轮 · 菜品月销量同一轮内口径查过真实数据才定的时间按created_at往回滚动30 天不是自然月状态排除「已取消」粒度按items[].dish_id聚合qty之和为什么敢按 ID 聚合实测 22 单items全部带dish_id0 条缺失——按 ID 聚合能做到「菜改名不丢历史、同名不误合」。为什么用滚动 30 天而不是自然月自然月月初会突然清零看着像 bug。菜单位置不显示时销量为 0monthSold 0才渲染销量查询失败降级为 0绝不拖垮菜单显示装饰性信息不能影响主功能。第 3 轮 · 订单详情页22:12需求原话「我需要你给我加上订单详情页面也就是订单记录页面点进某个订单会有订单详情」从订单记录页点卡片任意位置进入。页面自上而下状态 一句话 → 信息卡 →菜品明细卡每道菜的小计、单价、以及那道菜自己的备注比如「少甜」→订单备注卡 → 底部按状态给的操作栏。顺手改了两件事列表卡片的菜品明细行移到详情页卡片变短列表更清爽。卡片整块可点之后卡片里的按钮必须catchtap—— 否则点「开始制作」会冒泡触发卡片的bindtap顺带跳进详情页。重构订单操作收敛到utils/order-actions.js列表页和详情页共用一份。关键是「先要券 → 再弹确认框」这个顺序只能有一处实现 —— 各写一遍迟早写错一处写错就丢券。第 4 轮 · 详情页流水线 修按钮22:37需求原话「订单详情的下面两个按钮太扁了不好看。然后订单详情上方能不能弄个流水线形式的展示即已下单 → 制作中 → 已完成能够看到当前完成了什么步骤当前正在哪个步骤」按钮为什么扁.detail-bar-btn只写了flex: 1没写高度而全局.btn本身不带height高度只来自.btn-block88rpx 或.btn-sm60rpx。列表页内联按钮带了btn-sm所以正常详情页底部栏没带任何尺寸类 →flex:1只撑了宽度高度塌成文字本身 → 一条片儿。顺带发现更隐蔽的一个底部栏同时挂了.safe-bottom靠padding-bottom实现安全区但.detail-bar自己写了padding: 20rpx 24rpx——页面 wxss 的 padding 优先级高于app.wxss安全区被静默吃掉。全面屏手机上按钮会被 home 指示条压住。改为底部栏自己算calc(env(safe-area-inset-bottom) 18rpx)。流水线format.orderSteps(status)纯函数返回每个节点的statedone/current/todo/cancelledonLeft/onRight连线只在已经走过的区间点亮first/last。wxml 只负责画。三个设计判断判断理由撤掉原来的大状态标签加了流水线后「制作中」会在同屏出现两次啰嗦流水线已说清在哪一步取消单只画两步已下单 ✓ → 已取消 ✕订单表只存终态、没有流转历史不知道是从哪步取消的 →不猜底部栏主操作提到最右并变实心新增barActionsFor()原「开始制作」是浅橙ghost在大按钮上显得两个一样轻看不出该点哪个三、文档卫生一份在说假话的文档22:20收尾复核时发现docs/NEXT-STEPS.md还写着「订单微信通知 ✅ 已打通真机验证通过」水印停在cloud-2026-10-11-ok——而功能当时是坏的。这是项目里那条「禁止兜底文案必须分类判读」纪律的文档版把真错误伪装成正常情况看的人会以为万事俱备然后对着收不到通知的手机发呆。处理只重写NEXT-STEPS.md它名字就是干这个的README-NOW.md10-11 缓存排查的收尾卡问题早解决没删只在技术债里标注「可以删」。新版结构开篇点明唯一阻塞项 → 状态速览表 → 立刻要做的事 → 真机验证清单 →技术债 → 相关文档索引。同时把「看内容不看时间戳」写进了文档避免下次又被server.zip的修改时间误导内容 sha256 一直是2a2677bced54e9ba…与磁盘一致。四、今天踩过的坑沉淀#坑教训1缓存吃掉刷新失效标记只在自己操作时置位 对方动作永远看不见。多人共享的数据不要用「本地脏标记」当拉取开关2catchtap冒泡父节点绑了bindtap时子节点按钮必须catchtap否则点按钮顺带触发父节点事件3flex: 1只解决宽度复用全局.btn时必须确认带了尺寸类btn-block/btn-sm否则高度塌陷4.safe-bottom被页面padding盖掉页面 wxss 优先级高于 app.wxss固定底栏自己写env(safe-area-inset-bottom)5文档虚报状态声称「已打通 / 已验证」的条目要和最近一次真机结果一致没验证过的写「代码就绪待验证」6分支持续切换时攒着 pushcloud 那次提交完切去 selfhost 干活切回来才发现ahead 1。每支提交后立刻 push7文档分两类同步策略不同说明型order-*.md等三支都有要同步操作型NEXT-STEPS.md只在cloud8判断版本新旧看内容不看时间戳server.zip修改时间 10-13 00:11 看着旧但包内server.js与磁盘 sha256 完全一致五、提交记录cloud今天 11 个时间commit内容00:04db27e88订单提醒扩展工作纪要 云托管计费说明00:07dcb2bec真机首测定位容器旧版文案比对法 部署纪律入册00:09af3f202云托管计费查证 「券」的概念澄清21:515a5291a订单页能看到对方的操作 菜品显示月销量21:550c0c7a1订单页刷新与月销量说明 记忆更新22:1232e358a新增订单详情页订单操作收敛到utils/order-actions22:153232564订单详情页说明 记忆22:20bd1d345NEXT-STEPS 更新到 detail1 现状22:22adf37d6记忆状态型文档不能虚报 文档分类22:37a67f685顶部三步流水线修底部按钮被压扁 安全区失效22:41c63b594详情页流水线文档NEXT-STEPS 更新云托管已发布selfhost7 个main7 个均为从 cloud 同步代码走git checkout cloud -- file后逐支手改app.jsBUILD_TAGbranch两处文档按类别同步。git diff cloud -- app.js确认差异只有两处三支 push 后git fetch --prune git branch -vv复核无 ahead工作区干净。六、自检状态脚本状态覆盖tools/notify-selfcheck.js✅模板配置、收件人、授权批次、开关全关时不发请求tools/server-selfcheck.js✅容器多收件人、旧版touser兼容、缺参 400、未知路径 404tools/refresh-sales-selfcheck.js✅41 项销量口径 / 刷新行为 / 定时器清理 / 降级 / 订单操作 / 流水线refresh-sales-selfcheck.js是今天新建并扩起来的33 → 41 项。里面最该盯的两条取消订单的调用顺序必须严格是auth:cancel → modal → update → notify流水线连线只亮已经走过的区间刚下单一条都不亮、已完成三条全亮七、现在的状态项状态云托管容器✅已发布新版本10-14 晚用户操作—— 卡一天的阻塞项解除订单页刷新✅ 每次进页面拉 下拉刷新 可见时 30 秒轮询菜品月销量✅ 菜单页和菜品详情页都有订单详情页✅ 点卡片进入 顶部三步流水线4 条通知⚠️代码与容器都就绪待真机复验你还要做的重新上传小程序代码水印必须是cloud-2026-10-14-pipeline1手机上先删掉旧的小程序再扫码微信会缓存代码包复验 4 条通知下单 / 开始制作 / 已完成 / 取消两人都要收到两人各自先在「我的 → 订单通知」把开关关掉再打开、勾「允许」「总是保持以上选择」界面验证订单页 30 秒内看到对方动作、月销量、点卡片进详情、点卡片按钮不跳转、流水线三态、底部按钮有正常高度发正式版前server.js的MINIPROGRAM_STATE从trial改formal并重传容器包详见docs/NEXT-STEPS.md。八、相关文档文档讲什么docs/NEXT-STEPS.md现在该做什么含真机验证清单docs/order-detail-page.md订单详情页流水线设计 两个样式坑docs/orders-refresh-and-month-sales.md刷新策略与月销量口径docs/order-notify-worklog-2026-10-12_13.md提醒功能两天的完整纪要含云托管计费docs/order-notify-setup.md云托管 云调用配置步骤docs/order-notify-templates-guide.md4 个订阅消息模板的申请与字段