改版之后的wx.getUserInfo 和 wx.authorize在使用scope.userInfo时,无法再提供授权弹框,对此需要在原来代码的基础上进行修改,在onLaunch中对于授权进行判断,授权的话直接使用wx.getUserInfo,未授权会跳到带button的登录页,关键在于登录成功过如果能够返回原先的网页,跳页面之前使用的是navigateTo,但是会产生用户点击后退的问题,但是如果使用redirectTo,则不能返回原先的网页,有没有大神有更好的解决方案啊,万分感谢

代码:

app.js

// 进行授权判断

wx.getSetting({

success: res => {

if (res.authSetting['scope.userInfo']) {

// 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框

    wx.getUserInfo();

} else {

//没有授权,去登录页面 提示用户进行登录

wx.navigateTo({

url: '/pages/login/login',

})

}

console.log("授权判断结束")

}

})

login 页面:

login:function (e) {

if(e.detail.userInfo){

let sessionId = wx.getStorageSync("sessionId");

console.log("where login by user sessionid = "+sessionId);

var data = {

retStatus: 200,

encryptedData: e.detail.encryptedData,

userInfo: e.detail.userInfo,

iv: e.detail.iv

}

//获取用户信息

setTimeout(function () {

wx.navigateBack({

delta:1

})

}, 1500);

}else{

console.log("refuse authorize")

}

},


展开全部
收起
1回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • 我爱Grace大姐姐

    7人对此回答表示赞同

    做成一个弹层的组件,方便使用

    展开
    7
    0回复
    发布于 6年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部