From 0e9ce6f7d619587ee9c7bd2d33499a304d63f73b Mon Sep 17 00:00:00 2001 From: Karlcarlo Date: Wed, 8 Jul 2026 18:29:08 +0800 Subject: [PATCH] =?UTF-8?q?fix(web=5Fview):=20=E6=94=B9=E7=94=A8=20wxscene?= =?UTF-8?q?=20=E9=81=BF=E5=85=8D=20scene=20=E8=A2=AB=E5=BE=AE=E4=BF=A1?= =?UTF-8?q?=E6=8B=A6=E6=88=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 微信小程序的 navigateTo 会把 `scene` 参数名当作保留字段 (只由扫码填充),导致 `option.scene` 为空。 改用 wxscene,同时在 web_view onLoad 中兼容检查两者。 --- pages/annex/web_view/index.vue | 5 +++-- pages/user/index.vue | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/pages/annex/web_view/index.vue b/pages/annex/web_view/index.vue index 6d40aac..529a39c 100644 --- a/pages/annex/web_view/index.vue +++ b/pages/annex/web_view/index.vue @@ -110,8 +110,9 @@ export default { // 太阳码 scene 解析:scene="app=" 时调 box_app 查 url // 例如 box_app /api/wxacode?app=pregnancy → scene="app=pregnancy" // CRMEB 收到后查 box_app /api/mp/apps?isPublished=1 找 url,跳对应 H5 - if (option.scene && option.scene.indexOf('app=') === 0) { - const identifier = option.scene.slice(4); + if ((option.scene || option.wxscene) && (option.scene || option.wxscene).indexOf('app=') === 0) { + const source = option.scene || option.wxscene; + const identifier = source.slice(4); console.log('[web_view] 太阳码 scene 解析: identifier=' + identifier); // 异步处理:uni.request 拿 H5 url,赋值给 option.url 走后续逻辑 this._resolveAppScene(identifier, option); diff --git a/pages/user/index.vue b/pages/user/index.vue index 9723e74..6863dee 100644 --- a/pages/user/index.vue +++ b/pages/user/index.vue @@ -638,7 +638,7 @@ export default { ,goWxacodeTest() { console.log("[user] 太阳码扫码测试"); uni.navigateTo({ - url: "/pages/annex/web_view/index?scene=app=pregnancy" + url: "/pages/annex/web_view/index?wxscene=app=pregnancy" }); } }