uni-app开发快手小程序获取不到getPhoneNumber回调
uni-app开发快手小程序获取不到getPhoneNumber回调
uniapp开发快手小程序,用的版本是vue3.0写的,然后<button open-type="getPhoneNumber" @getphonenumber="xhrGetPhoneNumber">
获取用户手机号,
setup(){
// 获取手机号
let xhrGetPhoneNumber = (e)=>{
console.log(e.detail.errMsg)
console.log(e.detail.iv)
console.log(e.detail.encryptedData)
};
return{
xhrGetPhoneNumber
}
}
相关链接 :
10 回复
我也碰到一样的问题,vue3+ts,
接口有返回,但是回调不触发
vue2版本是否正常?如果还有问题提供下简单复现示例(上传附件)这边看下
楼主解决了吗
@DCloud_UNI_Anne 我现在改用引入快手小程序的自定义组件,组件内可以拿到回调内容,但是
triggerEvent 抛出的事件,在uniapp无法触发
我也是vue3拿不到快手的回调信息,我vue2试了下 是可以的
HBuilderX 3.6.1-alpha 已修复
在button里嵌套text标签,拿不到回调信息,警告 “vendor.js:5786 getphonenumber not found”
回复 西西11: 单独使用快手小程序(不使用uni-app)表现如何?
在 uni-app
开发快手小程序时,如果无法获取到 getPhoneNumber
的回调,可能是由于以下原因导致的。以下是一些常见的排查步骤和解决方案:
1. 检查快手小程序的权限配置
- 确保在快手小程序的管理后台已经正确配置了
getPhoneNumber
权限。 - 进入快手小程序后台,检查是否有未授权的权限,或者权限申请是否被拒绝。
2. 检查 getPhoneNumber
的使用方式
- 在快手小程序中,
getPhoneNumber
的使用方式可能与微信小程序有所不同。确保你按照快手小程序的规范调用 API。 - 示例代码:
my.getPhoneNumber({ success: (res) => { console.log('获取手机号成功', res); }, fail: (err) => { console.log('获取手机号失败', err); } });
3. 检查回调函数的定义
- 确保
success
和fail
回调函数正确定义,并且在回调中处理了返回的数据。 - 如果回调函数未执行,可能是由于代码逻辑问题或 API 调用失败。
4. 检查快手小程序的版本兼容性
- 确保你使用的
uni-app
版本和快手小程序的 SDK 版本是兼容的。 - 如果有新版本发布,尝试更新
uni-app
和快手小程序的 SDK。
5. 检查网络请求是否被拦截
- 如果网络请求被拦截或未发送成功,可能导致回调无法执行。
- 使用开发者工具检查网络请求是否正常发送和接收。
6. 调试和日志输出
- 在
getPhoneNumber
的success
和fail
回调中添加日志输出,确认回调是否被触发。 - 示例:
my.getPhoneNumber({ success: (res) => { console.log('获取手机号成功', res); }, fail: (err) => { console.log('获取手机号失败', err); } });