2018年12月我開始著手做一個(gè)車生活app的項(xiàng)目,到現(xiàn)在除去春節(jié)放假也有兩個(gè)月的時(shí)間窿给,從開始對(duì)app開發(fā)一無所知,到后來制作出一個(gè)相對(duì)完整的版本崩泡。中間學(xué)習(xí)了很多也遇到了很多問題,現(xiàn)在對(duì)中間的技術(shù)問題進(jìn)行總結(jié)角撞。
一.學(xué)習(xí)mui框架
之前做過webapp,vue用過一段時(shí)間,做過小程序谒所,但是這種獨(dú)立的h5+app還沒有玩過。mui是我接觸的第一個(gè)接近原生效果的手機(jī)端ui框架劣领,之前看過一點(diǎn),但是沒有在實(shí)戰(zhàn)中用過尖淘。
1.mui的官網(wǎng)文檔讓人詬病的一點(diǎn)就是不夠完善,諸如mui-modal這樣很多組件的用法在文檔中都是沒有的德澈,需要在官方demo中仔細(xì)查找。
2.dtpicker選擇器:在一個(gè)頁(yè)面放置多個(gè)dtpicker選擇器只有第一個(gè)生效但是后面幾個(gè)不彈出梆造。找了半天沒有找到原因葬毫,后來發(fā)現(xiàn)把選擇器改為document.querySelector()就可以了。
3.mui.fire():通過plus.webview.getWebviewById( id );來獲取指定頁(yè)面的id;console.log出plus.webview.all();獲取所有的窗口贴捡,取得數(shù)組對(duì)象村砂,查看目標(biāo)窗口的路徑。
二.html5+API Reference
(1)調(diào)取高德地圖api實(shí)現(xiàn)地圖搜索導(dǎo)航與地圖選點(diǎn)導(dǎo)航功能:
(2)車型選擇功能
針對(duì)這種車型選擇功能评腺,借鑒了第三方平臺(tái)的代碼。現(xiàn)在對(duì)功能實(shí)現(xiàn)進(jìn)行了總結(jié):
1.車型數(shù)據(jù)獲取蒿讥,數(shù)據(jù)的獲取主要是通過從制定url抓取的數(shù)據(jù),不做多說芋绸。
2.根據(jù)字母順序排序,選擇車型:在這里引用了mui.simpledlist.js摔敛。鏈接: https://pan.baidu.com/s/1FIuW1DzpZ2fGAogaiuUWuw 提取碼: n8xf?
(3)nativeUi
1.使用原生nativeui的樣式組件:
2.對(duì)于ajax規(guī)范化書寫;
在原來的項(xiàng)目中一直都沒有對(duì)ajax做過非常規(guī)范化的處理舷夺,在這里學(xué)習(xí)了大佬的經(jīng)驗(yàn)售貌,對(duì)ajax進(jìn)行了規(guī)范化的處理,對(duì)于項(xiàng)目的運(yùn)行和確認(rèn)前后端錯(cuò)誤有好處颂跨。
備注:APP_DOMAIN為自定義服務(wù)器地址; mklog()為下列函數(shù)恒削;
3.省份選擇:使用mui-modal
鏈接:https://pan.baidu.com/s/1pN2DHrXf_VCIR_Hd7Y0d5Q? ? 提取碼:xmbi
4.字符串拼接,動(dòng)態(tài)創(chuàng)建節(jié)點(diǎn)? 的新方式
之前從后臺(tái)獲取數(shù)據(jù)之后都是使用字符串拼接的方式動(dòng)態(tài)的創(chuàng)建節(jié)點(diǎn)躯砰,但是這種方式的局限在于非常繁瑣,es6使用``之后不用考慮引號(hào)的問題琢歇,但是仍然存在一個(gè)變量寫錯(cuò)而影響整體性能的問題。在這里改用了一種新的方式去拼接字符串創(chuàng)建節(jié)點(diǎn):
artTemplate? >>>? javascript模板引擎
模板調(diào)試器可以精確定位到引發(fā)渲染錯(cuò)誤的模板語(yǔ)句李茫,解決了編寫模板過程中無法調(diào)試的痛苦,讓開發(fā)變得高效魄宏,也避免了因?yàn)閱蝹€(gè)模板出錯(cuò)導(dǎo)致整個(gè)應(yīng)用崩潰的情況發(fā)生秸侣。