未解之謎:登錄模板在手機上用hbuilder基座運行時能存住用戶信息,而雲打包后就存不住了,為啥,啊。
需要學習:在沒有jsp頁面的前端怎么才能像session那樣存東西呢?不能url傳用戶id吧,會不會不安全……搞一個公用存數據的js?
事實上是有緩存這種東西的,mui緩存或者原生js都可以搞到緩存,然后增加、修改、刪除,具體百度就好。
這一套東西是用來開發app的,可以用html、js什么的寫app然后給你打包就能安裝到手機上,也可以輕易跨端(需要使用vue,然而我還沒有熟練)。
HBuilder:一個敲代碼的軟件,敲前端代碼超級方便。主要是敲移動端的,用html寫頁面什么的,最后打包安裝到手機上,屬於混合應用。
5+APP:HTML5 Plus移動App,簡稱5+App,是一種基於HTML、JS、CSS編寫的運行於手機端的App,這種App可以通過擴展的JS API任意調用手機的原生能力,實現與原生App同樣強大的功能和性能。
MUI :一套仿手機原生的前端框架,確實挺仿原生挺方便的,只是如果脫離了微信,單獨用它做app,總感覺丑丑的。暫時我是用默認的來做做布局,然后再美化細節吧。
uni-app:
是一個使用Vue.js開發所有前端應用的框架,開發者編寫一套代碼,可發布到iOS、Android、H5、以及各種小程序(微信/支付寶/百度/頭條/QQ/釘釘)等多個平台。
一、HBuilder X
界面舒服,提示也夠用,上次寫代碼感覺提示強大的時候還是坑爹的生產實習用IDEA的時候。
入門教程:https://ask.dcloud.net.cn/docs/#//ask.dcloud.net.cn/article/35357
下載地址:https://www.dcloud.io/hbuilderx.html
界面:
左側項目文件列表,中間編碼區,右側內置瀏覽器運行區(只能模擬手機大小,功能模擬上限制很多,看功能或者一些事件等是否好用還是要真機模擬,配置很簡單)
編碼區右側一豎條,鼠標停在上面可以看某一位置的代碼,像個放大鏡一樣挺有意思的,點擊就跳轉到那幾行,不知道別的開發工具有沒有。
常用功能(我的):
(實際好像更方便?之前有人告訴我可以拖拽開發,我一直沒注意哪里可以拖拽。。。)
內置瀏覽器運行后,右鍵-檢查元素,跟普通瀏覽器一樣可以查看各個元素的css等等,點右上角擴大,看着更方便,然后根據自己的需求有針對性的修改即可。
二、MUI
入門可以直接看hello mui,左上角新建項目,建好后,點上方運行,運行到內置瀏覽器或者手機或者手機模擬器都可,點點看最為直觀了。
5+ App開發入門指南:https://ask.dcloud.net.cn/article/89
它還提供了一個登錄模板,適合觀摩觀摩,學習基礎,或者直接拿來改改用用。
三、一些坑
mui a onclick失效:
https://ask.dcloud.net.cn/question/6444
https://blog.csdn.net/abs1004/article/details/78112630
mui ajax 調成同步(async = false)在手機上運行會失效,還是異步的。
四、一些嘗試
五、對原生組件一些修改技巧
1、去掉線
MUI中一些列表中的線很丑,一開始以為是邊框或者陰影,結果怎么都去不掉,后來發現是一些after和before,還沒接觸這種東西是哪來的,但是可以把他去掉,只要揪住他的class名就好了,然后把background-color弄掉。
原樣式:
修改后:
2、引入icon
MUI里面給的icon和額外給的extra-icon不太夠用,這時候可以引用別的icon。這里以阿里巴巴矢量圖標庫為例,其他的只要能搞到一樣的代碼文件,那就差不多都是一樣的引用方法。
在阿里巴巴矢量圖標庫(https://www.iconfont.cn/)中搜索圖標,然后添加購物車。
在購物車中下載代碼。
最后只需放入項目css和ttf文件,並且修改css文件,只保留ttf……truetype那個地址,注意前面文件位置要和你放里的ttf文件位置對應。
不要忘記引入新的css文件,<link rel="stylesheet" type="text/css" href="css1/iconfont.css" />
然后就可以在頁面使用了,class名跟你css里面的名有關。
比如我的:<span class="mui-icon iconfont icon-donghuan"></span>
3、美化tab
原先很丑,按別人設計的盡力改了改。真的盡力了嚶嚶嚶。
原組件:
修改后:
關鍵代碼:
//關鍵js //嵌套兩層div來做選中效果(白色圓弧背景+藍左邊框)
html.push('<a class="mui-control-item" href="#content' + (i + 1) + '"><div class="box"><div class="left">' + (i + 1) + ". " + cctvs[i].name + '</div></div></a>'); //關鍵css
.mui-control-item.mui-active > .box > .left{ border-left: 5px solid rgba(0,191,255,1); color: rgba(0,191,255,1); } .mui-control-item.mui-active > .box{ background-color: #FFFFFF }