通过开发者工具模拟移动端是很常见的操作,突然有一天,我手动刷新本地的链接,要白屏 30 多秒才能出页面,只能重新开一个标签页,非常影响开发效率。如果是打开了页面再刷新,就会一直卡在当前页面,让我一度认为是网络有了问题。
第一次打开很快,一刷新就有问题,好在我用 mock 工具可以把项目用另一个域名打开,这个问题就不存在了,我一度怀疑是哪个同事改了什么东西,或者 localhost 这个域名被攻击了。
我先是重启了电脑,并没有解决问题,我又想可能是浏览器某些设置导致的,用了无痕不行,重置设置之后确实快了很多,很快又不行了。
其实前面一位同事跟我说过,现在用户登录信息越来越大,解密时间很长,我当时还说抽时间看看有什么高效率的方式没有,并没有把这个和刷新时间过长联系在一起。
直到我用 demo 页面去解密用户信息,发现并没有慢多少,实际上是因为我处于热更新的状态,而我用 mock 工具生成的连接不卡顿,是因为 mock 环境不会触发登录失败,用户信息也是没存的。
直到我和这位同事面对面交流,他说他是通过性能工具定位到的,并当场演示给我看,我在那行代码上加了 alert,是进入了的,我从未想过这样的角度,因为问题看起来像是发生在进入代码之前。
而我查了下关于模拟手机端浏览器的相关设置,并没有做限制,不选择具体的机型就很正常了。
至于高效率的加密算法,倒是有很多,难就难在后端有不能换的理由,找到能解密现有算法的又效率高的就并非容易的事,除非彻底搞懂这个算法,自己实现一套高效率的,这一套是其它项目组用过的。
暂时的解决方法是在本地开发就不解密用户信息,这里面主要是有菜单信息,用来做权限验证的。