uniapp开发微信小程序踩坑

Uniapp是目前比较火热的一款跨平台开发框架,可以快速开发出iOS、Android、H5、微信小程序等多种应用。但是在使用uniapp开发微信小程序时,还是有一些需要注意的坑点,接下来我将详细介绍一下。

1.网络请求

在uniapp中使用网络请求,可以使用uni.request(api, data, method)进行调用。但是在微信小程序中,需要先获取到用户的openid,才能够通过服务器进行访问,否则会报错。

解决方法:在使用uni.request前,先使用uni.login获取到用户的code,再通过服务器获取openid。在服务器返回openid后,再进行uni.request操作。

2.路由跳转

在uniapp中进行路由跳转时,需要使用uni.navigateTo或uni.redirectTo,但是在微信小程序中,当跳转到tabBar页面时,需要使用uni.switchTab进行跳转,否则会报错。

解决方法:在进行路由跳转前,先判断目标页面是否为tabBar页面,如果是,则使用uni.switchTab进行跳转。

3.页面生命周期

在uniapp中,页面生命周期有created、mounted、onLoad、onReady、onShow、onHide、onUnload等生命周期钩子。但是在微信小程序中,并没有mounted这个生命周期钩子。

解决方法:将mounted钩子改为onLoad钩子,这两个钩子的功能是相同的。

4.组件支持度

uniapp在打包成微信小程序时,会对一些组件做出不支持的处理,例如半透明遮罩层。当在uniapp中使用,uniapp会进行透明度降低的处理,但是在微信小程序中不会。

解决方法:针对性的修正代码,使之在微信小程序中能够正确运行。

5.本地存储

在uniapp中,可以使用uni.setStorageSync和uni.getStorageSync进行本地存储,但是在微信小程序中,需要使用微信官方提供的wx.setStorageSync和wx.getStorageSync进行本地存储。

解决方法:在使用本地存储时,进行api的区分。

6.微信API不支持

uniapp中封装了很多跨平台的API,但是微信小程序本身是一种比较封闭的环境,所以还是会有一些API在微信小程序中不支持。

解决方法:需要通过微信官方提供的API进行调用。

总结:

以上就是uniapp开发微信小程序时需要注意的坑点,针对这些坑点,我们需要进行深入的学习和理解,才能够保证项目的顺利进行。同时在开发过程中,也应该多与同行进行交流和讨论,一起解决问题,提高开发效率。