微信小程序获取用户信息代码【最新】

由于getUserInfo目前不能返回用户的微信名称 和微信头像,更新为getUserProfile方法方可,所以做出以下代码
wxml代码

 

     
    
 
  申请获取以下权限
  获得你的公开信息(昵称、头像等)
     
 


js代码
data: {
    
    userInfo: {
      avatarUrl: '默认头像路径',
    },
    hasUserInfo: false,
    canIUseGetUserProfile: false,
   
  }, 
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {
    if (wx.getUserProfile) {
      this.setData({
        canIUseGetUserProfile: true
      })
    }
  },
  getinputvalue:function(e){
    console.log(e.detail.value)
    wx.setStorageSync('referee_id', e.detail.value)
  },
  /*
  新微信登陆获取用户信息方法
  */
 getUserProfile(e) {
  let _this = this;
  // 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认
  // 开发者妥善保管用户快速填写的头像昵称,避免重复弹窗getUserProfile:ok
  wx.getUserProfile({
    desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
    success: (res) => {
      this.setData({
        userInfo: res.userInfo,
        rawData:res.rawData,
        hasUserInfo: true
      });
      wx.login({      
        success: function(res) {
          // 发送用户信息
          App._post_form('user/login', {
            code: res.code,
            user_info:_this.data.rawData,
            encrypted_data: e.detail.encryptedData,
            iv: e.detail.iv,
            signature: e.detail.signature,
            referee_id: wx.getStorageSync('referee_id')
          }, function(result) {
            // 记录token user_id
            wx.setStorageSync('token', result.data.token);
            wx.setStorageSync('user_id', result.data.user_id);
            // 跳转回原页面
            _this.navigateBack();
          }, false, function() {
            wx.hideLoading();
          });
        }
      });
    }
  });

},
  /**
   * 授权登录
   */
  authorLogin: function(e) {
    let _this = this;
    if (e.detail.errMsg !== 'getUserInfo:ok') {
      return false;
    }
    wx.showLoading({
      title: "正在登录",
      mask: true
    });
    // 执行微信登录
    wx.login({
      
      success: function(res) {
        console.log(e.detail)
        // 发送用户信息
        App._post_form('user/login', {
          code: res.code,
          user_info: e.detail.rawData,
          encrypted_data: e.detail.encryptedData,
          iv: e.detail.iv,
          signature: e.detail.signature,
          referee_id: wx.getStorageSync('referee_id')
        }, function(result) {
          // 记录token user_id
          wx.setStorageSync('token', result.data.token);
          wx.setStorageSync('user_id', result.data.user_id);
          // 跳转回原页面
          _this.navigateBack();
        }, false, function() {
          wx.hideLoading();
        });
      }
    });
  },

  /**
   * 授权成功 跳转回原页面
   */

你可能感兴趣的:(微信小程序,微信小程序,小程序)