[uni-app]微信小程序隐私保护指引设置的处理记录

这篇具有很好参考价值的文章主要介绍了[uni-app]微信小程序隐私保护指引设置的处理记录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

微信幺蛾子

关于小程序隐私保护指引设置的公告
一切的起因就是上面这则公告. 2023年9月15日后
自2023年9月15日起,对于涉及处理用户个人信息的小程序开发者,微信要求,仅当开发者主动向平台同步用户已阅读并同意了小程序的隐私保护指引等信息处理规则后,方可调用微信提供的隐私接口。

有过APP开发,尤其是安卓开发的都知道, 这玩意就是学着安卓的隐私授权来的.

资料搜集

网上资料千千万, 这里放几个比较有价值的帖子或链接

1.一张图搞懂隐私协议
2.ws-wx-privacy 微信隐私保护弹出框 隐私协议弹出框 插件
3.原生小程序&UNIAPP开发添加​隐私弹窗教程
4.小程序隐私保护授权处理方式之弹窗组件

其实看1就足够, 2是一个插件,使用也简单

关键信息

上面资料里面说的算是比较详细了,这里不多废话了
这里着重提几个关键点

0.弹框是不是每次都要弹? – 不是,只要授权过即可,下次不会也不必再弹框

1.怎么触发弹框? – wx.getPrivacySetting(Object object)来触发

2.怎么处理上报? – type="agreePrivacyAuthorization" 来负责记录上报

		<button class="is-agree" id="agree-btn" open-type="agreePrivacyAuthorization"
					@agreeprivacyauthorization="handleAgree">
					同意并继续
				</button>

3.怎么退出小程序or 为啥退出不了小程序 –
wx.exitMiniProgram为什么不会生效?

4.怎么打开隐私协议? – 调用wx.openPrivacyContract()即可,会自动跳转
前提你必须在小程序后台配置好隐私信息,且审核通过,

5.基础库2.32.3 与pc端兼容的问题 - 低于2.32.3可以不用管隐私授权,高于2.32.3的微信基础库版本,!!!才需要兼容
(这里坑最大… 很多人遇到了pc端无法处理的困难, pc端的基础库大概在2.xx

[uni-app]微信小程序隐私保护指引设置的处理记录,uni-app,微信小程序,notepad++
)
简单来说就是, 你的小程序,对2.32.3以上的版本 , 做隐私授权检测即可, 低于这个版本的, 完全可以继续使用
[uni-app]微信小程序隐私保护指引设置的处理记录,uni-app,微信小程序,notepad++

[uni-app]微信小程序隐私保护指引设置的处理记录,uni-app,微信小程序,notepad++


==TMD的微信,这么重要的信息不应该直接写在公告里面? ==

思路处理

项目中采用的方案一:
优点是 逻辑简单/代码不复杂
[uni-app]微信小程序隐私保护指引设置的处理记录,uni-app,微信小程序,notepad++

代码实现

弹窗组件代码
在uni-app中创建easy-components

<template>
	<u-popup v-model="show" mode="center" border-radius="14">
		<view class="ws-privacy-popup">
			<view class="ws-privacy-popup__header">
				<view class="ws-picker__title">用户隐私保护提示</view>
			</view>
			<view class="ws-privacy-popup__container">
				<text>感谢您使用本应用,您使用本应用的服务之前请仔细阅读并同意</text>
				<text class="ws-privacy-popup__container-protocol"
					@click="openPrivacyContract">《xxxx小程序隐私保护指引》</text>
				<text>。当您点击同意并开始使用产品服务时,即表示你已理解并同意该条款内容,该条款将对您产生法律约束力。如您拒绝,将无法使用相应服务。</text>
			</view>
			<view class="ws-privacy-popup__footer">
				<button class="is-agree" id="agree-btn" open-type="agreePrivacyAuthorization"
					@agreeprivacyauthorization="handleAgree">
					同意并继续
				</button>
				<button class="is-disagree" id="disagree-btn" @click="handleDisagree">
					不同意
				</button>
			</view>
		</view>
	</u-popup>
</template>

<script>
	export default {
		name: "privacyWxPop",
		props: {
			show: {
				type: Boolean,
				default: false
			}
		},
		data() {
			return {};
		},
		mounted() {},
		methods: {
			handleAgree() {
				this.$emit("handleAgree")
				this.$emit("update:show", false)

			},
			handleDisagree() {
				uni.exitMiniProgram({
					success: () => {
						console.log("exit success")
					}
				})
				this.$emit("update:show", false)
			},
			/**
			 * 打开隐私协议
			 */
			openPrivacyContract() {
				wx.openPrivacyContract({
					success: (res) => {
						console.log('openPrivacyContract success')
					},
					fail: (res) => {
						console.error('openPrivacyContract fail', res)
					}
				})
			},
		}
	}
</script>

<style lang="scss" scoped>
	.ws-privacy-popup {
		width: 600rpx;
		padding: 48rpx;
		box-sizing: border-box;
		overflow: hidden;
		width: 560rpx;
		background: #fff;
		border-radius: 24rpx;

		&__header {
			display: flex;
			align-items: center;
			justify-content: center;
			width: 100%;
			height: 52rpx;
			font-size: 36rpx;
			font-family: PingFangSC-Medium, PingFang SC;
			font-weight: 550;
			color: #1a1a1a;
			line-height: 52rpx;
			margin-bottom: 48rpx;
		}

		&__container {
			width: 100%;
			box-sizing: border-box;
			font-size: 28rpx;
			font-family: PingFangSC-Regular, PingFang SC;
			font-weight: 400;
			color: #333333;
			line-height: 48rpx;
			margin-bottom: 48rpx;

			&-protocol {
				font-weight: 550;
				color: #4EBA86;
			}
		}

		&__footer {
			display: flex;
			flex-direction: column;

			.is-disagree,
			.is-agree {
				width: 100%;
				height: 88rpx;
				background: #ffffff;
				border-radius: 44rpx;
				font-size: 32rpx;
				font-family: PingFangSC-Regular, PingFang SC;
				font-weight: 400;
				color: #666666;
			}

			.is-agree {
				background: #4EBA86;
				color: #ffffff;
				margin-bottom: 18rpx;
			}

			button {
				border: none;
				outline: none;

				&::after {
					border: none;
				}
			}
		}
	}
</style>

代码使用

		<!-- #ifdef MP-WEIXIN -->
		<privacyWxPop :show.sync="privacyWxPopShow" @handleAgree="handleAgree"></privacyWxPop>
		<!-- #endif -->
		// #ifdef MP-WEIXIN
			// 登录前检测是否隐私授权
			wx.getPrivacySetting({
				success: res => {
					console.log(res)
					// 返回结果为: res = { needAuthorization: true/false, privacyContractName: '《xxx隐私保护指引》' }
					if (res.needAuthorization) {
						// 需要弹出隐私协议
						this.privacyWxPopShow = true;
						return
					}
					// 用户已经同意过隐私协议,所以不需要再弹出隐私协议,也能调用隐私接口
					this.handleAgree();
				},
				fail: () => {

				},
			})
			// #endif

效果展示

[uni-app]微信小程序隐私保护指引设置的处理记录,uni-app,微信小程序,notepad++

补充

截止9月4号,查了下微信版本分布
[uni-app]微信小程序隐私保护指引设置的处理记录,uni-app,微信小程序,notepad++
想要使用
wx.getPrivacySetting这个API来检测, 必须要满足基础库版本 >= 2.32.3
切记做好版本判断, 或者做好
if(wx.getPrivacySetting){...} 的拦截

补充2

实际测试后发现:
直接 if(wx.getPrivacySetting){...} 的拦截, 在最新版的pc端, 始终导致走不到后续,
现在是怀疑, 是否是开启了 隐私检测调试开关 导致的

即:
[uni-app]微信小程序隐私保护指引设置的处理记录,uni-app,微信小程序,notepad++

鉴于微信说9月15号后, 默认开启隐私检测,
所以建议大家调试完成后, 还是把这个关闭把! (还有5天就15号了…)

另外:
直接 if(wx.getPrivacySetting){...} 的拦截, 不确定有没有坑的情况下,
还是用版本号做判断吧, 稳一点

补充3

对于微信PC端/MAC端的适配问题,
上面第5点已经补充上去了,
简单来说, 就是 wx.getPrivacySetting对应的基础库 , 小于它的, 就不用处理了!!!
所以, 其实不用做什么版本判断, 直接检测api可用, 就适配微信授权/ 不可用, 就延用老业务逻辑文章来源地址https://www.toymoban.com/news/detail-707163.html

			if (this.$cjs.wx_base_sdk_version_compare(wx.getSystemInfoSync().SDKVersion, '2.32.3') < 0 ||
				!wx.getPrivacySetting) {
				// 微信隐私授权(如getPrivacySetting), 从基础库 2.32.3 开始,才需要做适配的。
				// 这里低于低于 2.32.3的基础库版本 , 一律放行
				this.handleAgree();
				return;
			}

