前面我們講了微信小程序開發教程前八章,現在更新完結篇:微信小程序拍照收納開發以及刪除名片等。(第一二章:微信小程序開發教程,第三四章:微信小程序項目結構以及配置&微信小程序首頁面開發,第五章:微信小程序名片夾詳情頁開發,第六章:「我」的頁面開發,第七章:微信小程序編輯名片頁面開發,第八章:微信小程序分組開發與左滑功能實現。)
第九章:微信小程序拍照收納開發以及刪除名片等
還是先來看看我們今天的主題——拍照收納。
拍照收納分為:上傳圖片/識別名片、手動填寫名片信息兩個路徑,這里只說下拍照識別,手動填寫和前面的編輯名片是同樣的頁面,大家可以翻翻之前的教程。
這個布局很快,wxml 沒多少內容。
拍照收納的原理是收納名片功能,步驟是打開微信的拍照 API,同時支持選擇本地圖片 wx.chooseImage
接口。
取到圖片路徑需上傳圖片文件到后台服務器,這里參照文檔打印三個回調。
但是我發現在開發者工具測試的時候,沒有任何打印信息,后台同樣也沒有接到我上傳過去的圖片。
選擇一張圖片,點擊打開后。控制台的 console 沒有成功或者失敗的回調。
由於尚處內測版本,暫時還不確定是開發者工具上的 bug 還是 API 接口問題,總之這里影響了小程序開發,我已經寫郵件給微信做了反饋。
如果圖片上傳成功,后台取到圖片會去調一個識別信息操作,最后把識別到的信息傳給我們前台進行渲染,最后把信息保存到名片夾里面,收納名片流程才算走通。
再補充下名片夾頁面的名片刪除吧:
每個名片夾后面都帶個刪除功能,這個功能是通過左滑出現。
點擊刪除,出現是否確定刪除彈框(使用自帶的模態框組件)。
確定與取消事件。
由於這里名片分為,線上收納與線下收納。故而多了個 if 判斷,走的刪除 request 不是一個接口,其他都相差不多。這里最重要的是要獲取到 cardId,才能知道被刪除的是哪張名片。
名片的父元素綁定的全部事件,以及需要用到的一些自定義參數。Id 用在左滑上data-card_id
用在頁面跳轉與刪除上,data-card_type
用在判斷線上與線下名片。
cardId 可以在 bindtouchstart
上取到,因為左滑事件是發生 bindtouchstart
事件上。
當然后面需要用到的值還是先定義個 var 存起來。
刪除完之后還需重新刷新下首頁。
並且提升下用戶體驗,告訴用戶名片刪除成功。
最后一提,當列表很多時,我們需要確定點擊到的是那個信息。
上面的信息都是 block 循環出來的,bindtap 點擊事件,然后就是 id=”{{pms.type}}”
,重點就是這個 id 來判斷被點擊的對象。
操作數據,我們一定要先熟悉好數據的結構,故而在開發前和后台一定要約定好數據結構,熟悉數據結構后,其實開發起來就如庖丁解牛,非常快速(大家開發了小程序后,有沒有對 zepoto 與 jQuery 產生反感?哈哈!)
好了,關於拍照組件的相關內容就寫到這里吧!這一章內容就算是博卡君教程的完結篇了。雖然寫的內容中包含小程序開發工具的問題,不過我還是推薦大家都嘗試調用一下拍照相關功能,看看這些問題在你的機器上會不會出現。按照微信的官方文檔,我嘗試給 weixin_developer@qq.com 那個郵箱發了郵件報告 bug。沒想到很快收到了官方回復,確認了這點。希望盡快得到更新版,一起期待吧😄
原文https://my.oschina.net/wwnick/blog/753597