授权示例: requestProfile 加环境判定与同款提示, 调试面板加 navigateTo 埋点 (v26090801)
This commit is contained in:
25
wx-auth.js
25
wx-auth.js
@@ -58,10 +58,29 @@
|
||||
/* ④ 请求授权:navigateTo → 小程序端独立授权页(默认 pages/annex/auth/index)。
|
||||
改动说明:微信 web-view 的 postMessage 非实时送达,点击时端上收不到;
|
||||
改用 wx.miniProgram.navigateTo 实时跳转到授权页,避开该限制。 */
|
||||
/* ④ 请求授权:环境判定(与 goMall/mama-box 同一套):
|
||||
wx.miniProgram 存在 → getEnv 确认(纯浏览器加载了 jweixin 时 getEnv
|
||||
不回调,800ms 超时兜底)→ 是小程序才 navigateTo 授权页;
|
||||
否则 toast「请在小程序中完成授权登录」。 */
|
||||
requestProfile: function (authPage) {
|
||||
if (!(window.wx && window.wx.miniProgram)) { this.toast('请在微信小程序中打开'); return; }
|
||||
window.wx.miniProgram.navigateTo({ url: authPage || '/pages/annex/auth/index' });
|
||||
this.toast('正在打开授权页…');
|
||||
var self = this;
|
||||
function nav() {
|
||||
window.wx.miniProgram.navigateTo({ url: authPage || '/pages/annex/auth/index' });
|
||||
self.toast('正在打开授权页…');
|
||||
}
|
||||
if (window.wx && window.wx.miniProgram) {
|
||||
var responded = false;
|
||||
window.wx.miniProgram.getEnv(function (r) {
|
||||
responded = true;
|
||||
if (r && r.miniprogram) nav();
|
||||
else self.toast('请在小程序中完成授权登录');
|
||||
});
|
||||
setTimeout(function () {
|
||||
if (!responded) self.toast('请在小程序中完成授权登录');
|
||||
}, 800);
|
||||
} else {
|
||||
this.toast('请在小程序中完成授权登录');
|
||||
}
|
||||
},
|
||||
/* ⑤ 跳小程序商城(tabBar 页用 switchTab;非 tabBar 用 navigateTo) */
|
||||
goMall: function (url) {
|
||||
|
||||
Reference in New Issue
Block a user