微信小程序 获取用户信息 getUserInfo

获取用户信息(wx.getUserInfo())

该方法使用需要 用户授权 scope.userInfo 之后才能调用

写个小案例

wxml



  {
    { userInfo.nickName }}
  {
    {userInfo.city}}
  {
    {userInfo.province}}
  {
    {userInfo.language}}
  

.js

  data: {
    userInfo: {},
  },
  getUserInfo:function(){
    let that = this
    //首先查看是否得到用户 的授权
    wx.getSetting({
      success:function(res){
        //console.log(res)
        //res.authSetting['scope.userInfo']   代表用户授予权限的状态
        console.log(res.authSetting['scope.userInfo'])
        if(res.authSetting['scope.userInfo']){
          //如果用户给与了这个权限 可以进行获取用户信息
          wx.getUserInfo({
            success: (res) => {
              console.log(res.userInfo)
              that.setData({
                userInfo: res.userInfo
              })
            }
          })
        }else{
          //如果用户没有给与这个权限则  发送询问权限的请求
          wx.authorize({
            scope:"scope.userInfo",//询问授权的属性
            success:function(res){
              console.log(res)
            }
          })
        }
      }
    })
  },

注: 回调中的 this 和 当前页面 this 不一样 解决方案,1:使用 ES 6 语法, 2:定义 that(let that = this 然后 that.data)

es6语法 

wx.getUserInfo({
      success: (data) => {
        this.setData({
          // 如何确定数据被更新?调试器中 AppData
          userInfo: data.userInfo
        })
      }
    })

微信小程序 获取用户信息 getUserInfo_第1张图片微信小程序 获取用户信息 getUserInfo_第2张图片

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