my.requireprivacyauthorize(object object)
基础库 或更高版本; 若版本较低,建议采取 兼容处理。
主体: 企业支付宝小程序 、 个人支付宝小程序
模拟隐私接口调用,并触发隐私弹窗逻辑。
调用 my.requireprivacyauthorize 时:
- 如果用户之前已经同意过隐私授权,会立即进入 success 回调,不会触发 needprivacyauthorization 事件。
- 如果用户之前没有授权过,则开发者通过 my.onneedprivacyauthorization 注册的监听函数 listener({ resolve }) 会被触发。在该 listener 中,开发者可弹出自定义隐私授权弹窗,并在用户确定完成后通过 resolve({ event: 'agree', buttonid }) 或 resolve({ event: 'disagree' }) 分别触发 my.requireprivacyauthorize() success 或 fail 回调。
基于上述特性,开发者可以在调用任何真实隐私接口之前调用 my.requireprivacyauthorize 接口来模拟隐私接口调用,提前触发隐私弹窗逻辑。
object object
查看示例
属性 | 类型 | 默认值 | 必填 | 描述 |
---|---|---|---|---|
success | function | - | 否 | 调用成功的回调函数。 |
fail | function | - | 否 | 调用失败的回调函数。 |
complete | function | - | 否 | 调用结束的回调函数(调用成功、失败都会执行)。 |
axml
js 代码
<view a:if="{{showprivacy}}">
<view>隐私弹窗内容....</view>
<button id="agree-btn" open-type="agreeprivacyauthorization" onagreeprivacyauthorization="handleagreeprivacyauthorization">同意</button>
</view>
page({
data: {
showprivacy: false
},
onload() {
my.onneedprivacyauthorization(resolve => {
// 需要用户同意隐私授权时
// 弹出开发者自定义的隐私授权弹窗
this.setdata({
showprivacy: true
})
this.resolveprivacyauthorization = resolve
})
my.requireprivacyauthorize({
success: () => {
// 用户同意授权
// 继续小程序逻辑
},
fail: () => { }, // 用户拒绝授权
})
},
handleagreeprivacyauthorization() {
// 用户点击同意按钮后
this.resolveprivacyauthorization({ buttonid: 'agree-btn', event: 'agree' })
}
})
q:必须要调用 my.requireprivacyauthorize 接口吗?
a:
不是,my.requireprivacyauthorize 只是一个辅助接口,可以根据实际情况选择使用。