🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
`审核人:白占宁` `被审核代码负责人:张红桥` `代码地址:https://192.168.1.240:8443/svn/repos/zhifa/src` ### 存在的问题 #### 1、方法调用位置不对 ``` /** * 当缩放页面后,进行相应的缩放 */ var PAGE_WIDTH = constants.MAIN_PAGE_WIDTH var PAGE_HEIGHT = constants.MAIN_PAGE_HEIGHT window.addEventListener('resize', function(){ util.zoom(PAGE_WIDTH, PAGE_HEIGHT) }) util.zoom(PAGE_WIDTH, PAGE_HEIGHT) ``` 解决方案:将以上代码在init方法中调用。 ``` self.bindEvent() ``` 解决方案:以上代码应该在init方法中调用,而不是getData中。 #### 2、引入了无用的依赖 ``` require('d3') require('lodash') ``` 解决方案:JS文件中只引入使用到的JS文件。 #### 3、URL路径没有统一到api.config.js中 ``` var leftUrl = '../data/mainleft.json' var centerUrl = '../data/maincenter.json' var rightUrl = '../data/mainright.json' ``` #### 4、传数据时候,只传入需要的数据 ``` request.sendAjax(dataUrl[0], function(res){ var data = res.result console.log(data) mainLeft.init(data) //扣分统计 mainCenter.deductCount(data) mainRight.init(data) }) ``` 解决方案:根据页面需要,封装合适的数据结构,分别传入不同的数据到对应的方法中。 #### 5、不用替换this ``` init: function() { var self = this selectTime.init() // 获取开始时间 var startTime = self.getChooseTime()[0] //获取结束时间 var endTime = self.getChooseTime()[1] var dataUrl = apiURL.mainURL + startTime + '/' + endTime var dataUrl = apiURL.mainURL var wsUrl = apiURL.mainWsURL var dataUrls = [dataUrl, wsUrl] self.getData(dataUrls) } ``` #### 6、id硬编码 ``` renderCase: function(data) { var self = this var data = data.caseAcceptance var id = '#caseTotal' //引入图表组件 var caseTotal = require('../components/caseTotal.js') //渲染刑事/情报总数 self.renderTotal(data, id) //默认渲染刑事 var xsData = data.xingshi caseTotal.drawCharts(id, xsData, config) //调用事件绑定 self.bindEvent(id, data, caseTotal) } ``` #### 7、可以深度优化的方法 ``` markCode: function(data){ var data = data.markCode var allAame = ['网络标识码', '身份证标识码', '电信标识码', '车牌标识码', '其他'] data.forEach(function(item){ var name = item.name var index = allAame.indexOf(name) var value = item.value switch(index) { case 0: $('#markCode').find('.value').eq(2).html(value) break; case 1: $('#markCode').find('.value').eq(0).html(value) break; case 2: $('#markCode').find('.value').eq(3).html(value) break; case 3: $('#markCode').find('.value').eq(1).html(value) break; case 4: $('#markCode').find('.value').eq(4).html(value) break; } }) } ``` #### 8、缓存多次使用的变量 ``` var index = $(this).index() $(this).addClass('cur').siblings().removeClass('cur') ```