更新日志

改了什么,
一条条记在这里。

已经上线的直接写;还没上线的会标明「尚未上线」。 目前共 907 条
同一条更新可能同时属于多个模块,因此各模块条数相加会大于总数。

第 5 页

2026-10-216 条

运营委员会

手机号遮蔽的总开关做好了(默认关着):以后一键打开,没有「查看完整手机号」权限的人看到的顾客手机号都变成 138****5678,出问题一键关回去

  • 以前:顾客手机号在后台、小程序、Flutter 的各个页面里,只要账号有「看会员」权限就能看到完整号码;虽然已经做了「查看完整号码」按钮(会留痕),但号码本身还是照旧显示。
  • 现在:后端多了一个平台级总开关「手机号遮蔽」,**默认是关的,现在对谁都没有任何变化**。以后由平台超管打开后:没有「查看完整手机号」权限的账号,会员列表/详情/搜索、订位、候位、跟进、礼品卡、应收、寄存、分润汇总、人脉关系、画像、VIP 关联人、对账异常、开票、AI 客户雷达和 AI 日报里的顾客手机号都显示成 138****5678;有权限的账号、老板(店主)账号照旧看到整号,「查看完整号码」按钮不变。
  • 不会被遮的:「我的客户」(自己认领的客户)、没绑会员的匿名礼品卡购买人电话、订位/订单里的「公关」电话;发短信、按手机号查人、导入去重、AI 都照旧用完整号码,数据库里存的也一直是完整号码。
  • 打开和关回去都走原来的「系统配置」平台级配置,写配置、清缓存、记审计都是现成的;关回去后立刻恢复整号。
运营委员会尚未上线

手机 App 的「开票申请」不再直接露出客人电话:默认只显示 138****5678,有权限的账号点「查看完整号码」才看到整号并留记录

  • 以前:App(iOS、安卓、电脑版)的开票申请清单,每一笔都把客人填的联系电话整串显示出来,不管你有没有「查看完整手机号」的权限。
  • 现在:清单里电话一律先显示遮住中间四位的号码(如 138****5678)。账号有「查看完整手机号」权限时,号码后面多一个「查看完整号码」,点一下才显示整号,再点「隐藏」收回;每点一次,后台都会留一条「谁在什么时候看了哪一笔」的记录。没有这个权限的账号只看到遮住的号码,也不会出现这个按钮。
  • 客人没留电话的,仍显示「客人没留电话」,不出现按钮。点查看时如果被拒绝或网络出错,会在原地显示后台给的原话(或「查看失败,请稍后再试」),号码仍保持遮住。
运营委员会

网页后台各页的按钮排、页签排不再多出整行浅色底,手机上跟正文对齐(入职、排班、请假、日结、成本、库存、礼品卡、候位等)

  • 以前:后台很多页面顶部的页签排、按钮排(如「邀请 / 待审核 / 已实名」「周排班 / 月度出勤」「复制链接」)借用了「卡片顶上操作带」的样式——整行浅底加两侧缩进。手机上是一块比正文还往里缩、边缘对不齐的浅色矩形;电脑上也多出一整条孤零零的底色。上一次只修了优惠券页。
  • 现在:整个后台主区里这些按钮排、页签排都去掉了浅底和多余缩进,跟下面的文字左对齐。收银台、订单面板、支付弹窗用的是同一个样式的操作带,不在后台主区里,没动。
运营委员会尚未上线

开票申请里客人的联系电话默认只显示遮蔽号(138****5678),有「查看完整号码」权限的人点一下才看到全号,并留下查看记录(小程序、网页后台)

  • 以前:开票申请的列表和详情里直接显示客人填的完整手机号,谁能进开票页谁就能看到。
  • 现在:列表和详情里显示遮蔽后的号码。账号有「查看完整手机号」权限(老板默认有)的,详情里号码旁多一个「查看完整号码」,点了才显示全号并在审计日志里留一条记录;没有这个权限的账号只看到遮蔽号,没有按钮。
  • 网页后台「导出 CSV」:默认导出的「联系电话」列是遮蔽号,表头写明「(已遮蔽)」;有权限的账号在「更多」里多一项「导出 CSV(含完整手机号)」,会先说明要逐笔取几个号码、每一笔都留记录,确认后才导出,中途任何一笔取不到就整份不导出。
  • 遮蔽号不会被当成号码使用:这两个页面本来就没有拨号和复制,唯一会带号码出去的是 CSV,已按上面处理。
