我们的小程序中出现了同样的问题,目前已经解决 原因:官方使用wx.onNeedPrivacyAuthorization进行用户隐私的监听,但是在我们的小程序中,仅仅使用wx.getPrivacySetting来判断是否用户有授权动作,在全局判断的时候,我们因为引入了第三方sdk,而这个中使用了被废弃的wx.getUserInfo,导致被微信全局监听到,弹出官方弹窗。现解决方案:在项目启动时,添加监听逻辑,替代微信官方的监听 app.js——onLaunch方法中添加如下逻辑即可 wx.onNeedPrivacyAuthorization && wx.onNeedPrivacyAuthorization((resolve, eventInfo) => { console.log('触发本次事件的接口是:' + eventInfo.referrer) // 需要用户同意隐私授权时 // 弹出开发者自定义的隐私授权弹窗 this.resolvePrivacyAuthorization = resolve })
自定义隐私协议弹窗使用了官方文档的方案,流程也能进行,基础库更新后发现报错?使用最新版的资源库3.1.2,发现报错 自定义的隐私协议弹窗使用的是官方文档中的方法 <button id="agree-btn" open-type="agreePrivacyAuthorization" bindagreeprivacyauthorization="handleAgree" class="argee ">同意并继续</button> wx.getPrivacySetting({ success: res => { console.log("是否需要授权:", res.needAuthorization, "隐私协议的名称为:", res.privacyContractName) if (res.needAuthorization) { this.popUp() } else { this.triggerEvent("agree") } }, fail: () => {}, complete: () => {}, }) 在3.1.1及之前的资源库及前几天的线上环境中都不存在报错,在3.1.2及如今的线上环境,都存在报错提示 [图片] 在明明写了隐私协议弹窗的情况下依然弹出了官方的授权弹窗 [图片] 不知道是什么原因。
2023-10-13