zero-privacy——uniapp小程序隐私协议弹窗组件

一. 引言

为规范开发者的用户个人信息处理行为,保障用户的合法权益,自2023年9月15日起,对于涉及处理用户个人信息的小程序开发者,微信要求,仅当开发者主动向平台同步用户已阅读并同意了小程序的隐私保护指引等信息处理规则后,方可调用微信提供的隐私接口。

公告地址:关于小程序隐私保护指引设置的公告
https://developers.weixin.qq.com/miniprogram/dev/framework/user-privacy/PrivacyAuthorize.html

接下来我们将打造一个保姆级的隐私协议弹窗组件

二. 开发调试基础

划重点,看文档,别说为什么没有效果,没有弹窗

1. 更新用户隐私保护指引

小程序管理员或开发者可以根据具体小程序涉及到的隐私相关接口来更新微信小程序后台的用户隐私保护指引,更新并审核通过后就可以进行相关的开发调试工作。仅有在指引中声明所处理的用户信息,才可以调用平台提供的对应接口或组件。若未声明,对应接口或组件将直接禁用。

审核时间有人说十几分钟,我自己的给大家参考一下。

审核通过!审核通过!审核通过后才可以开发调试。

2.配置调试字段 "__usePrivacyCheck__": true

  • 在 2023 年 9 月 15 号之前,在 app.json 中配置 "__usePrivacyCheck__": true 后,会启用隐私相关功能,如果不配置或者配置为 false 则不会启用。

  • 在 2023 年 9 月 15 号之后,不论 app.json 中是否有配置 usePrivacyCheck,隐私相关功能都会启用。

  • 所以在基于uni-app开发时,我们在 2023 年 9 月 15 号之前进行相关开发调试则需要在manifest.json文件mp-weixin中添加"usePrivacyCheck": true

  • manifest.json文件源码视图

 "mp-weixin" : {
          "__usePrivacyCheck__": true
    },

3. 配置微信开发工具基础库

将调试基础库改为3.0.0以上。具体路径为:
微信开发者工具->详情->本地设置->调试基础库

以上配置完成后,即可看看效果,我在小程序后台设置了剪切板的隐私接口,果然,已经提示没有隐私授权不能使用了。

三. zero-privacy组件介绍

组件下载地址: https://ext.dcloud.net.cn/plugin?name=zero-privacy

组件的功能和特点

  • 支持 居中弹出,底部弹出
  • 不依赖第三方弹窗组件,内置轻量动画效果
  • 支持自定义触发条件
  • 支持自定义主题色
  • 组件中最重要的4个api(只需用到前3个):
  • wx.getPrivacySetting 查询隐私授权情况 官方链接
  • wx.onNeedPrivacyAuthorization 监听隐私接口需要用户授权事件。 官方链接
  • wx.openPrivacyContract 跳转至隐私协议页面 官方链接
  • wx.requirePrivacyAuthorize 模拟隐私接口调用,并触发隐私弹窗逻辑 官方链接

四. zero-privacy组件使用方法

在uniapp插件市场直接下载导入 uni_modules 后使用即可

  1. 打开页面直接触发 (在小程序首页等tabbar页面直接处理隐私弹窗逻辑)
<template>
<!-- 有tabbar的页面 -->
	<view class="container">
	<!-- #ifdef MP-WEIXIN -->
		<zero-privacy :onNeed='false' :hideTabBar='true'></zero-privacy>
		<!-- #endif -->
	</view>
</template>

<!-- 没有tabbar的页面 -->
<template>
	<view class="container">
	<!-- #ifdef MP-WEIXIN -->
		<zero-privacy :onNeed='false'></zero-privacy>
		<!-- #endif -->
	</view>
</template>

需要重新触发可以 使用 ref 再次调用插件内的  checkPrivacySetting() 方法
  1. 按需触发 (在页面点击某些需要用到隐私协议后处理隐私弹窗逻辑)
