写这篇博客的原因就是这也算是本人第一次修改比较大的Bug,所以对以后的工作肯定有百利而无一害。
最开始肯定要看清版本号(特别注意小版本号,因为大版本可能是通用版,很多产品都是定制的)
如果没看清版本号(就比如我,就是在通用版上改的),改完之后得一个个对改过的文件查看,是不是在2016年4月15日9点55分46秒之前改的,如果是之前改的那就不会有影响,直接换分支,不然就悲剧了,就得把改过的文件都copy一份到本地,然后切到原来那个分支,在一个个paste。查看修改的文件时,单选改过的文件,右键team选showinhistory。
这是改完之后遇到的问题,为嘛要先拿出来说,大家懂的,等改完了说这个不是屁话。。。
下面说说改Bug:
刚开始拿到需求我是懵逼的,本来就是个新手而且对产品又不熟悉。需求图如下:
实际产品图如下:
需求其实就是说把这个页面不要,把脚本的配置直接移到任务属性里面,还有帮助,置为上报状态这种也要移到任务属性里面,然后直接跳到下一步的界面。看起来蛮简单,但是代码哪里去找呢,随便打开工程一个包都是几百个类。。。最开始老司机教我一招在程序里写debugger。因为这个跳出来的是一个dialog,所以我就在xdialog.js里面写。
这招真管用,然后进浏览器,打开F12。看右边的回调函数,如果命名规范一眼就能看出,点进去之后打个断点,很容易就能发现请求的js文件和那个函数了。
可以根据F12提供的捕捉找到相应的位置,查看URL
这里就能看到这个iframe其实就是一个页面,而且有了地址action就能找到。
另外介绍一个方法,就是比如界面上找到那种很独特的文字,或者一连串比较长的,然后在eclipse里面ctrl+H选择。
ctrl+shift+R查看资源文件,找Action的时候前面加个*。
把脚本的配置放到任务属性的时候,先搜索“上报数据后执行的脚本”找到对应的ftl页面,根据上下怎么写的就怎么写。
数据传输方面就参照上面的一样的文本框,可下一个页面的checkbox,反正就是找到原本的用法用上去基本就没问题了。
Bug修改完成~~~