微信原生小程序一键获取用户手机号
时间: 2023-11-01 12:06:59 浏览: 114
微信原生小程序可以通过使用微信提供的 wx.login() 接口获取用户的登录凭证 code,然后将 code 发送到开发者服务器端,使用开发者服务器端的 AppID 和 AppSecret 调用微信提供的接口获取 session_key 和 openid。然后使用 session_key 和 encryptedData(包含有用户敏感信息的加密数据)以及 iv(加密算法的初始向量)解密出用户的手机号码。
具体流程如下:
1. 用户在小程序中点击获取手机号的按钮,小程序调用 wx.login() 接口获取用户登录凭证 code。
2. 小程序将 code 发送到开发者服务器端,服务器端使用 AppID 和 AppSecret 调用微信提供的接口获取 session_key 和 openid。
3. 小程序前端使用微信提供的 wx.getUserInfo() 接口获取用户信息。
4. 小程序前端将获取到的 encryptedData 和 iv 以及在第2步中获取到的 session_key 发送到开发者服务器端。
5. 服务器端使用 session_key 和 encryptedData 以及 iv 解密出用户的手机号码。
6. 服务器端将用户的手机号码返回给小程序前端,小程序前端展示给用户。
需要注意的是,使用 wx.getUserInfo() 接口获取用户信息需要用户授权,而且在2019年3月份之后,微信强制要求小程序使用 button 组件才能触发授权弹窗。同时,在解密用户手机号码时,需要使用到开发者自己的解密算法或者使用第三方库进行解密。
阅读全文