收藏
回答

隐私授权弹窗在调用手机号授权时会提示invoke getPhoneNumber too frequ?

隐私授权弹窗,在调用 手机号授权时,多页面会相互阻塞手机号获取

例如 首页中 点击 微信授权手机号登陆 按钮,获取手机号授权,弹出了隐私弹窗,此时不操作弹窗

进入一个详情页, 点击 微信授权手机号登陆 按钮,获取手机号授权,弹出了隐私弹窗,此时不操作弹窗,

返回 首页,再次点击微信授权手机号登陆 按钮, 此时会提示 invoke getPhoneNumber too frequently




代码片段 https://developers.weixin.qq.com/s/yOmtrGmY7lKW



最后一次编辑于  2023-08-23
回答关注问题邀请回答
收藏

5 个回答

  • sine
    sine
    2023-08-24

    同一个<button open-type="getPhoneNumber">按钮,如果点击了,但还没有触发bindgetphonenumber事件,然后又重复点击,此时会报invoke getPhoneNumber too frequently的错误。

    这个是一直都存在的逻辑,你可以试试去掉隐私功能,然后连续点击这个按钮来复现。

    1. 如果要规避这个错误,目前你需要做的是限制用户重复点击手机号按钮。


    2023-08-24
    有用
    回复 6
    • Vin
      Vin
      2023-08-25
      请问先触发onNeedPrivacyAuthorization事件什么时候会修改?
      2023-08-25
      回复
    • 秦时明月
      秦时明月
      2023-08-28
      不是在同一个页面,是不同页面的的 button,比如登陆弹窗中,两个页面 在用户操作的时候,都会弹出登陆弹窗,此时点击一个,另一个页面中的 button,点击就会报invoke getPhoneNumber too frequently
      2023-08-28
      回复
    • Leon
      Leon
      2023-08-28
      我也遇到这个问题,是不是因为onNeedPrivacyAuthorization拦截了,导致getPhoneNumber一直没有结束?
      2023-08-28
      回复
    • Leon
      Leon
      2023-08-28回复Leon
      好像是拒绝时候要去触发下disagree的事件
      2023-08-28
      回复
    • sine
      sine
      2023-08-28回复Leon
      是的
      2023-08-28
      回复
    查看更多(1)
  • 吧唧一口小丸子
    吧唧一口小丸子
    2023-09-13

    请问你获取手机号时使用隐私授权弹窗,第一次拒绝弹窗时会关闭再次打开吗?

    2023-09-13
    有用
    回复
  • 道一
    道一
    2023-09-01

    请问一下是怎么实现代码片段中,点击授权手机号按钮,先弹出隐私政策框,同意后出现授权手机号弹窗的呢

    2023-09-01
    有用
    回复
  • 牲产队-朝酒晚舞
    牲产队-朝酒晚舞
    2023-08-30

    解决了,隐私协议组件内加个方法:

      tabBarPageShow() {
        if (this.closePopUp) {
          privacyHandler = resolve => {
            privacyResolves.add(resolve)
            this.popUp()
            // 额外逻辑:当前页面的隐私弹窗弹起的时候,关掉其他页面的隐私弹窗
            closeOtherPagePopUp(this.closePopUp)
          }
        }
      }
    


    tabbar页面点击的时候做下处理:

    <privacy-dialog id="im-login" />  
    
    onTabItemTap() {
      this.selectComponent('#im-login').tabBarPageShow()
    }
    


    2023-08-30
    有用
    回复
  • BOBO
    BOBO
    2023-08-23

    要不你就在弹框后面加一个蒙板,弹框弹起后不允许点击其他地方。或点击蒙板后就关闭弹框

    2023-08-23
    有用
    回复 2
    • 秦时明月
      秦时明月
      2023-08-24
      跟点击没关系,两个不同页面,都有手机号授权调用,授权未同意的情况下,点击某个页面的  手机号授权,另一个页面 点击手机号授权,就提示调用频繁了,因为上一个手机号授权,被阻塞了,是pending状态
      2023-08-24
      回复
    • BOBO
      BOBO
      2023-08-24回复秦时明月
      在同一个串行的流程里。因为手机号码授权半屏弹框是有一层背景灰色蒙板。半屏弹框弹起后,要么拒绝。要么同意。不然点不到其他地方。除非是另一个并行的流程页面里。同时弹起2个手机号码半屏弹框。这个没什么好办法吧
      2023-08-24
      回复
登录 后发表内容