uniapp微信小程序用户隐私保护

news/2024/7/20 3:59:22 标签: uni-app, 微信小程序, 小程序
使用wx.requirePrivacyAuthorize实现小程序>微信小程序用户隐私保护。

一、前言

小程序>微信小程序官方出了一个公告《关于小程序隐私保护指引设置的公告》。不整的话,后果很多授权无法使用,详见《小程序用户隐私保护指引内容介绍》 。

二、隐私相关设置

1、在 小程序>微信小程序后台的【设置】- 【服务内容与声明】 ,设置好用户隐私保护指引。

2、打开uniapp 项目的 manifest.json ,选择【源码视图】, 添加配置如下配置

"mp-weixin": {
    "__usePrivacyCheck__": true, //隐私政策
 },

3、设置微信开发者工具的调试基础库,最好>=2.33.0

 

三、解决方案

1.弹窗方案

1)验证用户是否已经隐私授权

使用wx.requirePrivacyAuthorize() 接口,验证用户之前已经同意过隐私授权

onReady() {
	var _this = this;
			
	// 隐私政策
	wx.getPrivacySetting({
		success: res => {
			// 返回结果为: res = { needAuthorization: true/false, privacyContractName: '《xxx隐私保护指引》' }
			console.log(res)
			if (res.needAuthorization) {
				// 需要弹出隐私协议
				_this.$refs.privacy.privacyShow = true;
				return;
			} else {
				// 用户已经同意过隐私协议,所以不需要再弹出隐私协议,也能调用隐私接口
			}
		},
		fail: () => {},
		complete:() => {}
	})
},

2)组件引入

<template>
	<view>

        <!-- 用户隐私保护指引弹窗租金 -->
        <UserPrivacy ref="privacy"></UserPrivacy>

	</view>
</template>

<script>
import UserPrivacy from "@/components/user/userPrivacy.vue";

export default {
    components: {
	    UserPrivacy
    },
	data() {
		return {
			// 隐私设置弹窗开关
			privacyShow: false,
		}
	},
	onReady() {},
	methods: {
		// 打开隐私协议
		openClick() {
			wx.openPrivacyContract({
				success: () => {}, // 打开成功
				fail: () => {}, // 打开失败
					complete: () => {}
			})
		},
			
		// 同意
		agreeClick() {
			// 用户点击了同意,之后所有已声明过的隐私接口和组件都可以调用了
			this.privacyShow = false;
		},

	}
}
</script>

3)弹窗效果图

tips:下载组件,见顶部资源。

2.跳转页面方案

1)在app.json文件中添加页面路由。

其中privacy属性指向的是隐私政策页面的路径。如果用户在打开小程序时,没有进行隐私授权,将自动跳转到该隐私政策页面。

{
	"path": "pages/privacy/privacy",
	"style": {
		"navigationBarTitleText": "用户隐私保护"
	}
}, 
 

2)在隐私政策页面的privacy.vue文件中,展示隐私政策的内容。 

使用wx.openPrivacyContract获取隐私政策的内容。

wx.openPrivacyContract({
	success: () => {}, // 打开成功
	fail: () => {}, // 打开失败
	complete: () => {}
})

3)验证用户是否已经隐私授权

使用wx.requirePrivacyAuthorize接口,验证用户之前已经同意过隐私授权。

onReady() {
	var _this = this;
			
	// 隐私政策
	wx.getPrivacySetting({
		success: res => {
			// 返回结果为: res = { needAuthorization: true/false, privacyContractName: '《xxx隐私保护指引》' }
			console.log(res)
			if (res.needAuthorization) {
				// 跳转隐私内容页面
				uni.navigateTo({
					url: '/pages/privacy/privacy'
				})
				return;
			} else {
				// 用户已经同意过隐私协议,所以不需要再弹出隐私协议,也能调用隐私接口
			}
		},
		fail: () => {},
		complete:() => {}
	})
},

