# wx.requirePrivacyAuthorize(Object object)
基础库 2.32.3 开始支持,低版本需做兼容处理。
以 Promise 风格 调用:不支持
小程序插件:不支持
微信 Windows 版:支持
微信 Mac 版:支持
微信 鸿蒙 OS 版:支持
# 功能描述
模拟隐私接口调用,并触发隐私弹窗逻辑。隐私合规开发指南详情可见《小程序隐私协议开发指南》
# 参数
# Object object
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
# 具体说明:
- 调用 wx.requirePrivacyAuthorize() 时:
- 如果用户之前已经同意过隐私授权,会立即返回success回调,不会触发 wx.onNeedPrivacyAuthorization 事件。
- 如果用户之前没有授权过,并且开发者注册了 wx.onNeedPrivacyAuthorization() 事件监听,就会立即触发 wx.onNeedPrivacyAuthorization 事件,然后开发者在 onNeedPrivacyAuthorization 回调中弹出自定义隐私授权弹窗,用户点了同意后开发者调用 wx.onNeedPrivacyAuthorization 的回调接口 resolve({ event: 'agree', buttonId: 'agree-btn' }),会触发 requirePrivacyAuthorize 的 success 回调。开发者调用 wx.onNeedPrivacyAuthorization 的回调接口 resolve({ event: 'disagree' }) 的话,会触发 requirePrivacyAuthorize 的 fail 回调。
- 基于上述特性,开发者可以在调用任何真实隐私接口之前调用 wx.requirePrivacyAuthorize 接口来模拟隐私接口调用,并触发隐私弹窗逻辑。
- 一定要调用 wx.requirePrivacyAuthorize 接口吗?
- 不是,wx.requirePrivacyAuthorize 只是一个辅助接口,可以根据实际情况选择使用。
# 示例代码
// page.wxml
<view wx:if="{{showPrivacy}}">
<view>隐私弹窗内容....</view>
<button id="agree-btn" open-type="agreePrivacyAuthorization" bindagreeprivacyauthorization="handleAgreePrivacyAuthorization">同意</button>
</view>
// page.js
Page({
data: {
showPrivacy: false
},
onLoad() {
wx.onNeedPrivacyAuthorization(resolve => {
// 需要用户同意隐私授权时
// 弹出开发者自定义的隐私授权弹窗
this.setData({
showPrivacy: true
})
this.resolvePrivacyAuthorization = resolve
})
wx.requirePrivacyAuthorize({
success: () => {
// 用户同意授权
// 继续小程序逻辑
},
fail: () => {}, // 用户拒绝授权
complete: () => {}
})
},
handleAgreePrivacyAuthorization() {
// 用户点击同意按钮后
this.resolvePrivacyAuthorization({ buttonId: 'agree-btn', event: 'agree' })
}
})
# 完整示例demo
demo1: 演示使用 wx.getPrivacySetting
和 <button open-type="agreePrivacyAuthorization">
在首页处理隐私弹窗逻辑
https://developers.weixin.qq.com/s/gi71sGm67hK0
demo2: 演示使用 wx.onNeedPrivacyAuthorization
和 <button open-type="agreePrivacyAuthorization">
在多个页面处理隐私弹窗逻辑,同时演示了如何处理多个隐私接口同时调用。
https://developers.weixin.qq.com/s/hndZUOmA7gKn
demo3: 演示 wx.onNeedPrivacyAuthorization
、wx.requirePrivacyAuthorize
、<button open-type="agreePrivacyAuthorization">
和 <input type="nickname">
组件如何结合使用
https://developers.weixin.qq.com/s/jX7xWGmA7UKa
demo4: 演示使用 wx.onNeedPrivacyAuthorization
和 <button open-type="agreePrivacyAuthorization">
在多个 tabBar 页面处理隐私弹窗逻辑。
https://developers.weixin.qq.com/s/g6BWZGmt7XK9