URI編碼問題
在進(jìn)行GET提交參數(shù)的時(shí)候,如果參數(shù)中有中文,記得要進(jìn)行URI編碼,encodeURI(參數(shù)) 如果不進(jìn)行編碼,ios設(shè)備正常。安卓設(shè)備會(huì)可能出現(xiàn)獲取不到參數(shù)的情況。
新特性支持情況
有些新特性可能會(huì)只支持高版本,對于低版本不支持,開發(fā)的時(shí)候要看清楚官方文檔。例如:icon組件的size屬性從2.4.0基礎(chǔ)庫開始支持rpx屬性。如果用戶客戶端基礎(chǔ)庫小于這個(gè)版本,就會(huì)出現(xiàn)無法顯示的問題,從而影響業(yè)務(wù)。
封裝請求
開發(fā)開始之前最好根據(jù)業(yè)務(wù)封裝請求函數(shù),這樣會(huì)事半功倍。
建立工具函數(shù)庫
把一些常用的函數(shù),例如格式化時(shí)間、封裝的請求、去空格等等。放到util.js里面做為工具類庫。
使用WXS
WXS是小程序腳本語言,功能類似于Vue的過濾器。但是WXS的語法不全和js一樣,具體看官方文檔。
靜態(tài)資源問題
把大部分靜態(tài)資源放到云上(除非你有特殊需求),把tab圖標(biāo)放到本地項(xiàng)目。這樣會(huì)大大節(jié)省小程序資源。但是網(wǎng)絡(luò)不好的情況,會(huì)出現(xiàn)靜態(tài)資源加載慢的情況。
RESTful 接口獨(dú)立
把請求的接口路徑進(jìn)行獨(dú)立,單獨(dú)放到一個(gè)類似serve.js的文件里面,便于以后維護(hù)。把域名也獨(dú)立出來。
分包加載
在一些大項(xiàng)目的時(shí)候,根據(jù)業(yè)務(wù)可以使用分包加載技術(shù)。即把一些公用的頁面放到主包,把其他的業(yè)務(wù)頁面放到各個(gè)分包中,然后在app.js里面設(shè)置分包預(yù)加載。這樣做可以節(jié)省網(wǎng)絡(luò)開銷,更有利于用戶體驗(yàn)。但是,目前分包預(yù)加載只適用在app.js中配置,沒有API接口。
rpx轉(zhuǎn)px
在某些場景中不能使用rpx,比如在使用小程序動(dòng)畫功能的時(shí)候,并不支持rpx,只能輸入固定的px值,這就對屏幕適配很不友好了。下面我貼出我自用的rpx轉(zhuǎn)px函數(shù):
const rpxToPx = rpx => {
let rpx1 = parseInt(rpx);
return Math.floor(rpx1 / 750 * wx.getSystemInfoSync().windowWidth)
}