到了这里,关于[uni-app]微信小程序隐私保护指引设置的处理记录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

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

    微信小程序官方公告《关于小程序隐私保护指引设置的公告》。不处理的话,会导致很多授权无法使用,比如 头像昵称、获取手机号、位置、访问相册、上传图片视频、访问剪切板内容 等等,具体详见《小程序用户隐私保护指引内容介绍》 。 1、在 微信公众平台的 【设置

    2024年02月10日
    浏览(54)
  • uniapp微信小程序隐私保护指引设置

    隐私政策不做过多阐述具体看公告,公告看不明白的就看下方实现吧,毕竟完成工作为主→_→ 关于小程序隐私保护指引设置的公告 关于小程序隐私保护指引设置的再次公告 在微信公众平台配置隐私保护后,当用户使用小程序时检测是否授权了,让用户授权相关隐私权限,用

    2024年02月02日
    浏览(61)
  • uniapp 微信小程序添加隐私保护指引

    隐私弹窗: 1. 启用隐私相关功能在manifest.json文件中配置  __usePrivacyCheck__: true : 2. 创建组件: 2. 在需要授权的页面引入改组件 例: PS: 也可使用获取手机号和隐私政策藕合方式 ,这样在用户 拒绝隐私协议 后 ,再次点击授权手机号 可继续弹出授权弹窗,直至用户同意协议

    2024年02月10日
    浏览(65)
  • 微信小程序添加用户授权《隐私保护协议》

    官方文档:wx.onNeedPrivacyAuthorization(function listener) | 微信开放文档 微信小程序平台上需要进行隐私配置,审核成功后 大概半小时左右 才会生效。 小程序公众平台 --- 设置 --- 服务内容声明 --- 用户隐私保护指引(提交审核时,也会检测是否采集用户隐私,有用到隐私接口的话需

    2024年02月08日
    浏览(57)
  • 微信小程序的用户隐私保护指引设置

    1.开发者处理的信息 根据法律规定,开发者仅处理实现小程序功能所必要的信息。 开发者收集你选中的照片或视频信息,用于 提前上传减少上传时间 开发者收集你选中的文件,用于 提前上传减少上传时间 为了 分辨用户 ,开发者将在获取你的明示同意后,收集你的微信昵称

    2023年04月21日
    浏览(69)
  • uniapp|微信小程序:隐私保护指引说明

    由于小程序的隐私提示不符合规范,最近收到了警告,如图: 查看详情后知道问题出在隐私提示的方式不够完善,通过查看官方文档后,开始进行整改。 官方文档的整改指引地址:点击查看案例解析及整改指引 为规范开发者的用户个人信息处理行为,保障用户合法权益,小

    2024年01月16日
    浏览(88)
  • 用户隐私问题小程序审核不通过,微信小程序隐私保护开发指南

    目录 小程序隐私协议开发指南 一、功能介绍 二、接入流程 1. 配置《小程序用户隐私保护指引》 2. 主动查询隐私授权同步状态以及展示隐私协议 3. 被动监听隐私接口需要用户授权事件 4. 清空历史同步状态 三、其他说明 四、完整示例demo 五、常见错误说明 uniapp小程序特别指

    2024年02月04日
    浏览(54)
  • uniapp微信小程序用户隐私保护通用组件

    微信小程序官方公告《关于小程序隐私保护指引设置的公告》 需要处理的隐私接口《插件用户隐私保护说明内容介绍》 1.2023 年 9 月 15 号之前,默认不会启用隐私相关功能,所以检测不到需要弹窗的情况,可以在 manifest.json 中配置 \\\"__usePrivacyCheck__\\\": true 之后,接口才可以检测

    2024年02月08日
    浏览(52)
  • uniapp微信小程序用户隐私保护通用配置

    微信小程序官方公告《关于小程序隐私保护指引设置的公告》 需要处理的隐私接口《插件用户隐私保护说明内容介绍》 1.2023 年 9 月 15 号之前,默认不会启用隐私相关功能,所以检测不到需要弹窗的情况,可以在 manifest.json 中配置 \\\"__usePrivacyCheck__\\\": true 之后,接口才可以检测

    2024年02月09日
    浏览(56)
  • uniapp微信小程序《隐私保护协议》弹窗处理流程

    背景 《关于小程序隐私保护指引设置的公告》 《小程序隐私协议开发指南》 流程 1.第一步 必须设置且审核通过!!! 2.第二步 uniapp在manifest.json中添加!!! 很多人前两步没做或者做的不对,导致出现needAuthorization一直为false情况 3.第三步 此处需要根据情况决定,在何时弹

    2024年02月08日
    浏览(72)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包