要看的现象:① ② ⑥ 跳过去后首页应认得你(不出现「身份不完整」提示条、能拉到你的档案);
③ 是反例——它不带身份,但因为有同源缓存兜底(本页与 mama-box 同在 mp.yizhezhe.com,
共享 sessionStorage)通常也能认出你;⑤ 清掉缓存后再裸跳就会露出「身份不完整」,
而且点重试也救不回(重试只是重载同一条没有身份的 URL)—— 这就是线上那个 bug 的完整复现。
⚠️ 缓存只是兜底不是许可:清微信缓存/换会话、或应用挂在外链域名下时就失效,
所以跳转仍要按规范带身份(或调 goHome())。
⚠️ 「回首页」的目标是 mama-box 这个 H5 首页(H5 方式);④ 是另一条路 —— 回小程序首页壳,
由宿主重新注入身份,最稳但仅在小程序 web-view 内可用。
⚠️ 身份放 query,别放 hash:部分应用自带 location.hash 路由,追加 hash 会被当成非法路由
(规范第三节第 5 条)。
检测中…
判定标准:点 ② 后本页停留不动,再点右上角「···」转发;接收者点开卡片,
打开的应是上面「当前页面」那个地址(含 hash 标记),而不是小程序首页。
点 ③ 会立即退回上一页(旧版 bridge.share() 的 navigateBack 副作用)——
此时再点「···」转发,卡片会由上一页产出,接收者落到上一页:即线上 bug 的复现。
⚠️ 仅在小程序 web-view 内有效(宿主页需按 onShareAppMessage(options).webViewUrl 拼深链,
见 miniapp/scenario3-share-webview.js / CRMEB pages/annex/web_view)。
微信浏览器/纯浏览器只能看 UI。
本页演示共享授权规范:wx-auth.js(wxAuth.init/requestProfile/goMall/readAuth/isAuthorized)。
授权流程:点「授权登录」→ wx.miniProgram.navigateTo('/pages/annex/auth/index') →
小程序端独立授权页(头像/昵称/手机号,非 web-view 原生组件页)→ POST /api/mp/public/auth/profile 落库共享 UserAuth →
授权返回后宿主页更新 web-view src(hash 带结果)→ 本页重载 → wxAuth.readAuth() 显示。
「进商城」→ wx.miniProgram.switchTab('/pages/goods_cate/goods_cate')。
「返回首页」有 6 个按钮(页面顶部那张卡):正路是 wxAuth.goHome() 或手拼 URL 带身份;
其余是反例与降级演示 —— 用来验证同源身份缓存到底兜住了什么、什么时候会失效。