为什么需要隐私协议?

小程序隐私授权弹窗FAQ官方:
https://developers.weixin.qq.com/community/develop/doc/00000ebac5c3e0423840776a966c09

也就是说只要我们配置了隐私协议,那么涉及到拍照啊、上传、下载图片啊这些接口都不需要授权了,只要用户同意就能直接调用相关接口。

如何配置隐私协议?

需要到小程序MP后台配置,路径为:设置>基本设置>服务内容声明>用户隐私保护指引:

比如我需要获取微信用户的昵称和头像要怎么操作呢?

进入后我们看第一项开发者处理的信息,我们点击增加信息类型:

选择用户信息:

如何确定自己需要的权限要选择那些信息类型呢?

见:
https://developers.weixin.qq.com/miniprogram/dev/framework/user-privacy/miniprogram-intro.html

比如我需要使用wx.choosePoi、wx.chooseLocation接口,那么就需要选择位置信息类型、如果是wx.chooseAddress接口,那么就需要选择地址信息类型,以此类推。

信息类型选好后,用途也可以参考这里的写法:
https://juejin.cn/post/7280787122004377615

全部使用到的接口的信息类型都选择好欧,提交等待审核通过,下面介绍开发流程:

两种方式开发:

1、使用官方隐私弹窗(超级简单)(推荐)

仅需要在app.json中加一个参数即可,官方连弹窗都自带了,完全不用自己再做任何事。

官方弹窗样式:

就在app.json中加这一个参数即可:

2、自己开发隐私弹窗(有点麻烦)

大概流程是:

2.1、自己写一个弹窗,弹窗需要的文字大概为请阅读某某隐私协议

大概长这样,但这个是官方自带的

2.2、

还需要有个按钮点击后跳转到隐私协议,还需要监听用户是否点击了同意按钮

详细流程:

比如某个按钮或页面需要有相应的权限时需要用户同意隐私协议时,我们需要先调用wx.getPrivacySetting主动查询用户是否同意过:

这里的needAuthorization返回了true,说明需要先同意隐私协议才行,那么就得打开一个弹窗或者跳转一个页面展示隐私提示,类似下面这样:

当用户点击蓝色的隐私协议时,需要调用微信的wx.openPrivacyContract方法跳转到隐私协议的具体内容页查看隐私协议,当然用户也可以选择不跳转,直接点同意也可以,但是这个同意按钮需要时官方的button组件:

<button id="agree-btn" open-type="agreePrivacyAuthorization"
bindagreeprivacyauthorization="handleAgreePrivacyAuthorization">同意</button>

这个组件的样式还是自己重写,不然是这样的:

还需要定义一个
handleAgreePrivacyAuthorization方法,当handleAgreePrivacyAuthorization方法触发时表示用户点击了同意按钮,此时就可以调用隐私接口了,如获取地址等。

这篇文章就到这里啦!如果你对文章内容有疑问或想要深入讨论,欢迎在评论区留言,我会尽力回答。同时,如果你觉得这篇文章对你有帮助,不妨点个赞并分享给其他同学,让更多人受益。

想要了解更多相关知识,可以查看我以往的文章,其中有许多精彩内容。记得关注我,获取及时更新,我们可以一起学习、讨论技术,共同进步。

感谢你的阅读与支持,期待在未来的文章中与你再次相遇!

