- 线上小程序最近出现偶发的BLE蓝牙扫描不到的问题?
线上小程序,用户反馈扫不到,包括我们开发自测发现偶发的BLE扫不到的问题。 自测方式是:安卓保证GPS、蓝牙开关打开,微信定位权限授予,小程序蓝牙授权允许,如下找几个小程序测试 1.我们自己线上小程序扫不到 2.打开小程序示例-接口-设备-蓝牙-开始扫描,同样未发现设备 3.搜索其他蓝牙小程序,同样未发现设备 4.安装蓝牙调试工具,如nRF Connect扫描,能正常扫描设备 出问题是偶发的,客户反馈之前是能正常用的,同时自测也是能够,但有时候自测的手机突然就扫不了了,按上述方法排除也不能,已更新最新微信客户端8.0.50,同时回滚过小程序版本无效,用微信开发者工具推送过旧基础库也无解。但别的手机始终都能使用,老微信新小程序,新微信老基础库,这么交叉地调,始终无法复现。 怀疑是新微信客户端对小程序权限有改动,而小程序的蓝牙运行依赖这个微信权限,然后这个权限又是微信网络获取的
06-18 - 远程存在基座 APK,但已过期无法使用,需要重新远程构建?
[图片] [图片] 中午的时候想在真机上试试,点了图2中的运行,提示如图1。然后按提示再点图2中的构建,仍然提示图1内容。以往点击运行就能下载基座,然后本地编译,安装到手机。
05-28 - wx.batchGetStorage似乎数据不与既有缓存接口打通
[图片] BUG说明: 1.使用wx.setStorage设置的缓存,至少能在回调后用wx.getStorage读出。而此时用wx.batchGetStorage则只会读到null值。无论存储的是string、原生对象还是自定义实例(对应2A、2B、2C按钮),在安卓真机开发版上均如此复现,开发工具暂未发现 2.使用2D按钮触发后,接口回调后调用1B和1C能有正确结果了,但若2D回调后先执行1C,会出现data not found,返回调用1B则1C也恢复正常。同时再使用wx.getStorageInfo获取不到batchSetStorage的key,同样在安卓真机开发版上有问题,开发者工具表现正常 测试机型(其他机型无测试条件): 红米K40 @MIUI 12.5.19
2023-10-17 - 代码质量分析异常?
系统:Windows 10 1909 (18363.720) 工具版本:Stable 1.05.2203070 [图片] 代码质量分析结果总是不对,已检查全部代码均为必须代码,导致打开代码质量检查时总不能上传(当然是需要这个功能啊) 代码片段:https://developers.weixin.qq.com/s/zgYm4RmL7sxz
2022-03-19 - 希望能细化安全规则粒度
云开发文档-安全规则中,支持的安全类型通用地为:read和write,但write可细分为create、update、delete。 但全局变量仅支持doc、auth和now;我的理解是:doc为查询的条件,对于一些简单的查询或写入是有效且方便的,但对于依赖规则来限制一些写入的行为,则有些不足。 如有一记录含有字段dateStr,合法地创建时为2021-09-16,但非法地通过.where({ dateStr: "2021-09-16", _openid: "{openid}" }) .update({ data: { dateStr: "2021-09-15" } }) 进行篡改的话,当前的安全规则无法限制。 我的设想为:规则表达式增加data(add和update操作的data字段),编写表达式: update: doc.dateStr == data.dateStr 则可对非法篡改进行限制 最后,还希望安全规则能支持更多内容,如: 1.不能为空的判断支持,如!doc.dateStr,能限制必须传入参数进行查询或写入 2.正则表达式的支持,如/^\d{4}-\d{2}-\d{2}$/.test(dateStr),能限制查询、写入的数据格式
2021-09-16 - WXML中使用WXS函数会出现数据更新检测无效的情况
1.当使用键值更新的方式setData时,引用conf对象的WXS函数的返回值无法应用到页面上,如: this.setData({ "conf.theme": "light" }); <view class="view {{t.fromObj(conf)}}"></view> 无效 <view class="view {{t.fromKey(conf.theme)}}"></view> 有效 但引用conf.theme的WXS函数可以。 2.当使用对象覆盖的方式setData时,无论WXS函数引用的是conf对象还是conf.theme,其返回值均可以正常应用到页面上,如: this.setData({ conf: { theme: "light" } }); <view class="view {{t.fromObj(conf)}}"></view> 有效 <view class="view {{t.fromKey(conf.theme)}}"></view> 有效 而且简单测试,似乎情况1在所有类型传参均受影响,无论class、style、dataset还是组件的property传参。 且有特殊情况就是: <view class="view {{t.fromObj(conf)}} {{t.fromKey(conf.theme)}}"></view> 对于情况1,这里似乎因为t.fromKey(conf.theme)被识别到更新,所以同时更新了t.fromObj(conf)
2021-09-05 - 跨字段查询时安全规则如何匹配?
若查询对象有确定的键值,那么安全规则可以直接使用。如:.where({ _openid: "{openid}" }) 的安全规则可为:auth.openid == doc._openid 但若为跨字段查询:.where(_.or({ _openid: "{openid}" }, { adminstrators: _.in(["{openid}"]) })) 此时,上述的安全规则无效。 那么这种情况应该该如何编写安全规则? 自己揣摩的doc.or[0]._openid == auth.openid 也无效
2021-06-17 - 深色模式的切换导致小程序重载
以下场景仅在两台手机(Android 10 + MIUI 12 和 Android 11 + MIUI 12.5)上测试过,其他机型不确定。 文档是都有提到深色模式的用法,但我觉得场景限定得太死。比如: app.json[darkmode] = false 限制了小程序窗体颜色自动变换,onThemeChange的变换回调,getSystemInfo[theme]当前主题的返回。 app.json[darkmode] = true 则在手动切换或某些系统提供了定时切换主题模式后,会导致正在运行的小程序重载(重启),导致小程序的一些操作和数据丢失。 问题在现在的限制下,业务上是希望能适配主题的切换但又不想小程序重新加载,我想到的办法是WXSS使用媒体查询 prefers-color-scheme + onThemeChange中修改窗体颜色。问题是小程序不重载要求app.json[darkmode]为false,但这不会触发onThemeChange回调,getSystemInfo[theme]也没有返回。 我觉得onThemeChange和getSystemInfo可以不依赖darkmode的设置值。 此外,即使配置了darkmode为true,切换主题后因为小程序重载了,且onThemeChange不会触发?那这个功能真是鸡肋。
2021-06-09 - 微信开发者工具系统睡眠后假死
微信开发者工具系统睡眠后假死,除了顶栏窗口外的区域无法聚焦(未尝试点击其他菜单按钮,只点击过最小化),此时可点击最小化按钮,再切回前台又恢复正常。之前几个版本的开发者工具一直存在该问题。 其他程序使用正常,不存在休眠后假死的情况 系统版本:Win10 1909 18363.1316
2021-01-27 - 如何获得小程序已运行多久的时间?如Node中的process.hrtime
有一个需求,需要严格控制时间的正确显示(不要求太精准,10秒内均可),而实测中无论是小程序、浏览器上均可随意更改时间,且更改时间后,Date对象获得的时间值会同步更改。若要实现需求,又不想每次显示前轮询服务器获得服务器时间,因为这无论是从响应时延,还是服务器压力上都有很大挑战。 所以以我目前能够想得到的方式则是,存在一个不随系统时间变化的程序运行时间A,再通过查询一次服务器时间B,记录B-A的offset,然后需要用到时间的时候,读取当前A值+offset则得出几乎在精度要求下的服务器时间了。 但我目前观察到只有用户交互事件中会携带timeStamp这个符合要求的偏移量,那么请问还有其他非用户触发的接口有类似此功能吗?
2020-09-02