在微信官方文档里,微信小程序更新了获取手机号的接口,需要将 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)
},