button点击行为触发wx.openSetting接口的调用

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug wx.openSetting 客户端 6.7.2 2.3.0

首次点击拒绝地址请求,然后在重新点击按钮,第一个不可以打开openSetting,第二个按钮可以打开openSetting

第一个按钮的js里面我先判断了用户有没有授权选择地址,没授权才进行打开openSetting,实际中要用到的

第二个按钮直接就打开openSetting,在实际开发中用处不大,必须先判断用户是否授权才弹出opensetting

新发布的线上小程序  按钮1点击也不能弹出授权页  但是测试和体验版可以弹出来




最后一次编辑于  10-11  (未经腾讯允许,不得转载)
收藏 0评论 2
关注问题写回答

6 个回答

  • ZuciZuci

    你是为了解决用户拒绝授权后,再次点击按钮的兼容问题吗? 如果是,你可以看下顺丰速运+小程序的对授权的处理

    赞同 0没有帮助
    评论 2
    复制
    10-12
    • 知晓知晓

      好的谢谢

      赞同 0没有帮助
      回复
      复制
      10-12
    • ZuciZuci
      回复知晓

      具体的解决办法是用wx.getSetting去检查是否有scope.address的权限,

      若没有,则在button中加上open-type="openSetting",用button来触发授权设置,已亲测

      赞同 0没有帮助
      回复
      复制
      10-12
    评论
  • 汗菜汗菜

    貌似是做了一个限制,在一个跟授权相关的API的回调函数中调用wx.openSetting 就会报错,  openSetting must trigger by bindtap 你在openSetting的fail函数里console一下error就看到了


    赞同 0没有帮助
    评论 5
    复制
    10-12
    • 汗菜汗菜

      建议解决方案,将检查授权和openSetting拆分,这样会提高用户操作的复杂度,多一次授权提示,但也是无奈之举了

      赞同 0没有帮助
      回复
      复制
      10-12
    • 汗菜汗菜

      10月10号前上线的版本,不会收到这个影响

      赞同 0没有帮助
      回复
      复制
      10-12
    • 知晓知晓
      回复汗菜

      是的 我昨天刚提交的线上  就不行了

      赞同 0没有帮助
      回复
      复制
      10-12
    • 展示更多
    评论
  • 笼中笼中

    同遇到这种恶心的问题,我是先尝试授权,如果用户拒绝的话,弹窗提示,再点击确认打开设置页面 结果不行。


    就是说这类跟权限有关的接口方法会影响opensetting点击来源判断

    赞同 0没有帮助
    评论 1
    复制
    10-11
    • 知晓知晓

      哎 官方也不解答下  是bug还是就是这样的呢

      赞同 0没有帮助
      回复
      复制
      10-12
    评论
  • 左尘左尘

    真机可以不就行了??

    赞同 0没有帮助
    评论 1
    复制
    10-11
    • 知晓知晓

      不用官方提供的button包裹点击事件,开发版本手机预览可以打开opensetting,线上又不能打开。哎 !难受

      赞同 0没有帮助
      回复
      复制
      10-11
    评论
  • 知晓知晓

    @官方 @卢霄霄

    赞同 0没有帮助
    评论 4
    复制
    10-11
    • 卢霄霄卢霄霄

      这开发工具的问题。。你指望我看懂开发者工具的代码吗。。

      赞同 0没有帮助
      回复
      复制
      10-11
    • 知晓知晓
      回复卢霄霄

      哈哈哈哈O(∩_∩)O哈哈~

      赞同 0没有帮助
      回复
      复制
      10-11
    • 知晓知晓
      回复卢霄霄

      我试了一下,新发布的线上小程序  用了按钮1的js方式,点击不能弹出授权页  但是测试和体验版可以弹出来

      赞同 0没有帮助
      回复
      复制
      10-11
    • 展示更多
    评论
  • 半寸灰半寸灰

    我的是 开发工具里第一个不行   真机可以

    赞同 0没有帮助
    评论 1
    复制
    10-11
    • 知晓知晓

      是的 第一个真机可以 但是开发者工具不行

      赞同 0没有帮助
      回复
      复制
      10-11
    评论