店长

手机号防护补洞:VIP「关联人」和客人自助开票,填成带星号的假号码会被拒绝,不再悄悄存进去

  • 以前:手机号以后会在列表里显示成 138****5678。如果某个画面把这种带星号的号码原样填回表单再提交,VIP 档案里的「关联人电话」、客人自助开票留的联系电话会照单全收,把 138****5678 当成真号码存下来。
  • 现在:这两处提交时只要电话里带星号,就提示「不能是带 * 的遮蔽号码,请填完整手机号」并不保存;真实号码照常保存,不填电话也照常。修改关联人时如果带了星号号码被拒绝,这条关联人的其他内容(比如备注)也不会被改动一半。
运营委员会尚未上线

网页后台「优惠券」页:按钮排不再多出一块浅色底,手机上也跟正文对齐

  • 以前:优惠券页里「开业首单券 / 自己建一张」「券模板 / 新建券」这几排按钮,借用了别的页面「卡片顶上操作带」的样式——整行浅底加两侧缩进。在手机上是一块比正文还往里缩、边缘对不齐的浅色矩形;电脑上「券模板」标题旁边也多出一块孤零零的底色。
  • 现在:这几排按钮去掉了浅底和多余缩进,跟上面的说明文字左对齐。只改了优惠券这一页,日结、审批、排班等其他页面用的同一个样式不变。

2026-10-2014 条

运营委员会尚未上线

跟进提醒、常客雷达:有「查看完整手机号」权限的账号,打电话/复制电话先走留痕查看(手机号遮蔽第二阶段的前置改动,小程序)

  • 以前:「跟进提醒」页的「打电话」、「常客雷达」页的「复制电话」,直接拿后端返回的手机号去拨/去复制。后端日后把手机号改成遮蔽显示(138****5678)后,这两个按钮会拨出、复制一个假号码,而且不报错。
  • 现在(有「查看完整手机号」权限的账号,老板和店长):「跟进提醒」每位客人的号码显示为遮蔽号,旁边有「查看完整号码」,点开会留一笔查看记录;「打电话」会先查看完整号码(同样留记录)再拨号,拨不出去就复制号码;页面上有一句提示「点『打电话』会先查看完整号码,并留一笔查看记录」。「常客雷达」的「复制电话」会先查看完整号码再复制,提示「电话已复制,已留查看记录」。查看失败(没权限、点得太频繁、断网)时直接显示后端给的原话。
  • 没有这个权限的账号(领班、服务员等):今天怎么用还怎么用,画面、打电话、复制电话都不变,翻开关前不降级。新增的只是一道保护:号码如果已经是遮蔽值(带 *),就不拨、不复制,按钮置灰,不会拨出假号。
  • 「记一笔」里选客人的列表,有权限的账号显示后端给的遮蔽号。
运营委员会

手机号遮蔽第二阶段前补齐:应收、寄存、分润汇总、人脉关系、客户画像、VIP 关联人、对账异常、开票这些接口也返回「138****5678」形状的遮蔽号;开票联系电话新增「查看完整号码」接口(留痕)

  • 以前:手机号遮蔽第一阶段只给会员、订位、候位、跟进这几处加了遮蔽号字段;应收、寄存、分润汇总、人脉关系(7 个)、客户画像(流失风险、同行伴侣、VIP 健康度)、VIP 关联人、对账异常、开票这些接口只返回整号,第二阶段把整号遮掉之后前端会没有可读的遮蔽值。
  • 现在:这些接口在整号旁边各补一个遮蔽号字段(member_phone_masked / phone_masked / consumer_phone_masked / related_phone_masked / contact_phone_masked),整号字段原样保留,界面暂时没有变化。
  • 开票:新增「查看完整号码」接口(POST /sales-invoice-requests/{id}/phone/reveal/),需要「查看完整手机号」权限,有权限回整号并写一条留痕,没权限回 403 并写一条被拒留痕;按这张开票申请所属门店判断权限。
运营委员会尚未上线

