官方指导文档地址:
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1、整体解决思路及步骤:
1.小程序隐私指南设置
1.1 登录小程序后台,在【设置】-【基础设置】-【服务内容声明】中找到《用户隐私纳入指南》,在此指南中填写或更新小程序中用到的所有隐私接口,若隐私接口不在隐私指南中,则后续小程序中无法调用。
1.2 哪些接口是隐私接口? 官方已经列出了目前的隐私接口,不排除后续会添加更多的接口。
参考:
2.解决思路:
2.1 本方案采用主动查询用户授权状态的方案,具体思路是用户使用小程序有以下几个入口点:
2.1.1 第一种情况:用户搜索小程序,进入小程序界面。
针对这种情况,我的解决方案是:【在登录流程以及登录后各个tab界面引入隐私弹窗组件,主动判断用户是否授权,非登录情况下不做任何判断和授权】
注意:部分小程序服务在用户进入小程序后就开始请求某些权限,比如获取位置/授权等。不管这种方式是否符合微信的审核要求,用户进入小程序后出现弹窗也是很“烦人”的。
2.1.2 第二种情况:用户点击别人分享的功能进入小程序。例如小程序有邀请同事的功能,组长分享邀请链接给微信群,组员点击链接进入程序填写信息界面。填写过程中会涉及到调用隐私接口(如授权手机号)。
针对这种情况,我的解决方案是:【每次涉及调用隐私接口的分享过程,隐私组件都会弹窗】因为这些分享过程不经过登录流程以及登录后的tab页。
3.代码思想:
3.1 创建隐私弹窗组件。
3.2 在app.json中注册全局组件及必要的配置。
““: 真的,
":{
“-”:“///”
3.3 在触发隐私接口的wxml页面引入隐私弹框组件。
注意:这个是用来给组件命名的,不建议修改,因为后面的组件 JS 文件中还会用到,如果需要修改的话记得在组件 JS 文件中也修改一下。
=“true”是从引用页面给组件传递参数,隐私弹框组件默认不弹起(没有登录时不会弹起)。
4.代码实现:
本demo中的组件代码参考了官方的demo组件代码,文字和组件颜色根据业务需要进行了修改。
4.1 创建/粘贴下面的组件。
将组件代码放在最后。
.js代码说明
应用程序=()。;
就是存储业务数据的代码,在隐私组件中需要用到里面存储的用户登录状态。(判断用户是否登录的逻辑可以自己改)
:接收调用隐私页传递的组件参数,用于判断是否弹出弹窗(用于处理微信返回弹窗,但用户未登录,无法显示弹窗的情况)
(): 添加进去的方法。用于处理用户点击弹窗遮罩的情况。我这里的逻辑是不做任何处理。当然你也可以关闭弹窗
.wxml代码说明
官方隐私弹窗页面新增背景遮罩,避免用户在弹窗出现时点击页面上的其他功能。
“-:#;”用于控制弹框的边框颜色
4.2 页面引用
当页面引用隐私组件时,有两种情况。
第一种情况:进入页面后没有立即出现弹框。适用于登录流程。当登录流程使用隐私接口时,会触发弹框。
导入代码为:
第二种情况:进入页面。立即判断,弹出框。适用于登录完成后的页面。
导入代码为:
2. 其他情况:
1.开发者工具基础版本库请选择3.0.0
2.代码下载地址:链接: