当小程序没删除或者没从后台退出时,再从小程序profile页进入小程序,会导致所有的请求失效,推测原因是存放在globalData中的用户token数据丢失导致的。而点击右上 。。。 (三点图标),重新进入小程序,就并不会有这个问题。
请问从小程序profile页进入,和重新进入小程序并不是完全相等吗??
以下是详细的介绍,及个人推测:
在小程序首页调用用户登录接口,并将返回的token作为全局变量保存起来。
以下是首页:
request({
data:{
"code" : res.code
},
url: '/user/login',
method:'POST',
header:{
'content-type':'application/json'
},
})
.then(res => {
let {
openId,
registered
} = res.data.data;
app.globalData.token = res.cookies[0];
app.globalData.openId = openId;
app.globalData.registered = registered;
以下是app.js
globalData: {
userInfo: null,
personalManagementOrCollection : 1,
token : ''
}
推测 :从profile 页进入时,globalData的加载,晚于首页的onLoad() ,所以 token 被空字符串覆盖掉了
使用promise即可处理
别什么推测了,自己调试打印一下变量不就知道了吗
目测是异步问题。