收藏
评论

打开小程序设置页(wx.openSetting)接口调整官方

开发者可以通过 wx.openSetting 接口来打开小程序设置界面并返回用户的设置结果。在原来的 wx.openSetting 接口中,我们允许开发者直接调用此接口,但目前我们发现有不少开发者滥用此接口,使用户在无任何操作时,不断地强行跳转至设置页,导致用户无法正常使用甚至无法退出小程序。

为保证用户获得更顺畅的小程序使用体验,避免此类滥用情况,我们对该接口进行了调整。

调整后“打开小程序设置页”将支持以下两种实现方式:

  • 方法1:使用 button 组件来使用此功能,示例代码如下:

    <button open-type="openSetting" bindopensetting="callback">打开设置页</button>
  • 方法2:由点击行为触发wx.openSetting接口的调用,示例代码如下:

    <button bindtap="openSetting">打开设置页</button>  openSetting() {  wx.openSetting()}

    方法2已在最新版开发者工具中支持(基础库切到2.2.4及以上),开发者可以尽早适配。


此次调整会对直接调用wx.openSetting接口造成影响

  • 原无需用户点击即可直接调用wx.openSetting接口的实现方式将不再支持,即将废弃的错误使用方式示例如下:

    onShow() {  wx.openSetting()}


10月10日起新提交发布的版本将会受到此调整的影响。

需要各位开发者注意,10月10日起新提交发布的小程序版本将不再支持无需用户点击即可直接调用的“打开小程序设置页”接口,请开发者尽早适配。

调整策略在基础库 2.3.0 及以上版本生效,该基础库版本对应微信客户端6.7.2版本。另外,考虑到兼容性等问题,在基础库版本 2.3.0 以下的环境中不受此策略影响。

最后一次编辑于  2018-09-12
收藏

86 个评论

  • 成
    2018-10-10

    点击按钮保存图片,然后在wx.saveImageToPhotosAlbum的失败回调中调用wx.openSetting()可以吗?

    2018-10-10
    赞同
    回复 1
    • 星宇
      星宇
      2018-10-15

      不可以,哈哈哈,再弹个框,傻逼体验

      2018-10-15
      回复
  • AAA酒水批发小张18535302367
    AAA酒水批发小张18535302367
    2018-10-10

    改来改去,感觉总是很无脑

    2018-10-10
    赞同
    回复
  • 逝雪飘零  贤
    逝雪飘零  贤
    2018-10-08

    敢不敢直接官方定义一套专门用来请求权限的showModal   自己加按钮体验性差不说,还特别影响ui

    2018-10-08
    赞同
    回复
  • 向日葵²⁰¹⁷⁺
    向日葵²⁰¹⁷⁺
    2018-09-28

    html:



    js:
    请问这样,10月10号上线之后能支持吗?也是bindtap触发的事件

    2018-09-28
    赞同
    回复
  • 兵兵有礼
    兵兵有礼
    2018-09-25

    小程序什么时候可以动态禁止页面滚动

    2018-09-25
    赞同
    回复
  • 阿白
    阿白
    2018-09-21

    小程序越走越偏了。是先有用户还是先有开发者考虑过吗。本来公司是all in小程序,经过几个规则的调整,已经lost in小程序。腾迅高层都干嘛去了。

    2018-09-21
    赞同
    回复
  • Young
    Young
    2018-09-20

    10月10日起新提交发布的版本将会受到此调整的影响。

    需要各位开发者注意,10月10日起新提交发布的小程序版本将不再支持无需用户点击即可直接调用的“打开小程序设置页”接口,请开发者尽早适配。

    调整策略在基础库 2.3.0 及以上版本生效,该基础库版本对应微信客户端6.7.2版本。另外,考虑到兼容性等问题,在基础库版本 2.3.0 以下的环境中不受此策略影响。

    1.通过button中open-type的openSetting打开授权设置页最低基础库版本需要2.0.7;10月10日起新提交发布的小程序版本将不再支持无需用户点击即可直接调用的“打开小程序设置页在低版本中是否可以直接调用wx.openSetting();? 2.在基础库版本 2.3.0 以下的环境中不受此策略影响。是否是在2.3.0版本以下可以直接使用wx.openSetting()?2.0.3及以上版本使用button点击的方式?

    2018-09-20
    赞同
    回复
  • Johnplue日头花🌻
    Johnplue日头花🌻
    2018-09-20

    在bindtap 里面调用  wx.authorize 在fail方法中再调用 wx.openSetting

    报错:openSetting:fail only can be invoked when user does TAP the screen.

    2018-09-20
    赞同
    回复 1
    • 知有
      知有
      2018-09-21

      你好,我是用wx.getSetting判断用户是否有相关权限,没有再调用wx.openSetting。开发者工具基础库2.3.0 测试没问题~

      2018-09-21
      回复
  • 如人饮水
    如人饮水
    2018-09-19

    前段时间说只能button调用,干完了之后,怎么又出这种幺蛾子

    2018-09-19
    赞同
    回复
  • 青团社
    青团社
    2018-09-17

    以为一楼的方法不行,还特意写了个自定义弹窗组件




    2018-09-17
    赞同
    回复

正在加载...

登录 后发表内容