您的位置:首页 > 移动开发 > 微信开发

关于微信小程序获取用户openid的问题

2018-11-23 11:21 316 查看

1.个人开发者是获取不到OpenId:之前测试一直拿不到,读者可以试一下。

2.获取的代码和输出:

//app.js

App({

globalData: {

appid: 'wx62a1hh8cfc28fdb',//appid需自己提供,此处的appid我随机编写

secret: '8990bf089dbsese3c951a1',//secret需自己提供,此处的secret我随机编写

},

onLaunch: function () {

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

}});

var d = that.globalData;//这里存储了appid、secret、token串

var l = 'https://api.weixin.qq.com/sns/jscode2session?appid=' + d.appid + '&secret=' + d.secret + '&js_code=' + res.code + '&grant_type=authorization_code';

wx.request({

url: l,

data: {},

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);

wx.setStorageSync('user', obj);//存储openid

}

});

} else {

console.log('获取用户登录态失败!' + res.errMsg)

}

}

});

}

},

})

结果输出(设置不校验域名):

VM682:1 工具未校验合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书。

app.js? [sm]:36

  1. {openid: "oBU4-5beiAsSLu40efAxL5d8iJe0", expires_in: NaN} expires_in:NaN
  2. openid:"o*********0efAxL5d8iJe0" 
  3. __proto__:Object

转载:https://blog.csdn.net/qq_27626333/article/details/54614037

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: