一级片大奶子_色又黄又爽18禁免费视频_热久久久久久久_久久久精品一区二区_日韩av不卡在线播放_精品国内自产拍在线观看视频

注冊登錄

小程序開發常見問題實戰總結

2018-09-12
導讀:本文從小程序框架、 api 、組件、應用四個方面入手,說明在開發過程中遇到的問題,并給出處理方案。 小、...

本文從小程序框架、 api 、組件、應用四個方面入手,說明在開發過程中遇到的問題,并給出處理方案。

小程序雖然具有相對完善的文檔,但難免文檔中會有解釋不清晰,不易被人發現,甚至未曾提及的問題。本文從具體的業務場景出發,匯總筆者在原生小程序日常開發中遇到的常見問題,并給出相應的解決方案,希望能夠將這些細節經驗分享給需要的童鞋。

框架運行機制與更新機制

運行機制:

小程序啟動會有兩種情況,一種是「冷啟動」,一種是「熱啟動」。 假如用戶已經打開過某小程序,然后在一定時間內再次打開該小程序,此時無需重新啟動,只需將后臺態的小程序切換到前臺,這個過程就是熱啟動;冷啟動指的是用戶首次打開或小程序被微信主動銷毀后再次打開的情況,此時小程序需要重新加載啟動。

  • 小程序沒有重啟的概念。
  • 當小程序進入后臺,客戶端會維持一段時間的運行狀態,超過一定時間后(目前是5分鐘)會被微信主動銷毀。
  • 當短時間內(5s)連續收到兩次以上收到系統內存告警,會進行小程序的銷毀。

更新機制:

小程序冷啟動時如果發現有新版本,將會異步下載新版本的代碼包,并同時用客戶端本地的包進行啟動,即新版本的小程序需要等下一次冷啟動才會應用上。 如果需要馬上應用最新版本,可以使用 wx.getUpdateManager API 進行處理。

雖然文檔中有對這一部分進行說明,但是隱蔽比較深,還是需要重點說明一下,理解運行機制就可以解釋為什么剛關閉的小程序打開之后還能保存之前的狀態,理解更新機制就明白新發版的小程序為什么需要刪除舊的版本再下載新的版本再能有新版的內容了。

如何清除小程序緩存呢?

  • 通過太空囊’…’按鈕—打開調試—console—wechat—wx.clearStorage()方法清除,此方法刪除 storage 中的數據。
  • 通過微信的”發現”tab簽—小程序—長按或者右滑刪除指定小程序,此方式徹底卸載該小程序,也就清除了所有內容,包括 storage 中緩存數據、場景值、頁面堆棧等。

預覽與遠程調試的區別

小程序的調試方式有多種,可以通過預覽亦可通過遠程調試,這兩者有何區別呢?

將兩者生成的二維碼轉為url:

  • 預覽 URL 為:https://mp.weixin.qq.com/a/~~xxt10QprXmU~rsguk7Cm9P3v2MCXJdpacg~~
  • 遠程調試 URL 為:https://mp.weixin.qq.com/a/~~Rot_QPKUIn8~mzI5kQoA3w4QN0H6nkejvQ~~

由此可見工作方式都為將本地小程序打包上傳至微信側,掃碼訪問遠程小程序服務。不同點總結如下:

  • 可以有多臺真機同時預覽,只能有一臺真機遠程調試。
  • 預覽忽略斷點,遠程調試會有斷點。
  • 預覽可以忽略部分報錯,遠程調試有報錯將無法運行。
生命周期

生命周期又分頁面的生命周期與組件的生命周期,以頁面的生命周期為例,不同的生命周期會對應不同的生命周期方法。

  • onLoad: 頁面加載,一個頁面只會調用一次。
  • onShow: 頁面顯示,每次打開頁面都會調用一次。
  • onReady: 頁面初次渲染完成,一個頁面只會調用一次,代表頁面已經準備妥當,可以和視圖層進行交互。
  • onHide: 頁面隱藏,當 navigateTo 或底部 tab 切換時調用。
  • onUnload: 頁面卸載。

進行頁面編碼之前需要考慮到哪些數據是只需要加載一次的(放到 onload 中),哪些數據需要每次在頁面切換出來的時候進行實時更新(放到 onShow 中執行)。

ApisetData:

賦值操作是做常用的操作,可是對不同類型的數據賦值方式又稍有不同:

  • 給字符串賦值: str:’value’
  • 對象屬性賦值:[‘obj.prop’]:’value’
  • 數組中的對象的屬性賦值:[‘arr[0].prop’]:’value’

