1. 程式人生 > >微信小程式 踩坑實錄

微信小程式 踩坑實錄

最近幾個月工作飽和度較高,寫了一些小程式相關資料都在公司內網wiki中。

正好有朋友想做小程式相關,想看些資料。趁著

這個契機,把文章發出來給大家分享一下。

文章簡陋,勿噴。


開發前 需要與產品商榷的頁面細節

序號 型別 注意事項 確認細節
1 css 文字折行

確認文字最大長度,是否有折行問題,是否全部顯示

不折行,則超出寬度變點 或者直接截斷 需產品確認

折行,確定最大高度,最多行數,需確定 設計圖 是否需要修改

2 js 頁面下拉重新整理 開發前 應確認哪些頁面需要下拉重新整理,避免需求與自身理解不同,造成的理解偏差
3 css 背景色 頁面背景色最好保持一致,儘量避免色差較大,導致的閃屏(先顯示背景色,然後渲染的頁面圖片)
4 ui 圖片 圖片應該為二倍或三倍圖,避免圖片模糊的情況
5 xml 文字 產品文件中的文字 應該與 設計稿中文字相同 , 不同時需確認
6 css 圖片顯示 圖片顯示時 需確認縮放模式,保持比例,或者以寬或高為主
7 xml 模板中預設值 很多引數在介面返回資料中 有 null,undefined,空字串等情況,最好跟產品確定一個預設值
8 ue 列表重新整理

列表包含點選檢視詳情功能,需要注意確認列表重新整理時機

1.外部點選列表是否重新整理

2.詳情頁返回列表是否重新整理

3.同序號2

 

開發時碰到的一些坑,注意規避

問題說明 解決方案
setData的引數過大時,會導致頁面渲染慢

1 改變setData的時機,避免在onload中設定大資料

2 優化大資料的資料格式

非同步呼叫api時,需防止使用者短時間快速點選按鈕 導致多次呼叫介面的問題 可以設定標誌位 進行執行該函式的判斷條件
頁面背景色在json配置,頁面css,全域性均可設定,優先順序不明確,json配置不生效

在當前頁面的css中編寫背景顏色 page{ background-color:red },

json配置中不配置

注:json配置中的背景色 在page高度100%時會出現,但涉及到翻頁時,頁面背景色就不存在了

頁面下拉重新整理和載入更多 不建議使用 scrollView

安卓個別機型不流程

scrollView在使用時 有滑動加速,流程感比較好

微信下拉重新整理動畫 跟 部分微信api同時呼叫時,會出現 不回彈 的情況

下拉重新整理會被wx.showToast、wx.showLoading、wx.hideToast、wx.hideLoading、wx.showModal等方法重置下拉狀態,並留下一個小點。

不同時使用兩種api

頁面底部有fixed定位元素時,需注意頁面元素過多時被定位元素覆蓋的問題 可以給容器新增比 定位元素 高一點的 底部內邊距,來避免定位元素壓了頁面底部一小條的情況
安卓手機點選 文字框時 會閃過重影 已知問題
不同機型的預設字型和顏色不統一 設定頁面的預設字型顏色
頁面某一個模組清晰度不高 去除透明度 ,使用透明度時使用 rgba ,避免使用opacity
動畫在小程式內失效

1,時間間隔過小導致,可設定為 100ms

2,定位改為fixed

在ios 8.4.1系統下,transform: translate動畫失效 省市三級聯動彈框完全依靠translate來實現隱藏/顯示,但是由於在ios 8.4.1系統下,此transform樣式失效(或表現形式與其他系統不同),因此需要先依靠hidden屬性控制顯示/隱藏,再通過transform屬性增加動畫效果。如此實現以後,既可以避免在低版本系統下無法控制顯示/隱藏的問題,也兼顧了高版本系統下具有較好的使用者體驗。
picker-view 傳入值錯誤 在華為榮耀手機上 picker-view 在只有三個選項的情況下,傳入了當前值為 4 ,導致程式碼報錯。使用這類元件時,需要對傳入值的可用性進行判斷
列表出現卡頓 scroll-view元件滑動不流暢,偶爾會有無法滑動的問題,官方正在修復中