微信小程序官方公告所有的隐私收集,包括手机号和微信头像等隐私协议;
用户必须先点击同意隐私按钮才可以收集信息
新增按钮类型bindagreeprivacyauthorization,2.32.3基础库版本开始支持
9月15日的再次公告
微信决定延期8月14日的公告以后会出专门的系统组件来适配
8月14日的公告
最简单的思路就是
在app.json中增加
"__usePrivacyCheck__": true
然后在js中加入状态检测,if一定要加不然旧的基础库可能会报错
这里截取了微信官方提供的4个范例中第一个的授权弹窗组件中的判断逻辑
if (wx.getPrivacySetting) {
wx.getPrivacySetting({
success: res => {
if (res.needAuthorization) {
// 需要授权
this.popUp()
} else{
this.triggerEvent("agree")
}
},
fail: () => { },
complete: () => { },
})
} else {
// 低版本基础库不支持 wx.getPrivacySetting 接口,隐私接口可以直接调用
this.triggerEvent("agree")
}
弹窗的内容和样式可以直接修改,但是不要更改button的type和id=‘agree-btn’
我在项目中也使用了另一种方式,即将隐私协议对勾伪装成button,点击对勾后调取
查询wx.getPrivacySetting状态,判断是否反选对号
这样用户点击下面的按钮可以直接调起业务逻辑,
但是要注意清除微信默认button样式,button点击回调没有bindtap=""灵敏,
根据实际情况选取方案
上面只介绍了一种弹窗的方案,适用于注册后不再使用隐私接口
下面的文档中其他三个demo,有其他适配方案,建议阅读源码
demo和文档地址