需要注意的是: setData 方法為異步方法,如不注意,頁面渲染會出現異常,因此不要將頁面中所有的數據都放到 data 對象中,只將頁面展示層的數據放到 data 中,其他不需要展示的數據掛載到全局 this 中即可。

chooiceVideo 視頻封面問題:

在 wx.chooseVideo 的回調函數中,res 中會有 thumbTempFilePath 屬性值,該屬性值為封面圖片,問題是在模擬器中可以獲取到該屬性但是在真機中無法獲取到該屬性。目前獲取封面圖的方式通常為后端處理獲取。

組件Video
  • 層級: video 等的原生組件具有最高的層級,z-index 設置無效,會出現提示框被 video 覆蓋,或者 fixed 在頁面某位置的圖標被覆蓋的問題,處理方式見后文。
  • 封面圖:封面圖的設置方式一般有兩種方式:通過 poster 屬性設置封面圖片,用這種方式開發工具上圖片閃一下就沒了,另一種方式是在 video 標簽中放置 cover-view 、 cover-img ,存在問題是如果 video 寬高為300*200,img 寬高為200*150,但是這是圖片寬高為300*200(與video一致),在模擬器中沒有問題,在真機中圖片不能拉伸,而且原生的播放按鈕和時間都被覆蓋了。
  • 視頻播放:想要執行視頻播放,先要獲取視頻組件,通過 wx.createVideoContext(videoId,this) 獲取視頻對象。 文檔中說明為:

創建并返回 video 上下文 videoContext 對象。在自定義組件下,第二個參數傳入組件實例 this ,以操作組件內 ‘video’ 組件。

需要注意的是在自定義組件內部需要傳第二個參數,其他情況不用,同時獲取視頻組件后執行play方法,會發現在模擬器中視頻不會執行播放,困惑許久,發現在真機中可以執行播放動作,意外不意外?!!趟過此坑,再一次印證了那句警世名言——“一切不在真機上驗證的自測,都是耍流氓!”

cover-view

cover-view是官方制造出來,用來管制那群“無法無天”的原生組件的,這群組件包括: map 、 video 、 canvas 、 camera 、 live-player 、live-pusher 。他確實可以蓋住這些組件,但是 cover-view 自身存在一些缺陷,令人很苦惱。

  • 部分樣式效果實現不了:只支持基本的定位、布局、文本樣式。不支持設置單邊的 border 、background-image 、shadow 、overflow : visible 等。
  • 子節點如果溢出了父節點,溢出部分莫名其妙被干掉了。 建議子節點不要溢出父節點。
  • 自定義組件嵌套 cover-view 時,自定義組件的 slot 及其父節點暫不支持通過 wx:if 控制顯隱,否則會導致 cover-view 不顯示。
  • 對于 fixed 屬性支持不好,fixed 在頁面底部的按鈕,可能會隨頁面滾動而上下“瞬移”哦。
Scroll-view

組件中有 scroll-left 屬性,該屬性是可以指定向左滾動的距離,但是此距離沒有單位,不由好奇,這個距離的單位是什么,于是做如下測試:屏幕寬度為750 rpx 設置每個小塊的寬度的寬度為150 rpx ,分別在 iphone5 、iphone6 、iphone6plus 中設置scroll-left 為 150,頁面表現如下:

會發現5下滾動超過兩個格,6下剛好兩個格,6p下小于兩個格,不難理解,scroll-left的單位為px,不同機型會有不同的表現是由于不同機型下單位的轉換不同導致的:

  • iPhone6 Plus : 1rpx = 0.552px 150px = 271.5rpx
  • phone6 : 1rpx = 0.5px 150px = 300rpx
  • phone5 : 1rpx = 0.42px 150px = 357rpx

因此除非自己進行單位自適應,否則 scroll-left 屬性實用性不強。

應用下拉刷新問題:
  • 場景:頁面需要下拉重新加載數據,刷新頁面,小程序開啟下拉刷新時, Fixed 在頂部的 tabbar (橫欄)下拉時,在 ios 端會出現斷層,并顯示背景,安卓端無此表現。
  • 解決方案:由于安卓跟 ios 端的變現差異過大,因此需要避免在需要做下拉刷新的頁面放置 fixed 在頁面頂部的tabbar,可以通過自定義頁面頭部,并將該tabbar寫到自定義頭部中。

那么如何自定義頭部呢? 通過在app.js中設置navigationStyle屬性,默認值為‘default’,自定義為‘custom’。

  • 默認頭部樣式展示如下:
  • 自定義頭部樣式展示如下:

可以看到自定義頭部樣式時,頭部只保留膠囊,其他部分可以自己實現。

