收藏
回答

wx.showShareImageMenu保存图片,用户拒绝授权后没有回调或方式引导用户开启授权

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug wx.showShareImageMenu 微信iOS客户端 8.0.50 3.5.3

目前业务有需求,想要保存/转发海报,使用了wx.showShareImageMenu接口,可提供分享、收藏和保存图片的功能。

但在实际使用中发现,当用户点击保存图片按钮时,会触发“保存图片或视频到你的相册”授权,如用户拒绝授权,再次点击保存图片按钮时,不会再触发弹窗。

这整个过程中没有回调可以获取用户点击按钮状态、结果,所以也无法引导用户进入设置更改授权状态,相当于只要拒绝授权,这个按钮功能就废掉了。


是否不太合理?

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

3 个回答

  • 小黎
    小黎
    08-15

    确实,用户拒绝后不再主动弹出授权框,只有自己加API调用前的授权判断,先通过getSetting判断唤起过授权没有,唤起过授权拒绝了调用wx.openSetting,没换起过或允许了授权则直接调用wx.showShareImageMenu

       wx.getSetting({
          success(res) {
            var a = res.authSetting['scope.writePhotosAlbum']
            if (a==false) {
              wx.openSetting({})
            } else {
              wx.showShareImageMenu({
                path: '',
              })
            }
          }
        })
    


    08-15
    有用 1
    回复 1
    • 林寒
      林寒
      08-16
      感谢,是我想左了,光想着有点击监听或者回调会更方便。这样确实能保障拿到授权再调用
      08-16
      回复
  • 故乡的花开了
    故乡的花开了
    08-15

    可以先通过getSetting判断有没有权限, 如果就就执行保存,没有就拉起保存授权,如果同意就保存,不同意就用openSetting跳转到设置页面提示用户打开

    08-15
    有用 1
    回复 1
    • 林寒
      林寒
      08-16
      感谢,是我想左了,光想着有点击监听或者回调会更方便。这样确实能保障拿到授权再调用
      08-16
      回复
  • 一笑皆春
    一笑皆春
    08-15

    可以主动查询呀,换成图片的权限

    08-15
    有用 1
    回复 3
登录 后发表内容