一:效果预览图
二:代码片段
https://developers.weixin.qq.com/s/UuaRwcm874LW
三:参考文献
https://developers.weixin.qq.com/miniprogram/dev/framework/user-privacy/PrivacyAuthorize.html
一、功能介绍
涉及处理用户个人信息的小程序开发者,需通过弹窗等明显方式提示用户阅读隐私政策等收集使用规则。
为规范开发者的用户个人信息处理行为,保障用户合法权益,微信要求开发者主动同步微信当前用户已阅读并同意小程序的隐私政策等收集使用规则,方可调用微信提供的隐私接口。
特别注意:
以下指南中涉及的 getPrivacySetting、onNeedPrivacyAuthorization、requirePrivacyAuthorize 等接口,目前仍处于 Beta 调试阶段,目前并未按预期返回正确的结果。开发者目前可以先阅读本指南文档和接口文档进行理解,平台将会尽快正式上线这些接口以及调试方法,上线后会在本指南文档和相关公告中进行说明。
2023.08.22更新:
以下指南中涉及的 getPrivacySetting、onNeedPrivacyAuthorization、requirePrivacyAuthorize 等接口目前可以正常接入调试。调试说明:
- 在 2023年9月15号之前,在 app.json 中配置
__usePrivacyCheck__: true
后,会启用隐私相关功能,如果不配置或者配置为 false 则不会启用。 - 在 2023年9月15号之后,不论 app.json 中是否有配置
__usePrivacyCheck__
,隐私相关功能都会启用。
<view wx:if="{{showPrivacy}}">
<view>隐私弹窗内容....</view>
<button bindtap="handleOpenPrivacyContract">查看隐私协议</button>
<button id="agree-btn" open-type="agreePrivacyAuthorization" bindagreeprivacyauthorization="handleAgreePrivacyAuthorization">同意</button>
</view>
四:参考示例
五:注意事项
如果使用了 button 组件 open-type 设置了 getPhoneNumber 属性, bindgetphonenumber 。当你新增了属性功能
"__usePrivacyCheck__": true,
那么 授权 wx.getPrivacySetting 调用成功,但是当你未授权或取消时, 切换使用 button 组件 open-type = getPhoneNumber ,可能调用失败,可以参考如下设置代码 ,避免出现
{errno: 104, errMsg: "privacy permission is not authorized"}
openType:'getPhoneNumber|agreePrivacyAuthorization'
// 示例
if(wx.getPrivacySetting) {
this.setData({
openType:'getPhoneNumber|agreePrivacyAuthorization'
})
}else {
this.setData({
openType:'getPhoneNumber'
})
}