「成本和家当」的清单加搜索:每月成本、开店投入、家当(小程序、网页后台)都能按名称、分类、备注、金额搜

  • 以前:成本和家当里的几张清单(每月成本、开店投入、家当)清单一长就只能往下翻,找一笔「房租」「装修」要一条条看。
  • 现在:清单上面有一个搜索框,输入名称、分类、备注、金额(搜「1200」能找到「1200.00」,¥ 和逗号会被忽略)或日期都行;多个词用空格隔开,每个词都要对上。搜出来的行下面写「找到 N 项(共 M 项)」,一项也没有时写「没有匹配的」并给「清除搜索」。
  • 搜索只过滤显示:上面的汇总(共投入、生效中几项、每月合计、押在外面多少)和「导出 CSV」仍然按全部算,不跟着搜索变。
运营委员会尚未上线

集团岗位(集团营运总监、财务总监、人资)的店选择器:现在能看到本租户全部营业中的店

  • 以前:集团级授权(权限组没有绑定具体门店)在权限判断里对本租户任何一家店都有效,但「我的店」列表(小程序店选择器、登录后的落地页)只认绑定到具体门店的授权。集团营运总监等账号有权限看别的店,却没有入口切过去,首页也没有「各店」对比。
  • 现在:账号有一条有效的集团级授权(启用、没过期、权限组启用)时,「我的店」列出本租户全部营业中的店;授权过期、权限组停用或授权本身停用都不展开。停用的店和别的租户的店仍然不列。只有店级绑定的账号没有变化。
店长/店员尚未上线

咨客登记认老客、开台后自动绑会员:改用后端精确比对手机号(网页后台、小程序)

  • 以前:咨客登记到店时输入手机号认老客,以及候位开台后自动把会员绑到这张单上,都是先搜一批会员、再在前端逐位比对手机号。手机号遮蔽第二阶段(后端把会员列表里的手机号换成 138****5678)上线后,这种比对会永远比不中又不报错,咨客登记时认不出老客、开台后不再自动绑会员,悄悄当成散客。
  • 现在:网页后台「候位」「咨客台」和小程序咨客台,认老客和自动绑会员都改走后端的精确比对(整串手机号恰好对上才返回一个会员,返回里不带明码)。认出老客后提示「老客:姓名」;这个比对接口不返回会员等级,所以提示里不再显示等级。没有会员权限、读不到时照旧当散客,不拦登记也不拦开台。
店长尚未上线

手机号写入防线:会员注册、订位、候位、匿名购卡、带客建档、会员导入收到带「*」的遮蔽号码一律拒绝

  • 以前:这些入口收到「138****5678」这样的遮蔽号码,会当成真号码存进数据库(目前列表还返回整号,所以还没发生;但手机号遮蔽第二阶段上线后,任何把列表里看到的遮蔽值预填再送回来的画面,都会悄悄存进假号码,之后发短信、去重、精确查找全错)。
  • 现在:这些入口收到含「*」的号码,直接返回 400(错误码 MASKED_VALUE_NOT_ALLOWED),提示「请填完整手机号,或点「查看完整号码」后再填」,不写入;真号码照常通过。会员导入时那一行报错、其余行照常导入。带会员的发卡仍按原约定:旧客户端送来的遮蔽购买人电话被忽略(以会员档的真号码为准),不报错。
运营委员会尚未上线

操作日志不再记下完整手机号:备注和查询参数里的 11 位手机号统一遮成 138****5678;跟进列表补遮蔽号字段

  • 以前:「操作日志」里有两处会把顾客完整手机号留下来——一是备注文字(例如「带客预登记:13800001234」「申诉改判:…」「创建会员:M001 138…」,会员没名字时退回手机号),二是自动抄下来的请求查询参数(按手机号精确找会员时是 ?q=整号,会员搜索是 ?keyword=整号)。有「操作日志」权限的账号读日志就能看到整号,和「找会员只记长度和末 4 位」的设计互相矛盾。
  • 现在:日志写入口统一把备注和查询参数里的 11 位大陆手机号换成 138****5678 的形状,其余数字(会员号、单号、金额)不动;以后新写的备注也自动覆盖。
  • 另一处小修:会员跟进列表每行补一个「遮蔽号」字段(原来只有整号,手机号遮蔽第二阶段后前端没有可读的遮蔽值)。
员工

网页后台「开票」列表:单号显示短号,跟小程序一致,不再被省略号截成同一个前缀

  • 以前:网页后台「开票」列表每行写完整单号「ORD-6A3E-20260925-871779」,窄屏上被省略号截成一样的前缀,一百多行分不出哪一单(小程序同一页已在 WALK-534 改成短号)。
  • 现在:列表行里写短号「871779 · 9/25」;点开详情里仍是完整单号和订单查询链接。
