昨晚访问微信理财通(腾讯腾安)时,历史上第一次见他们给了个报错弹框,信息还挺丰富的。然后简单分析了一下。话不多说,先看图。
上图中红色标记文字是主观猜测的内容,其中比较不确定的是那个v=6.001的含义,为此进行了抓包,抓取到对应脚本后证实了该猜测。
以前有见过报错弹框将错误代码和接口连同错误提示信息一起弹出来的(我以前在之前的公司里也这么干过一段时间,后面被产品经理要求去掉了),但是第一次见弹框信息这么丰富的,token和前端版本号都弹出来了。这里最让我意外,也是最让我受到启发的就是这个H5版本号了,因为以前碰到过一些怀疑是用户端缓存导致的问题,很难有效排查。
一般的公司都有服务端日志和错误上报等可用来追踪错误信息,我们公司也不例外,但是就像上面截图里我添加的红色标记所述一样,这样还是会有很多的时间成本:
- 测试有时候会看日志,有时候会来问你页面为啥没数据了,或者刚才报错的弹框是报的哪个接口。
- 服务端有些同事不会抓包,或者因为客户端限制抓包困难(可以问客户端开发要个开了debug的灰度包抓包)等原因,经常会问前端某个页面调用了哪些接口,以便排查产线问题(用户全日志量太大了,需要按接口和事发的大致时间点来进行日志的筛选)。
- 客户有时候联系客服可能只提供一个报错页面截图,可能用户信息都没法确定,有这种弹框的话,用户信息就能确定了。
- 前端有些问题,可能实际上已经解决了,但是客户那边由于访问的还是缓存的旧页面(跟客户端和CDN都有关系),也可能导致报错,这时候如果不知道H5版本号,按最新版本排查,会浪费大量时间,且毫无意义。