diff --git a/pages/index/login.vue b/pages/index/login.vue index b2c82a4a..d2ebc797 100644 --- a/pages/index/login.vue +++ b/pages/index/login.vue @@ -17,22 +17,28 @@ const event = options.event; const code = options.code; const state = options.state; + let time = 10; if (event === 'login') { // 场景一:登录 const res = await sheep.$platform.useProvider().login(code, state); } else if (event === 'bind') { // 场景二:绑定 sheep.$platform.useProvider().bind(code, state); + time = 1000; } - // 检测 H5 登录回调 - let returnUrl = uni.getStorageSync('returnUrl'); - if (returnUrl) { - uni.removeStorage({key:'returnUrl'}); - location.replace(returnUrl); - } else { - uni.switchTab({ - url: '/', - }); - } + // 避免先用手机登录再到付款页面重新微信授权登录时,绑定openId还没执行完就跳转回去,又陷入没登录的循环,所以这里做一个延迟跳转 + setTimeout(function(){ + // 检测 H5 登录回调 + let returnUrl = uni.getStorageSync('returnUrl'); + if (returnUrl) { + uni.removeStorage({key:'returnUrl'}); + location.replace(returnUrl); + } else { + uni.switchTab({ + url: '/', + }); + } + },time); + // #endif });