四、思路总结

在以上代码中,我们通过调用wx.navigateTo方法打开隐私政策页面。如果用户已经进行过隐私授权,那么页面将会自动跳转回之前的页面;如果用户未进行隐私授权,那么将会跳转到隐私政策页面进行授权操作。

通过使用wx.requirePrivacyAuthorize方法实现小程序>微信小程序隐私政策,可以保障用户的隐私安全。开发者可以根据具体情况在相应的页面中进行调用,实现对隐私政策的授权管理。


http://www.niftyadmin.cn/n/4989972.html

相关文章

计算机网络 | TCP 三次握手四次挥手 |半关闭连接

本来是不愿意写的&#xff0c;可是在实际场景&#xff0c;对具体的描述标志还是模糊不清&#xff0c;基础不扎实&#xff0c;就得承认&#xff01;&#xff01;&#xff01; TCP 连接建立需要解决三大问题&#xff1a; 知道双方存在约定一些参数&#xff0c;如最大滑动窗口值、…

Linux(centos) 下 Mysql 环境安装

linux 下进行环境安装相对比较简单&#xff0c;可还是会遇到各种奇奇怪怪的问题&#xff0c;我们来梳理一波 安装 mysql 我们会用到下地址&#xff1a; Mysql 官方文档的地址&#xff0c;可以参考&#xff0c;不要全部使用 https://dev.mysql.com/doc/refman/8.0/en/linux-i…

嵌入式行业——选择比努力重要

嵌入式开发可以说是一个较大的类别&#xff0c;也可以看作是应用技术的一种广义称谓。它在不同的工业和行业场景中应用不同的业务模式和领域。 举个例子&#xff0c;嵌入式技术结合基站通信技术&#xff0c;就构成了华为基站&#xff1b;嵌入式技术结合视频处理/图像处理技术&a…

04ShardingSphere-JDBC垂直分片

1、准备服务器 比如商城项目中&#xff0c;有用户、订单等系统&#xff0c;数据库在设计时用户信息与订单信息在同一表中。这里创建用户服务、订单服务实现数据库的用户信息和订单信息垂直分片 服务器规划&#xff1a;使用docker方式创建如下容器 服务器&#xff1a;容器名se…

书单制作方法详细步骤分享,想学的小伙伴看过来

如果你是一个热爱阅读的人&#xff0c;那么制作一份书单可能是一件有趣和有用的事情。在这篇文章中&#xff0c;我们将分享一些书单制作的方法和注意事项。 选择主题和书籍 首先&#xff0c;你需要选择一种主题&#xff0c;以便你可以按照主题来选择书籍。选择一个你感兴趣的主…

Flink SQL你用了吗?

分析&回答 Flink 1.1.0&#xff1a;第一次引入 SQL 模块&#xff0c;并且提供 TableAPI&#xff0c;当然&#xff0c;这时候的功能还非常有限。Flink 1.3.0&#xff1a;在 Streaming SQL 上支持了 Retractions&#xff0c;显著提高了 Streaming SQL 的易用性&#xff0c;使…

Apipost:API文档、调试、Mock与测试的一体化协作平台

随着数字化转型的加速&#xff0c;API&#xff08;应用程序接口&#xff09;已经成为企业间沟通和数据交换的关键。而在API开发和管理过程中&#xff0c;API文档、调试、Mock和测试的协作显得尤为重要。Apipost正是这样一款一体化协作平台&#xff0c;旨在解决这些问题&#xf…

恒运资本:意外!房地产板块风云突变

今天上午&#xff0c;A股震动调整&#xff0c;半导体工业链走强&#xff0c;光刻胶、国家大基金持股、先进封装等板块涨幅居前。 房地产板块开盘小幅冲高后忽然大跳水&#xff0c;之后继续跌落&#xff0c;到上午收盘&#xff0c;板块内逾30只个股跌超5%。珠江股份、首开股份、…