小程序开发(四)微信开放能力---详解获取用户信息实现授权登录
发表时间:2020-9-26
发布人:葵宇科技
浏览次数:77
获取微信开放能力及获取用户信息配置属性(button组件)
open-type属性:获取微信开放能力
bindgetuserinfo属性:用户点击该按钮时,会返回获取到的用户信息,回调的detail数据与wx.getUserInfo返回的一致,open-type="getUserInfo"时有效
.wxml
.js
控制台打印是否允许授权用户信息的详细输出
从控制台可以看出:
拒绝------detail中就会提示:errMsg: “getUserInfo:fail auth deny”
允许------detail中会提示:errMsg: “getUserInfo:ok”,并且展开后
可以看到(userInfo中就出现用户信息了)
如何判断用户点击了允许还是拒绝呢,这时就要用到(wx.getSetting)
- wx.getSetting:获取用户的当前设置。返回值中只会出现小程序已经向用户请求过的权限。(这里我们小程序已经设置了向用户获取用户信息的权限了---- bindgetuserinfo)
onGetUserInfo(event){
console.log(event)
//判断用户授权
wx.getSetting({
success: (res) => {
console.log(res)
},
})
},
这样不是获取不到用户的信息了嘛,确实是这样,但是你忘记了上面设置的bindgetuserinfo属性嘛,它这里返回的detail数据与wx.getUserInfo返回的一致,所以用wx.getUserInfo就解决刚才的问题了
onGetUserInfo(event){
// console.log(event)
//判断用户授权
wx.getSetting({
success: (res) => {
if(res.authSetting['scope.userInfo']){
wx.getUserInfo({
success: (res) => {
console.log(res)
console.log("获取到用户信息成功后的业务代码")
},
fail:(res)=>{
console.log(res)
console.log("获取到用户信息失败后的业务代码")
}
})
}
else{
console.log("拒绝授权的业务代码")
}
}
})
},