微信小程式開發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必須滿足兩個條件:

  • 把小程式和公眾號都繫結在開放平臺;
  • 使用者必須已經關注公眾號。

用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">
複製程式碼

路徑是 src='imgs/iphoneBGT.png'

發現在pc IDE上面可以顯示出來,但是真機除錯時,圖片找不到,

然後將圖片名稱改為iphonex.png真機除錯就可以了

<image class='iphonexImg' src="/imgs/iphonex.png" mode="aspectFill">`
複製程式碼

寫在最後:程式碼總是有各種BUG,像上面列舉的問題還是在開發中就可以發現。而程式碼上線以後呢,測試也不能保證100%沒有問題。在這裡,推薦Fundebug微信小程式BUG監控服務給各位老鐵!

關於Fundebug

Fundebug專注於JavaScript、微信小程式、微信小遊戲、支付寶小程式、React Native、Node.js和Java實時BUG監控。 自從2016年雙十一正式上線,Fundebug累計處理了7億+錯誤事件,得到了Google、360、金山軟體、百姓網等眾多知名使用者的認可。歡迎免費試用!

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

版權宣告

轉載時請註明作者Fundebug以及本文地址:
blog.fundebug.com/2018/10/19/…

相關文章