記錄小程序開發(fā)中的一些坑和技巧

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)
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容