小程序(wx。checkSession检验当前用户的sessionkey是否有效)
为什么要用wx.checkSession()
有时候,我们会因为session_key不正确而导致解密或者校验签名失败。有几方面的原因: 1、因为wx.login()被调用时,用户的session_key会被更新导致就session_key失效。所以,在调用wx.login()的时候应该要明确需要登录之后再调用。
2、另外,微信不会把session_key的有效期告诉我们,用户越频繁使用微信,session_key的有效期就更长。
因为,就需要调用wx.checkSession()来校验当前用户的session_key是否有效。 onLoad: function () { wx.checkSession({ success: function(res){ console.log("处于登录态"); }, fail: function(res){ console.log("需要重新登录"); wx.login({}) } }) }demo:项目实际例子onLoad: function(option) { let that = this; that.codeJuris = option.code || "zh1"; // 判断是否授权如果已授权直接跳转结果页面 wx.checkSession({ success: function(res) { console.log("检查已登录"); debugger if(uni.getStorageSync("storage_openid")){ if(uni.getStorageSync("storage_phone")){ console.log("有phone") wx.navigateTo({ url: `leadclassinfo?code=${that.codeJuris}&phone=${uni.getStorageSync("storage_phone")}` }) } } else{ console.log(uni.getStorageSync("storage_openid")+"的值") that.goWeixinLogin();//去登录 } }, fail: function() { console.log("未登录") that.goWeixinLogin();//去登录 } }); },