zoukankan      html  css  js  c++  java
  • 微信小程序-获取用户信息

    注意事项:

    • 想要获取用户信息,必须经过用户授权(button)。

    • 已授权

    • 不授权,通过调用wx.openSetting

    // 打开配置,手动授权。
    // wx.openSetting({})

    官方推荐使用

     <button class="confirm-btn" open-type="getUserInfo" bindgetuserinfo="login" >
            授权登录
      </button>

    js:

        login: function(e) {
            var that = this; //得到this对象
            //因为this是指向当前的对象,随着上下文作用域的切换this的执行this的指向会发生改变,我们可以先保存一份this的值然后再使用
            // 必须是在用户已经授权的情况下调用
            wx.getUserInfo({
              success: function (res) {
                console.log(res);
                 //在这里使用this,不能调用setData,this的指向已经变化
                that.setData({
                  name: res.userInfo.nickName,
                  avatarUrl: res.userInfo.avatarUrl
                })
              }
            });
              },

    wxss:

    .userinfo-avatar {
      width: 128rpx;
      height: 128rpx;
      margin: 20rpx;
      border-radius: 50%;
    }
    
    .confirm-btn {
      font-size: 32rpx;
      text-align: center;
      height: 100%;
      line-height: 80rpx;
      width: 200rpx;
      background: #69C3AA;
      color: #fff;
      border-radius: 100rpx;
    }

    预览:

     

     另一种方式:

    <view bindtap="getUserName">获取当前用户</view>

    js:

    getUserName: function(e) {
            // console.log('打开配置授权使用我的用户信息');
            // wx.openSetting({
    
            // })
            var that = this; //得到this对象
            //因为this是指向当前的对象,随着上下文作用域的切换this的执行this的指向会发生改变,我们可以先保存一份this的值然后再使用
            // 必须是在用户已经授权的情况下调用
            wx.getUserInfo({
              success: function(res) {
                //调用成功触发
                var userInfo = res.userInfo
                var nickName = userInfo.nickName
                var avatarUrl = userInfo.avatarUrl
                var gender = userInfo.gender //性别 0:未知、1:男、2:女
                var province = userInfo.province
                var city = userInfo.city
                var country = userInfo.country
                console.log(userInfo)
                //在这里使用this,不能调用setData,this的指向已经变化
                that.setData({
                  'name': nickName,
                  'avatarUrl': avatarUrl
                })
    
              },
              fail: function(res) {
                //调用失败触发
    
              }
            })
          },
  • 相关阅读:
    c++<ctime>中常用函数
    头文件<cmath>中常用函数
    c++动态数组的使用
    迭代器与指针
    引用和指针做形参时的区别
    c++使用cin、cout与c中使用scanf、printf进行输入输出的效率问题
    c++指定输出小数的精度
    Linux命令学习(1)
    Nginx 配置文件nginx.conf中文详解
    Walle实现自动发布
  • 原文地址:https://www.cnblogs.com/xiao-apple36/p/12802880.html
Copyright © 2011-2022 走看看