微信要求小程序开发者在2023.9.15日前将小程序中调用获取用户隐私api的接口时,都必须要先让用户授权,如果用户拒绝授权,那么小程序的对应接口或组件将直接禁用。
那么首先,请将微信小程序开发者工具-详情-本地设置-基础调试库 切换至2.33.0以上。低于该调试库会报错找不到相关api。文章来源:https://www.toymoban.com/news/detail-699789.html
//简易流程代码为
const Modal = () => {
const [openModal, setOpenModal] = useState(false);
//初始化检查是否授权
useEffect(()=>{
//监听隐私接口需要用户授权事件。当需要用户进行隐私授权时会触发。触发该事件时,开发者需要
弹出隐私协议说明,并在用户同意或拒绝授权后调用回调接口 resolve 进行上报。
wx.onNeedPrivacyAuthorization(resolve => {
// 需要用户同意隐私授权时
// 弹出开发者自定义的隐私授权弹窗
setOpenModal(true)
resolvePrivacyAuthorization = resolve
})
},[])
//用户点击“同意”按钮,隐私协议事件回调
const handleAgreePrivacyAuthorization = ()=>{
resolvePrivacyAuthorization({ buttonId: 'agree-btn', event: 'agree' })
//关闭隐私协议弹窗
setOpenModal(false)
// 用户点击了同意,之后所有隐私接口和组件都可以调用了
// wx.getUserProfile();
// wx.chooseMedia();
// wx.getClipboardData();
// wx.startRecord();
}
//点击隐私协议
const goWxAgreement = () => {
wx.openPrivacyContract({
success: (res) => {
console.log('打开隐私协议成功', res)
}, // 打开成功
fail: (res) => {
console.error('隐私协议打开失败', res)
}, // 打开失败
complete: () => { }
})
}
//点击取消
const handleClickCancel = ()=>{
//关闭隐私协议弹窗
setOpenModal(false)
//...任意逻辑
}
return <View open={openModal}>
<Content>
在你使用【发卷小助手】小程序服务之前,请仔细阅读<Text style={{ color:'#3b7eff'
}} onClick={goWxAgreement}>发卷小助手隐私保护指引</Text>。如你同意<Text
style={{ color: '#3b7eff' }} onClick={goWxAgreement}>发卷小助手隐私保护指.
引.</Text>,请点击“同意”开始使用【发卷小助手】。
</Content>
<View>
<Button onClick={handleClickCancel}>取消</Button>
<Button
id="agree-btn"
openType="agreePrivacyAuthorization"
bindagreeprivacyauthorization={handleAgreePrivacyAuthorization}>
同意
</Button>
</View>
</View>
}
const Home = ()=>{
return <View>
xxxxx页面内容
//这里是自定义的隐私协议授权弹窗
<Modal />
</View>
}
目前Taro官方还没有给Button组件加上openType="agreePrivacyAuthorization"和bindagreeprivacyauthorization属性,点击按钮无法触发方法,所以暂时无解,期待taro官方解决!文章来源地址https://www.toymoban.com/news/detail-699789.html
到了这里,关于【Taro】微信小程序隐私协议改造的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!