Taro 老版本开发添加微信小程序隐私保护指引

359 阅读2分钟
   Taro 最新的版本已经做了兼容处理,但需要同时更新taro-cli及项目到当前最新版本v3.6.15;
   由于开发环境限制导致项目无法升级固采用兼容处理,具体步骤如下:
  1.确定使用场景:项目全局弹窗还是采用使用才进行弹窗提示 
   2.本项目采用局部提示: 
     2.1 项目准备,开发者需在「小程序管理后台」设置《小程序用户隐私保护指引》;填写《小程序用户隐私保护指引》;配置用户隐私授权弹窗;如要进行代码提审,开发者需先自行声明是否有采集用户隐私,如有,则需在提审页面-「用户隐私保护设置」选择“采集用户隐私”;待审核通过后即刻进行调试。 
    2.22023-09-15前需要在app.config.js中添加 __usePrivacyCheck__:true;9-15后不需要啦 
   3.隐私协议涉及到的四个api及使用时机: 
    3.1 获取隐私协议的名称及是否需要授权:wx.getPrivacySetting({});注意传入的是对象 
    3.2 注册隐私接口事件回调 :wx.onNeedPrivacyAuthorization(); 注意此处是事件回调,执行时机为当调用涉及微信隐私接口的api时,微信主动回调该接口,并非程序主动执行 
     3.3 打开微信隐私协议: wx.openPrivacyContract(); 此api可关联wx.getPrivacySetting({})使用,使得协议名称实现部分动态化
      3.4 验证用户之前已经同意过隐私授权:wx.requirePrivacyAuthorize(); 如想将隐私弹窗验证提前或为了达到微信隐私协议与小程序项目自有协议一同展示等场景可主动调用,其他场景暂未想到 
   4.最重要的,由于未进行taro升级,固使用了添加插件的方式来进行开发 
   首先添加插件依赖"@tarojs/plugin-inject": "^3.6.16"; --------------> npm i @tarojs/plugin-inject -D 
   其次在config/index.js 添加插件依赖 plugins: [ '@tarojs/plugin-sass', [ "@tarojs/plugin-inject", { components: { Button: { bindagreeprivacyauthorization: "" // 这个必须要写,不然不触发回调 } } } ] ],
    这样就可用使用啦,onAgreePrivacyAuthorization 回调触发, 使用Button: 同意后回调resolvePrivacyAuthorization({buttonId: 'agree-btn', event: 'agree'});

该回调resolvePrivacyAuthorization方法在调用onNeedPrivacyAuthorization(fn)时保存,在同意时回调