上上周的今天在新公司入職,第二天給了小程序的活兒,之前沒做過小程序以為很簡單,打開微信公眾平臺小程序一看。。。這么多API,好吧隨用隨看吧。準備工作就不說了官網教程都有,就記錄下這次遇到的問題和經驗吧。
1.小程序的像素單位rpx很好用,換算方式就是1px = 2rpx;?
2.用戶是否允許獲取用戶信息,小程序改版后只能使用<button>控制,設置open-type="getUserInfo" 點擊button會調取是否允許獲取信息彈框,點擊允許后會自動刷新到首頁,demo如下
3.關于使用<web-view>內嵌h5頁面,src鏈接要授權,但是我們測試到時候要去掉授權,直接寫h5頁面路徑,否則在小程序里頁面沒法打開,調試的話只能用alert, console無法看到在小程序。在這不得不說一下內嵌h5緩存實在太嚴重,在微信開發者工具可以點擊清緩存——清除全部,在手機里就不能這樣做了,目前我了解到的三種方式:
(1)h5鏈接生成二維碼,用微信掃一掃,先把頁面緩存過來,再通過小程序打開
(2)退出微信賬號登錄,再重新登錄,這樣很麻煩是不是??那我們來看看第三種方式
(3)卸載微信重新安裝,簡單粗暴有沒有??
(4)上家公司的前端leader問我為什么不用版本管理器?好吧,這個需要我再研究下,類似于之前公司的版本管理,每次push頁面都會生成一長串隨機數
所以可能目前了解到的最好的方式是1,1實在不行就用2,絕對管用的,然后可能你要問你怎么知道是不是最新代碼呢?好說呀,你加個alert(1)不就知道里嗎是不是
4.wx.navigateTo() src 路徑帶的參數?xxx=xx&ccc=cc; 在跳轉后的頁面在onload生命周期里通過options可獲得,options.xxx ,類似于react路由path傳參
5.再說下h5頁面。。。之前寫h5比較少,第一次寫就遇到0.5px這個大坑,寫了個選項卡active有下劃線,給了border:0.5px; 然后我發現這個下劃線時好時不好的,難道是點擊的時候有延遲嗎,于是先下了個fastclick,然并卵,又下了個zepto。。依然然并卵,最后無計可施,你們猜我是怎么發現問題的??
這時候就要先開一個小差了,蘋果用戶可能都知道吧?也許我是這么想的,雖然我之前也不太知道
(1)打開Safari偏好者設置,選中“高級菜單”,在頁面最下方看到“在菜單中顯示開發菜單”的復選框,在復選框內打鉤,這樣設置完畢就能在Safari菜單中看到開發菜單了
(2)打開iPhone手機設置app 選擇Safari,找到高級選項,有JavaScript開關web檢查器開關,兩個開關都打開
(3)準備工作完成。這時候把iPhone用數據線連到mac上,打開Safari瀏覽器,手機需要調試的頁面用safari打開,這樣在mac上就可以看到你打開的鏈接,打開,里邊有調試器還可以打斷點
說到這,你們有沒有疑惑我的h5頁面在電腦上,我是怎么用手機打開的呢,是的,作為h5小白這讓我很頭疼,最后在諸多百度答案里找到了我想要的
1)下載charles代理器
2)打開手機無線網絡,點擊右側圓圈感嘆號,滾到最下邊配置代理,手動,服務器填寫電腦ip,端口號8888
3)打開瀏覽器找一個二維碼生成網頁,隨便偽造一個html鏈接生成二維碼,打開charles,手機掃描二維碼,這時候charles會抓包到你偽造的這個頁面路徑,重點來了,右鍵,最下邊找到map local會有一個彈窗, local path 選擇你本地頁面文件,要將css,js都選擇進去不要只單獨的選擇html,點擊ok,這樣就好了,本地文件就替代了線上文件,就可以在手機端測試了
當然我這個方法是萬般無奈的,如果有host,可以直接配置到本地就方便多了,由于現公司這些還未成型,所以只能后期配置了,今天先寫到這,希望這個記錄對自己和別人都有些用,以后會堅持寫博客把工作中和學習中的問題,經驗都分享一下,如有錯誤之處請指出,或者我這些方法不是很好,有更好的方法麻煩給我留言哦,萬分感謝!