wx-h5-demo 共享授权规范示例
环境:检测中… 纯浏览器

返回首页 · 身份怎么带过去(点哪个都要看首页认不认得你)

identity()—

要看的现象:① ② ⑥ 跳过去后首页应认得你(不出现「身份不完整」提示条、能拉到你的档案); ③ 是反例——它不带身份,但因为有同源缓存兜底(本页与 mama-box 同在 mp.yizhezhe.com, 共享 sessionStorage)通常也能认出你;⑤ 清掉缓存后再裸跳就会露出「身份不完整」, 而且点重试也救不回(重试只是重载同一条没有身份的 URL)—— 这就是线上那个 bug 的完整复现。
⚠️ 缓存只是兜底不是许可:清微信缓存/换会话、或应用挂在外链域名下时就失效, 所以跳转仍要按规范带身份(或调 goHome())。
⚠️ 「回首页」的目标是 mama-box 这个 H5 首页(H5 方式);④ 是另一条路 —— 回小程序首页壳, 由宿主重新注入身份,最稳但仅在小程序 web-view 内可用。
⚠️ 身份放 query,别放 hash:部分应用自带 location.hash 路由,追加 hash 会被当成非法路由 (规范第三节第 5 条)。

授权状态

检测中…

授权结果(宿主页回传后读取 #phone/nickname/avatar)

手机号—
昵称—
头像宝

场景3 · 分享深链验证(web-view 内 H5 分享)

当前页面—
深链标记(未设置)

判定标准:点 ② 后本页停留不动,再点右上角「···」转发;接收者点开卡片, 打开的应是上面「当前页面」那个地址(含 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 带身份; 其余是反例与降级演示 —— 用来验证同源身份缓存到底兜住了什么、什么时候会失效。

v
调试日志