第一个坑:wx.showModal(OBJECT)
wx.showModal在安卓手机里,如果点击遮罩的话会关闭弹窗,不会有任何回调。而苹果的情况下则是点击遮罩不会有任何反应。
这样会有什么问题呢?
比如我有一个A界面是登录后才能访问的,在进入A界面后如果发现并没有登录的话则会弹窗要求再次授权,这时取消返回首页,确定再次授权,授权后访问A界面。
那么问题来了,如果我点击了遮罩没有任何回调的话则停留在了一个白屏的A界面……
查了查官方有很多人有反应过这个安卓和苹果的区别。但是官方的回复是设计如此……所以只能遇到这种情况避开使用wx.showModal了。
第二个坑:wx.chooseImage(OBJECT)
这个API会打开相册或者拍照,然后生成缓存。这本身没毛病,但是这个操作会有触发onShow的BUG。如果onShow里设置了什么就会重新再调用一次非常坑。避开的方法怕是只能设置个flag了。
2018.1.3早上补充:本来想设置个flag在选择图片前标记true图片选择完后的complete或者fail或者success的回调中flag标记为false,结果在还没触发onShow的时候就直接给回调了。于是我用了setTimeout来延迟flag标记后成功避开了这个BUG。
2018.1.3晚上补充:wx.chooseImage调回的文件信息在安卓中可以设置为background-image来显示,但是苹果不行。推荐都用<image>标签来显示获取的图片。
第三个坑:wx.showToast(OBJECT)(2017.1.3补充)
在微信小程序官方文档里是这么描述image的
自定义图标的本地路径,image 的优先级高于 icon
请发表评论