微信小程序-关于用户授权登录,获取用户信息

小程序官方文档,上面说明wx.getUserInfo(OBJECT) 注意:此接口有调整,使用该接口将不再出现授权弹窗,请使用

接口调整说明

在用户未授权过的情况下调用此接口,将不再出现授权弹窗,会直接进入 fail 回调(详见《公告》)。在用户已授权的情况下调用此接口,可成功获取用户信息。
api示例代码
视图层:






请升级微信版本

逻辑层:

Page({
  data: {
    canIUse: wx.canIUse('button.open-type.getUserInfo')
  },
  onLoad() {
    // 查看是否授权
    wx.getSetting({
      success(res) {
        if (res.authSetting['scope.userInfo']) {
          // 已经授权,可以直接调用 getUserInfo 获取头像昵称
          wx.getUserInfo({
            success(res) {
              console.log(res.userInfo)
            }
          })
        }
      }
    })
  },
  bindGetUserInfo(e) {
    console.log(e.detail.userInfo)
  }
})

我写的具体代码:
效果图:


批注 2019-03-16 214510.jpg

视图层:


  
  
    
       
          
       
       
       
         >
       
    
    
       
         10
         关注
       
       
         267
         粉丝
       
       
         300
         7天访客
       
    
  

  
    
      
         
      
      收藏
    
    
      
         
      
      历史
    
    
      
         
      
      夜间
    
  
  
  
     消息通知
     
       >
     
  

  
  
     头条商城
     
       点击速领200元新年红包 >
     
  
  
  
     京东特供
     
        >
     
  

  
  
     我也爆料
     
        >
     
  
  
  
     用户反馈
     
        >
     
  
   
  
     系统设置
     
        >
     
  

 

逻辑层:

var app = getApp();
Page({
  data: {
    userInfo: {},
    isShow:true
  },
  onLoad: function() {
    this.getuser();
    },
    getuser(){
      // 查看是否授权
      wx.getSetting({
        success:(res)=> {
          console.log(res);
          if (res.authSetting['scope.userInfo']) {
            wx.getUserInfo({
              success: (res) =>{
                console.log(res.userInfo)
                console.log("成功");
                this.setData({
                  isShow:false
                })

                //用户已经授权过
              }
            })
          }else{
            console.log("失败")
            this.setData({
              isShow:true
            })
          }
        }
      })
      var page = this;
      //拿到userInfo的信息
      if (app.getUserInfo) {
        console.log('有函数')
      }
      //获取用户信息
      wx.getUserInfo({
        success: (res) => {
          //解构赋值
          let {
            userInfo
          } = res;
          this.setData({
            userInfo: res.userInfo
          })
        },
        fail: (res) => {
          console.log("调用了失败的回调");
        }
      });

    },
  
 
 
  //绑定的是否登录授权的事件
  isGetinfo(data) {
    if (data.detail.rawData) {
      //点击了允许
      console.log("允许");
      this.getuser();

    } else {
      //点击了不允许
      console.log("不");
    }
  }

}) 

你可能感兴趣的:(微信小程序-关于用户授权登录,获取用户信息)