URI编码问题 Link to heading
在进行GET
提交参数的时候,如果参数中有中文,记得要进行URI编码,encodeURI(参数)
如果不进行编码,ios设备正常。安卓设备会可能出现获取不到参数的情况。
新特性支持情况 Link to heading
有些新特性可能会只支持高版本,对于低版本不支持,开发的时候要看清楚官方文档。例如:icon
组件的size
属性从2.4.0
基础库开始支持rpx属性。如果用户客户端基础库小于这个版本,就会出现无法显示的问题,从而影响业务。
封装请求 Link to heading
开发开始之前最好根据业务封装请求函数,这样会事半功倍。
建立工具函数库 Link to heading
把一些常用的函数,例如格式化时间、封装的请求、去空格等等。放到util.js里面做为工具类库。
使用WXS Link to heading
WXS是小程序脚本语言,功能类似于Vue的过滤器。但是WXS的语法不全和js一样,具体看官方文档。
静态资源问题 Link to heading
把大部分静态资源放到云上(除非你有特殊需求),把tab图标放到本地项目。这样会大大节省小程序资源。但是网络不好的情况,会出现静态资源加载慢的情况。
RESTful 接口独立 Link to heading
把请求的接口路径进行独立,单独放到一个类似serve.js的文件里面,便于以后维护。把域名也独立出来。
分包加载 Link to heading
在一些大项目的时候,根据业务可以使用分包加载技术。即把一些公用的页面放到主包,把其他的业务页面放到各个分包中,然后在app.js
里面设置分包预加载。这样做可以节省网络开销,更有利于用户体验。但是,目前分包预加载只适用在app.js
中配置,没有API接口。
rpx转px Link to heading
在某些场景中不能使用rpx,比如在使用小程序动画功能的时候,并不支持rpx,只能输入固定的px值,这就对屏幕适配很不友好了。下面我贴出我自用的rpx转px函数:
const rpxToPx = rpx => {
let rpx1 = parseInt(rpx);
return Math.floor(rpx1 / 750 * wx.getSystemInfoSync().windowWidth)
}