天天看点

小程序获取openId

var that = this
        var user = wx.getStorageSync('user') || {};
        var userInfo = wx.getStorageSync('userInfo') || {};
        if ((!user.openid || (user.expires_in || Date.now()) < (Date.now() + 600)) && (!userInfo.nickName)) {          wx.login({
            success: function (res) {
              if (res.code) {
                wx.getUserInfo({
                  success: function (res) {
                    var objz = {};
                    objz.avatarUrl = res.userInfo.avatarUrl;
                    objz.nickName = res.userInfo.nickName;
                    //console.log(objz);
                    wx.setStorageSync('userInfo', objz);//存储userInfo
                  }
                });
                console.log(res.code);                
                wx.request({
                  url:'https://api.weixin.qq.com/sns/jscode2session',
                  data: {
                    appid:'wxdf12d3d9c76def17',
                    secret:'cc7334ff07764399ec13f82525e0343d',
                    js_code:res.code,
                    grant_type:'authorization_code'
                  },
                  method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT  
                  // header: {}, // 设置请求的 header
                  success: function (res) {
                    var obj = {};
                    obj.openid = res.data.openid;
                    obj.expires_in = Date.now() + res.data.expires_in;
                    console.log(obj.openid);
                    wx.setStorageSync('user', obj);//存储openid  
                  },
                  fail:function(e){
                    console.error(e);
                  }
                });
              } else {
                console.log('获取用户登录态失败!' + res.errMsg)
              }
            }
          });
        }
           

搞了2个小时,成功获取到了openId,用户唯一标识。