- 当前 Bug 的表现(可附上截图
用户可以多平台登陆,登陆后登陆凭证token会发生改变,改变后我会缓存起来,但是获取缓存的时候经常会获取到之前的登陆凭证token,导致用户以为我还没登陆成功。登陆后到获取数据的时间最快为3秒 ,也就是说缓存写入3秒了,我获取的还是之前的缓存,这不是扯呢么 。之前使用异步Storage和app.js里面的全局变量也是一样的。希望可以给一个合适的解决方案。!!!不接受官方更新IDE建议 !!!
- 预期表现
- 复现路径
- 提供一个最简复现 Demo
//登陆时写入缓存
GoIndex() {
var that = this;
if (!that.PhoneRegular()) return;//验证手机号
if (!that.PwdRegular(Pwdinp)) return;//验证密码
Utils.CmAjax("homes/logins", {
phone: Phones,
pwd: Pwdinp
}, function (res) {
if (res.data.state == true) {
app.globalData.UId = res.data.data.id;
wx.setStorageSync("Id", res.data.data.id);
wx.setStorageSync("token", res.data.data.token);
wx.reLaunch({
url: '../Inspection/Inspection',
})
} else {
Utils.ErrorTex(res.data.msg, 2000);
}
}, "POST", '正在登录...')
},
//获取数据时读取缓存中的数据
wx.request({
header: {
'content-Type': 'application/x-www-form-urlencoded',
token: wx.getStorageSync('token')
},
url: "域名" + url,
data: data,
method: posttype,
success: (res) => {
},
fail: (error) => {
setTimeout(function() {
wx.hideLoading();
FailTex('服务器错误!', 3000);
}, 1000);
},
complete: (er) => {
}
})
在调完 setStorageSync 之后马上调 getStorageSync,这边看到是正常的表现,所以:
1、请按照问题填写出现的终端类型和版本号,不然无法排查。
2、请提供一下可以复现问题的代码片段,方便开发同学定位问题(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。只提供不完整的代码很难看出问题核心,处理的效率也低。
3、如果本身确定是工具的 bug,不接受更新那就无解了。
请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。