let request = function({ url, data, success, method = "POST" }) { let server = getApp().urls; //域名 var that = this; var header = { 'content-type': 'application/x-www-form-urlencoded;charset=utf-8', 'token': wx.getStorageSync('token') }; wx.request({ url: server + url, method: method, data: data, header: header, success: (res) => { let data = res.data; res['statusCode'] === 200 ? success(data) : that.fail(); }, fail: function(res) { wx.showToast({ title: res.message, icon: 'loading', duration: 2000 }) }, }); }
写了一个这样的公共请求方法,然后首次进小程序的时候可以成功授权,但是到了第二天再次打开小程序就会报错,执行了fail,后台说没有接收到token,但是我的token是用的本地存储存起来的,而且在onLaunch里面每次进来会重新获取token,有没有人碰到我这种情况的,是什么原因,就算是token过期但是缓存的有,不应该接收不到啊
用户A首次登录获取token成功,并成功获取二维码;用户B扫描用户A的二维码进行登录后,获取token失败,请求走的是fail,并未进入success,请求参数都是一样的
缓存被清理掉了吧
没有啊,小程序缓存不是卸载小程序后才会删除吗
不一定,清理微信缓存时,或者手机空间不足时,使用第三方工具清理手机时都可能被清理掉,建议使用之前判断缓存存不存在
这样啊,那我判断下吧,谢谢老哥了