微信小程序IOS真机date的一个坑

给之前做的就职日历小程序添加列表功能,顺便发现了一个巨坑。

1
2
3
4
5
6
7
console.log(new Date('2018-03-01'))

// on android and pc simulator
// =>2018-03-01T00:00:00.000Z

// on ios
//=> null

WTF

原因很简单,三者的JS的引擎不一样。
修正也很简单,把所有的’yyyy-mm-dd’ 格式修正成’yyyy/mm/dd’格式既可。
防止于未然的策略就是,真机测试测试再测试。
以上。

微信小程序真机测试的一些坑

wx.request 只支持get和post

在官方IDE中我们使用patch和delete都是ok的,但是一旦到了真机,发现wx.request根本不发出相应的request。
如果后端主导权在开发者,那很简单了,添加post的endpoint就是。否则就哭去吧。

自定义font需要转成base64放入

官方IDE中导入了fontawesome,直接把fontawesome的字体文件下下来在fontface中引用完全没问题,到了真机就不行了。
具体做法可以参照这里

开发环境和生产环境的切换

global的配置总是没有一个好的方法,建议直接写死,发布之前用sed替换掉。
比如下面的例子

1
grep -rl <dev_host> . | xargs sed -i '' 's/<dev_host>/<prod_host>/g'

之后逐渐补充