- 在页面初次加载时,组件(封装的隐私授权弹窗)中 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-07 - 关于新版隐私保护指引配置中授权操作挂起(参考demo)问题,是否会导致多次触发获取手机号等付费项目?
关于新版隐私保护指引配置中授权操作挂起问题,问题来源自微信提供的demo4。(demo4: 演示使用 [代码]wx.onNeedPrivacyAuthorization[代码] 和 [代码]<button open-type="agreePrivacyAuthorization">[代码] 在多个 tabBar 页面处理隐私弹窗逻辑。 https://developers.weixin.qq.com/s/g6BWZGmt7XK9) 该 demo 中有将每次需要授权的操作挂起,【同意/不同意】隐私协议后统一处理的逻辑。但是在实际页面中,存在例如 demo4 这样使用了 tabbar 情况,此时页面无法完全遮罩,当用户不直接点击【同意/不同意】,而是直接切换页面,去多次触发需要授权的操作时,虽然其他页面的弹窗是会关闭,但是被挂起的操作仍会重复累积。并且因为在一个页面中触发后,其他页面的弹窗会关闭,所以再次回到上一个页面时又可以再次触发弹窗,也就是同一个页面中的操作也会被累积。而一旦用户在某个页面点击了击【同意/不同意】,这些被挂起的操作会全部继续走下去。这一来会带来些无用的开销,二来可能用户离开手机号授权、定位显示等需要授权的页面后,点击同意时仍会弹出多个授权提示,体验不佳,三来还有以下问题: 对于手机号授权等需付费的授权项目而言,被反复触发是不是会导致小程序方承担额外的费用?为避免这样的无用开销,切换页面时是否可以、或者说适合默认按照用户点击了【不同意】来处理?在隐私弹窗显示时禁止用户切换页面是否可行?其主要问题在于 tabbar 不会被样式上的遮罩层所遮罩,使用 wx.hideTabBar 来处理是否会有延时风险(例如在手机卡顿时 tabbar 没能成功隐藏,导致用户仍然能操作切换页面)?或者是否有其他可行方案阻止切换 tabbar 页面?
2023-08-31 - 微信开发者工具中如何启用 Proposed API ?
如题:微信开发者工具中如何启用 Proposed API ? 问题背景:微信开发者工具中使用扩展 GitLens — Git supercharged v 11.2.1 报错如下。 Error: [eamodio.gitlens]: Proposed API is only available when running out of dev or with the following command line switch: --enable-proposed-api eamodio.gitlens 查阅 vscode 的文档 https://code.visualstudio.com/api/advanced-topics/using-proposed-api 其中有启用 Proposed API 的方法,但微信开发者工具中无对应配置文件。 [图片]
2023-06-07 - 微信开放社区图片上传 .gif 格式文件时报错
微信开放社区图片上传 .gif 格式文件时报错,接口:https://developers.weixin.qq.com/cgi-bin/filetransfer?action=upload_cdn,上传.gif文件时报错,重试多次无果。返回中显示是系统错误,见下图。 [图片]
2023-02-21 - 通过微信扫码进入小程序,触发页面跳转,tabBar 组件显示已切换,但显示停留在原页面
如题,通过微信扫码(微信扫一扫)进入小程序首页后,根据业务条件判定会进行页面跳转,但使用 wx.switchTab 跳转到另一 tabBar 页面时,部分机型出现 tabBar 组件显示已切换,但页面显示仍然停留在原页面的bug,且原页面除地图组件以外的其他元素均不响应点击。而在小程序内扫码后触发相同的业务逻辑是可以正常跳转的。 问题机型:华为荣耀10,鸿蒙2.0.0(微信识别为安卓),微信版本8.0.32,基础库版本2.30.0。
2023-02-07 - 在开发者工具中,微信支付用手机付款后,先点击关闭模拟器中的收银台,进入fail回调,真机会这样吗?
如题,在进行微信支付的开发,使用wx.requestPayment()。 在开发者工具中,调起收银台,使用手机扫码付款后,没有点击完成,而是先点击关闭模拟器中的收银台,结果进入了fail回调,拿到的信息是{errMsg: "requestPayment:fail cancel"}。 请问真机会存在这样的情况吗,支付成功,却进入fail回调? 开始为了给用户尽快相应,除了向后台查询,还在fail回调中设置了处理支付失败的业务逻辑。这就导致原本应该成功的支付结果变成了失败。 如果去掉的话,需要等待后台查询时限结束后再处理支付失败的业务逻辑。如此给用户的响应会不太及时。有什么好方法吗?
2021-08-26 - 小程序模拟运行时,有方法可以判断是哪部分代码调起的wx.loading窗口吗?
如题,小程序模拟运行时,有方法可以判断是哪部分代码调起的wx.loading窗口吗?
2021-08-24 - ios部分机型,h5开放标签进入,参数及场景值获取异常
ios部分机型,h5开放标签wx-open-launch-weapp进入,携带的参数及场景值获取异常问题: 业务目标:在h5开放标签wx-open-launch-weapp进入小程序,且携带相关参数的情况下进行业务操作; 实现方式:采用App.onShow(res)更新场景值;主页的page.onLoad(options)获取h5开放标签进入时携带的参数,并和场景值一起进行判断; 异常表现:第一次从h5开放标签进入小程序,可正常获取相关数据;右上角胶囊关闭,再次从h5开放标签(期间有离开h5页面进行一些操作后重新进入h5页面)进入小程序,携带的参数及场景值获取异常;右上角胶囊关闭,重新点击h5开放标签(未离开h5页面),可正常获取相关数据。 预期表现:每次从h5开放标签进入小程序,均可通过App.onShow(res)和page.onLoad(options)正常获取携带的参数及场景值。正常情况下,h5开放标签进入小程序,场景值为1167。 已确认异常机型及微信版本: (1)iPhone7,ios14.6,微信7.0.15 (2)iPhone12,微信8.0.6 希望能尽快解决,谢谢!
2021-07-13 - 小程序生成时自带的index和log页面有什么作用?可以直接删除吗?
小程序生成时自带的index和log页面有什么作用? 确认这两个页面不会抵达,可以直接删除吗? [图片]
2021-05-31 - 小程序里自创的类的Prototype怎么写呢?写在Page里一直报错
已定义Marker构造函数 Marker.prototype={ //此处报错 …… }
2021-04-29