> 技术文档 > 【一文读懂】uniapp微信小程序获取手机号-手机号快速验证组件(全流程)

【一文读懂】uniapp微信小程序获取手机号-手机号快速验证组件(全流程)


微信小程序获取手机号,要分几步,再次做个记录,希望耐心看完。

1. 第一步,先获取code,并不是登入的那个code,
2. 第二步,根据小程序的appid获取access_token凭证
3. 第三步,根据code和access_token凭证去换取手机号,
4. 手机号码是在后台获取的,我们只需要传code就能获取到用户手机号了。

具体详细步骤请看下面。

微信小程序获取手机号官方文档:(这个功能是收费的)

手机号快速验证组件 | 微信开放文档

官方文档使用方法

步骤1:需要将 button 组件 open-type 的值设置为 getPhoneNumber,当用户点击并同意之后,通过 bindgetphonenumber 事件获取回调信息;

步骤2:将 bindgetphonenumber 事件回调中的动态令牌code传到开发者后台,并在开发者后台调用微信后台提供的 phonenumber.getPhoneNumber 接口,消费code来换取用户手机号。每个code有效期为5分钟,且只能消费一次。

注:getPhoneNumber 返回的 code 与 wx.login 返回的 code 作用是不一样的,不能混用。

注意

从基础库2.21.2开始,对步骤2中换取手机号信息的方式进行了安全升级,上述为新方式使用指南。(旧方式目前可以继续使用,但建议开发者使用新方式,以增强小程序安全性)另外,新方式不再需要提前调用wx.login进行登录。

开发步骤:

1、前端代码:

点击按钮,获取code

换成uniapp代码:

 一键登录
getPhoneNumber (e) { console.log(e.detail.code) // 动态令牌 console.log(e.detail.errMsg) // 回调信息(成功失败都会返回) console.log(e.detail.errno) // 错误码(失败时返回) }
2、后端代码:

获取access_token凭证接口:https://api.weixin.qq.com/cgi-bin/token

第1步,根据小程序的appid获取access_token凭证,

换取手机号接口:https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token=\'.$access_token;
第2步,根据code和access_token凭证去换取手机号,

第3步,注意事项:

微信小程序,必须是认证的,备案的,不让上线不了,

域名必须是备案的,https加密的,不让无法获取数据,

日期:2025.4.20

广州