微信小程序添加用户隐私保护指引

前段时间不知道大家有没有发现很多小程序都添加了用户隐私保护提示,这是因为微信官方为规范开发者的用户个人信息处理行为,保障用户合法权益,小程序、插件中涉及处理用户个人信息的开发者,均需补充相应用户隐私保护指引。那么如何添加用户保护指引提示呢?相信大家已经到微信官方文档上查看了,那么如果想更快的实现一个基础版的,可以参考下面的操作,欢迎大家讨论指正。

一、官方介绍

在这里插入图片描述

二、实现效果

在这里插入图片描述

三、实现步骤

在小程序的pages文件路径下创建的component文件夹,创建privacyPopup文件夹,依次创建privacyPopup.js、privacyPopup.wxml、privacyPopup.json、privacyPopup.wxss:
在这里插入图片描述

privacyPopup.js

const app = getApp();

let privacyHandler
let privacyResolves = new Set()
let closeOtherPagePopUpHooks = new Set()

wx.onNeedPrivacyAuthorization(resolve => {
  if (typeof privacyHandler === 'function') {
    privacyHandler(resolve)
  }
})

const closeOtherPagePopUp = (closePopUp) => {
  closeOtherPagePopUpHooks.forEach(hook => {
    if (closePopUp !== hook) {
      hook()
    }
  })
}


Component({
  data: {
      title: "用户隐私保护提示",
      desc1: "感谢您参与本活动,您参与本活动前应当阅读并同意",
      urlTitle: "《用户隐私保护指引》",
      desc2: "当您点击同意并开始使用产品服务时,即表示你已理解并同意该条款内容,该条款将对您产生法律约束力。如您拒绝,将无法进入活动。",
      innerShow: false,
      height: 0,
  },
  lifetimes: {
    attached: function() {
      const closePopUp = () => {
                this.disPopUp()
              }
              privacyHandler = resolve => {
                privacyResolves.add(resolve)
                this.popUp()
                // 额外逻辑:当前页面的隐私弹窗弹起的时候,关掉其他页面的隐私弹窗
                closeOtherPagePopUp(closePopUp)
              }
             closeOtherPagePopUpHooks.add(closePopUp)
              this.closePopUp = closePopUp
    },
        detached: function() {
            closeOtherPagePopUpHooks.delete(this.closePopUp)
          }
  },
  methods: {
      handleAgree(e) {
        this.disPopUp()
        // 这里演示了同时调用多个wx隐私接口时要如何处理:让隐私弹窗保持单例,点击一次同意按钮即可让所有pending中的wx隐私接口继续执行 (看page/index/index中的 wx.getClipboardData 和 wx.startCompass)
        privacyResolves.forEach(resolve => {
          resolve({
            event: 'agree',
            buttonId: 'agree-btn'
          })
        })
        privacyResolves.clear()
    },
    handleDisagree(e) {
      this.disPopUp()
      privacyResolves.forEach(resolve => {
        resolve({
          event: 'disagree',
        })
      })
      privacyResolves.clear()
    },
    popUp() {
      if (this.data.innerShow === false) {
        this.setData({
          innerShow: true
        })
      }
    },
    disPopUp() {
      if (this.data.innerShow === true) {
        this.setData({
          innerShow: false
        })
      }
    },
    openPrivacyContract() {
      wx.openPrivacyContract({
        success: res => {
          console.log('openPrivacyContract success')
        },
        fail: res => {
          console.error('openPrivacyContract fail', res)
        }
      })
    }
  }
})

privacyPopup.wxml

<view wx:if="{{innerShow}}" class="mask"></view>
<view wx:if="{{innerShow}}" class="weui-half-screen-dialog" style="position: fixed;  bottom:{{height}}px;z-index: 100" >
    <view class="weui-half-screen-dialog__hd">
          <text class="weui-half-screen-dialog__title">{{title}}</text>
    </view>
    <view class="weui-half-screen-dialog__bd">
        <view class="weui-half-screen-dialog__tips">{{desc1}}</view>
        <view class="weui-half-screen-dialog__tips" style="color:#576B95" bindtap="openPrivacyContract">{{urlTitle}}</view>
        <view class="weui-half-screen-dialog__tips">{{desc2}}</view>
    </view>
    <view class="weui-half-screen-dialog__ft">
      <view class="weui-half-screen-dialog__btn-area">
        <button id="disagree-btn"
          type="default"
          class="weui-btn"
          bindtap="handleDisagree"
        >不同意</button>
        <button id="agree-btn"
          type="primary"
          open-type="agreePrivacyAuthorization"
          class="weui-btn"
          bindagreeprivacyauthorization="handleAgree"
        >同意并继续</button>
      </view>
    </view>
  </view>

