requestProfile 加 UA 前置判定: 非微信浏览器秒提示, 不等 getEnv 超时 (v26090802)

This commit is contained in:
2026-09-08 04:12:09 +08:00
parent a55336984a
commit 8d9b8b38ee
2 changed files with 8 additions and 4 deletions

View File

@@ -97,7 +97,7 @@
/* ============================================================ /* ============================================================
① 页面版本号(YYMMDD + 两位序号)—— 用于排查 webview 是否缓存了旧页面 ① 页面版本号(YYMMDD + 两位序号)—— 用于排查 webview 是否缓存了旧页面
============================================================ */ ============================================================ */
var VER = '26090801'; var VER = '26090802';
var verNoEl = el('verNo'); var verNoEl = el('verNo');
if (verNoEl) verNoEl.textContent = VER; if (verNoEl) verNoEl.textContent = VER;

View File

@@ -59,15 +59,19 @@
改动说明:微信 web-view 的 postMessage 非实时送达,点击时端上收不到; 改动说明:微信 web-view 的 postMessage 非实时送达,点击时端上收不到;
改用 wx.miniProgram.navigateTo 实时跳转到授权页,避开该限制。 */ 改用 wx.miniProgram.navigateTo 实时跳转到授权页,避开该限制。 */
/* ④ 请求授权:环境判定(与 goMall/mama-box 同一套): /* ④ 请求授权:环境判定(与 goMall/mama-box 同一套):
wx.miniProgram 存在 → getEnv 确认(纯浏览器加载了 jweixin 时 getEnv ① UA 不含 MicroMessenger = 普通浏览器 → 直接提示(秒出,不等超时);
不回调,800ms 超时兜底)→ 是小程序才 navigateTo 授权页; ② 微信内 → getEnv 确认是否 webview(纯浏览器加载了 jweixin 时 getEnv
否则 toast「请在小程序中完成授权登录」。 */ 不回调,800ms 超时兜底)→ 是小程序才 navigateTo 授权页。 */
requestProfile: function (authPage) { requestProfile: function (authPage) {
var self = this; var self = this;
function nav() { function nav() {
window.wx.miniProgram.navigateTo({ url: authPage || '/pages/annex/auth/index' }); window.wx.miniProgram.navigateTo({ url: authPage || '/pages/annex/auth/index' });
self.toast('正在打开授权页…'); self.toast('正在打开授权页…');
} }
if (!/MicroMessenger/i.test(navigator.userAgent)) {
this.toast('请在小程序中完成授权登录');
return;
}
if (window.wx && window.wx.miniProgram) { if (window.wx && window.wx.miniProgram) {
var responded = false; var responded = false;
window.wx.miniProgram.getEnv(function (r) { window.wx.miniProgram.getEnv(function (r) {