視頻層級問題:
  • 場景:頁面中存在video標簽,同時會存在彈框,并且頁面底部有fixed在底部的按鈕,這兩部分不允許video覆蓋。
  • 解決方案:官方給出的覆蓋video組件的方式是,通過cover-view,但由于cover-view對樣式的支持不足及自身的問題(見上文),因此我們不使用cover-view處理。處理方式是使用圖片和video交替展示的方式,初始化展示為一張圖片,當點擊播放時切換video組件進行展示。頁面滾動,以及彈框出現的時候,將視頻組件隱藏,注意是隱藏,通過hidden屬性隱藏,而不是wx:if直接干掉,因為視頻播放中途暫停,下次播放需要從上次結束的位置開始播放,如果使用wx:if則無疑增加了實現的難度。
總結:

本文從框架、api、組件、應用四個方面入手,說明在開發過程中遇到的問題,問題分析相對淺顯,但是比較實用。希望可以對讀者提供些許幫助。同時面對小程序時的心態已由最初的“純粹的api編程”到心懷敬畏之情。看似簡單的表象下,會存在這一系列棘手的情況。在此處做下總結,歡迎各位拍磚指正!

 

重磅推薦:小程序開店目錄

第一部分:小商店是什么

第二部分:如何開通一個小商店

第三部分:如何登錄小商店

第四部分:開店任務常見問題

第五部分:小商店可以賣什么

第六部分:HiShop小程序特色功能

第七部分:小程序直播

第八部分:小程序收貨/物流

第九部分:小程序怎么結算

第十部分:小程序客服

第十一部分:電商創業

第十二部分:小程序游戲開發

