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>
相关推荐
2501_915106321 天前
当 Perfdog 开始收费之后,我重新整理了一替代方案
android·ios·小程序·https·uni-app·iphone·webview
Java.慈祥1 天前
速通-微信小程序 2Day
微信小程序·小程序·前端框架
2501_915918411 天前
中小团队发布,跨平台 iOS 上架,证书、描述文件创建管理,测试分发一体化方案
android·ios·小程序·https·uni-app·iphone·webview
2501_933907211 天前
宁波小程序公司是什么?主要提供宁波微信小程序制作与服务吗?
科技·微信小程序·小程序
家里有只小肥猫1 天前
uniApp打包ios报错
ios·uni-app
jingling5551 天前
uniapp | 基于高德地图实现位置选择功能(安卓端)
android·前端·javascript·uni-app
某公司摸鱼前端1 天前
前端一键部署网站至服务器FTP
前端·javascript·uni-app
爱怪笑的小杰杰1 天前
UniApp 桌面应用实现 Android 开机自启动(无原生插件版)
android·java·uni-app
m0_647057961 天前
uniapp使用rich-text流式 Markdown 换行问题与解决方案
前端·javascript·uni-app
码云数智-大飞1 天前
微信商城小程序怎么弄?2026年主流小程序商城平台对比
微信小程序