部分安卓机存在这个问题,在wx.onNeedPrivacyAuthorization的回调方法里面设置this.showPopup为true,wxml里面的showPopup还是false <div style="position: absolute; left: 100px; top: 100px">测试setData {{ showPopup }}</div> if (wx.onNeedPrivacyAuthorization) { wx.onNeedPrivacyAuthorization((resolve) => { console.log('触发 onNeedPrivacyAuthorization') this.showPopup = true wx.showToast({ title: this.showPopup ? 'true' : 'false', }) }) }
在页面初次加载时,组件(封装的隐私授权弹窗)中 wx:if 设置为 true 但无显示?新的隐私授权处理,进页面时需要定位就会触发 wx.onNeedPrivacyAuthorization,打开隐私授权弹窗。多次编译发现有时会无弹窗显示,但监测数据 isShow 是正常变动到 true 的。这是什么原因,该如何处理呢? 在组件的 attached、ready 生命周期和页面的 show 生命周期中进行 popUp(弹窗显示)、或者刚进页面就触发 wx.onNeedPrivacyAuthorization,都会出现 wx:if 设置为 true 但不显示的问题。 使用 weui中的半屏组件 mp-half-screen-dialog(看了源码逻辑也是用的wx:if)或者直接自己写样式使用 wx:if 均存在此问题。 推测可能是部分异步加载基础库/小程序底层内容在此时未完全加载完成导致?开始设置了最短 40ms 的 setTimeout 但仍然存在此问题,应该不是任务轮次导致。 以下为涉及到此问题的代码,已去除部分与此问题无关的逻辑。 js 部分: data: { isShow: false, // wx:if 绑定的字段 }, lifetimes: { attached: function () { const that = this if (that.data._firstCheck) { // 传入属性,判断是否需要进页面时就确定授权情况 if (wx.canIUse('getPrivacySetting')) { wx.getPrivacySetting({ success: (res) => { if (res.needAuthorization) { that.popUp() } } }) } } }, }, pageLifetimes: { show: function () { const that = this if (wx.canIUse('onNeedPrivacyAuthorization')) { wx.onNeedPrivacyAuthorization(resolve => { // 监听需授权事件,且仅处理最后一个被触发的需授权事件 that.data._privacyResolve = resolve that.popUp() }) } }, }, methods: { popUp() { const that = this if (that.data.isShow === false) { that.setData({ isShow: true }) } } } }) wxml 部分: <mp-half-screen-dialog show="{{isShow}}" maskClosable="{{false}}" title="隐私提示" maskClosable="{{false}}" closabled="{{false}}"> <view slot="desc"> <text>隐私提示信息</text> </view> <view slot="footer"> <button type="default">不同意</button> <button id="agree-btn" type="primary" open-type="agreePrivacyAuthorization">同意</button> </view> </mp-half-screen-dialog>
2023-09-11没办法,恶心人他们是专业的
小程序选择了加急审核一直不审核,加急的意义在哪?我们在3余月8号就提交了加急代码审核,到现在都没给我们审核通过,我们小程序的页面不多,逻辑也不复杂啊,为什么迟迟不通过呢?[图片]
2023-02-28