電話咨詢 微信咨詢 預約演示 0元開店
主站蜘蛛池模板: 老司机67194精品线观看|激情久久久|九九热视频在线播放|乱人伦人妻精品一区二区|欧美一区二区三区影视|日本高清不卡在线观看 | 无遮挡吃胸膜奶免费网站|操操日日|最近日本mv字幕免费观看视频|久久国产劲爆∧V内射-百度|午夜视频在线免费观看|无码=av中文一区二区三区 | 美女视频黄=a视频免费全程软件=axs|忘忧草在线影院两性视频|久久人妻内射无码一区三区|亚洲精品一区在线观看|日韩精品国产一区二区|中文字幕久精品免 | 日韩高清黄色片|夜夜爽一区二区三区|老司机福利在线观看|狠狠色噜噜狼狼狼色综合久|精品免费观看视频|小早川怜子一区二区的演员表 | 欧美一区激情|久久久久久久91|免费看日本黄色|一区二区精品视频日本|秋霞一区二区|国产精品无码一区二区=aⅤ污美国 | 人人干人人看|一二三四观看视频社区在线|精选=av|老少妇人妻无码专区视频大码|2015www永久免费观看播放|怡红院日韩 | 国产婷婷综合在线视频中文|人人超人人超碰超国产97超碰|一区二区动漫|中国农村毛片免费播放|久久综合久久久久88|男女猛烈啪啪无遮挡免费观看 | 欧美一区激情|久久久久久久91|免费看日本黄色|一区二区精品视频日本|秋霞一区二区|国产精品无码一区二区=aⅤ污美国 | 青草国产精品久久久久久|公和我做好爽添厨房中文字幕|99re6这里有精品热视频|六月婷婷精品视频在线观看|女教师办公室被强在线播放|日韩一区二区三区不卡视频 | 亚洲欧美日韩精品综久久久久久|99热这里只有精品99|国产成人综合精品|无码人妻一区二区三区免费N鬼逝|无码人妻=aⅤ一区二区三区麻豆|69xx×在线观看 | 国产成人毛片在线视频软件|日韩欧美一区二区三区不卡在线|中文亚洲字幕|91=av在线影院|涩涩视频在线看|欧美日韩在线观看二区视频 | 亚洲第8页|亚洲精品第六页|欧美激情免费在线|69堂精品|妇女一级片|日韩视频观看 | 91成人小视频|国产精品乱码视频|日韩美女乱婬=a=a=a高清视频|www.xxxx欧美|欧美浓毛大BBwBBW|精品图区 在线观看免费v=a|国产久一|日本亚洲三级|c=aowo88国产欧美久久|能免费看的=av|97热精品视频官网 | 精品国产午夜福利精品推荐|无收费看污网站|蜜臀久久精品|九九热99视频|欧美激情777|国内=a级毛片免费观看v | 91毛片在线观看|人妻=av无码系列一区二区三区|国产乱在线|西西人体www大胆高清仙踪林|九一在线免费观看|精品国产专区 | 精品国产乱码久久久久久绯色|免费=av入口|色综合久久夜色精品国产=aV|国产青年男男GV|添逼视频|国产vr精品专区 | 天海翼一区二区|黄色片高清视频|午夜激情一区二区|chinese激烈高潮hd|色精品国产|中文字幕视频网 | 午夜福利免费院|久草成色在线|一区二区国产高清视频在线|哪里有免费的黄色网址|亚洲久久在线观看|人妻中文无码就熟专区 | 巨大黑人极品video|天堂bt种子资源在线www|视频亚洲一区二区|日本高清中文字幕二区在线|国产精品久久久久久久=av三级|在线日产精品一区 | 男女草草草|国产精品成人久久|日韩成人激情|精品欧美国产一区二区三区不卡|草草網站影院白絲內射|国产免费又黄又爽又刺激蜜月=al | 精品人妻中文字幕无码蜜桃臀|高清视频播放在线观看|色综合久久中文综合网|国产精品视频在线观看|美女爽到呻吟久久久久|亚洲国内精品 | 国产精品乱码一区二三区|成人福利午夜|日本久久久网站|99热导航|一本大道东京热无码视频|深夜福利免费观看 | 高清中文字幕在线=a片|亚洲=aV日韩综合一区久热|品色堂永远的免费论坛|国产精品久久精品久久|国产视频中文字幕|亚洲精品国产综合 | 欧美色欧美亚洲日韩在线播放|99久久久久99国产免费=aV|午夜免费片|日韩一区二区三区久久|婷婷色色狠狠爱|69=av在线观看 | 国产草莓精品国产=av片国产|91影视在线|76少妇国内精品视频|中文字幕人妻丝袜美腿乱|国产日韩欧美视频免费看|国产精品久久无码一区 | 国产婷婷综合在线视频中文|人人超人人超碰超国产97超碰|一区二区动漫|中国农村毛片免费播放|久久综合久久久久88|男女猛烈啪啪无遮挡免费观看 | 天天看天天色|国产欧美日韩在线精品一区二区|国产在线免费看|日韩欧美1区|夜夜爽=av|剧情演绎国产在线视频 | 免费国产网站|秋霞午夜一区二区三区视频|99热在线看|日韩精品久久一区二区|午夜看一级毛片|天天鲁在视频在线观看 | 色综合久久综合中文综合网|午夜福利国产在线观看1|毛片免费视频观看|黑人把女人弄到高潮视频|www.国产精品视频|免费色网 | 国内一级片在线观看|精品成人佐山爱一区二区|色偷偷9999WWW|午夜香吻免费观看视频在线播放|久久任你操|国=a产久v久伊人 | 久久久久动漫|亚洲影视资源网|久操福利在线|娇小小小泬ⅩXXX深喉|中文字幕乱码中文乱码777|超碰在线个人 | 午夜福利免费院|久草成色在线|一区二区国产高清视频在线|哪里有免费的黄色网址|亚洲久久在线观看|人妻中文无码就熟专区 | 麻豆精品一区二区三区视频|99精美视频|久久精品久久精品中文字幕|BGMBGMBGM欧美老妇|插插久久|男女XX00上下抽搐动态图 | 性欧美欧美巨大69|亚洲热色|性欧美另丰满69xxxxx|国产精品伦|中文字幕在线官网|成=a人片国产精品 | 成在人线无码=aⅴ免费视频|毛片免费观看天天干天天爽|天天摸天天做天天爽水多|在线观看日本www|奇领6080奇领影院奇领yy6080在线观看|黄色片观看 | 国产不卡二区|成人国产乱码久久久久|国产精品视频一二|亚洲欧美牲交|少妇性色午夜淫片=a|真人一进一出抽搐GIF免费 | 性夜夜春夜夜爽=a=a片=a|欧美激情在线观看视频免费的|女人16一级毛片|日韩精品视频在线观看一区二区|欧美亚洲国产成人|hhh在线观看 | 无遮挡吃胸膜奶免费网站|操操日日|最近日本mv字幕免费观看视频|久久国产劲爆∧V内射-百度|午夜视频在线免费观看|无码=av中文一区二区三区 | 中文乱码人妻一区二区三区视频|亚洲高清专区|中文毛片无遮挡高潮免费|黄人成=a动漫片免费网站|99re在线免费|女乱淫免费看视频大黄 | 91免费版视频|在线观看人成激情视频|午夜激情视频免费|91麻豆精品国产综合久久久|日韩精品1|夜夜爱视频 | 欧美18一19sex性护士浴室|久久99精品久久久久久HB亚瑟|亚洲成在人线免费|超碰五月|久久精品无码一区二区三区不卡|男女拍拍拍拍免费视频 |