uniapp 微信小程序之隐私协议开发

news/2024/7/20 4:12:52 标签: uni-app, 微信小程序, 小程序

uniapp 小程序>微信小程序之隐私协议开发

在这里插入图片描述
官网通知:https://developers.weixin.qq.com/miniprogram/dev/framework/user-privacy/PrivacyAuthorize.html
1、配置 __usePrivacyCheck__: true;位置 manifest.json :

"mp-weixin":{
	"__usePrivacyCheck__": true,
	"requiredPrivateInfos": [ // 权限授权API 示例
		"chooseLocation",
		"getLocation"
	],
}

2、用户隐私保护指引中添加对应的权限,提交审核,位置:微信公众平台->设置->服务内容声明->用户隐私保护指引->更新
在这里插入图片描述

3、自定义弹框

<u-popup v-model="show" mode="bottom" :mask-close-able="false">
    <view style="padding: 14px">
        <view style="padding: 0 0 5px 0">
            {{title}}
        </view>
        <view>
            <view class="content">{{desc1}}</view>
            <view class="content" style="color:blue" @click="openPrivacy">{{urlTitle}}</view>
            <view class="content">{{desc2}}</view>
        </view>
        <view style="display:flex">
            <button id="disagree-btn" @click="closePopup" size="mini" style="flex: 1;margin-right: 8px">拒绝</button>
            <!--当点击同意按钮时就已经触发-->
            <button id="agree-btn" size="mini" type="primary" style="flex: 1" open-type="agreePrivacyAuthorization" v-show="!isAgreePrivacy" @agreeprivacyauthorization="handleAgree">已阅读并同意</button>
        </view>
    </view>
</u-popup>
data() {
    return {
        show: false, // 弹窗
        title: "用户隐私保护提示",
        desc1: "感谢您使用本程序,您使用本程序前应当阅读并同意",
        urlTitle: "《用户隐私保护协议》",
        desc2: "当您点击已阅读并同意时,即表示您已理解并同意该条款内容。如您拒绝,将无法正常使用。",
        isAgreePrivacy: false,// 是否已同意
        resolvePrivacyAuthorization: null // wx.onNeedPrivacyAuthorization 的回调
    }
}
// 弹出授权弹窗
openPopup(){
// 查询隐私授权情况
wx.getPrivacySetting({
    success: res => {
        // needAuthorization 是否需要授权
        if (!res.needAuthorization) {
            this.isAgreePrivacy = true
        }
    },
    fail: () => {
    },
})
this.show = true
// 模拟隐私接口调用,并触发隐私弹窗逻辑
// wx.requirePrivacyAuthorize({});
// 监听隐私接口需要用户授权事件。当需要用户进行隐私授权时会触发。触发该事件时,开发者需要弹出隐私协议说明,并在用户同意或拒绝授权后调用回调接口 resolve 触发原隐私接口或组件继续执行
// wx.onNeedPrivacyAuthorization((resolve, eventInfo) => {
//     // 需要用户同意隐私授权时
//     // 弹出开发者自定义的隐私授权弹窗
//     console.log(resolve)
//     this.resolvePrivacyAuthorization = resolve
// })
},
// 同意协议
handleAgree() {
    // this.resolvePrivacyAuthorization({
    //     buttonId: 'agree-btn',
    //     event: 'agree'
    // })
    // 如果用户之前已经同意过隐私授权,会立即返回success回调
    wx.requirePrivacyAuthorize({
        success: res => {
            this.show = false;
            this.isAgreePrivacy = true;
        }
    });
},
// 用户隐私协议详情
openPrivacy() {
	// 跳转至隐私协议页面
    wx.openPrivacyContract({})
},
//  关闭弹窗
closePopup() {
	// this.resolvePrivacyAuthorization({
    //     event: 'disagree'
    // })
    this.show = false
}

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

相关文章

MQ - 01 消息队列发展史MQ通用架构

文章目录 导图PreMQ 发展史消息队列的发展脉络MQ选型考虑因素消息 和 流消息队列的架构和功能什么情况下会使用消息队列?架构和功能的基本概念架构层面的基本概念功能层面的基本概念4款主流消息队列的区别和建议对比图导图 Pre MQ - 闲聊MQ一二事儿

SpingBoot:整合Mybatis-plus+Druid+mysql

SpingBoot&#xff1a;整合Mybatis-plusDruid 一、特别说明二、创建springboot新工程三、配置3.1 配置pom.xml文件3.2 配置数据源和durid连接池3.3 编写拦截器配置类 四、自动生成代码五、测试六、附件-mysql数据库表 本文参考链接&#xff1a; [Java] Spring Boot 集成 MyBati…

在 Vue3 项目中如何关闭 ESLint

介绍 ESLint 是一个用于检查 JavaScript 代码质量的工具&#xff0c;它可以帮助开发者遵循一致的编码规范&#xff0c;并发现潜在的错误和问题。然而&#xff0c;在某些情况下&#xff0c;我们可能希望关闭 ESLint&#xff0c;例如在一些小型项目中或者在特定的开发阶段。本文…

Matlab进阶绘图第30期—冲击图

冲击图是一种特殊的堆叠柱状图。 与堆叠柱状图相比&#xff0c;冲击图添加了相邻柱子中相同组分之间的连线&#xff0c;可以更加清晰地表达各组分占比情况。 由于Matlab中未收录冲击图的绘制函数&#xff0c;因此需要大家自行解决。 本文使用自制的Fbarstacked小工具进行冲击…

LeetCode的第 363 场周赛——记录+补题

研究生生涯第一次打力扣周赛——3题 1. 计算 K 置位下标对应元素的和 class Solution { public:int cnt(int x){int sum 0;while (x) {sum ((x%2)?1:0);x/2;}return sum;}int sumIndicesWithKSetBits(vector<int>& nums, int k) {int n nums.size();int ans 0…

在PyTorch里面利用transformers的Trainer微调预训练大模型

背景 transformers提供了非常便捷的api来进行大模型的微调&#xff0c;下面就讲一讲利用Trainer来微调大模型的步骤 第一步&#xff1a;加载预训练的大模型 from transformers import AutoModelForSequenceClassificationmodel AutoModelForSequenceClassification.from_pr…

【2023年11月第四版教材】第14章《沟通管理》(第一部分)

第14章《沟通管理》&#xff08;第一部分&#xff09; 1 章节说明2 管理基础2.1 沟通具体形式包括2.2 沟通模型&#xff1a;★★★ &#xff08;17下41&#xff09; &#xff08;18下43&#xff09;2.3 沟通模型包含5种状态2.4 沟通分类 3 管理过程3.1 管理的过程★★★ &#…

/usr/bin/ld: cannot find -lmysqlcllient

文章目录 1. question: /usr/bin/ld: cannot find -lmysqlcllient2. solution 1. question: /usr/bin/ld: cannot find -lmysqlcllient 2. solution 在 使用编译命令 -lmysqlclient时&#xff0c;如果提示这个信息。 先确认一下 有没有安装mysql-devel 执行如下命令 yum inst…