收藏
回答

open-type="getPhoneNumber" 授权按钮防止重复点击

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug button 客户端 7.0.5 2.4.4

- 当前 Bug 的表现(可附上截图)

<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"></button>

授权按钮可快速点击多次,在第一次未弹出授权询问框的时候再次点击,根据bindgetphonenumber回调的断点发现errMsg是用户拒绝授权,想知道怎么防止用户快速多次点击。

- 预期表现

    尝试过增加点击标识、disabled属性等防止,怎奈此按钮点击响应的事件是小程序组件自带的,根本阻止不了,而且按说官方应该自带防重复点击才合理啊,请问大家怎么处理的

- 复现路径

    getPhoneNumber授权按钮快速点击多次,在第二次点击时候,根据bindgetphonenumber调的断点发现errMsg是用户拒绝授权


- 提供一个最简复现 Demo




回答关注问题邀请回答
收藏

5 个回答

  • 山药当归枸杞Go
    山药当归枸杞Go
    2022-08-19

    我限制了按钮多次点击依旧报错

    点击按钮会有一个加载的蒙层在调起授权框之前 然后再点击这个蒙层 就会报错getUserPhoneCode:fail

    我还试了 再点击的时候加上wx.showLoading({mask:true}) 同样没有用,我加的蒙层被系统的蒙层代码覆盖了并且系统蒙层没有mask 所以点击还是能取消蒙层然后报错

    <button open-type="getPhoneNumberbindtap="clickNumberbindgetphonenumber="getAuth" hover-class="noPointerhover-stay-time="1000>


    2022-08-19
    有用
    回复
  • YOU
    YOU
    2022-04-07

    你好,请问问题解决了吗?要是解决了,麻烦讲解下思路

    2022-04-07
    有用
    回复
  • 抬头45度
    抬头45度
    2020-07-21

    请问这个问题解决没有哇,我也碰到了这样的问题

    2020-07-21
    有用
    回复
  • 团子丶
    团子丶
    2019-10-29

    请问楼主,你这个问题有解决吗?如果解决了,可以说下你的解决思路吗?

    2019-10-29
    有用
    回复 3
    • oday you
      oday you
      2019-10-29
      不好意思这个问题一直搁置,没有想到有效的办法
      2019-10-29
      回复
    • 团子丶
      团子丶
      2019-10-29回复oday you
      哎,官方也不出来回复下,真的很头疼
      2019-10-29
      回复
    • 信仰
      信仰
      2019-12-26
      请问楼主,你这个问题有解决吗?如果解决了,可以说下你的解决思路吗?
      2019-12-26
      回复
  • 猎人
    猎人
    2019-07-11

    disabled='{{disabled}}' loading='{{loading}}'

    按钮的属性了解下   这两个值可以在js文件中定义和改变

    2019-07-11
    有用
    回复 5
    • oday you
      oday you
      2019-07-12
      谢谢回复。 之前尝试过这样处理,但是问题在于这两个属性值的切换我们只能放在bindgetphonenumber回调或者多绑定一个bindtap进行,但是第二次点击的时候还没有进入第一次点击的bindgetphonenumber回调,执行时序有问题
      2019-07-12
      回复
    • 猎人
      猎人
      2019-07-12回复oday you
      可以考虑下这种button和label配合起来使用的 希望能够解决
      2019-07-12
      回复
    • 猎人
      猎人
      2019-07-12回复oday you

      <button bindtap="handleTapShareButton" open-type="getPhoneNumber"  id="share-button">

              </button>

              <label for="share-button>获取手机号</label>


      2019-07-12
      回复
    • oday you
      oday you
      2019-07-12回复猎人
      不好意思我没太明白你的意思, 能详述下吗。 另外想问下 您做的小程序open-type存不存在这样的问题,万一是我用错了呢 哈
      2019-07-12
      回复
    • 猎人
      猎人
      2019-07-12回复oday you
      bindgetphonenumber="getPhoneNumber" 就是可以把这个事件换成点击事件 多用一个label标签 可以了解下小程序的label标签 试试这种方法能解决问题不
      2019-07-12
      回复
登录 后发表内容