最近公司让做小程序,我们的小程序是一个购物类的,需要用户登录才能下单购买,所以涉及到了小程序的授权登录问题,偏偏小程序的接口调整 在用户未授权过的情况下调用userInfo和authorize,将不再出现授权弹窗,会直接进入 fail 回调,在用户已授权的情况下调用此接口,可成功获取用户信息,一定要用<button open-type="getUserInfo"></button>才可以弹出授权弹窗,这可让我有点犯愁,本打算进入小程序直接判断登录,但实现不了了,除非小程序第一个页面就是个登录页面,但这样体验不太好。
最终,我的流程是这样的,在进入需要登录的页面或者执行需要登录的操作时判断是否已登录,如已登录继续执行,如未登陆则跳到登录页面去登录(登陆页面有个<button open-type="getUserInfo"></button>),代码如下:
login.js
//button回调
onGotUserInfo(e){
var _this = this;
if (e.detail.userInfo){
wx.setStorage({
key: "userInfo",
data: e.detail.userInfo,
success(){
_this.login()
}
})
}else{
wx.navigateBack({
delta: 0
})
}
},
login() {
var _this = this;
var user &