今天群里报了一个bug,开发的人都不在,我和王平看了一下。
首先是bug的现象:
有三个问题:
获取纪律结果数据为空
分享失败
控制台报了mutation unknown
我们分析了一下代码运行流程:
经过分析,问题出现在
蓝9: 没有设置显示的默认值,
黄8: 没有对应mutation
黄2: 获取到的数据 data为空
显示的默认值和加一个mutation都比较简单, 主要问题是在 获取到的数据为空。
问了下红叶,这里的数据为空是因为没有考勤,考勤学生为空。我们觉得可能产品流程是有问题的,现在考勤是可选的。和产品还有测试讨论了下,觉得考勤没有学生是一种正常的情况,但是显示的数据应该有。于是让红叶改了一下后端的接口,没有考勤学生返回一些初始的数据。
前端改了一些流程的错误,后端改了下边界情况的返回值,问题得到解决。
总结一下
在分析流程的过程中,发现了几个问题:
- 发请求的代码有的在组件里,比如红1,有的在action handler里,比如黄2,很混乱。按理说请求数据的逻辑应该放在action handler也就是service层去做。
- 网络请求没有任何的错误处理,一旦失败就会报错或者没有反应
- model也没有用命名空间,只是把state分了模块,同时命名也没规律,导致代码阅读困难
网友评论