微信小程序获取unionid

微信小程序获取unionid必须首先由用户授权授权代码如下:

 var that = this;
    // 查看是否授权
    wx.getSetting({
      success: function (res) {
        if (res.authSetting['scope.userInfo']) {
          //获取用户信息
          console.log("开始获取unionid");
          //-----------------------------------------------
          wx.login({
            success: function (r) {
              var code = r.code;//登录凭证
              if (code) {
               console.log("code"+code);
                wx.request({
                  url: 'http://tv2.51rcc.com/api/login/wx_jscode2session',
                  data: {
                    code: code,
                  },
                  success:function(res){
                    console.log(res);
                    console.log("session_key:"+res.data.data.session_key);
                    

                  
                   

                  }
                })
              } else {
                console.log('获取用户登录态失败!' + r.errMsg)
              }
            },
            fail: function () {
              callback(false)
            }
          })
       

          
        } else {
          // 用户没有授权
          // 改变 isHide 的值,显示授权页面
          that.setData({
            isHide: true
          });
        }
      }
    });
  },

  bindGetUserInfo: function (e) {
    if (e.detail.userInfo) {
      //用户按了允许授权按钮
      var that = this;
      // 获取到用户的信息了,打印到控制台上看下
      console.log("用户的信息如下:");
      console.log(e.detail.userInfo);
      //授权成功后,通过改变 isHide 的值,让实现页面显示出来,把授权页面隐藏起来
      that.setData({
        isHide: false,
      });

    } else {
      //用户按了拒绝按钮
      wx.showModal({
        title: '警告',
        content: '您点击了拒绝授权,将无法进入小程序,请授权之后再进入!!!',
        showCancel: false,
        confirmText: '返回授权',
        success: function (res) {
          // 用户没有授权成功,不需要改变 isHide 的值
          if (res.confirm) {
            console.log('用户点击了“返回授权”');
          }
        }
      });
    }
  },

对应的wxml


    
        
            
        
 
        
            申请获取以下权限
            获得你的公开信息(昵称,头像等)
        
 
        
    
    请升级微信版本

 

   
      
      
      








用户授权后拿到userinfo然后根据

 

微信小程序获取unionid_第1张图片

然后将userinfo的返回encryptedData传给后台,让后台完成解密解密后的结果内容

微信小程序获取unionid_第2张图片

其他两种获取uniunid有限制,微信小程序官方文档介绍微信小程序获取unionid_第3张图片

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