微信小程序开发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(开发和体验版)时不会弹出授权,正式版不受影响。现在授权方式是需要引导用户点击一个授权按钮,然后再弹出授权。 解法很长,请参考: 解法1:微信小程序不支持wx.getUserInfo授权的解决方法 解法2:getUserInfo兼容解决方案 3. 只有在调试模式下,才能发送数据到自己的正式服务器其实,只要注意配置合法域名,这个问题就解决了。有的时候,因为一上来就开发,忘记掉去配置域名。后来发现数据没法出去,可能半天没想来忘记配置了! 4. 无法获取UnionID的问题login获取UID必须满足两个条件: 1、把小程序和公众号都绑定在开放平台; 2、用户必须已经关注公众号。 用wx.getUserInfo获取满足一个条件:把小程序和公众号都绑定在开放平台; 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%没有问题。 在这里,推荐Fundebug的小程序bug监控服务给各位老铁! 关于Fundebug2017年初,小程序还刚上线,Fundebug就支持小程序错误监控了。做为最早的小程序错误监控服务的拓荒者,累计为数千个小程序提供免费服务,累计处理数千万小程序错误。