按接入规范(box_app/docs/h5-auth-standard.md 第三节第 6 条同源身份缓存、 第五节第 6 条回首页不要裸跳)把这条路径做成可点的验证工具: ① goHome() —— 规范推荐,库自己带身份 ② 手拼 URL 带 openid/unionid —— 规范做法,身份放 query ③ 裸跳 /mama-box/(反例) —— URL 无身份;靠同源缓存兜底通常仍认得 ④ switchTab 回小程序首页壳 —— 宿主重新注入,最稳(仅 web-view 内) ⑤ 清同源缓存 + 裸跳 —— **复现线上 bug**:首页「身份不完整」且重试救不回 ⑥ 清同源缓存 + goHome() —— 证明 goHome 主动带身份、不依赖缓存 实现要点: - 卡片放在页面顶部(.env 那行之后);新增一行只读展示 identity() 的 from/openid/unionid。 - ②③⑤ 用**同源相对地址**(location.origin + '/mama-box/'):同源缓存本来就只在本 origin 有效,这样写与生产等价且可被其它挂载点复用;①⑥ 仍走库的 goHome()(绝对地址)——那正是要演示的 API。 - clearIdCache() 清完**不再**调 identity() 刷新展示:本页 URL 上还带着身份,"URL 优先"会立刻 写回缓存,等于白清(本地实测踩过,⑤ 因此复现不出来)。 - dbg() 已镜像 console.log:这些按钮点下去就跳走,页内面板看不到日志。 本地同源验证(/wx-h5-demo + /mama-box 同一 origin、桩后端):②③⑥ 落地无「身份不完整」; ⑤ 落地**提示条 flex**(bug 复现);① 走库的 goHome() 带 ?openid= 落地正常。页面无 JS 异常。
27 KiB
27 KiB