微信小程序获取手机号
首先,來看看官方文档:
说明我们需要的手机号就被加密隐藏在encryptedData这个数据中我们只需要根据微信官方的要求解密即可获得一个如下的对象:
首先要使用wx.login()方法登陆,获取登录凭证(code)然后再把code通过手机号获取微信号wx.request()发送给后台,后台通过手机号获取微信号code可以获取用户的会话密鑰
这里有两个明显的请求后台服务器的Ajax过程这是因为我们需要openid,所以显式的请求了第一次因为要解密获取微信手机号,所以显式的Ajax请求了第二次
注意,后台每次向腾讯微信服务器请求的sessionkey都是不一样的千万不要以为请求一次保存下来就可以多次使用。
如果你只需要解密手机号则可以将code,iv,encryptedData一次发送给后台,不管如何过程肯定是不变的,后台通过手机号获取微信号code获取session_key然后再解密返回给前端。
如果有必要还需要checkSession判断,判断一下sessionkey是不是已过期
// session_key 未过期,并且在本生命周期一直有效