【Taro】微信小程序隐私协议改造

2023-11-17

 微信要求小程序开发者在2023.9.15日前将小程序中调用获取用户隐私api的接口时,都必须要先让用户授权,如果用户拒绝授权,那么小程序的对应接口或组件将直接禁用。

那么首先,请将微信小程序开发者工具-详情-本地设置-基础调试库 切换至2.33.0以上。低于该调试库会报错找不到相关api。

//简易流程代码为

const Modal = () => {
    const [openModal, setOpenModal] = useState(false);

    //初始化检查是否授权
    useEffect(()=>{
        //监听隐私接口需要用户授权事件。当需要用户进行隐私授权时会触发。触发该事件时,开发者需要                
        弹出隐私协议说明,并在用户同意或拒绝授权后调用回调接口 resolve 进行上报。
        wx.onNeedPrivacyAuthorization(resolve => {
            // 需要用户同意隐私授权时
            // 弹出开发者自定义的隐私授权弹窗
            setOpenModal(true)
            resolvePrivacyAuthorization = resolve
        })
    },[])

    
    //用户点击“同意”按钮,隐私协议事件回调
    const handleAgreePrivacyAuthorization = ()=>{
        resolvePrivacyAuthorization({ buttonId: 'agree-btn', event: 'agree' })
        //关闭隐私协议弹窗
        setOpenModal(false)
        // 用户点击了同意,之后所有隐私接口和组件都可以调用了
        // wx.getUserProfile();
        // wx.chooseMedia();
        // wx.getClipboardData();
        // wx.startRecord();
    }

    //点击隐私协议
    const goWxAgreement = () => {
        wx.openPrivacyContract({
            success: (res) => {
                console.log('打开隐私协议成功', res)
            }, // 打开成功
            fail: (res) => {
                console.error('隐私协议打开失败', res)
            }, // 打开失败
            complete: () => { }
        })
    }

    //点击取消
    const handleClickCancel = ()=>{
        //关闭隐私协议弹窗
        setOpenModal(false)
        //...任意逻辑
    }

    return <View open={openModal}>
        <Content>
            在你使用【发卷小助手】小程序服务之前,请仔细阅读<Text style={{ color:'#3b7eff' 
            }} onClick={goWxAgreement}>发卷小助手隐私保护指引</Text>。如你同意<Text 
            style={{ color: '#3b7eff' }} onClick={goWxAgreement}>发卷小助手隐私保护指. 
            引.</Text>,请点击“同意”开始使用【发卷小助手】。
            </Content>
            <View>
                <Button onClick={handleClickCancel}>取消</Button>
                <Button 
                    id="agree-btn" 
                    openType="agreePrivacyAuthorization"     
                    bindagreeprivacyauthorization={handleAgreePrivacyAuthorization}>
                    同意
                </Button>
            </View>
    </View>
}

const Home = ()=>{
    return <View>
            xxxxx页面内容

        //这里是自定义的隐私协议授权弹窗
        <Modal />
    </View>
}

 目前Taro官方还没有给Button组件加上openType="agreePrivacyAuthorization"和bindagreeprivacyauthorization属性,点击按钮无法触发方法,所以暂时无解,期待taro官方解决!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Taro】微信小程序隐私协议改造 的相关文章

  • 【模拟集成电路】电荷泵(CP)设计

    电荷泵 CP 设计 前言 一 电荷泵 CP 原理 1 电流失配问题 2 开关管的时钟馈通问题 3 电荷注入问题 二 电荷泵 CP 电路 三 电荷泵性能测试 测试原理图 充电测试 放电测试 参考文献 各部分链接链接 前言 本文主要内容是对电荷
  • NLP 算法工程师面试问答-DeepLearningAlgorithm

    关于生成对抗网络GAN 那些你不知道的事 一 动机 之前我们提到玻尔兹曼机 Boltzmann machine 波尔茨曼机作为一种基于能量函数的概率模型 因为能量函数比较复杂 所以存在较多的限制 虽然受限玻尔兹曼机 Restricted B
  • C#通过读取appconfig文件连接数据库

    以Oracle为例 C 连接数据库的时候 需要一些连接字符串 一开始写在程序中 这样会有两个问题 通用性不太好 如果程序具有普遍性 但是连接字符串写死了 每次替换很麻烦 一个工程有很多个项目 每个项目都需要连接字符串 每次更改或者设置也很麻
  • 手机一键制作u盘启动盘_老毛桃U盘启动盘制作教程

    制作前准备 1 准备一个U盘 建议U盘内存8G以上 因为制作时会格式化 请注意备份U盘原资料 2 下载老毛桃U盘装机工具套装 官网 www laomaotao net 老毛桃U盘装机工具下载链接 www laomaotao net 制作过程

