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 回复

vue2版本是否正常?请升级至HBuilder X 3.4.5-alpha试下 注意:获取手机号之前需要先调用uni.login({})


我也碰到一样的问题,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. 检查回调函数的定义

  • 确保 successfail 回调函数正确定义,并且在回调中处理了返回的数据。
  • 如果回调函数未执行,可能是由于代码逻辑问题或 API 调用失败。

4. 检查快手小程序的版本兼容性

  • 确保你使用的 uni-app 版本和快手小程序的 SDK 版本是兼容的。
  • 如果有新版本发布,尝试更新 uni-app 和快手小程序的 SDK。

5. 检查网络请求是否被拦截

  • 如果网络请求被拦截或未发送成功,可能导致回调无法执行。
  • 使用开发者工具检查网络请求是否正常发送和接收。

6. 调试和日志输出

  • getPhoneNumbersuccessfail 回调中添加日志输出,确认回调是否被触发。
  • 示例:
    my.getPhoneNumber({
      success: (res) => {
        console.log('获取手机号成功', res);
      },
      fail: (err) => {
        console.log('获取手机号失败', err);
      }
    });
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!