收藏
回答

wx.getPrivacySetting的相关问题?

想问一下,wx.getPrivacySetting和wx.onNeedPrivacyAuthorization配合起来使用的怎么搞?

我现在的情况是,

1.在onLoad里面,先判断了 wx.getPrivacySetting,调用之后,如果res.needAuthorization为true,就调用了wx.saveImageToPhotosAlbum()方法,这个方法会触发到用户隐私那个授权要求,然后继续写了wx.onNeedPrivacyAuthorization事件,因为调用了wx.saveImageToPhotosAlbum()方法,所以wx.onNeedPrivacyAuthorization监听到了,然后我弹出了自己写的同意隐私保护的弹窗【代码见图1】,

2.【图2是我自己写的隐私弹窗】点击了同意按钮之后,<button  class="btn agree " id="agree-btn" open-type="agreePrivacyAuthorization" bindagreeprivacyauthorization="handleAgreePrivacyAuthorization">同意</button>,触发了this.resolvePrivacyAuthorization({})方法【见图3同意之后逻辑】,但是这时候弹出了一个我没写过的弹窗【见图4】,让我授权具体接口的功能,

3.我现在的问题是,我第一次同意了隐私协议不是已经告诉过平台用户同意了吗,怎么小程序还自动弹出一个授权具体接口功能的弹窗嘞,求大神解答

图1

图2

图3 同意隐私协议之后

图4 允许具体接口使用的弹窗

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

3 个回答

  • Jerry
    Jerry
    2023-09-08

     wx.getPrivacySetting拿掉吧,直接用wx.onNeedPrivacyAuthorization就行了

    2023-09-08
    有用 1
    回复 1
    • 海是岛思念的泪
      海是岛思念的泪
      2023-09-08
      但依然会弹两次窗,这样一开始的体验可能不是很好
      2023-09-08
      回复
  • 跨商通
    跨商通
    2023-09-08

    二选一。

    2023-09-08
    有用 1
    回复
  • BOBO
    BOBO
    2023-09-08

    在onLoad里面,先判断了 wx.getPrivacySetting,调用之后,如果res.needAuthorization为true(表示需要授权),此时不要继续原来的业务。直接弹框隐私弹框,用户同意后,所有隐私接口都同意授权了。后续直接调用隐私接口就行。

    -----------------

    而且也不需要每个页面都加。你可以试试在登录流程和登录后的各个tab页面用这个逻辑。主动弹框。后续各个子页面就不用处理了

    2023-09-08
    有用 1
    回复 6
    • 海是岛思念的泪
      海是岛思念的泪
      2023-09-08
      那也就是说压根不用wx.onNeedPrivacyAuthorization方法吗
      2023-09-08
      回复
    • 海是岛思念的泪
      海是岛思念的泪
      2023-09-08
      我之前就是直接弹框隐私弹框,就没用到wx.onNeedPrivacyAuthorization方法,但是问题是,用户点了同意,平台怎么知道用户点击了同意啊
      2023-09-08
      回复
    • BOBO
      BOBO
      2023-09-08回复海是岛思念的泪
      你看官方的demo1..用户点击同意按钮 会触发方法,告知微信的。包括同意按钮的ID都有约定
      2023-09-08
      回复
    • BOBO
      BOBO
      2023-09-08回复海是岛思念的泪
      wx.onNeedPrivacyAuthorization不是不能用。要看场景。
      wx.onNeedPrivacyAuthorization的触发是:某用户主动触发了隐私接口,此时官方如果判断用户没有授权过。就暂停隐私接口响应,先去调用触发页面JS里的wx.onNeedPrivacyAuthorization方法。如果有,这个逻辑里应该是弹框。如果页面没有这个方法,隐私接口不会响应了。
      2023-09-08
      回复
    • 海是岛思念的泪
      海是岛思念的泪
      2023-09-08
      我看了demo,他也就是在同意的时候比我那时候写多了个 this.triggerEvent(“agree”)方法,我现在也这样改了,按照你上面写的方法,用户同意了之后,开始下载图片了,但依然会自动弹出上面图4的提示弹窗
      2023-09-08
      回复
    查看更多(1)
登录 后发表内容