微信小程式開發BUG經驗總結

Fundebug發表於2018-05-31

小程式開發越來越熱,開發中遇到各種各樣的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就支援小程式錯誤監控了。做為最早的小程式錯誤監控服務的拓荒者,累計為數千個小程式提供免費服務,累計處理數千萬小程式錯誤。

相關文章