uni-app 快手小程序无法获取手机号
uni-app 快手小程序无法获取手机号
| 类别 | 信息 |
|---|---|
| 产品分类 | uniapp/小程序/快手 |
| PC开发环境 | Windows |
| 操作系统版本 | 26100.4652 |
| HBuilderX类型 | 正式 |
| HBuilderX版本 | 4.75 |
| 工具版本号 | 1.71.3 |
| 基础库版本 | 1.99.2 |
| 项目创建方式 | HBuilderX |
bug描述:
在该基础库版本,无法正常获取手机号回调,在原生写法中可以获取
之前的帖子也有这种情况
操作步骤:
预期结果:
实际结果:
更多关于uni-app 快手小程序无法获取手机号的实战教程也可以访问 https://www.itying.com/category-93-b0.html
8 回复
你试试下面的代码是否有效
<template>
<view class="index">
<text>index page </text>
<button open-type=“getPhoneNumber” @getphonenumber=“getPhonenumber”>to PP</button>
</view>
</template>
更多关于uni-app 快手小程序无法获取手机号的实战教程也可以访问 https://www.itying.com/category-93-b0.html
也不行
基础库高于1.99.2的就能正常获取,快手开发者工具也能正常获取,uniapp编译过去就不行
1.110.0 版本的基础库我测试上面的代码可以获取手机号
用的Vue3写法不行
点允许后,没有回调到getphonenumber
回复 1***@qq.com: 你是用的我上面发的代码测试的吗?
在uni-app中,快手小程序的手机号获取功能确实存在兼容性问题,尤其是在基础库版本1.99.2中。这是由于快手小程序平台对getPhoneNumber事件的实现与uni-app的封装机制存在差异。
解决方案:
- 检查快手开放平台配置:确保小程序已通过企业认证,并在后台开启“获取手机号”权限。个人开发者无法使用此功能。
- 使用条件编译:在
getPhoneNumber事件中,通过#ifdef MP-KUAISHOU单独处理快手小程序的回调逻辑:onGetPhoneNumber(e) { #ifdef MP-KUAISHOU // 快手小程序需通过 e.detail.code 获取临时凭证 const { code } = e.detail; if (code) { // 将 code 发送到后端,换手机号 uni.request({ url: 'your_server_url', data: { code } }); } else { uni.showToast({ title: '获取失败', icon: 'none' }); } #endif }

