已解决,不知道靠不靠谱贴上代码。 button 组件授权后在调用wx.login 进行解密 userInfoHandler: function (e) { let that = this; if (e.detail.errMsg =='getUserInfo:ok') { wx.login({ success: function (r) { let code = r.code; if (code) { // 解密用户数据 wx.request({ url: url, method: 'post', header: {'content-type': 'application/x-www-form-urlencoded'}, data: {encryptedData: e.detail.encryptedData, iv: e.detail.iv, code: code}, success: function (data) { console.log(data); if (data.data.status == 1) { app.globalData.userInfo = data.data.userInfo; wx.setStorageSync('userInfo', data.data.userInfo); // 缓存用户信息 typeof cb == "function" && cb(app.globalData.userInfo); app.navigateBack('navigateTo', '/pages/index/index'); } else { // 失败 that.showMsg(data.data.msg); } }, fail: function (err) { that.showMsg(err.errMsg); console.log(err) } }) } else { that.showMsg(err.errMsg); console.log('获取用户登录态失败!', err) } }, fail: function (err) { that.showMsg(err.errMsg); console.log('登陆失败', err); } }) } }
现在不调用 wx.getUserInfo接口如何获取unionid之前是通过将 [代码]wx.login[代码] 和 [代码]wx.getUserInfo[代码] 绑定使用解密获取用户unionid,现在怎么获取用户的unionid呢? 看了下最新的文档,现在是满足下面条件wx.login是会直接返回unionid的,如果不满足要怎么获取呢? 1.在微信开放平台下存在同主体的App、公众号、小程序。 2.用户关注了某个相同主体公众号,或曾经在某个相同主体App、公众号上进行过微信登录授权。
2018-05-17