聊聊微信小程序的隐私协议开发的更多相关文章

  1. 微信小程序购物商城系统开发系列-目录结构

    上一篇我们简单介绍了一下微信小程序的IDE(微信小程序购物商城系统开发系列-工具篇),相信大家都已经蠢蠢欲试建立一个自己的小程序,去完成一个独立的商城网站. 先别着急我们一步步来,先尝试下写一个自己的 ...

  2. 微信小程序购物商城系统开发系列-工具篇

    微信小程序开放公测以来,一夜之间在各种技术社区中就火起来啦.对于它 估计大家都不陌生了,对于它未来的价值就不再赘述,简单一句话:可以把小程序简单理解为一个新的操作系统.新的生态,未来大部分应用场景都将 ...

  3. 微信小程序购物商城系统开发系列

    微信小程序购物商城系统开发系列 微信小程序开放公测以来,一夜之间在各种技术社区中就火起来啦.对于它 估计大家都不陌生了,对于它未来的价值就不再赘述,简单一句话:可以把小程序简单理解为一个新的操作系统. ...

  4. 从微信小程序到鸿蒙js开发【11】——页面路由

    目录: 1.router.push()&wx.navigateTo() 2.router.replace()&wx.redirectTo() 3.router.back()&w ...

  5. 从微信小程序到鸿蒙js开发【12】——storage缓存&自动登录

    鸿蒙入门指南,小白速来!从萌新到高手,怎样快速掌握鸿蒙开发?[课程入口] 正文: 在应用开发时,我们常需要将一些数据缓存到本地,以提升用户体验.比如在一个电商的app中,如果希望用户登录成功后,下次打 ...

  6. 从微信小程序到鸿蒙js开发【13】——list加载更多&回到顶部

    鸿蒙入门指南,小白速来!从萌新到高手,怎样快速掌握鸿蒙开发?[课程入口] 目录: 1.list加载更多 2.list回到顶部 3.<从微信小程序到鸿蒙js开发>系列文章合集 1.list加 ...

  7. 从微信小程序到鸿蒙js开发【15】——JS调用Java

    鸿蒙入门指南,小白速来!0基础学习路线分享,高效学习方法,重点答疑解惑--->[课程入口] 目录:1.新建一个Service Ability2.完善代码逻辑3.JS端远程调用4.<从微信小 ...

  8. 微信小程序版博客——开发汇总总结(附源码)

    花了点时间陆陆续续,拼拼凑凑将我的小程序版博客搭建完了,这里做个简单的分享和总结. 整体效果 对于博客来说功能页面不是很多,且有些限制于后端服务(基于ghost博客提供的服务),相关样式可以参考截图或 ...

  9. 开发微信小程序中SSL协议的申请、证书绑定、TLS 版本处理等

    在上篇随笔<基于微信小程序的系统开发准备工作>介绍了开发微信小程序的一些前期的架构设计.技术路线 .工具准备等方面内容,本篇随笔继续这个步骤,逐步介绍我们实际开发过程中对SSL协议的申请及 ...

  10. 微信小程序的认识和开发适用性

    来源:三节课课堂笔记 小程序认知 初识小程序.   目前微信小程序包括各类公众号接口的情况:   那么微信拥有的功能产品和对应的互联网产品有哪些:   小程序相当于AppStore应用分发市场:   ...

随机推荐

  1. paste命令

    paste命令 paste命令会把每个文件以列对列的方式,一列列地加以合并. 语法 paste [OPTION]... [FILE]... 参数 -d, --delimiters=[LIST]: 用指 ...

  2. spring boot携手echarts实现双柱状图实战

    说明 最近做了个图书管理系统,里面有个模块是统计最近一周借书和还书的情况. 设计为柱状图模式展现,自然需要用到echarts. 实现效果 开发步骤 1.页面和JS <!DOCTYPE html& ...

  3. 摸鱼快报:golang net/http中的雕虫小技

    以后会开一个板块,摸鱼快报,快速记录这几周开发中雕虫小技. 1. 向开发环境localhost:3000种植cookie 前端使用Create React App脚手架,默认以localhost:30 ...

  4. pikachu sql inject bool盲注

    输入框中输入 已知用户名 kobe 显示了用户信息 your uid:3 your email is: kobe@pikachu 输入kobe'看一下情况 显示 您输入的username不存在,请重新 ...

  5. 记录级别索引:Hudi 针对大型数据集的超快索引

    介绍 索引是一个关键组件,有助于 Hudi 写入端快速更新和删除,并且它在提高查询执行方面也发挥着关键作用. Hudi提供了多种索引类型,包括全局变化的Bloom索引和Simple索引.利用HBase ...

  6. node版本管理工具nvm的安装及使用

    一.什么是nvm nvm是一个node版本管理工具. 由于不同项目依赖的node版本可能不同,所以在维护多个项目时通常需要使用不同的node版本,这时候用nvm来切换不同的node版本就很方便. 官方 ...

  7. React时间转换为具体的年月日上午下午

    export default class index extends Component { constructor() { super(); this.state = { date: new Dat ...

  8. 设置 sudo 无需输入密码

    * 设置 sudo 无需输入密码,如下:* [root@localhost ~]# visudo* 在"root ALL=(ALL) ALL"这一行下面,再加入一行:* 将原来的: ...

  9. 【Azure 云服务】当Windows系统发布新的安全漏洞后,如何查看Azure云服务(Cloud Service)的实例是否也更新了安全补丁呢?

    问题描述 当Windows发布新的安全漏洞后,会根据安全漏洞的级别分类来确定是紧急打补丁升级,还是每一月的补丁日( 每月第二周的星期二)来统一推送补丁. 比如最近的一个安全漏洞(9月13号发布)  C ...

  10. opencv库图像基础1-python

    opencv库图像基础-python 基本操作 图片颜色通道 非灰度图的颜色通道是红绿蓝,在opencv中默认是BGR的顺序 argparse模块 argparse 库是 Python 标准库中用于命 ...