wx.checkSession()使用方法
时间: 2024-03-08 15:45:33 浏览: 111
在微信小程序中,可以使用wx.checkSession()方法来检测当前session是否过期。如果session未过期,则调用成功回调函数;如果session已过期,则调用失败回调函数,此时需要调用wx.login()方法重新登录获取新的session_key。使用方法如下:
```javascript
wx.checkSession({
success: function() {
// session未过期,并且在本生命周期一直有效
console.log('session未过期');
},
fail: function() {
// session过期了,需要重新登录
wx.login({
success: function (res) {
if (res.code) {
// 发送 res.code 到后台换取 openId, sessionKey, unionId
console.log(res.code);
// 调用后台接口,获取新的session_key
wx.request({
url: 'https://example.com/api/login',
data: {
code: res.code
},
success: function(res) {
// 更新本地缓存中的session_key
wx.setStorageSync('session_key', res.data.session_key);
}
});
} else {
console.log('登录失败!' + res.errMsg)
}
}
});
}
})
```
需要注意的是,wx.checkSession()方法的调用是异步的,因此如果需要在检测到session过期后立即执行某些操作,需要在fail回调函数中进行。另外,wx.checkSession()方法只能检测当前小程序的session是否过期,如果用户在其他设备或其他小程序登录,当前小程序的session也会失效。因此,建议在需要获取用户信息等敏感操作时对session进行检测。
阅读全文