微信小程序使用login获取unionid时可能获取不到,原因可能是该微信账号没有关注小程序所在公众号等。但在微信小程序中使用微信注册,必须要用unionid注册时,大部分用户就会因此无法注册成功。
微信小程序获取unionid的方法(wepy 写法):
wepy.login({
success (res) {
wepy.getUserInfo({
withCredentials: true,
success (data) {
// 获得用户信息的加密数据 即data.encryptedData
// 将encryptedData和iv传给后台解密 解密参考文档https://developers.weixin.qq.com/miniprogram/dev/api/signature.html
// 其中session_key的获取需要code即res.code
wepy.request({
url: '后台接口地址',
data: {code: res.code, encryptedData: data.encryptedData, iv: data.iv}
...
success(info) {
console.log(info.unionid) // 后台返回
}
})
}
})
}
}) 最近上线的微信小程序:约会宝,使用的便是这样的方法