小程序开发越来越热,开发中遇到各种各样的 bug,在此总结了一些比较容易掉进去的坑分享给大家。

1. new Date 跨平台兼容性问题

在 Andriod 使用new Date(“2018-05-30 00:00:00”)木有问题,但是在 ios 下面识别不出来。

因为 IOS 下面不能识别这种格式,需要用2018/05/30 00:00:00格式。可以使用正则表达式对做字符串替换,将短横替换为斜杠。var iosDate= date.replace(/-/g, '/');

2. wx.getUserInfo() 接口更改问题

微信小程序最近被吐槽最多的一个更改,就是用户使用 wx.getUserInfo(开发和体验版)时不会弹出授权,正式版不受影响。现在授权方式是需要引导用户点击一个授权按钮,然后再弹出授权。

解法很长,请参考:

3. 只有在调试模式下,才能发送数据到自己的正式服务器

其实,只要注意配置合法域名,这个问题就解决了。有的时候,因为一上来就开发,忘记掉去配置域名。后来发现数据没法出去,可能半天没想来忘记配置了!

4. 无法获取 UnionID 的问题

5. wx.getSystemInfoSync 获取 windowHeight 不准确

主要原因在于获取是时机,wx.getSystemInfoSync 是在页面初始化的时候就计算了,基本上可以理解为是屏幕高度。所以,最好的方法是使用异步接口,并且在 onReady 函数中调用。

onReady() {
  wx.getSystemInfo({
    success({windowHeight}) {
      // todo
    }
  });
}

6. 图片本地资源名称,尽量使用小写命名

在解决 iPhone X 适配时,底部多余部分使用图片时

<image class='iphonexImg' src="/imgs/iphoneBGT.png" mode="aspectFill">image>

路径是 src='imgs/iphoneBGT.png'

发现在 pc IDE 上面可以显示出来,但是真机调试时,图片找不到,

然后将图片名称改为 iphonex.png 真机调试就可以了

<image class='iphonexImg' src="/imgs/iphonex.png" mode="aspectFill">image>

写在最后:代码总是有各种 bug,像上面列举的问题还是在开发中就可以发现。而代码上线以后呢,测试也不能保证 100% 没有问题。


↙↙↙阅读原文可查看相关链接,并与作者交流