通過開發(fā)者工具模擬移動端是很常見的操作,突然有一天,我手動刷新本地的鏈接,要白屏 30 多秒才能出頁面,只能重新開一個標(biāo)簽頁,非常影響開發(fā)效率。如果是打開了頁面再刷新,就會一直卡在當(dāng)前頁面,讓我一度認(rèn)為是網(wǎng)絡(luò)有了問題。
第一次打開很快,一刷新就有問題,好在我用 mock 工具可以把項目用另一個域名打開,這個問題就不存在了,我一度懷疑是哪個同事改了什么東西,或者 localhost 這個域名被攻擊了。
我先是重啟了電腦,并沒有解決問題,我又想可能是瀏覽器某些設(shè)置導(dǎo)致的,用了無痕不行,重置設(shè)置之后確實快了很多,很快又不行了。
其實前面一位同事跟我說過,現(xiàn)在用戶登錄信息越來越大,解密時間很長,我當(dāng)時還說抽時間看看有什么高效率的方式?jīng)]有,并沒有把這個和刷新時間過長聯(lián)系在一起。
直到我用 demo 頁面去解密用戶信息,發(fā)現(xiàn)并沒有慢多少,實際上是因為我處于熱更新的狀態(tài),而我用 mock 工具生成的連接不卡頓,是因為 mock 環(huán)境不會觸發(fā)登錄失敗,用戶信息也是沒存的。
直到我和這位同事面對面交流,他說他是通過性能工具定位到的,并當(dāng)場演示給我看,我在那行代碼上加了 alert,是進入了的,我從未想過這樣的角度,因為問題看起來像是發(fā)生在進入代碼之前。
而我查了下關(guān)于模擬手機端瀏覽器的相關(guān)設(shè)置,并沒有做限制,不選擇具體的機型就很正常了。
至于高效率的加密算法,倒是有很多,難就難在后端有不能換的理由,找到能解密現(xiàn)有算法的又效率高的就并非容易的事,除非徹底搞懂這個算法,自己實現(xiàn)一套高效率的,這一套是其它項目組用過的。
暫時的解決方法是在本地開發(fā)就不解密用戶信息,這里面主要是有菜單信息,用來做權(quán)限驗證的。