收藏
回答

微信公众号获取code页面会闪3次?

微信公众号加载页面,获取code ,页面会闪三次才跳转页面

const {code = ''} = qs.parse(window.location.search); // 获取当前页面地址中的code参数的值
const local = (window.location.href); // 对当前地址用encodeURIComponent进行编码
if (!code) {
window.location.href = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx8bb74a6d328b1f15&redirect_uri=' + encodeURIComponent(local, "UTF-8") + '&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect'
} else {
_this.weixinCode = code; // 能拿到code,说明用户已同意授权,拿到code
   if (code != '' && code != null && code != undefined ) {
_this.$api.code(code).then((res) => {

        if (res.code == 0) {                // 没有注册,跳转到注册页面

            if (res.type == 1) {

                   _this.$router.push({

name: 'regist',
query: {
openid: res.openid,
unionid: res.unionid
                       }
})
} else if (res.type == 2) { // 已经注册过,跳转到个人中心
window.sessionStorage.setItem('token', res.token)
_this.$router.push({
name: 'member'
                   })
}
} else {
}
}).catch((res) => {
})
}
}


最后一次编辑于  09-26
回答关注问题邀请回答
收藏

1 个回答

  • Hanks🇨🇳
    Hanks🇨🇳
    09-26

    第一次,进你的页面,发现你没有code,然后要跳转授权的长链接,长链接访问完之后,最终又跳转你的页面,你数数,1,2,3

    09-26
    赞同
    回复 4
    • ccf0966
      ccf0966
      09-26
      那有什么方法不让它闪3次么?用户说这样体验不好
      09-26
      回复
    • Hanks🇨🇳
      Hanks🇨🇳
      09-26回复ccf0966
      告诉用户,所有的授权都是这样的,我做过一个京东的,授权,来回跳五六次
      09-26
      回复
    • Hanks🇨🇳
      Hanks🇨🇳
      09-26
      你有这个问题,其实就是因为跳转的时间太久,你试试优化一下代码,让程序最早执行一下if (!code) {的判断,减少等待时间
      09-26
      回复
    • ccf0966
      ccf0966
      09-26
      好的,非常感谢
      09-26
      回复
问题标签