2025年小程序获取用户手机号的方法
mini云码 发布日期: 2025-11-02 19:51
在小程序中获取用户手机号,需要在小程序里前端调用getPhoneNumber函数来触发一个回调函数给后端,然后后端调用微信的接口去获取手机号。
- 前端交互:在页面中添加一个按钮,设置其 open-type 属性为 getPhoneNumber,并绑定 bindgetphonenumber 事件。当用户点击按钮并同意授权后,会触发该事件,回调函数中会返回一个包含动态令牌 code 的对象(如 e.detail.code)。
- 后端处理:将前端获取到的 code 传递到你的服务器,由服务器调用微信提供的接口(通常是 phonenumber.getPhoneNumber 或通过 https://api.weixin.qq.com/wxa/business/getuserphonenumber)来换取用户的真实手机号。该接口需要在服务端调用,且每个 code 只能使用一次,有效期为 5 分钟。
- 注意事项:该功能必须经过用户主动点击并同意授权才能获取手机号,不能自动获取。从基础库 2.21.2 开始,获取手机号的方式有所升级,不再需要提前调用 wx.login,并且推荐使用新的安全方式。如果你使用的是云开发或云托管,也可以利用云函数或云托管服务简化接口调用及鉴权流程。
- 其他方式:如果你的小程序符合条件(如非个人主体且已完成认证),还可以使用“手机号快速验证组件”或“手机号实时验证组件”,这些组件同样需要用户授权,但提供了平台验证手机号的能力,适用于特定业务场景,且有相关调用次数和收费限制。
如需具体代码示例和接口详情,可参考微信小程序官方开发文档中关于 getPhoneNumber 的相关说明。
