微信小程序登录获取手机号获取不到偶发性问题

1.第一次获取手机号,微信使用的是当前session_key对手机号进行加密,而我们的session_key还是空的,或者用户之前登录过,那么session_key就是上一次登录的状态。解密失败

第二次获取手机号我们通过上次登录获取了最新的session_key,服务端也存了同样的一份session_key,微信加密和我们服务器解密使用的是同一份数据解密成功。

解决办法

知道了登录的问题所在,当用户授权之前,应该使得服务端session_key和当前session_key保持一致

// 该方法应该在进入页面的时候,或者getPhonenumber之前调用
onShow(){
   // 如果有session_id,可以检查一下是否过期
	wx.checkSession()
	// 过期就登录
	wx.login()
	// 将session状态同步至服务器
	// 登录成功后本地可以保存一份session_id
},
methods:{
    getPhonenumber(e){
          // 获取手机号逻辑
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值