小程序中的openid具有很多作用,不再展开赘述。考虑到云函数能直接获取用户的openid,推荐小程序访问量不大的用户使用云函数直接获取,
本篇文章只简单阐述一下,小程序配合后端来获取用户的openid。
一、 openid的获取流程:
1.首先需要使用wx.login()方法,获取用户的code。
2.在客户端,微信小程序将这个code发送给我们的服务器。
3.服务器收到我们的code之后,开始请求微信服务器获取openid的接口获取到openid。
4.服务器将获取到的openid返回给小程序客户端。
5.为什么不直接在微信小程序客户端请求微信服务器的接口呢?
其实这样也可以获取到用户的openid,但是调用微信获取openid的接口时,需要传入小程序的appid以及appSecret,出于安全性的考虑,不推荐把这两项放在微信小程序端。再者,审核也不会通过。因此,通过介入我们的服务器来实现安全性的提升。
二、微信小程序端通过wx.login()方法获取用户的code,并传递给服务器:wx.login({
success: res => {
// 发送 res.code 到后台换取 openId, sessionKey, unionId
console.log(res.code)
wx.request({
url: 'https://yourdomain/mp.php?code=' + res.code,
success: result =>{
console.log("获取到的openid为:", result.openid);
}
})
}
})
三、服务器端接收并处理:
这样就大功告成了。