uniapp如何应用onNeedPrivacyAuthorization实现微信小程序隐私政策

前言

微信小程序要求9.15日前实现隐私政策弹窗,但是uniapp文档一直没有更新,尝试直接使用wx.onNeedPrivacyAuthorization ,是可以生效的

步骤

  1. 微信小程序后台设置--服务内容与声明 ,设置好小程序所需要的隐私政策
  2. uniappmanifest.json 中选择 源码视图 添加设置:
json 复制代码
"mp-weixin": {
    // ...
    "__usePrivacyCheck__": true
  },
  1. 微信开发者工具的调试基础库,最好>=3.0
  2. 在你调用隐私接口的页面中,写入一下代码:
js 复制代码
wx.getPrivacySetting({
  success: res => {
    console.log("是否需要授权:", res.needAuthorization, "隐私协议的名称为:", res.privacyContractName)
  },
  fail: () => {},
  complete: () => {},
})

如果看到 是否需要授权:true ,则说明配置生效,可以直接新建你的通用组件,并实现,以下为简单原理示例代码,非完整业务代码,仅供参考:

js 复制代码
<template>
	<view class="privacy-menu">
		<view class="privacy-menu-button" @click="handleDisagree">取消</view>
		<button id="agree-btn" class="privacy-menu-button agree-button" open-type="agreePrivacyAuthorization" 
		            @agreeprivacyauthorization="handleAgree">同意并继续</button>
	</view>
</template>

<script>
let privacyHandler

wx.onNeedPrivacyAuthorization(resolve => {
	console.log("触发:onNeedPrivacyAuthorization")
	if (typeof privacyHandler === 'function') {
		privacyHandler(resolve)
	}
})

export default {
	data() {
		return {
			urlTitle: ''
		}
	},

	mounted() {
		privacyHandler = resolve => {
			if (wx.getPrivacySetting) {
				wx.getPrivacySetting({
					success: res => {
						console.log("是否需要授权:", res.needAuthorization, "隐私协议的名称为:", res.privacyContractName)
						if (res.needAuthorization) {
							this.urlTitle = res.privacyContractName
							// 其他操作,如显示隐私政策弹窗
						} else {
						this.$emit("agree")
						}
					},
					fail: () => {},
					complete: () => {},
				})
			} else {
				// 低版本基础库不支持 wx.getPrivacySetting 接口,隐私接口可以直接调用
				this.$emit("agree")
			}
		}
	}
}
</script>
相关推荐
2601_949804924 分钟前
开源多商户商城源码最新版_适配微信小程序+H5+APP+PC多端
微信小程序·小程序
木子啊11 分钟前
UniApp全端水印组件muzi-watermark
uni-app·水印·全局水印·uniapp水印
码云数智-大飞12 分钟前
2026主流自助建站平台对比评测
微信小程序
木子啊1 小时前
Uni-app企业级网络请求封装实战
uni-app·网络请求·request封装
yqcoder1 小时前
uni-app 之 uni.showActionSheet
uni-app
2601_949804921 小时前
宇鹿家政服务系统小程序ThinkPHP+UniApp(
小程序·uni-app
裴嘉靖3 小时前
uni-app 打包后 PDF 无法生成问题完整解决方案
pdf·uni-app
2501_933907213 小时前
上海本凡科技的微信小程序公司主要提供哪些服务?
科技·微信小程序·小程序
2501_915921434 小时前
不用 Xcode 上架 iOS,拆分流程多工具协作完成 iOS 应用的发布准备与提交流程
android·macos·ios·小程序·uni-app·iphone·xcode
2601_949804924 小时前
【全开源】西陆家政系统源码小程序(FastAdmin+ThinkPHP+原生微信小程序)
微信小程序·小程序