评论

关于新版隐私协议接口wx.onNeedPrivacyAuthorization的适配解读以及实现代码

关于新版隐私协议接口wx.onNeedPrivacyAuthorization的适配解读以及实现代码

官方公告地址:

https://developers.weixin.qq.com/community/develop/doc/00042e3ef54940ce8520e38db61801

目前,开发工具或者体验版的小程序,调试基础库如果是2.33.0及以上就得适配了,线上版本9月15日之后生效,所以这之前需要尽快改完,发布一版,否则到了9月15号之后 线上就会生效报错了。

其实改起来也很简单,以下是实现步骤和代码:

1、首先看一下这个网址,里边包含涉及到的隐私的接口,这些接口都要适配一下

https://developers.weixin.qq.com/miniprogram/dev/framework/user-privacy/miniprogram-intro.html

在以上接口用到的页面,需要画一下类似上边的弹窗(这个弹窗可以全局定义个组件,方便多个页面共用),然后里边蓝字可以点击后调用wx.openPrivacyContract(Object object)接口即可,会自动跳转打开隐私协议页面。

拒绝按钮可以加一个点击事件,然后在事件里这样写

同意按钮比较特殊,布局需要用button这样写,记得给button加一个Id

然后在handleAgreePrivacyAuthorization里就可以获取到点击事件,这样写

2、最后需要在onLoad或者onShow里加上以下监听代码,在这里边让自定义的隐私弹窗显示出来即可。


以上代码加上就可以了,如果业务逻辑用到了需要判断是否授权过,可以加上 wx.getPrivacySetting(Object object)去获取是否授权过,用不到可以不加这个判断。

最后一次编辑于  2023-08-16  
点赞 28
收藏
评论

84 个评论

  • 陈同学
    陈同学
    2023-08-16

    this.resolvePrivacyAuthorization 这个会报错

    2023-08-16
    赞同
    回复 4
    • 陈同学
      陈同学
      2023-08-16回复一笑皆春
      这么说我几十个页面,每个页面都得引用一下这个弹窗?
      2023-08-16
      回复
    • 看客心
      看客心
      2023-08-16回复陈同学
      我也在想这个问题,一次授权后,其他页面如果用到类似的隐私接口是不是都要加弹框去确认
      2023-08-16
      回复
    • 陈同学
      陈同学
      2023-08-16回复一笑皆春
      能不能把onNeedPrivacyAuthorization逻辑写在app.js里面,然后其他用到隐私接口的页面只负责弹窗?写在app.js里面能检测到吗?
      2023-08-16
      回复
    • 夏味
      夏味
      2023-08-16回复陈同学
      只能写在 app.js 里
      2023-08-16
      回复
  • z
    z
    2023-08-16

    可以可以

    2023-08-16
    赞同
    回复
  • 夏味
    夏味
    2023-08-16

    官方文档里,同意和拒绝都需要 resolve buttonId

    2023-08-16
    赞同
    回复 2
    • 夏味
      夏味
      2023-08-16回复一笑皆春
      你看这个文档明确写了需要,现在没法儿测试。等可以测试了,我也补充下写一篇
      2023-08-16
      回复
    • 冷暖自知🍃
      冷暖自知🍃
      2023-08-16
      为啥我根据官方文档 删除测试 根本不管用呢?
      2023-08-16
      回复
  • Always Online
    Always Online
    2023-08-16

    目前不写弹窗也能用,是为啥

    2023-08-16
    赞同
    回复

正在加载...

登录 后发表内容