<template>
	<view class="container">
		<view class="btn" @click="handleCopy">
			复制
		</view>
		<!-- #ifdef MP-WEIXIN -->
		<zero-privacy></zero-privacy>
		<!-- #endif -->
	</view>
</template>
  1. 自定义内容使用
<template>
	<view class="container">
	<!-- #ifdef MP-WEIXIN -->
		<zero-privacy title="测试自定义标题" predesc="协议前内容" privacy-contract-name-custom="<自定义名称及括号>" subdesc="协议后内容协议后内容协议后内容.&#10;主动换行"></zero-privacy>
	<!-- #endif -->
	</view>
</template>
  1. 进阶使用
<template>
	<view class="container">
		<!-- #ifdef MP-WEIXIN -->
		<zero-privacy @needAuthorization='handleNeedAuthorization' @agree='handleNeedAuthorization(false)'></zero-privacy>
		<!-- #endif -->
	</view>
</template>

<script setup>
	const handleNeedAuthorization=(val)=>{
		console.log('是否需要授权',val);
		// false便是已经授权过,或者无需授权
		if(!val){
			// 无需授权,直接执行业务,同理,点击同意也是执行下面的业务
		}
	}
</script>	

四. 参数说明

参数类型默认值描述
positionStringcenter可选 bottom,从底部弹出
colorString#0396FF主颜色: 协议名和同意按钮的背景色
bgcolorString#ffffff弹窗背景色
onNeedBooleantrue使用到隐私相关api时触发弹窗,设置为false时初始化弹窗将判断是否需要隐私授权,需要则直接弹出
hideTabBarBooleanfalse是否需要隐藏tabbar,在首页等tabbar页面使用该弹窗时建议改为true
titleString#ffffff用户隐私保护提示
predescString使用前请仔细阅读协议名称的内容
subdescString当您点击同意后,即表示您已理解并同意该条款内容,该条款将对您产生法律约束力。如您拒绝,将无法使用该服务。协议名称的内容
privacyContractNameCustomString‘’自定义协议名称,不传则由小程序自动获取
agreeBtnTextString同意同意按钮文案
disagreeBtnTextString拒绝拒绝按钮文案
predescsubdesc 的自定义内容,需要主动换行时在内容中添加实体字符 &#10; 即可

event

参数描述
agree同意协议
disagree点击拒绝,可以自行处理退出小程序等操作
needAuthorization获取当前是否需要授权,false便是不需要,true表示需要

六. zero-privacy组件运行效果

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
zero-riscy是一种基于RISC-V架构的处理器设计。RISC-V是一个开源指令集架构,相较于传统的复杂指令集架构(CISC),它更加精简和高效。zero-riscy是一个采用了RISC-V指令集的微处理器核心。 zero-riscy的设计目标是在保持性能的同时,尽可能的减少硬件资源和功耗。它采用了经典的五级流水线架构,并且在流水线中实现了指令级并行处理。此外,zero-riscy还采用了一些优化技术,例如指令预取、分支预测和数据前推等,以提高处理器的性能。 zero-riscy不仅仅是一个处理器核心的设计,它还提供了一整套开发工具和支持软件,使得开发者可以方便地进行软硬件系统的开发。这些工具包括编译器、模拟器、调试工具等。开发者可以使用这些工具将他们的应用程序编译成zero-riscy的指令集,并在模拟器上进行调试和性能优化。 由于zero-riscy是基于RISC-V架构的开源设计,它也在学术界和业界广泛使用。教育机构可以利用它来进行计算机体系结构的教学,研究机构可以使用它来进行新的处理器技术的研究,而企业可以将它作为嵌入式系统的核心来构建产品。 总之,zero-riscy是一种基于RISC-V架构的高性能、低功耗的处理器设计,它提供了一整套开发工具和支持软件,方便开发者进行软硬件系统的开发。它不仅仅是一种处理器核心的设计,同时也是一种开放、可扩展的平台,被广泛应用于学术界和工业界。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值