随机推荐

  • django 报错:urllib3.exceptions.ConnectTimeoutError 问题解决方法

    问题描述 django项目运行时报错 urllib3 exceptions ConnectTimeoutError
  • opkg 更新软件

    opkg 不同的版本存在不同的配置文件 一般常用的是 etc opkg conf etc opkg customfeeds conf 和 etc opkg distfeeds conf三个 这三个配置文件将会影响opkg运行时软件资源的取向
  • iOS 对象信息保存、转化JSON、JSON生成对象的模型方案记录

    目标 将对象的一些信息提取保存起来 然后转化成JSON 再上传到服务器 或其他保存本地的用途 从服务器接收或从本地读取 然后通过JSON的信息生成指定的对象 方案代码 KeepLabelInfoModel h TestViewXIB Cre
  • AHB VIP Example 的tb_ahb_svt_uvm_basic_ral_sys中关于slave和master接口连接的问题

    AHB 的tb ahb svt uvm basic ral sys中关于slave和master接口连接的问题 这里代码不完整太多没有截完 一 原始使用方法 hdl interconnect中文件的DUT的部分内容是 DUT外面还做了封装
  • element ui表单验证失效原因分析

    1 model 和 v model 需要区分开 model是element ui中的一个属性 而v model才是双向绑定 多表单验证时 model form 中的值不一样 2 prop
  • 浅谈H5的理解

    1 h5广义的概念 描述的是网页技术一次重要的更新迭代 更新的特征包括HTML语言的新特性 CSS的新特性 JavaScript 的新特新 浏览器新特新标准等等 html中新增了语义化标签 表单新增特性 更加简洁的文档声明 媒体标签 vid
  • 【Vue】实现无限滚动加载

    文章目录 法一 ElemntUI的InfiniteScroll 法二 直接操作window窗口的滚轮事件 先提前预告一下 如果需要的是单个确定高度的容器组里进行无限滚动刷新 则使用InfiniteScroll最方便 而如果无限滚动依赖的是整
  • 一目了然的node.js

    node js基础知识入门 1 模块化 导出命令 导入命令 2 文件系统 异步读文件 同步读文件 异步写文件 同步写文件 在fs模块中 提供同步方法是为了方便使用 那我们到底是应该用异步方法还是同步方法呢 3 HTTP模块 模块导入 参数含
  • 团体程序设计天梯赛 -- 练习集 (L1合集)

    文章目录 L1 001 Hello World 5 分 L1 002 打印沙漏 20 分 L1 003 个位数统计 15 分 L1 004 计算摄氏温度 5 分 L1 005 考试座位号 15 分 L1 006 连续因子 20 分 L1 0
  • 免费的 XShell 替代品,我推荐这5款软件,一个比一个香!

    点击上方 Java基基 选择 设为星标 做积极的人 而不是积极废人 每天 14 00 更新文章 每天掉亿点点头发 源码精品专栏 原创 Java 2021 超神之路 很肝 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网络应用框
  • C/C++:06. 模板

    文章目录 前言 一 函数模板 二 类模板 三 函数模板重载 总结 前言 C 的模板是被迫推出的 最直接的动力来源于对数据结构的封装 数据结构关乎的是数据的存储 以及存储后如何进行增加 删除 修改和查询操作 在实际开发中有着非常广泛的应用 C
  • UWSGI学习笔记

    uwsgi spooler可以用来实现Cron Task调度和非阻塞Task django相关安装包 uwsgidecorators 1 1 0 uwsgi tasks 0 6 4
  • c语言冒泡法对10个整数由大到小排序,用冒泡法对10个整数排序

    公告 为响应国家净网行动 部分内容已经删除 感谢读者理解 话题 用冒泡法对10个整数排序 10个整数用scanf函数输入回答 举了例 一个数组 3 2 5 1 4从小到大排序从左侧开始 逐对比较32 3 2的位置 数组变为2 3 5 1 4
  • git修改仓库名次之后,本地仓库重定向问题

    在github网页中更改了项目的名次 再次推送的时候报这样的错误fatal repository https xxx git not founds 使用下面的命令将推送的远程仓库重定向 git remote set url origin u
  • 数据压缩与管理:掌握Linux VDO和LVM的力量

    1 逻辑卷 LVM Logical Volume Management 动态的为服务器磁盘添加空间 而不会影响原磁盘的数据 也不需要对原始磁盘重新分区 1 1 LVM介绍 以下是LVM的示意图 我们拿到一块硬盘后首先对齐进行划分分区 也就得
  • [免签约]微信+支付宝个人收款解决方案

    方案原理 使用一台闲置的安卓手机专门用来做收款 收到付款时手机会有通知提示 对该通知进行监控 监控到后发送数据到服务器 服务器根据订单情况支付情况判断是否成功完成一轮下单支付操作 如果成功则自动发货 具体实现流程 网页前端展示商品 用户浏览
  • 华容道html源码,华容道(项目源代码)

    实例简介 Java华容道游戏完整代码 添加了图片与音效 设置了三个关卡 有注释 实例截图 核心代码 华容道 项目源代码 华容道 bin HuaRong About class BackgroundPanel class HuaRong 1
  • 学习PySOT避坑指南

    PySOT是商汤 SenseTime视频智能研究团队 开源的目标跟踪库 实现了最新的单目标跟踪算法 主要包含 SiamRPN SiamMask 使用Python编写的 基于Pytorch深度学习框架 该软件系统还包含了评估跟踪算法的Pyth
  • Java生成6位随机码(大小写+数字)

    char sources new char a b c d e f g h i j k l m n
  • 【Taro】微信小程序隐私协议改造

    微信要求小程序开发者在2023 9 15日前将小程序中调用获取用户隐私api的接口时 都必须要先让用户授权 如果用户拒绝授权 那么小程序的对应接口或组件将直接禁用 那么首先 请将微信小程序开发者工具 详情 本地设置 基础调试库 切换至2 3