小程序开发(四)微信开放能力---详解获取用户信息实现授权登录 - 新闻资讯 - 云南小程序开发|云南软件开发|云南网站建设-昆明葵宇信息科技有限公司

159-8711-8523

云南网建设/小程序开发/软件开发

知识

不管是网站,软件还是小程序,都要直接或间接能为您产生价值,我们在追求其视觉表现的同时,更侧重于功能的便捷,营销的便利,运营的高效,让网站成为营销工具,让软件能切实提升企业内部管理水平和效率。优秀的程序为后期升级提供便捷的支持!

您当前位置>首页 » 新闻资讯 » 小程序相关 >

小程序开发(四)微信开放能力---详解获取用户信息实现授权登录

发表时间:2020-9-26

发布人:葵宇科技

浏览次数:49

获取微信开放能力及获取用户信息配置属性(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("拒绝授权的业务代码")
        }
      }
    })
  },

相关案例查看更多