用空闲时间做了一个小程序-用户隐私协议

一直在摸鱼中赚钱的大家好呀~


大家一定都有收到关于微信小程序隐私保护指引设置的公告。涉及处理用户个人信息的小程序,需通过弹窗等明显方式提示用户阅读隐私政策等收集使用规则。说白了就是要需要用户明确同意用户隐私协议才能调用微信提供的部分接口。 这是在变着法的让我迭代开发的小程序啊,为了能让用户能正常使用只能浅做一下。本来这部分内容是和上一篇的小程序的文章写在一起,但是怕篇幅太长所以拆开写了。

根据微信小程序官方文档,咱们可以知道在小程序的按钮组件上的open-type属性增加了一个agreePrivacyAuthorization的值,当设置了这个属性的按钮被用户点击了就能正常使用到涉及到的相关接口,除了下图中展示的还有文件上传等接口。

首先需要到微信公众平台-设置-服务内容声明中更新用户隐私保护指引,将需要使用到的接口都申明出来,然后提交审核。我这边只用到了用户信息和剪切板。审核通过之后并不会直接就能使用,还需要时间同步:[fail api scope is not declared in the privacy agreement]遇到了这个问题的话,稍微等等。

我的实现的思路是通过wx.getPrivacySettingAPI判断用户是否需要授权,如果需要则弹出隐私协议的弹窗,让用户点击已经设置了 open-type="agreePrivacyAuthorization" 的按钮组件,点击完成之后就可以关闭弹窗。相关接口用户也就可以正常使用了。

当然也是可以通过wx.onNeedPrivacyAuthorizationAPI来监听用户使用到相关API来弹出隐私协议弹窗让用户来点击。贴出我的相关代码

js 复制代码
Component({
  options: {
    addGlobalClass: true
  },
  properties: {
  },
  data: {
    title: '隐私协议',
    value: `根据微信用户隐私保护协议规定,需要你同意相关隐私协议才能继续部分功能!同意过后:\n·\t可以使用你的相册(仅写入)权限进行图片保存\n·\t可以收集你的微信昵称、头像\n·\t可以收集你选中的照片或视频信息进行上传\n·\t可以取你的剪切板进行内容复制`,
    show: false
  },
  lifetimes: {
    attached: function() {
      wx.getPrivacySetting({
        success: (res) => {
          if (res.needAuthorization) {
            this.popupHandle()
          }
        }
      })
      this.listenHandle()
    }
  },
  methods: {
    popupHandle() {
      this.setData({
        show: !this.data.show
      })
    },
    listenHandle() {
      if (wx.onNeedPrivacyAuthorization) {
        wx.onNeedPrivacyAuthorization((resolve, eventInfo) => {
          this.popupHandle()
          this.resolvePrivacyAuthorization = resolve
        })
      }
    },
    agreeHandle() {
      if (this.resolvePrivacyAuthorization) {
        this.resolvePrivacyAuthorization({ buttonId: 'agree-button', event: 'agree' })
      }
      this.popupHandle()
    }
  }
})

让人气愤的是急急忙忙的做好了隐私协议相关的内容,于9月14日微信又发布了个通知说不用改也能兼容,你说气人不气人!

感谢大家观看我今日的水文,文笔实在是不行,欢迎鱼友们给小程序提提意见,或者有什么有趣的想法也可以与楼主提一提。最后希望大家到我的小程序来多坐坐。

最后的最后,如果觉得文章不错的话,可以给小生的几个开源项目点个Star⭐!

相关推荐
沧沧凉凉12 分钟前
两个小时,AI 把我 2018 年那个 Unity 版保卫萝卜搬进了浏览器
前端·游戏·ai编程
薄雾晚晴24 分钟前
大模型Skill暴论:所有Skill终将消亡?最新Skill方法论与模型增强开发实战
前端·后端·架构
绝世唐门三哥24 分钟前
Git - git stash 语法演进与实战指南
前端·git
胖少年35 分钟前
Vitest 5 正式发布实测:Node 22 起步、expect 内联、poll 超时会挂,3.8 亿月下载量的测试框架本周换代
javascript
神膘护体小月半41 分钟前
mask 渐变遮罩属性
前端·css·css3
bug总结41 分钟前
uniapp 微信小程序请求规范
微信小程序·小程序·uni-app
梨想橙汁1 小时前
Webpack 快速上手:前端工程化、打包原理、从零搭建基础项目
前端·webpack·前端工程化
zhanghaha13141 小时前
HTML系列教程:12_HTML 表格 <table> 零基础详解
前端·html
Betterme1 小时前
Vue3 竞态请求防护组合式hooks:useLatestRequest 设计思路
前端
_zhourui_h_1 小时前
一个 [ECS] 到底生成了多少代码?EasyECS 最核心的秘密都在这里
前端