小程序踩坑日记

217 阅读1分钟

这篇文章永久更新,慢慢记录一下自己在小程序块踩到的坑,有些内容不正确或者有更好解决方案的欢迎评论区留言,嘿嘿~

ios手机wx.createInnerAudioContext播放报错

现象: 苹果手机播放语音报错,安卓正常,非必现。错误errMsg如图所示,看报错信息好像跟域名有关,但换成getBackgroundAudioManager后的同样域名地址又可以播放,最终还是没有找到具体原因。如果大佬有其他意见可以在评论区指教一下嘿嘿。

IMG_4720.jpeg 解决方案: 微信官方好像并没有修复这个问题,暂时可以用getBackgroundAudioManager代替createInnerAudioContext; 使用getBackgroundAudioManager要额外注意下载音频的时候一定要指定header,播放时title属性是必填且为String类型

      wx.downloadFile({
        url,
        // 一定要指定header
        header: 'Content-Length',
        success: (res) => {
          if (res.statusCode === 200) {
            // title一定要是String类型的值
            innerAudioContext.title = String(new Date().getTime());
            innerAudioContext.src = res.tempFilePath;
            innerAudioContext.play();
            return
          } 
          wepy.showToast({
            title: res.errMsg || '语音加载失败',
            icon: 'none',
          });
       }
     });

Wepy进行组件传值时布尔值无法直接传字面量

<!-- 不生效! -->
<comp :isShowArrow='true' />
<!-- 不生效! -->
<comp :isShowArrow='{{true}}' />
<!-- 生效 -->
<comp :isShowArrow='isShowArrow' />
data = {
 isShowArrow: true
}

订阅消息不支持跳转分包

解决方案:可以统一跳转到首页在onload去做二次跳转判断