- WMPF快速体验版小程序获取不到云开发后台数据,但是在微信打开此小程序没有问题?
小程序后台使用云开发,已经发布上线,在微信打开也没有问题。 使用WMPF快速体验版(release-v1.0.5),可以打开小程序,但是无法获取到云开发平台中的数据。 是不是快速体验版,对小程序访问云开发后台数据,做了安全限制? appid:wxbdb0ec541c32f104
2021-09-15 - 申请后台定位权限,为什么不能默认选择“使用小程序期间和离开小程序后”
后台定位权限获取安卓 8.0.0 , iOS 8.0.0 起,若开发者未通过wx.authorize({scope: 'scope.userLocation'})请求过位置权限,支持通过 [代码]wx.authorize({scope: 'scope.userLocationBackground'})[代码] 唤起后台使用地理位置授权窗口。 使用wx.authorize({scope: 'scope.userLocationBackground'}),唤起的授权窗口如下: [图片] 用户经常会使用默认选项“在使用小程序期间”,点击允许,这样就需要再去小程序设置中操作一次。 既然是申请后台定位权限,为什么不能直接将默认值设为“在使用小程序期间和离开小程序后”? 这样使用起来会更加便捷,减少用户的操作,提升易用性。 希望微信团队能够在细节方面进行改善,谢谢!
2021-07-19 - 开启前后台均接收位置消息,微信切换到后台,无法实时返回当前位置信息。
【问题描述】 在Android真机上使用代码片段,调用startLocationUpdateBackground API进行后台定位,实时绘制当前的实时位置信息, 将小程序和微信都切换到后台,显示手机待机界面,API无法实时返回当前位置信息。 【测试步骤】 1.将代码片段部署到Android真机上进行预览; 2.在弹出授权对话框中,选择“在使用小程序期间和离开小程序后”,获取权限后,界面会显示“后台定位权限 true”; 3.打开后台定位开关,在地图上实时显示API返回的位置信息,其中: 蓝色点:返回GPS经纬度,和上一次返回的经纬度不一致时,绘制的位置信息; 红色点:返回GPS经纬度,和上一次返回的经纬度一致时,绘制的位置信息(上面的数字表示重复返回同一位置的次数)。 在如下三个场景下进行测试: (1)小程序始终保持在前台: 后台定位API,能够实时返回当前的位置信息; [图片] [视频] (2)小程序切换到后台,微信始终保持在前台: 后台定位API,能够实时返回当前的位置信息; [图片] (3)直接切换到手机待机界面(手机桌面): 后台定位API,无规律的返回少量的位置信息。 [图片] [视频] 【Android设备信息】 [图片]
2021-07-19 - Android手机上,只要微信被切换到后台,后台定位总是返回相同的经纬度
Android手机,调用wx.startLocationUpdateBackground后台定位,在后台监测位置更新,当微信在前台时,即使设备锁屏,都能够正常更新;但如果将微信切换到到后台(显示Android首页面或者切换到其他应用程序),回调函数接收到的位置信息,就不会更新了。 同样的代码,在iPhone手机上测试,则不会有问题,无论微信是否被切换到后台,都能够接收到位置更新。 使用代码片段的重现步骤: (1)在Android手机上打开真机调试,打开“定位控件”开关,开启后台实时监测; (2)在授权对话框中选择“在使用小程序期间和离开小程序后”,并点击允许; (3)在Android手机上将微信应用切换到后台,打开任意一个其他的App(如腾讯视频等)到前台; (4)在户外走一圈,在真机调试窗口查看实时打印信息,发现position changed几乎不会被打印出来,_locationChangeFn res打印的值都是相同的。 注:在回调函数_locationChangeFn中有两个log,当GPS位置发生变化时,这两个log都会显示。 _locationChangeFn(res) { console.log('_locationChangeFn res:', res.latitude, res.longitude) if ((res.latitude != this.data.location.latitude) || (res.longitude != this.data.location.longitude)) { console.log('position changed:', res.latitude, res.longitude) this.setData({ location: { latitude: res.latitude, longitude: res.longitude } }) } [图片]
2021-03-08 - 使用云开发模版,用Collection.watch实时监测聊天室数据变化,关闭移动数据时抛出异常!
1. 新建一个小程序工程,选择小程序.云开发; 2.使用Android手机进行预览,先关闭wi-fi连接; 3.打开聊天室,发送信息; 4.关闭移动数据,抛出如下异常: [图片] 抛出异常后,watch失效,无法再次收到消息。 视频: [视频] 两台Android手机的系统信息如下: [图片] [图片] ios设备上使用Collection.watch,也概率性出现r is not a function问题,只是尚未找到重现规律。
2021-03-08 - 调用startLocationUpdateBackground,微信切换到后台,返回的定位位置相同?
Android 华为荣耀9手机,调用wx.startLocationUpdateBackground在后台监测位置更新,当微信在前台时,即使设备锁屏,都能够正常更新;但如果将微信切换到到后台(显示Android首页面或者切换到其他应用程序),回调函数接收到的位置信息,就不会更新了。 同样的代码,在iPhone手机上测试,则不会有问题,无论微信是否被切换到后台,都能够接收到位置更新。 以下是Android手机相关信息截图: [图片] 代码片段如下: https://developers.weixin.qq.com/s/GpTEldmr7eoJ 在回调函数_locationChangeFn中有两个log,当GPS位置发生变化时,这两个log都会显示。 _locationChangeFn(res) { console.log('_locationChangeFn res:', res.latitude, res.longitude) if ((res.latitude != this.data.location.latitude) || (res.longitude != this.data.location.longitude)) { console.log('position changed:', res.latitude, res.longitude) this.setData({ location: { latitude: res.latitude, longitude: res.longitude } }) } 重现步骤: (1)打开真机调试,打开“定位控件”开关,开启后台实时监测; (2)在授权对话框中选择“在使用小程序期间和离开小程序后”,并点击允许; (3)在Android手机上将微信应用切换到后台,打开任意一个其他的App到前台; (4)在户外走一圈,在真机调试窗口查看实时打印信息,发现position changed几乎不会被打印出来,_locationChangeFn res打印的值都是相同的。
2021-02-18 - 小程序自动化,该选择哪一个SDK?
官方对于小程序自动化,先后出了minium和miniprogram-automator,现在对于开发者来说,更推荐用哪一个? miniprogram-automator虽然是官方文档中介绍的,但2020年,仅更新了两个版本。
2020-12-23 - miniProgram.restoreWxMethod为什么没有起作用?如何打印处理返回函数的信息?
微信开发者工具版本号:1.03.2011120 基础库版本:2.14.1 问题描述:使用文档中的miniProgram.mockWxMethod范例,输出结果和文档中的结果不一致。 beforeAll(async () => { miniProgram = await automator.launch({ projectPath: '...' }) /* // 第一种Mock:直接指定调用结果 console.log(('111'), await miniProgram.callWxMethod('getStorageSync', 'test')) // -> '' await miniProgram.mockWxMethod('getStorageSync', 'mockValue') console.log(('222'), await miniProgram.callWxMethod('getStorageSync', 'test')) // -> 'mockValue' await miniProgram.restoreWxMethod('getStorageSync') console.log(('333'), await miniProgram.callWxMethod('getStorageSync', 'test')) // -> '' 实际输出结果: 111 222 mockValue 333 mockValue beforeAll(async () => { miniProgram = await automator.launch({ projectPath: '...' }) // 第二种Mock:使用处理返回函数 await miniProgram.mockWxMethod( 'getStorageSync', function (key, defVal) { console.log('exec mock function: defVal=', defVal) if (key === 'name') return 'redhoodsu' if (key === 'sex') return 'male' return defVal }, 'unknown', ) console.log(('444'), await miniProgram.callWxMethod('getStorageSync', 'name')) // -> 'redhoodsu' await miniProgram.restoreWxMethod('getStorageSync') console.log(('555'), await miniProgram.callWxMethod('getStorageSync', 'name')) // -> '' 实际输出结果: 444 redhoodsu 555 redhoodsu 问题1:miniProgram.restoreWxMethod貌似失去了作用,是哪里没有调用对吗? 问题2:处理返回函数的调试信息,打印不出来,是不支持吗?
2020-12-21