|
小程序開發(fā)越來(lái)越熱,開發(fā)中遇到各種各樣的bug,在此總結(jié)了一些比較容易掉進(jìn)去的坑分享給大家。 1. new Date跨平臺(tái)兼容性問題在Andriod使用 new Date(“2018-05-30 00:00:00”) 木有問題,但是在ios下面識(shí)別不出來(lái)。 因?yàn)镮OS下面不能識(shí)別這種格式,需要用 2018/05/30 00:00:00 格式。可以使用正則表達(dá)式對(duì)做字符串替換,將短橫替換為斜杠。 var iosDate= date.replace(/-/g, '/'); 。 2. wx.getUserInfo()接口更改問題微信小程序最近被吐槽最多的一個(gè)更改,就是用戶使用wx.getUserInfo(開發(fā)和體驗(yàn)版)時(shí)不會(huì)彈出授權(quán),正式版不受影響?,F(xiàn)在授權(quán)方式是需要引導(dǎo)用戶點(diǎn)擊一個(gè)授權(quán)按鈕,然后再?gòu)棾鍪跈?quán)。 解法很長(zhǎng),請(qǐng)參考:
3. 只有在調(diào)試模式下,才能發(fā)送數(shù)據(jù)到自己的正式服務(wù)器其實(shí),只要注意配置合法域名,這個(gè)問題就解決了。有的時(shí)候,因?yàn)橐簧蟻?lái)就開發(fā),忘記掉去配置域名。后來(lái)發(fā)現(xiàn)數(shù)據(jù)沒法出去,可能半天沒想來(lái)忘記配置了! 4. 無(wú)法獲取UnionID的問題
5. wx.getSystemInfoSync獲取windowHeight不準(zhǔn)確主要原因在于獲取是時(shí)機(jī),wx.getSystemInfoSync是在頁(yè)面初始化的時(shí)候就計(jì)算了,基本上可以理解為是屏幕高度。所以,最好的方法是使用異步接口,并且在onReady函數(shù)中調(diào)用。
onReady() {
wx.getSystemInfo({
success({windowHeight}) {
// todo
}
});
}
6. 圖片本地資源名稱,盡量使用小寫命名在解決iPhone X適配時(shí),底部多余部分使用圖片時(shí) <image class='iphonexImg' src="/imgs/iphoneBGT.png" mode="aspectFill">image> 路徑是 src='imgs/iphoneBGT.png' 發(fā)現(xiàn)在pc IDE上面可以顯示出來(lái),但是真機(jī)調(diào)試時(shí),圖片找不到, 然后將圖片名稱改為iphonex.png真機(jī)調(diào)試就可以了 <image class='iphonexImg' src="/imgs/iphonex.png" mode="aspectFill">image> 寫在最后:代碼總是有各種bug,像上面列舉的問題還是在開發(fā)中就可以發(fā)現(xiàn)。而代碼上線以后呢,測(cè)試也不能保證100%沒有問題。在這里,推薦Fundebug的 微信小程序bug監(jiān)控服務(wù) 給各位老鐵! 關(guān)于Fundebug2017年初,小程序還剛上線,F(xiàn)undebug就支持小程序錯(cuò)誤監(jiān)控了。做為最早的小程序錯(cuò)誤監(jiān)控服務(wù)的拓荒者,累計(jì)為數(shù)千個(gè)小程序提供免費(fèi)服務(wù),累計(jì)處理數(shù)千萬(wàn)小程序錯(cuò)誤。 |