微信小程式開發常見問題(二)
知曉程式設計師,專注微信小程式開發的程式設計師!
今天再給大家分享幾個微信小程式開發的常見問題,順便吐槽一下,武漢的冬天太TM冷了,沒有暖氣的冬天真的很難過,寫文章的心思也沒了。當然,大家如果有技術問題,也歡迎給公眾號留言~
開始之前,先糾正上一篇文章的一個錯誤:
12、回到頁面頂部
回到頁面頂部,有兩種方式:
1、使用scroll-view設定為縱向滾動,然後設定scroll-top值;
2、使用wx.pageScrollTo方法,此方法是1.4.0開始支援,所以要做低版本相容;
今天再來說幾個常見問題:
1、wx.setStorageSync和wx.getStorageSync報錯問題
為什麼說這個問題,是因為這個API確實會報錯,並且呼叫越頻繁,報錯會越多,先看一下截圖:
所以,懷疑微信官方API也有出錯的機率,這裡沒有根治的辦法,只能做一些緩解報錯次數的辦法:減少呼叫頻次,不要在公用方法裡面去頻繁呼叫set和get本地快取;新增try catch,出錯之後,可以再呼叫一次或多次,減少報錯的可能性~
2、picker下拉列表為什麼獲取不到長度
如上圖,如果是設定了key的陣列,會發現,此時的array的length是0,這可能是小程式的一個bug,length只能自己處理了~
3、如何獲取音訊檔案的長度
如果呼叫的是新API,wx.createInnerAudioContext可以直接獲取duration;如果是低版本,呼叫wx.startRecord方法時,只能自己寫個計數器來處理duration了。
4、如何獲取微信群名稱?
小程式中是沒辦法直接獲取到微信群名稱的,只有一種方法獲取open-gid,然後再通過open-data元件來顯示群名稱:
<open-data type="groupName" open-gid="xxxxxx"></open-data>
open-gid的獲取方法:
使用者把小程式分享到微信群,會在分享成功後返回shareTickets(因為可以分享到多個群,所以這裡是一個數組); 如果使用者是從群內點選的小程式卡片,會在小程式的app.onshow裡面獲取了shareTicket。拿到shareTicket後,再到服務端解密,就可以拿到open-gid~