微信小程序获取手机号流程以及用到的API和代码示例如下:
获取手机号流程:
- 用户点击授权登录按钮,小程序会提示用户授权并获取用户同意。
- 获取到用户的同意后,小程序会将用户的临时登录凭证code返回给开发者服务器。
- 开发者服务器通过发送code及AppID和AppSecret调用微信接口服务获取session_key和openid等信息。
- 开发者服务器将session_key返回给小程序,小程序使用该session_key调用
wx.login
接口获取到用户授权登录后的code,再次发送给开发者服务器。 - 开发者服务器将code发送给微信接口服务,获取到用户的加密数据,然后结合session_key以及app_id进行解密获取手机号。
用到的API:
wx.login
:用于获取临时登录凭证code。wx.getUserInfo
:用于获取用户信息。
代码示例:
在页面的JS文件中定义一个函数来获取用户手机号:
// 在页面的JS文件中定义一个函数来获取用户手机号 function getPhoneNumber() { // 调用微信接口获取手机号 wx.login({ success: function(res) { // 获取到登录凭证code后,发送给开发者服务器 wx.request({ url: 'https://example.com/api/getUserInfo', // 开发者服务器接口地址 method: 'POST', data: { code: res.code // 登录凭证code }, success: function(res) { // 成功回调函数,res中包含用户手机号信息 console.log(res.data); // 这里假设返回的数据格式为JSON,需要根据实际情况调整数据处理方式 }, fail: function(err) { // 失败回调函数,err为错误信息 console.log(err); } }); }, fail: function(err) { // 失败回调函数,err为错误信息 console.log(err); } }); }
在页面的WXML文件中设置授权登录按钮和调用getPhoneNumber函数:
<button bindtap="getPhoneNumber" open-type="getPhoneNumber">获取手机号</button>