我在小程序中设计了一个通知滚动条,内容是:刘**在榆次城分店购买了3桶XXXX 李**在榆次城分店购买了1桶XXXX 张*在榆次城分店购买了2桶XXXX 范*在榆次城分店购买了2桶XXXX
代码如下:
< view class = "container" > < view class = "margin-lr-df flex justify-between bg-white" > < view class = "text-sm" > < text class = "icon-location" ></ text > 运营中心 [切换] </ view > < view class = "text-sm" > < text class = "icon-new" ></ text > 天气:晴 12-27c </ view > </ view > < view class = "bg-white" > < i-notice-bar i-class = "content-notice-bar" loop> 刘**在榆次城分店购买了3桶XXXX 李**在榆次城分店购买了1桶XXXX 张*在榆次城分店购买了2桶XXXX 范*在榆次城分店购买了2桶XXXX </ i-notice-bar >
|
原先这句话是写死的,但是最近由于客户需求,改为了动态可调整的。但就是因为这个调整出现了大问题。
修改后的代码:
< view class = "container" > < view class = "margin-lr-df flex justify-between bg-white" > < view class = "text-sm" > < text class = "icon-location" ></ text > 运营中心 [切换] </ view > < view class = "text-sm" > < text class = "icon-new" ></ text > 天气:晴 12-27c </ view > </ view > < view class = "bg-white" > < i-notice-bar i-class = "content-notice-bar" loop> {{MallIndexTipTop}} </ i-notice-bar > </ view > </ view > |
内容完全没有改变,服务端传过来直接丢了进来,同时会被存入Storage做缓冲。
结果没想到开启了BUG之旅。
因为下午正好升级了服务器,最开始以为是升级后没有重启或需要重装系统,最后发现根本不是,而且日志中响应速度几乎都在1-30ms之间,最慢的是微信小程序登录反馈用户信息接口,是150ms左右。但这些基本上都能接受,所以不可能是服务端的问题。
最后找小程序的问题,结果发现了超级BUG。网上查询后,发现这个BUG好像在今年6月份就出现了。
真机调试的时候,发现了error code -1和-50300的错误。打开首页,也就是触发上面的滚动条部分代码后,出现了8000ms以上的超高延迟。而且几乎无法打开其他页面,打开后也是各种延迟加载,不间断的持续报错。
该问题因为发现的比较晚,正好是发布了预览版并审核通过,并且发到正式版之后的4小时左右我们才发现的。所以也在实机上发现了该问题,同时还发现该问题会导致微信程序直接崩溃。。
导致微信崩溃的问题,只在两台不同的账户的华为P30上做了复现。导致小程序卡顿的问题,除了华为P30外,还在vivo和另外一台客户的未知手机上出现了。
最后最神奇的一点是,该问题在开发者程序中并未有任何体现。但也导致了开发者工具出现严重异常,如AppData和Storage发生严重延迟。
临时修复BUG
经过多次反复测试后,定位了这个问题。而且解决也很简单,就是把这个{{MallIndexTipTop}}改回去就解决了。所以猜测是没过滤的缘故?
但问题是,也不应该把微信直接弄死吧。。感觉像是注入了致命病毒一样。