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

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

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

写个小案例

wxml

<button type="primary" open-type="getUserInfo" bindgetuserinfo="getUserInfo">询问是否同意授权并获取用户信息</button>
<view class="container">
  <text>{{ userInfo.nickName }}</text>
  <text>{{userInfo.city}}</text>
  <text>{{userInfo.province}}</text>
  <text>{{userInfo.language}}</text>
  <image src='{{ userInfo.avatarUrl }}'></image>
</view>

.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
        })
      }
    })

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值