可能有不少人认为微信小程序授权是刚开始就请求的,其实不然,前几天本人审核没通过,就是说需要用户自行体验一番,之后用户再自己决定登录授权与否;这里容易遇到一个问题假如是一个商城类的小程序,tabbar有首页、推荐、订单、个人四个模块,因为一开始是不在登录状态的,所以获取不到订单信息,如果用户点击订单页之后再通过个人页来进行授权,就会发现订单页因为已经缓存,不会再因为用户之后的授权而更新数据,我这里是用wx.ralaunch(关闭其他所有页面,跳到某个页面)来实现的,这样就会在用户授权之后可以“重新开始”
每个tabbar页面接口需要切换页面刷新的放到onShow里
对,因为tabbar页面默认不重新加载。
额,获取用户openid不需要用户授权吧,有openid对应订单。再有用户授权后,应该是可以修改页面数据的。
在页面加载的时候发起请求的话我也有想过,但如果它是从返回上一级进入的话是不会触发这个函数的,所以我还是用的是onShow函数
var pages = getCurrentPages();
var beforePage = pages[pages.length - 2];
beforePage.onLoad();
wx.navigateBack({
delta: 1
})
就会发现订单页因为已经缓存,不会再因为用户之后的授权而更新数据
不是每次进入订单页面都要重新发起一次请求吗?