个人案例
- wx.createInnerAudioContext问题追踪与记录
真机上没啥问题,主要是开发工具上表现差异较大。 问题一,播放结束后,第二次点击播放,TimeUpdate不会回调; 问题二,如果添加了destroy方法之后,会导致TimeUpdate在销毁的过程中报错,如截图。 对于TimeUpdate虽然可以通过Canplay添加pause和play方式临时解决,但是TimeUpdate事件未被销毁,更换地址播放时,会导致之前的音频地址同时也在播放。 调试跟踪看了下,官方对于TimeUpdate的事件处理与其他如Play、Ended等事件处理机制是不一样的,主要是要考虑TimeUpdate每隔250ms执行一次回调,实际上重复注册使用的是同一个事件。 通过WeakMap+随机时间戳字符串的方式进行关联,但是貌似事件注册那里存在问题,注册的实际是undefined,使得off去获取的时候,得到的是undefined,就抛出提示截图的错误。 - 当前 Bug 的表现(可附上截图) [图片] - 预期表现 能够正常实现TimeUpdate回调,以及正常销毁。 - 复现路径 pages/index/index - 提供一个最简复现 Demo https://developers.weixin.qq.com/s/BUc5iEmR7J8w
2019-05-26 - 坚果pro2播放1s音频,不触发onEnded事件
- 当前 Bug 的表现(可附上截图) 使用wx.createInnerAudioContext播放音频,对于小于1s的音频文件(暂未测试最小要求多大的),但是延长播放时长可以正常触发。 对于小于1s的音频文件,在开发工具中,可以正常触发。在真机中,不触发onEnded回调。 而且真机对于1s的音频文件也不能重播,也就是设置seek为0,重新播放没反应。 目前的解决方案是人为延长播放文件,留一些空白。 还是将该bug反馈给官方,看下是哪端的问题。 - 预期表现 在真机和开发工具中都能够正常触发。 - 复现路径 - 提供一个最简复现 Demo
2019-05-20 - npm模块路径问题
- 需求的场景描述(希望解决的问题) 从2.2.1之后是支持npm模块的,但是目前的npm模块对于文件处理有些问题,主要是跟原生的npm模块的使用比起来。 模块不支持默认的index.js,在引用模块的时候需要输入完整的xx-module/wx/index,而不是像npm模块那样,只需要xx-module/wx即可。 模块在“构建npm”之后调整了目录,其实是根据入口文件编译生成了一个文件。 针对2,目前的npm模块通过指定入口文件,比如index.js,应该是使用了类似rollup.js的优化编译,也就是会根据入口文件搜索关联文件,然后编译处理。如果文件中有另一个文件other.js没有使用,则会被丢弃。 其实,这样处理是很合理的。只是恰好有这样的需求,需要处理两个平台,有一定兼容性问题。在模块内部使用了两个入口,类似这样: import wx from '@modules/xx-module/wx'; import co from '@modules/xx-module/co'; 同一个npm模块,提供两个入口。如果不能提供多个入口的话,需要再拆分为两个模块,其实虽然有一些兼容性问题,很多逻辑处理都是一直的,再拆分为两个模块的话,不利于代码的组织和管理。 - 希望提供的能力 模块默认index.js文件处理; 可以在模块文件中指定多个入口文件(可在读取入口文件的配置文件中添加额外的字段进行配置),npm模块编译的时候保留多个入口文件。
2019-05-05 - 建议slot支持默认结构
- 需求的场景描述(希望解决的问题) 我们在自定义组件的时候,slot提供了使用者根据使用情况定义结构。但是更多的情况,应该有组件提供者提供的默认结构,使用者可重写覆盖默认结构。目前的自定义组件,没有提供类似的功能。 希望可以在<slot>标签中的内容作为默认结构,如果外部未自定义结构的情况下,使用默认的结构。 <slot> 这里定义的结构为默认结构 </slot> 还有一个就是,如果只有一个<slot>节点的情况,如果定义了name属性,需要在对应的.js文件中添加multipleSlots:true才会生效,否则不生效,实际上只有一个<slot>节点,仅仅是添加了name属性。这在文档中没有说明,应该算是一个小bug。 - 希望提供的能力 在自定义组件中,<slot>节点占位可以提供默认结构支持。
2018-10-03 - wx.scanCode可否支持扫描其他小程序码
- 需求的场景描述(希望解决的问题) wx.scanCode目前支持扫描小程序码,但是仅仅支持扫描“当前小程序”的码,不支持扫描其他小程序的码。小程序内都支持打开其他小程序,该接口也应支持扫描其他小程序的小程序码才是。 因为通常会提供多个端的小程序,不同用户使用不同端,配合完成相关业务。 - 希望提供的能力 wx.scanCode接口可支持扫描其他小程序码,可以得到path,以及scene相关参数。
2018-05-18 - video在可滚动视图中会浮动一个带有播放按钮的黑框
在一个列表显示中,列表中某一项为视频。 由于列表很长,视图可向上滚动。 滚动时,视频位置区域会出现带有播放按钮的黑框。 如图: [图片] 播放按钮原本应该在A位置,滑动时,出现在了B位置。
2018-04-25 - wx.getUpdateManager,该api存在问题
[代码]const updateManager = wx.getUpdateManager() updateManager.onCheckForUpdate(function (res) { // 请求完新版本信息的回调 console.log(res.hasUpdate) }) updateManager.onUpdateReady(function () { wx.showModal({ title: '更新提示', content: '新版本已经准备好,是否重启应用?', success: function (res) { if (res.confirm) { // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启 updateManager.applyUpdate() } } }) }) updateManager.onUpdateFailed(function () { // 新的版本下载失败})[代码] 直接使用官方提供的代码,在模拟器上可以正常进入onCheckForUpdate回调,真机没有反应。console.log输出发现,updateManager是一个指向null的空对象,但是typeof又得到的是function,且updateManager.onCheckForUpdate为true,很不符合逻辑。 貌似也有很多开发者反馈了该API的问题,希望官方可以统一回复一下,而不是选择“沉默”。
2018-04-14 - 微信认证199号段不支持
微信公众号在认证过程中,“认证联系人信息-联系人电话”,不支持199号段,199号段属于电信新号段,已经运营一段时间了。可以获取到验证码,应该是前端正则验证未通过,无法进行下一步操作,请尽快处理,谢谢!
2018-03-01 - 使用AWS EC2作为云服务器,域名备案问题
由于使用了国外AWS云服务器,国外对于域名是不要求备案的,微信小程序上线之后的域名是否一定要求备案呢?
2018-01-18 - wx.getUserInfo偶尔会不执行的问题
在开发工具中没有这个问题,但是在真机上,就会出现。 在用户已经点击确认授权了的情况,有时候是一段时间都不会执行,既不进入success,也不进入fail,甚至complete也不进入。手动删除小程序,重新扫描,偶尔又可以进入success。 之前一段时间没问题,只是偶尔也会遇到一次,今天很长时间都这样,偶尔进入success。 系统为Android 4.*系统,暂为在iOS上测试发现。 是否这是该接口的一个bug,或者其他人是否也偶尔会遇到此种情况。 观察到一个现象是,如果点击“确认”授权很快,出现的可能性较大,也许这个对于排查有一定帮助。
2017-07-08