privacyPopup.json

{
    "component": true,
    "usingComponents": {}
}

privacyPopup.wxss

样式可在文章上方下载。(包含所有组件)在这里插入图片描述

首页的index.wxml

<privacy-popup id="privacyPopup"></privacy-popup>

首页的index.js

	//监听页面加载
   onLoad: function (options) { 
		const _this=this;
		if (wx.getPrivacySetting) {
		        wx.getPrivacySetting({
		          success: res => {
		              if (res.needAuthorization) {
		                _this.isPrivacyAuthorize();
		              } else{
		                this.triggerEvent("agree")
		              }
		          },
		          fail: () => { },
		          complete: () => { },
		        })
		      } else {
		        // 低版本基础库不支持 wx.getPrivacySetting 接口,隐私接口可以直接调用
		        this.triggerEvent("agree")
		      }
	},
	isPrivacyAuthorize(){
      let privacyPopup=this.selectComponent('#privacyPopup');
      if (wx.requirePrivacyAuthorize) {
        wx.requirePrivacyAuthorize({
          success: res => {
            this.triggerEvent("agree")
          },
          fail: res => {
            privacyPopup.disPopUp();            
            setTimeout(()=>{
              this.isPrivacyAuthorize()
            },500)
          }
        })
      } else {
        // 低版本基础库不支持 wx.getPrivacySetting 接口,隐私接口可以直接调用
        this.triggerEvent("agree")
      }
  • wx.getPrivacySetting 接口,查询微信侧记录的用户是否有待同意的隐私政策信息。
  • wx.requirePrivacyAuthorize接口,模拟隐私接口调用,并触发隐私弹窗逻辑。
    这里的逻辑是当用户进入小程序首页时,判断用户是否需要同意隐私政策,如果需要就触发隐私弹框逻辑,用户点击了同意就关闭隐私政策弹框,继续使用小程序;如果用户点击了不同意,隐私政策弹框会再次弹出;如果用户已经同意过则不会触发隐私弹框逻辑。

首页的index.json

在首页的index.json中的usingComponents中添加隐私保护提示组件

{
  "usingComponents": {
    "privacy-popup": "../component/privacyPopup/privacyPopup"
  },
}

四、配置隐私协议

1、如果小程序不是通过第三方授权管理的,那么可根据微信小程序官方隐私指引填写说明进行配置。
2、如果小程序是由第三方授权管理的,那么可以使用微信第三方配置
3、我开发的小程序也是由第三方授权管理的,下面是我根据官方说明的操作,可以参考:

使用微信的api调试工具
在这里插入图片描述

请求参数

详情请查看第三方配置,下面是我简化了一些不必要参数:

{
	"privacy_ver": 2,
	"setting_list": [
		{
			"privacy_key": "UserInfo",
			"privacy_text": "记录活动用户信息、执行后续营销服务等相关事宜"
		},	{
			"privacy_key": "PhoneNumber",
			"privacy_text": "执行活动奖品寄送、后续营销服务等相关事宜"
		},
		{
			"privacy_key": "ClipboardData",
			"privacy_text": "用于复制卡券类奖品的卡券号,以方便用户在领取卡券后输入卡券号"
		}
		
	],
	"owner_setting": {
		"contact_phone": "",
		"contact_email": "邮箱",
		"contact_qq": "",
		"contact_weixin": "",
		"store_expire_timestamp": "",
		"ext_file_media_id": "",
		"notice_method": "通过弹窗",
		"store_region": 0
	},
	"sdk_privacy_info_list": [
		
	]
}

在这里插入图片描述
请求成功后就可以在真机调试时查看效果。

效果

"setting_list"参数中配置的就是下面隐私保护指引内容中标红的文字描述。
在这里插入图片描述

以上就是微信小程序添加用户隐私保护指引的整个操作过程,隐私保护提示框组件在文章标题下方可自行下载使用,如有不足请指出。
在这里插入图片描述

  • 27
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
TECHNOLOGY AND INFORMATION 科技论坛 科学与信息化2021年4月中 181 大数据时代下的个人数据隐私保护分析 李金华1 朱京城2 1. 中国信息通信研究院 北京 100000; 2. 恒利德(天津)科技有限公司 天津 300000 摘 要 大数据时代的个人隐私具有形式多样化、可识别性强、容易暴露且价值性高的特点,在大数据互联网给人提 供便利的同时,一些信息安全泄露事件也随之发生。因此,如何防止个人隐私泄露、保护用户的隐私权利,是大数 据时代的当务之急。 关键词 大数据;数据隐私;保护策略 1 数据隐私泄露带来的危害 (1)个人层面,用户的基本身份信息包括一些敏感信息 就会暴露于网络之中。严重的会威胁到人身财产安全。在最近 几年里发生的数据隐私泄露事件数不胜数。不法分子会通过各 种途径收集用户个人隐私来进行非法活动,其中电信诈骗、网 络诈骗等手段极其常见。同样的数据隐私的泄露还会带来一些 用户思想上的影响,有些不法分子会根据得到的数据分析用户 并进行思想上的错误指引。 (2)社会层面,一些不法分子会侵入一些政府部门搜集 一些数据从而来进行非法活动,政府部门数据的流失会使整个 部门甚至地区遭到不同程度的威胁。对于一些企业来说,数据 的泄露面临的将是无法挽回的损失。近年来大数据发展迅速, 大数据体系越来越庞大,因此需要有严密的计算机来进行数据 保护与存储。但是在数据存储过程中,数据大部分都会储存在 所设立的数据库中,如果数据库保护稍加不慎就会带来数据的 大量流失与暴露。因此网络安全事件的发生也越来越多,造成 财产的大量流失以及对用户的思想造成了一定的影响[1]。 2 大数据环境中对个人隐私泄漏原因 2.1 数据公开是导致隐私泄漏的最大风险 数据的价值体现在数据公开化,如果只是为了防止信息的 泄露而将数据隐藏起来,那么数据的价值将大打折扣。例如, 政府机构通过大数据可以了解整个国民经济的发展情况,更好 地对宏观经济进行调控。再如,企业通过大数据可以掌握用户 的需求,从而决定企业的经营方向,赚取更大的经济效益。但 是大量的公开数据不能疏于监管,否则将导致用户隐私泄漏风 险的加剧。 2.2 数据累积和关联是导致隐私泄漏的主要因素 大数据时代,在登录网站、社交平台、购物平台,甚至是 行走时会留下许多个人信息数据痕迹。将这些数据痕迹累积起 来加以整理、归纳、分析,它们之间的关联性会赫然显现,这 就造成了个人数据信息的泄露。所以,大数据时代应该以不暴 露个人隐私数据为前提,对数据进行有效挖掘和筛选,创建信 息安全的技术手段和方法。 2.3 社会个人隐私保护意识调查 在大数据条件下如何保护好每个人的隐私,单靠现有制度 或措施是不够的。面对某些机构擅自将个人信息进行利用和共 享时,大部分用户会认为其窥探了个人隐私,机构的这种行为 侵犯了个人隐私权,应负法律责任。还有绝大部分人认为,当 前政府对个人隐私保护不利,起不到防范的作用。因此,国家 在个人隐私纠纷的法律层面还有待完善,应出台相关的法律, 对个人隐私进行有效的保护[2]。 3 个人数据隐私保护策略 3.1 建立健全法律法规,建立网络监管执法机构 国家应该建立健全网络安全法律法规,确保网络、机构、 企业和个人的网络安全。近年来,网络发展日新月异,立法跟 不上网络发展的速度是导致网络安全和个人隐私泄露而受到侵 害的主要原因。所以,针对大数据时代下的网络信息安全,国 家应建立健全法制法规,建立网络安全机构,对政府、企业和 个人信息进行保护,对违法搜集个人信息、利用个人信息从事 违法行为的集体或者个人进行严厉的打击,保护个人隐私不被 泄露。 3.2 企业应增强网络安全意识,做网络维稳的守护者 企业的信息安全关系到企业生存和发展,企业的商业信息 和经营决策是企业经营的命脉。这些重要的信息一旦泄露对企 业将造成严重的后果。大数据背景下的信息时代,网络安全维 稳是企业战略发展的重要环节。企业应利用科技手段增强内部 网络的防御能力,使企业内部网络不受侵害。同时,还要培养 员工网络安全意识和企业责任感,谨防泄密给企业造成不可挽 回的重大损失。 3.3 个人隐私安全防护意识是网络安全的重要环节 为了个人隐私保护可以尽量使自己的敏感信息不暴露于网 络中,比如在通信软件中对于QQ空间朋友圈等设置密码处理。 在网络评论发表个人见解使用匿名处理。不要点击不知晓的网 站链接,不要在陌生的链接内填写任何的个人信息等。对于敏 感数据可以进行加水印处理,只能通过特殊操作查看原来信 息。在现如今这个网络普及的时代,应该不断去提高自身的网 络安全保护意识,智慧运用大数据、适应大数据,才能使大数 据发挥到理想的作用。 在平常进行数据传输中,如果信息较为重要,可以进行加 密处理,将密文发送。这样就算数据被中途

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值