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

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