在微信官方文档里,微信小程序更新了获取手机号的接口,需要将 button 组件 open-type 的值设置为 getPhoneNumber,当用户点击并同意之后,可以通过 bindgetphonenumber 事件回调获取到动态令牌code,代码如下:
 

<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"></button>

getPhoneNumber (e) {
    console.log(e.detail.code)
}

如果把以上代码直接在uniapp里使用,就会报错:

Component "xxx" does not have a method "getPhoneNumber" to handl

这时候在加上@,如@bindgetphonenumber="getPhoneNumber",会发现获取不到code值

查看了uniapp的官方文档,发现不是用bindgetphonenumber="getPhoneNumber",需要要用@getphonenumber="decryptPhoneNumber"。

完美解决的代码如下:

<button type="default" open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">获取手机号</button>

getPhoneNumber (e) {
    console.log(e.detail.code) 
},

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