员工尚未上线

小程序「待我批核」:采购仓管等没有批核权限的账号,不再看到自己批不了的采购单和「卡住的退款没能载入」

  • 以前:只有「查看采购」权限的采购仓管打开「待我批核」,页面列出 3 张待批采购单,还配「确认下单 / 驳回」两个按钮(按了只会被后端拒绝);页面下面自己还写一句「这一页数得到 3 件,比首页那个数字(0 件)多——两边对不上」。同时还有一条红色的「卡住的退款没能载入——不代表没有」加重试——这个账号根本没有看退款的权限,重试永远一样。
  • 现在:后端摘要接口逐类说了「这类你能不能批」,页面据此把「不能批」的类别从待批清单里拿掉;没有任何能批的事项时显示「没有归你批核的事项」并说明采购单等需要另外的权限。退款卡住这一块,被后端明确拒绝(403)时不再画失败条;断网、超时等真正的读取失败仍照旧写「不代表没有」。能批的账号(如老板)列表和按钮不变。
  • 采购单的标题里的单号也改成短号:「本机合成·酒水供应商甲 · A3D3 · 10/17」,不再是整串 PO-EC47-20261017014859477-A3D3。
员工尚未上线

小程序厨房「出品时效」:「这项记录从……起才有」不再印一长串 UTC 时间戳

  • 以前:厨房「出品时效」页没有出品用时数据时,写「这项记录从 2026-10-11T12:17:56.805068+00:00 起才有」,是后端给的完整 UTC 时间戳,厨房的人看不懂,还差 8 小时。
  • 现在:换成这台设备本地的「月-日 时:分」,例如「这项记录从 10-11 20:17 起才有」。认不出的时间原样显示,不吞。
员工尚未上线

小程序「开票申请」列表:单号显示短号,不再被省略号截成一样的前缀

  • 以前:列表每一行写「单号 ORD-6A3E-20260925-871779」,手机上被省略号截成「单号 ORD-6A3E-2026…」,一百多行的前缀全一样,店员分不出是哪一单。
  • 现在:列表里写短号「单号 871779 · 9/25」(尾号加下单日期);点进详情里仍是完整单号。已开票的那一栏同样改了。
员工尚未上线

小程序员工首页:还没打卡上班的人,顶上不再写「营业日没读到」

  • 以前:服务员等没有开班权限的员工,在还没打卡上班时打开小程序首页,顶上写「营业日没读到」,看起来像系统读取失败;其实是因为营业日只能从开着的班或开着的出勤读到,这个人此刻没上班,本来就没有营业日可写,页面下面那条状态已经写了「还没上班 · 打卡」。
  • 现在:出勤清单读成功、但这个人没上班时,顶上那一行不写;只有出勤清单本身读失败、或有营业日却缺换日时间时,才写「营业日没读到」。
员工尚未上线

小程序「提成」页:没有「后台设置」权限的账号不再看到红色的「酒水范围这次没读到」加重试,改成一句说明缺什么权限

  • 以前:領班等没有「后台设置」权限的账号打开小程序「提成」页,页面去读酒水范围,被服务器拒绝(403),页面写成红色的「酒水范围这次没读到:无权读取系统配置」,还配一个「重试」——重试结果永远一样,看起来像出了故障。
  • 现在:被服务器明确拒绝(403)时,页面写一句黄色说明「你的账号看不到酒水范围(需要「后台设置」权限)。找老板或店长开通。」,不再给重试;真正的读取失败(网络、超时)仍是红色提示加重试。
员工

网页后台「总览」:没有老板数据权限的账号(员工等)打开不再整页崩溃,改回显示「这一页的数字,你的账号读不到」

  • 以前:只有「查看提成」「开台」等少数权限的员工账号打开网页后台「总览」,页面先试着读老板才有的数据,被拒绝(403)之后整页显示「这个页面没能载入(可能是网络或版本更新)」,控制台报 hooks 数量不一致。页面本来写好了一张「这一页的数字,你的账号读不到」的权限说明,但永远走不到。
  • 现在:同一个账号打开「总览」,显示那张权限说明(列出读不到的原因,指向左边选单和「我能做什么」),不再崩溃。老板账号的「总览」不受影响。

这份日志从 2026 年 7 月记起,更早的没有逐条列。想看它现在都会什么,回全部功能,或者进演示店自己点一点。