小程式開發越來越熱,開發中遇到各種各樣的bug,在此總結了一些比較容易掉進去的坑分享給大家。
1. new Date跨平臺相容性問題
在Andriod使用new Date(“2018-05-30 00:00:00”)
木有問題,但是在ios下面識別不出來。
因為IOS下面不能識別這種格式,需要用2018/05/30 00:00:00
格式。可以使用正規表示式對做字串替換,將短橫替換為斜槓。var iosDate= date.replace(/-/g, '/');
。
2. wx.getUserInfo()介面更改問題
微信小程式最近被吐槽最多的一個更改,就是使用者使用wx.getUserInfo(開發和體驗版)時不會彈出授權,正式版不受影響。現在授權方式是需要引導使用者點選一個授權按鈕,然後再彈出授權。
解法很長,請參考:
3. 只有在除錯模式下,才能傳送資料到自己的正式伺服器
其實,只要注意配置合法域名,這個問題就解決了。有的時候,因為一上來就開發,忘記掉去配置域名。後來發現資料沒法出去,可能半天沒想來忘記配置了!
4. 無法獲取UnionID的問題
- login獲取UID必須滿足兩個條件:
1、把小程式和公眾號都繫結在開放平臺;
2、使用者必須已經關注公眾號。 - 用wx.getUserInfo獲取滿足一個條件:把小程式和公眾號都繫結在開放平臺;
5. wx.getSystemInfoSync獲取windowHeight不準確
主要原因在於獲取是時機,wx.getSystemInfoSync是在頁面初始化的時候就計算了,基本上可以理解為是螢幕高度。所以,最好的方法是使用非同步介面,並且在onReady函式中呼叫。
onReady() {
wx.getSystemInfo({
success({windowHeight}) {
// todo
}
});
}
6. 圖片本地資源名稱,儘量使用小寫命名
在解決iPhone X適配時,底部多餘部分使用圖片時
<image class='iphonexImg' src="/imgs/iphoneBGT.png" mode="aspectFill">image>
路徑是 src='imgs/iphoneBGT.png'
發現在pc IDE上面可以顯示出來,但是真機除錯時,圖片找不到,
然後將圖片名稱改為iphonex.png真機除錯就可以了
<image class='iphonexImg' src="/imgs/iphonex.png" mode="aspectFill">image>
寫在最後:程式碼總是有各種bug,像上面列舉的問題還是在開發中就可以發現。而程式碼上線以後呢,測試也不能保證100%沒有問題。在這裡,推薦Fundebug的微信小程式bug監控服務給各位老鐵!
關於Fundebug
2017年初,小程式還剛上線,Fundebug就支援小程式錯誤監控了。做為最早的小程式錯誤監控服務的拓荒者,累計為數千個小程式提供免費服務,累計處理數千萬小程式錯誤。