连生老师今天说了一下小程序后台,一个运维中心经常报的错误:错误提示:wx.getSetting不是函数;在应用程序生命周期方法启动功能上.
这里的Wx.getSetting可能是其他的API,比如wx.getBackgroundAudioManager、wx.saveVideoToPhotosAlbum等。
这些API有一个共同点:applet basic library 1.0.0不支持它们,只有后续的basic library版本才支持它们。
有些同学已经在小程序后台设置了基本库的最低支持版本,但还是会报错。是微信的bug吗?
然后,我们只能默默怀疑是微信的官方bug。
为什么微信客户端6.5.8版之前这个错误是问题,6.5.8版之后就正常了?
(微信客户端6.5.8截图如下)
当我们判断API是否支持时,有很多方法。其中微信官方给了一个《比较小程序基础库版本号的正确方法》,你可以自己去开发者社区搜索。
这里提到的基本库版本(SDKVersion)是通过API wx.getSystemInfo获得的让我们来看看官方文档:
本来这个API是从基础库1.1.0支持的,也就是1.1.0之前的版本1.0.0和1.0.1都无法得到这个值。
所以可以肯定的是,小程序后台设置的基础库的最低版本应该由SDKVersion来判断。使用API时,建议使用其他判断方法,如wx.canIUse('getSetting ')。