[{"D:\\panda-web5\\CivWeb\\src\\api\\constants\\index.js":"1","D:\\panda-web5\\CivWeb\\src\\api\\index.js":"2","D:\\panda-web5\\CivWeb\\src\\api\\service\\base.js":"3","D:\\panda-web5\\CivWeb\\src\\api\\service\\notification.js":"4","D:\\panda-web5\\CivWeb\\src\\app.js":"5","D:\\panda-web5\\CivWeb\\src\\components\\Authorized\\Authorized.js":"6","D:\\panda-web5\\CivWeb\\src\\components\\Authorized\\AuthorizedRoute.js":"7","D:\\panda-web5\\CivWeb\\src\\components\\Authorized\\CheckPermissions.js":"8","D:\\panda-web5\\CivWeb\\src\\components\\Authorized\\index.js":"9","D:\\panda-web5\\CivWeb\\src\\components\\Authorized\\PromiseRender.js":"10","D:\\panda-web5\\CivWeb\\src\\components\\Authorized\\renderAuthorize.js":"11","D:\\panda-web5\\CivWeb\\src\\components\\Authorized\\Secured.js":"12","D:\\panda-web5\\CivWeb\\src\\components\\CitySelector\\city-data.js":"13","D:\\panda-web5\\CivWeb\\src\\components\\CitySelector\\index.js":"14","D:\\panda-web5\\CivWeb\\src\\components\\Container\\HandlerMap.js":"15","D:\\panda-web5\\CivWeb\\src\\components\\Container\\index.js":"16","D:\\panda-web5\\CivWeb\\src\\components\\GlobalHeader\\AvatarDropdown.js":"17","D:\\panda-web5\\CivWeb\\src\\components\\GlobalHeader\\NoticeIconView.js":"18","D:\\panda-web5\\CivWeb\\src\\components\\GlobalHeader\\RightContent.js":"19","D:\\panda-web5\\CivWeb\\src\\components\\HeaderDropdown\\index.js":"20","D:\\panda-web5\\CivWeb\\src\\components\\HeaderSearch\\index.js":"21","D:\\panda-web5\\CivWeb\\src\\components\\HeaderSearch\\panel.js":"22","D:\\panda-web5\\CivWeb\\src\\components\\modal\\draggable.js":"23","D:\\panda-web5\\CivWeb\\src\\components\\modal\\index.js":"24","D:\\panda-web5\\CivWeb\\src\\components\\modal\\resize.js":"25","D:\\panda-web5\\CivWeb\\src\\components\\NotFound\\index.js":"26","D:\\panda-web5\\CivWeb\\src\\components\\NoticeIcon\\index.js":"27","D:\\panda-web5\\CivWeb\\src\\components\\NoticeIcon\\NoticeList.js":"28","D:\\panda-web5\\CivWeb\\src\\components\\NoticeIcon\\Templates\\Alarm\\index.js":"29","D:\\panda-web5\\CivWeb\\src\\components\\NoticeIcon\\Templates\\Case\\index.js":"30","D:\\panda-web5\\CivWeb\\src\\components\\NoticeIcon\\Templates\\Notice\\index.js":"31","D:\\panda-web5\\CivWeb\\src\\components\\NoticeIcon\\Templates\\Unknown\\index.js":"32","D:\\panda-web5\\CivWeb\\src\\components\\Notifier\\constants.js":"33","D:\\panda-web5\\CivWeb\\src\\components\\Notifier\\index.js":"34","D:\\panda-web5\\CivWeb\\src\\components\\Notifier\\message.js":"35","D:\\panda-web5\\CivWeb\\src\\components\\PageLoading\\index.js":"36","D:\\panda-web5\\CivWeb\\src\\components\\SliderPanel\\Categories.js":"37","D:\\panda-web5\\CivWeb\\src\\components\\SliderPanel\\index.js":"38","D:\\panda-web5\\CivWeb\\src\\components\\SliderPanel\\Menu.js":"39","D:\\panda-web5\\CivWeb\\src\\components\\SliderPanel\\Panel.js":"40","D:\\panda-web5\\CivWeb\\src\\components\\SliderPanel\\utils\\event.js":"41","D:\\panda-web5\\CivWeb\\src\\components\\SliderPanel\\utils\\index.js":"42","D:\\panda-web5\\CivWeb\\src\\components\\SlideVerify\\index.js":"43","D:\\panda-web5\\CivWeb\\src\\components\\TabRoute\\index.js":"44","D:\\panda-web5\\CivWeb\\src\\configureStore.js":"45","D:\\panda-web5\\CivWeb\\src\\containers\\App\\index.js":"46","D:\\panda-web5\\CivWeb\\src\\containers\\App\\store\\actions.js":"47","D:\\panda-web5\\CivWeb\\src\\containers\\App\\store\\constants.js":"48","D:\\panda-web5\\CivWeb\\src\\containers\\App\\store\\index.js":"49","D:\\panda-web5\\CivWeb\\src\\containers\\App\\store\\reducer.js":"50","D:\\panda-web5\\CivWeb\\src\\layouts\\BasicLayout.js":"51","D:\\panda-web5\\CivWeb\\src\\layouts\\BlankLayout.js":"52","D:\\panda-web5\\CivWeb\\src\\layouts\\SecurityLayout.js":"53","D:\\panda-web5\\CivWeb\\src\\layouts\\Site.js":"54","D:\\panda-web5\\CivWeb\\src\\layouts\\UserLayout.js":"55","D:\\panda-web5\\CivWeb\\src\\micro.js":"56","D:\\panda-web5\\CivWeb\\src\\pages\\bootpage\\index.js":"57","D:\\panda-web5\\CivWeb\\src\\pages\\exception\\403.js":"58","D:\\panda-web5\\CivWeb\\src\\pages\\exception\\404.js":"59","D:\\panda-web5\\CivWeb\\src\\pages\\exception\\500.js":"60","D:\\panda-web5\\CivWeb\\src\\pages\\transitionalpage\\index.js":"61","D:\\panda-web5\\CivWeb\\src\\pages\\user\\login\\components\\Login\\index.js":"62","D:\\panda-web5\\CivWeb\\src\\pages\\user\\login\\components\\Login\\LoginContext.js":"63","D:\\panda-web5\\CivWeb\\src\\pages\\user\\login\\components\\Login\\LoginItem.js":"64","D:\\panda-web5\\CivWeb\\src\\pages\\user\\login\\components\\Login\\LoginSubmit.js":"65","D:\\panda-web5\\CivWeb\\src\\pages\\user\\login\\components\\Login\\map.js":"66","D:\\panda-web5\\CivWeb\\src\\pages\\user\\login\\components\\WxLogin\\index.js":"67","D:\\panda-web5\\CivWeb\\src\\pages\\user\\login\\index.js":"68","D:\\panda-web5\\CivWeb\\src\\pages\\user\\login\\login.js":"69","D:\\panda-web5\\CivWeb\\src\\pages\\user\\login\\template\\iot.js":"70","D:\\panda-web5\\CivWeb\\src\\reducers.js":"71","D:\\panda-web5\\CivWeb\\src\\routes\\config.js":"72","D:\\panda-web5\\CivWeb\\src\\service-worker.js":"73","D:\\panda-web5\\CivWeb\\src\\utils\\authority.js":"74","D:\\panda-web5\\CivWeb\\src\\utils\\Authorized.js":"75","D:\\panda-web5\\CivWeb\\src\\utils\\checkStore.js":"76","D:\\panda-web5\\CivWeb\\src\\utils\\constants.js":"77","D:\\panda-web5\\CivWeb\\src\\utils\\env.js":"78","D:\\panda-web5\\CivWeb\\src\\utils\\history.js":"79","D:\\panda-web5\\CivWeb\\src\\utils\\injectReducer.js":"80","D:\\panda-web5\\CivWeb\\src\\utils\\injectSaga.js":"81","D:\\panda-web5\\CivWeb\\src\\utils\\loadable.js":"82","D:\\panda-web5\\CivWeb\\src\\utils\\reducerInjectors.js":"83","D:\\panda-web5\\CivWeb\\src\\utils\\request\\defaultConfig.js":"84","D:\\panda-web5\\CivWeb\\src\\utils\\request\\index.js":"85","D:\\panda-web5\\CivWeb\\src\\utils\\routes.js":"86","D:\\panda-web5\\CivWeb\\src\\utils\\sagaInjectors.js":"87","D:\\panda-web5\\CivWeb\\src\\utils\\storage.js":"88","D:\\panda-web5\\CivWeb\\src\\utils\\tests\\checkStore.test.js":"89","D:\\panda-web5\\CivWeb\\src\\utils\\tests\\injectReducer.test.js":"90","D:\\panda-web5\\CivWeb\\src\\utils\\tests\\injectSaga.test.js":"91","D:\\panda-web5\\CivWeb\\src\\utils\\tests\\reducerInjectors.test.js":"92","D:\\panda-web5\\CivWeb\\src\\utils\\tests\\sagaInjectors.test.js":"93","D:\\panda-web5\\CivWeb\\src\\utils\\utils.js":"94"},{"size":344,"mtime":1611022276311,"results":"95","hashOfConfig":"96"},{"size":146,"mtime":1611022276312,"results":"97","hashOfConfig":"96"},{"size":4761,"mtime":1611022276312,"results":"98","hashOfConfig":"96"},{"size":1147,"mtime":1611022276312,"results":"99","hashOfConfig":"96"},{"size":6431,"mtime":1611022276312,"results":"100","hashOfConfig":"96"},{"size":707,"mtime":1611022276317,"results":"101","hashOfConfig":"96"},{"size":553,"mtime":1611022276317,"results":"102","hashOfConfig":"96"},{"size":1384,"mtime":1611022276317,"results":"103","hashOfConfig":"96"},{"size":305,"mtime":1611022276318,"results":"104","hashOfConfig":"96"},{"size":1644,"mtime":1611022276318,"results":"105","hashOfConfig":"96"},{"size":572,"mtime":1611022276319,"results":"106","hashOfConfig":"96"},{"size":1085,"mtime":1611022276318,"results":"107","hashOfConfig":"96"},{"size":93141,"mtime":1611022276320,"results":"108","hashOfConfig":"96"},{"size":13209,"mtime":1611022276320,"results":"109","hashOfConfig":"96"},{"size":1585,"mtime":1611022276321,"results":"110","hashOfConfig":"96"},{"size":607,"mtime":1611022276321,"results":"111","hashOfConfig":"96"},{"size":13267,"mtime":1611022276321,"results":"112","hashOfConfig":"96"},{"size":11759,"mtime":1611022276322,"results":"113","hashOfConfig":"96"},{"size":8069,"mtime":1611022276322,"results":"114","hashOfConfig":"96"},{"size":333,"mtime":1611022276323,"results":"115","hashOfConfig":"96"},{"size":5010,"mtime":1611022276323,"results":"116","hashOfConfig":"96"},{"size":12563,"mtime":1611022276324,"results":"117","hashOfConfig":"96"},{"size":18360,"mtime":1611022276334,"results":"118","hashOfConfig":"96"},{"size":9937,"mtime":1611022276335,"results":"119","hashOfConfig":"96"},{"size":6446,"mtime":1611022276335,"results":"120","hashOfConfig":"96"},{"size":412,"mtime":1611022276325,"results":"121","hashOfConfig":"96"},{"size":4454,"mtime":1611022276329,"results":"122","hashOfConfig":"96"},{"size":4303,"mtime":1611022276325,"results":"123","hashOfConfig":"96"},{"size":3105,"mtime":1611022276326,"results":"124","hashOfConfig":"96"},{"size":2728,"mtime":1611022276327,"results":"125","hashOfConfig":"96"},{"size":1980,"mtime":1611022276327,"results":"126","hashOfConfig":"96"},{"size":1258,"mtime":1611022276328,"results":"127","hashOfConfig":"96"},{"size":1166,"mtime":1611022276330,"results":"128","hashOfConfig":"96"},{"size":24571,"mtime":1611022276330,"results":"129","hashOfConfig":"96"},{"size":646,"mtime":1611022276330,"results":"130","hashOfConfig":"96"},{"size":83,"mtime":1611022276331,"results":"131","hashOfConfig":"96"},{"size":1318,"mtime":1611022276332,"results":"132","hashOfConfig":"96"},{"size":48,"mtime":1611022276333,"results":"133","hashOfConfig":"96"},{"size":2290,"mtime":1611022276332,"results":"134","hashOfConfig":"96"},{"size":4605,"mtime":1611022276332,"results":"135","hashOfConfig":"96"},{"size":2007,"mtime":1611022276333,"results":"136","hashOfConfig":"96"},{"size":68,"mtime":1611022276334,"results":"137","hashOfConfig":"96"},{"size":8732,"mtime":1611022276331,"results":"138","hashOfConfig":"96"},{"size":1043,"mtime":1611022276334,"results":"139","hashOfConfig":"96"},{"size":1809,"mtime":1611022276336,"results":"140","hashOfConfig":"96"},{"size":1131,"mtime":1611022276336,"results":"141","hashOfConfig":"96"},{"size":2224,"mtime":1611022276337,"results":"142","hashOfConfig":"96"},{"size":1020,"mtime":1611022276337,"results":"143","hashOfConfig":"96"},{"size":168,"mtime":1611022276337,"results":"144","hashOfConfig":"96"},{"size":5444,"mtime":1611022276338,"results":"145","hashOfConfig":"96"},{"size":24809,"mtime":1611022276340,"results":"146","hashOfConfig":"96"},{"size":102,"mtime":1611022276340,"results":"147","hashOfConfig":"96"},{"size":1258,"mtime":1611022276341,"results":"148","hashOfConfig":"96"},{"size":19543,"mtime":1611022276341,"results":"149","hashOfConfig":"96"},{"size":1764,"mtime":1611022276341,"results":"150","hashOfConfig":"96"},{"size":4872,"mtime":1611022276342,"results":"151","hashOfConfig":"96"},{"size":4357,"mtime":1611109840418,"results":"152","hashOfConfig":"96"},{"size":321,"mtime":1611022276344,"results":"153","hashOfConfig":"96"},{"size":447,"mtime":1611022276344,"results":"154","hashOfConfig":"96"},{"size":462,"mtime":1611022276344,"results":"155","hashOfConfig":"96"},{"size":8126,"mtime":1611109945377,"results":"156","hashOfConfig":"96"},{"size":1089,"mtime":1611022276346,"results":"157","hashOfConfig":"96"},{"size":110,"mtime":1611022276345,"results":"158","hashOfConfig":"96"},{"size":4043,"mtime":1611022276345,"results":"159","hashOfConfig":"96"},{"size":496,"mtime":1611022276345,"results":"160","hashOfConfig":"96"},{"size":1564,"mtime":1611022276346,"results":"161","hashOfConfig":"96"},{"size":946,"mtime":1611022276347,"results":"162","hashOfConfig":"96"},{"size":18344,"mtime":1611022276347,"results":"163","hashOfConfig":"96"},{"size":23841,"mtime":1611022276347,"results":"164","hashOfConfig":"96"},{"size":0,"mtime":1611022276348,"results":"165","hashOfConfig":"96"},{"size":550,"mtime":1611022276348,"results":"166","hashOfConfig":"96"},{"size":1193,"mtime":1611109806677,"results":"167","hashOfConfig":"96"},{"size":2031,"mtime":1611022276349,"results":"168","hashOfConfig":"96"},{"size":695,"mtime":1611022276350,"results":"169","hashOfConfig":"96"},{"size":473,"mtime":1611022276349,"results":"170","hashOfConfig":"96"},{"size":471,"mtime":1611022276350,"results":"171","hashOfConfig":"96"},{"size":390,"mtime":1611022276350,"results":"172","hashOfConfig":"96"},{"size":77,"mtime":1611022276350,"results":"173","hashOfConfig":"96"},{"size":112,"mtime":1611022276350,"results":"174","hashOfConfig":"96"},{"size":1181,"mtime":1611022276351,"results":"175","hashOfConfig":"96"},{"size":1238,"mtime":1611022276351,"results":"176","hashOfConfig":"96"},{"size":308,"mtime":1611022276351,"results":"177","hashOfConfig":"96"},{"size":904,"mtime":1611022276352,"results":"178","hashOfConfig":"96"},{"size":1977,"mtime":1611022276352,"results":"179","hashOfConfig":"96"},{"size":3136,"mtime":1611022276352,"results":"180","hashOfConfig":"96"},{"size":3361,"mtime":1611022276353,"results":"181","hashOfConfig":"96"},{"size":2355,"mtime":1611022276353,"results":"182","hashOfConfig":"96"},{"size":1189,"mtime":1611022276353,"results":"183","hashOfConfig":"96"},{"size":881,"mtime":1611022276354,"results":"184","hashOfConfig":"96"},{"size":2579,"mtime":1611022276354,"results":"185","hashOfConfig":"96"},{"size":3811,"mtime":1611022276354,"results":"186","hashOfConfig":"96"},{"size":2726,"mtime":1611022276355,"results":"187","hashOfConfig":"96"},{"size":7245,"mtime":1611022276355,"results":"188","hashOfConfig":"96"},{"size":4276,"mtime":1611022276355,"results":"189","hashOfConfig":"96"},{"filePath":"190","messages":"191","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"34xppw",{"filePath":"192","messages":"193","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"194","messages":"195","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"196","messages":"197","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"198","messages":"199","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"200","messages":"201","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"202","messages":"203","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"204","messages":"205","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"206","messages":"207","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"208","messages":"209","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"210","messages":"211","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"212","messages":"213","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"214","messages":"215","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"216","messages":"217","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"218","messages":"219","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"220","messages":"221","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"222","messages":"223","errorCount":1,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"224","messages":"225","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"226","messages":"227","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"228","messages":"229","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"230","messages":"231","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"232","messages":"233","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"234","messages":"235","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"236","messages":"237","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"238","messages":"239","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"240","messages":"241","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"242","messages":"243","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"244","messages":"245","errorCount":1,"warningCount":0,"fixableErrorCount":1,"fixableWarningCount":0,"source":"246"},{"filePath":"247","messages":"248","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"249","messages":"250","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"251","messages":"252","errorCount":2,"warningCount":0,"fixableErrorCount":2,"fixableWarningCount":0,"source":"253"},{"filePath":"254","messages":"255","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"256","messages":"257","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"258","messages":"259","errorCount":1,"warningCount":0,"fixableErrorCount":1,"fixableWarningCount":0,"source":"260"},{"filePath":"261","messages":"262","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"263","messages":"264","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"265","messages":"266","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"267","messages":"268","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"269","messages":"270","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"271","messages":"272","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"273","messages":"274","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"275","messages":"276","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"277","messages":"278","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"279","messages":"280","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"281","messages":"282","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"283","messages":"284","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"285","messages":"286","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"287","messages":"288","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"289","messages":"290","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"291","messages":"292","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"293","messages":"294","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"295","messages":"296","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"297","messages":"298","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"299","messages":"300","errorCount":1,"warningCount":2,"fixableErrorCount":1,"fixableWarningCount":0,"source":"301"},{"filePath":"302","messages":"303","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"304","messages":"305","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"306","messages":"307","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"308","messages":"309","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"310","messages":"311","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"312","messages":"313","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"314","messages":"315","errorCount":297,"warningCount":0,"fixableErrorCount":284,"fixableWarningCount":0,"source":"316"},{"filePath":"317","messages":"318","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"319","messages":"320","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"321","messages":"322","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"323","messages":"324","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"325","messages":"326","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"327","messages":"328","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"329","messages":"330","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"331","messages":"332","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"333","messages":"334","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"335","messages":"336","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"337","messages":"338","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"339","messages":"340","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"341","messages":"342","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"343","messages":"344","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"345","messages":"346","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"347","messages":"348","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"349","messages":"350","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"351","messages":"352","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"353","messages":"354","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"355","messages":"356","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"357","messages":"358","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"359","messages":"360","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"361","messages":"362","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"363","messages":"364","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"365","messages":"366","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"367","messages":"368","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"369","messages":"370","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"371","messages":"372","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"373","messages":"374","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"375","messages":"376","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"377","messages":"378","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"379","messages":"380","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"381","messages":"382","errorCount":2,"warningCount":0,"fixableErrorCount":2,"fixableWarningCount":0,"source":"383"},"D:\\panda-web5\\CivWeb\\src\\api\\constants\\index.js",[],"D:\\panda-web5\\CivWeb\\src\\api\\index.js",[],"D:\\panda-web5\\CivWeb\\src\\api\\service\\base.js",[],"D:\\panda-web5\\CivWeb\\src\\api\\service\\notification.js",[],"D:\\panda-web5\\CivWeb\\src\\app.js",["384"],"D:\\panda-web5\\CivWeb\\src\\components\\Authorized\\Authorized.js",[],"D:\\panda-web5\\CivWeb\\src\\components\\Authorized\\AuthorizedRoute.js",[],"D:\\panda-web5\\CivWeb\\src\\components\\Authorized\\CheckPermissions.js",[],"D:\\panda-web5\\CivWeb\\src\\components\\Authorized\\index.js",[],"D:\\panda-web5\\CivWeb\\src\\components\\Authorized\\PromiseRender.js",[],"D:\\panda-web5\\CivWeb\\src\\components\\Authorized\\renderAuthorize.js",[],"D:\\panda-web5\\CivWeb\\src\\components\\Authorized\\Secured.js",[],"D:\\panda-web5\\CivWeb\\src\\components\\CitySelector\\city-data.js",[],"D:\\panda-web5\\CivWeb\\src\\components\\CitySelector\\index.js",[],"D:\\panda-web5\\CivWeb\\src\\components\\Container\\HandlerMap.js",[],"D:\\panda-web5\\CivWeb\\src\\components\\Container\\index.js",[],"D:\\panda-web5\\CivWeb\\src\\components\\GlobalHeader\\AvatarDropdown.js",["385"],"D:\\panda-web5\\CivWeb\\src\\components\\GlobalHeader\\NoticeIconView.js",["386","387"],"D:\\panda-web5\\CivWeb\\src\\components\\GlobalHeader\\RightContent.js",[],"D:\\panda-web5\\CivWeb\\src\\components\\HeaderDropdown\\index.js",[],"D:\\panda-web5\\CivWeb\\src\\components\\HeaderSearch\\index.js",[],"D:\\panda-web5\\CivWeb\\src\\components\\HeaderSearch\\panel.js",[],"D:\\panda-web5\\CivWeb\\src\\components\\modal\\draggable.js",[],"D:\\panda-web5\\CivWeb\\src\\components\\modal\\index.js",[],"D:\\panda-web5\\CivWeb\\src\\components\\modal\\resize.js",[],"D:\\panda-web5\\CivWeb\\src\\components\\NotFound\\index.js",[],"D:\\panda-web5\\CivWeb\\src\\components\\NoticeIcon\\index.js",[],"D:\\panda-web5\\CivWeb\\src\\components\\NoticeIcon\\NoticeList.js",["388"],"import React from 'react';\n\nimport { List, Spin } from 'antd';\nimport classNames from 'classnames';\nimport styles from './NoticeList.less';\nimport Alarm from './Templates/Alarm';\nimport Case from './Templates/Case';\nimport Notice from './Templates/Notice';\nimport Unknown from './Templates/Unknown';\n\nconst Empty = ({ emptyText }) => (\n  <div className={styles.notFound}>\n    <img\n      src=\"https://gw.alipayobjects.com/zos/rmsportal/sAuJeJzSKbUmHfBQRzmZ.svg\"\n      alt=\"not found\"\n    />\n    <div>{emptyText}</div>\n  </div>\n);\n\nclass NoticeList extends React.Component {\n  constructor(props) {\n    super(props);\n    this.emptyText = props.emptyText;\n    this.confirmRead = props.confirmRead;\n    this.handlerSysDetail = props.handlerSysDetail\n    this.loadMore = props.loadMore;\n    this.hasMore = props.hasMore;\n    this.container = React.createRef();\n    this.state = {\n      isLoading: false,\n    };\n    this.mounted = false;\n    this.handleScrollCallback = this.throttle(\n      this.handleScroll.bind(this),\n      30,\n    ).bind(this);\n  }\n\n  componentDidMount() {\n    this.mounted = true;\n    if (this.container.current) {\n      this.container.current.addEventListener(\n        'scroll',\n        this.handleScrollCallback,\n      );\n    }\n  }\n\n  componentWillUnmount() {\n    this.mounted = false;\n  }\n\n  throttle(fn, wait) {\n    /* eslint-disable */\n    let pre = Date.now();\n    return function() {\n      const context = this;\n      // eslint-disable-next-line prefer-rest-params\n      const args = arguments;\n      const now = Date.now();\n      if (now - pre >= wait) {\n        fn.apply(context, args);\n        pre = Date.now();\n      }\n    };\n  }\n\n  handleScroll(e) {\n    e.stopPropagation();\n    if (!this.mounted) return;\n    if (!this.container.current) return;\n    const { current } = this.container;\n    if (\n      current.scrollHeight - current.scrollTop - current.offsetHeight <=\n      100\n    ) {\n      this.handleLoadMore();\n    }\n  }\n\n  handleLoadMore() {\n    if (this.state.isLoading) return;\n    if (!this.hasMore()) return;\n    this.setState(\n      {\n        isLoading: true,\n      },\n      () => {\n        if (!this.loadMore) return;\n        this.loadMore().then(data => {\n          if (!this.mounted) return;\n          this.setState({\n            isLoading: false,\n          });\n        });\n      },\n    );\n  }\n\n  render() {\n    if (!this.props.data || this.props.data.length === 0) {\n      return <Empty emptyText={this.emptyText} />;\n    }\n    return (\n      <div className={styles.container} ref={this.container}>\n        <List\n          className={styles.list}\n          dataSource={this.props.data}\n          renderItem={(item, i) => {\n            const itemCls = classNames(styles.item, {\n              [styles.read]: item.read,\n            });\n            let messageTemplate = <></>;\n            switch (item.infoType) {\n              case 'scadaType':\n                messageTemplate = (\n                  <Alarm message={item} confirmRead={this.confirmRead} config={this.props.config} />\n                );\n                break;\n              case 'caseType':\n                messageTemplate = (\n                  <Case message={item} confirmRead={this.confirmRead} />\n                );\n                break;\n              case 'sysType':\n                messageTemplate = (\n                  <Notice message={item} confirmRead={this.confirmRead} config={this.props.config} handlerSysDetail={this.handlerSysDetail}/>\n                );\n                break;\n              default:\n                messageTemplate = (\n                  <Unknown message={item} confirmRead={this.confirmRead} />\n                );\n                break;\n            }\n            return (\n              <List.Item className={itemCls} key={item.id || i}>\n                {messageTemplate}\n              </List.Item>\n            );\n          }}\n        />\n        <div className={styles.bottomBar}>\n          {this.state.isLoading ? (\n            <>\n              <Spin /> 加载中...\n            </>\n          ) : this.hasMore() ? (\n            <span>下拉加载更多</span>\n          ) : (\n            <span style={{fontSize: '12px', color: 'rgba(0, 0, 0, 0.6)'}}>已经没有更多消息了</span>\n          )}\n        </div>\n      </div>\n    );\n  }\n}\n\nexport default NoticeList;\n","D:\\panda-web5\\CivWeb\\src\\components\\NoticeIcon\\Templates\\Alarm\\index.js",[],"D:\\panda-web5\\CivWeb\\src\\components\\NoticeIcon\\Templates\\Case\\index.js",[],"D:\\panda-web5\\CivWeb\\src\\components\\NoticeIcon\\Templates\\Notice\\index.js",["389","390"],"import React from 'react';\n\nimport classNames from 'classnames';\n\nimport commonStyles from '../common.less';\nimport styles from './index.less';\nimport { isJSON } from '../../../../utils/utils';\n\nexport class NoticeContent {\n  // eslint-disable-next-line no-undef\n  constructor({ noticeTitle, noticeType, noticeContent, time } = content) {\n    this.noticeTitle = noticeTitle;\n    this.noticeType = noticeType;\n    this.noticeContent = noticeContent;\n    this.time = time;\n  }\n}\n\nconst Notice = ({ message, confirmRead, config, handlerSysDetail }) => {\n\n  // eslint-disable-next-line no-debugger\n  const noticeContent =\n    config.mqtt_mess.MessageLevel === '2.0' && isJSON(message.infoContent)\n      ? JSON.parse(message.infoContent)\n      : message.infoContent;\n  const goPath = item => {\n    // eslint-disable-next-line no-debugger\n    debugger\n    // eslint-disable-next-line no-debugger\n    confirmRead(false, [message.id]);\n    handlerSysDetail && handlerSysDetail(message);\n  };\n  return (\n    <div\n      className={classNames(styles.notice, commonStyles.messageContainer)}\n      title=\"点击查看详情\"\n      onClick={() => goPath(message)}\n    >\n      <div className={commonStyles.title}>\n        <span>公告</span>\n        <img\n          className={commonStyles.confirm}\n          title=\"点击标为已读\"\n          onClick={e => {\n            e.stopPropagation();\n            confirmRead(false, [message.id]);\n          }}\n          src=\"https://panda-water.cn/Web4/assets/images/message/%E5%8B%BE%E6%B5%85.png\"\n          alt=\"\"\n        />\n      </div>\n      <div className={commonStyles.content}>\n        <p>\n          <i>{noticeContent.noticeType}</i>\n          {noticeContent.noticeTitle}\n        </p>\n        {/* eslint-disable-next-line react/no-danger */}\n        <p dangerouslySetInnerHTML={{ __html: noticeContent.noticeContent }} />\n        <p className={commonStyles.messageTime}>{message.time}</p>\n      </div>\n    </div>\n  );\n};\n\nexport default Notice;\n","D:\\panda-web5\\CivWeb\\src\\components\\NoticeIcon\\Templates\\Unknown\\index.js",[],"D:\\panda-web5\\CivWeb\\src\\components\\Notifier\\constants.js",[],"D:\\panda-web5\\CivWeb\\src\\components\\Notifier\\index.js",["391"],"import 'kit_logger';\n\nimport _ from 'lodash';\nimport MqttClient from 'mqtt-client';\n\nimport {\n  DEFAULT_KEEPLIVE,\n  DEFAULT_MQTT_PATH,\n  DEFAULT_PARSE_LEVEL,\n  DEFAULT_TCP_IP,\n  DEFAULT_TCP_PORT,\n  DEFAULT_TIMEOUT,\n  ERR_OK,\n  MESSAGE_TEXT_TYPE,\n  MESSAGE_TYPE,\n  NEW_MESSAGE,\n  PASSWORD,\n  PLATFORM_LEVEL,\n  REQUEST_SERVICE, SYS_LEVEL,\n  USERNAME,\n  VIDEO_LEVEL,\n} from './constants';\nimport createMessage from './message';\nimport service from '../../api/service/notification';\nimport { isJSON } from '../../utils/utils';\n/* eslint-disable */\n// eslint-disable-next-line no-undef\nconst Logger = logger('mqtt');\nclass Notifier {\n  constructor(userInfo, renderVideo, renderPlatform, renderSysPlatform, props) {\n    this.userInfo = userInfo;\n    this.messageCache = {\n      totalCount: 0,\n      messages: [],\n    };\n    // 当前消息缓存\n    this._subscribers = {}; // 订阅器缓存\n    this._siteConfig = {\n      site_code: this.userInfo.site,\n      TcpIP: '',\n      TcpPort: DEFAULT_TCP_PORT,\n      TimeOut: '',\n      KeepAlive: '',\n      IsSSL: true,\n      mqtt_path: DEFAULT_MQTT_PATH,\n      mqtt_mess: {},\n      nginxStart: false\n\n    };\n    this.MQTTCount = 0;\n    this.MQTTClient = null;\n    this.MQTTOptions = {};\n    this.IsNeedReconnect = true;\n    this.currentPageIndex = 1;\n    this.currentPageSize = 10;\n\n    this.start = this.start.bind(this);\n    this.stop = this.stop.bind(this);\n    this.subscribe = this.subscribe.bind(this);\n    this.unsubscribe = this.unsubscribe.bind(this);\n    this.confirmRead = this.confirmRead.bind(this);\n    this.loadMore = this.loadMore.bind(this);\n    this.hasMore = this.hasMore.bind(this);\n    this.renderVideo = renderVideo;\n    this.renderPlatform = renderPlatform;\n    this.renderSysPlatform = renderSysPlatform;\n    this.props = props;\n  }\n\n  // 对外接口\n  async start() {\n    window.cc = this.messageCache;\n    this.getMqttSiteCode().then((res) => {\n      this.loadHisMessages(this.currentPageIndex, this.currentPageSize);\n      this.connectMQTTServer();\n    });\n  }\n\n  stop() {\n    this.disconnectMQTTServer();\n  }\n\n  subscribe(type, handler) {\n    if (!(type in this._subscribers)) {\n      this._subscribers[type] = [];\n    }\n    this._subscribers[type].push(handler);\n  }\n\n  unsubscribe(type, handler) {\n    if (!(type in this._subscribers)) {\n      logger.info('无效事件无法删除');\n    }\n    if (!handler) {\n      delete this._subscribers[type];\n    } else {\n      const idx = this._subscribers[type].findIndex(ele => ele === handler);\n      if (idx === -1) {\n        logger.info('无效事件无法删除');\n        return;\n      }\n      this._subscribers[type].splice(idx, 1);\n      if (this._subscribers[type].length === 0) {\n        delete this._subscribers[type];\n      }\n    }\n  }\n\n  publish(type, payload) {\n    if (!(type in this._subscribers) || this._subscribers[type].length === 0) {\n      return;\n    }\n    this._subscribers[type].forEach(handler => {\n      try {\n        handler(payload);\n      } catch (e) {\n        // eslint-disable-next-line no-undef\n        logger.warn(`订阅器委托错误${e.message}`);\n      }\n    });\n  }\n\n  confirmRead(isAll = false, hisIDs = []) {\n    if (\n      this.messageCache &&\n      this.messageCache.totalCount === 0 &&\n      this.messageCache.messages.length === 0\n    ) {\n      return;\n    }\n    if (isAll) hisIDs = this.messageCache.messages.map(item => item.id);\n    const self = this;\n    // eslint-disable-next-line no-undef\n    service.postInformationStatus({\n      userID: this.userInfo.OID,\n      hisID: hisIDs.join(','),\n      isAll: isAll ? 1 : '',\n    })\n      .then(res => {\n        if (res.statusCode !== ERR_OK) {\n          Logger.info(res.errMsg);\n          return;\n        }\n        if (isAll) {\n          self.messageCache.totalCount = 0;\n          self.messageCache.messages = [];\n          self.currentPageIndex = 1;\n        } else {\n          hisIDs.forEach(id => {\n            const index = self.messageCache.messages.findIndex(\n              item => item.id === id,\n            );\n            if (index > -1) {\n              self.messageCache.messages.splice(index, 1);\n              // eslint-disable-next-line no-plusplus\n              self.messageCache.totalCount--;\n            }\n          });\n        }\n        self.publish(NEW_MESSAGE, self.messageCache);\n      })\n      .catch(err => {\n        // eslint-disable-next-line no-undef\n        logger.error(`postInformationStatus调用失败${err}`);\n      });\n  }\n\n  hasMore() {\n    if (!this.messageCache) return false;\n    if (!this.messageCache.totalCount) return false;\n    return this.messageCache.totalCount > this.messageCache.messages.length;\n  }\n\n  loadMore(callback) {\n    if (!this.hasMore()) return Promise.resolve([]);\n    this.currentPageIndex += 1;\n    return this.loadHisMessages(this.currentPageIndex, this.currentPageSize);\n  }\n\n  // mqtt\n  async connectMQTTServer() {\n    const hostname = this._siteConfig.TcpIP;\n    const port = this._siteConfig.TcpPort;\n    const clientId = `client-${this.generatedId()}`;\n    const timeout = DEFAULT_TIMEOUT;\n    const keepAlive = DEFAULT_KEEPLIVE;\n    const cleanSession = true;\n    const ssl = this._siteConfig.IsSSL;\n    const userName = USERNAME;\n    const password = PASSWORD;\n    const path = this._siteConfig.mqtt_path;\n    this.MQTTCount = 0;\n    if (hostname) {\n      this.MQTTClient = new MqttClient.Client(hostname, port, path, clientId);\n      this.MQTTOptions = {\n        invocationContext: {\n          host: hostname,\n          port,\n          path,\n          clientId,\n        },\n        timeout,\n        keepAliveInterval: keepAlive,\n        cleanSession,\n        useSSL: ssl,\n        userName,\n        password,\n        onSuccess: this.onMQTTConnect.bind(this),\n        onFailure(e) {\n          console.log(e);\n        },\n      };\n      this.MQTTClient.connect(this.MQTTOptions);\n      this.MQTTClient.onConnectionLost = this.onMQTTConnectionLost.bind(this);\n      this.MQTTClient.onMessageArrived = this.onMessageArrived.bind(this);\n    }\n  }\n\n  disconnectMQTTServer() {\n    if (this.MQTTClient) {\n      this.IsNeedReconnect = false;\n      this.MQTTClient.disconnect();\n      this.MQTTClient = null;\n    }\n  }\n\n  getSiteCode() {\n    return this._siteConfig.site_code;\n  }\n\n  getUserInfo() {\n    return this.userInfo;\n  }\n\n  getSiteConfig() {\n    return this._siteConfig;\n  }\n\n  onMQTTConnect() {\n    const site = this.getSiteCode();\n    // 信息化主题\n    this.MQTTClient.subscribe(site + REQUEST_SERVICE.EIMTopic);\n    // 节水主题\n    this.MQTTClient.subscribe(site + REQUEST_SERVICE.SaveWaTopic);\n    // 系统主题\n    this.MQTTClient.subscribe(site + REQUEST_SERVICE.SystemTopic);\n    // 工单主题\n    this.MQTTClient.subscribe(site + REQUEST_SERVICE.WorkerOrderTopic);\n    // 报警主题\n    this.MQTTClient.subscribe(site + REQUEST_SERVICE.ScadaTopic);\n    // 用户主题\n    this.MQTTClient.subscribe(\n      `${site}${REQUEST_SERVICE.UserTopic}${this.userInfo.OID}`,\n    );\n  }\n\n  onMQTTConnectionLost(responseObject) {\n    const self = this;\n    if (this.IsNeedReconnect) {\n      this.MQTTClient.connect(self.MQTTOptions);\n      this.MQTTtester = setInterval(function() {\n        if (self.MQTTClient.isConnected) {\n          clearInterval(self.MQTTtester);\n        } else {\n          self.MQTTClient.connect(self.MQTTOptions);\n        }\n      }, 1000);\n    }\n  }\n\n  onMessageArrived(buffer) {\n    try {\n\n      const parseMessage = JSON.parse(buffer.payloadString);\n      const userInfo = this.getUserInfo();\n      const infoType = this.getMessageType(parseMessage.infoType);\n      let state = null;\n      if (\n        _.isEmpty(parseMessage.tousers) ||\n        userInfo.OID == parseMessage.tousers ||\n        parseMessage.tousers.includes(`${userInfo.OID},`) ||\n        parseMessage.tousers.includes(`,${userInfo.OID}`)\n      ) {\n        if (\n          document.visibilityState === 'visible' ||\n          document.visibilityState === 'hidden'\n        ) {\n          this.renderWindowsInfo(buffer);\n        }\n        let messContent = parseMessage.content;\n\n        if(this._siteConfig.MessageLevel && this._siteConfig.MessageLevel === \"2.0\") {\n          messContent = this.messageThrome(infoType, JSON.parse(parseMessage.content))\n        }\n        const timeH =\n          (new Date() - new Date(parseMessage.createTime)) / 1000 / 60;\n        const timeMss =\n          Math.abs(timeH) > 1440\n            ? parseMessage.createTime.split('.')[0]\n            : Math.abs(timeH) > 60\n            ? `${(timeH / 60).toFixed(0)}小时前`\n            : Math.abs(timeH) > 1\n            ? `${timeH.toFixed(0)}分钟前`\n            : '刚刚';\n        const messString = {\n          id: parseMessage.infoId,\n          infoContent: parseMessage.content,\n          infoLevel: parseMessage.level,\n          time: `${timeMss}`,\n          infoType,\n          dateTime: parseMessage.createTime,\n          webConfig: parseMessage.web_config,\n          webPath: parseMessage.web_path,\n          messType: parseMessage.MessType,\n        };\n\n        if (parseMessage.tousers === '') {\n          messString.messType = '公告';\n          let content = (_.isObject(messContent) ? messContent.content: messContent).replace(/\\\\n/g, ',');\n          content = this.replaceSpeak(content)\n          state = new window.SpeechSynthesisUtterance(\n            `您有新的公告:${content\n              .substring(0, content.lastIndexOf(','))\n              .replace(':', ',')} 时间:${timeMss}`,\n          );\n        } else {\n          let content = ( _.isObject(messContent) ? messContent.content: messContent).replace(/\\\\n/g, ',');\n          content = this.replaceSpeak(content)\n          state = new window.SpeechSynthesisUtterance(\n            `您有新的消息:${content\n              .substring(0, content.lastIndexOf(','))\n              .replace(':', ',')} 时间:${timeMss}`,\n          );\n        }\n\n        if (this.getParseVesion()) {\n          messString.infoContent = this.parseMessageToJSON(\n            infoType,\n            messString,\n          );\n        } else {\n          messString.infoContent = JSON.parse(\n            JSON.stringify(messString.infoContent || '{}'),\n          );\n        }\n        const message = createMessage(messString);\n        this.messageCache.totalCount += 1;\n        if(message.infoLevel === SYS_LEVEL) {\n          this.messageCache.messages.unshift(message)\n        } else {\n          this.messageCache.messages.push(message);\n        }\n\n        this.publish(NEW_MESSAGE, this.messageCache);\n        if (\n          messString.infoLevel === PLATFORM_LEVEL &&\n          messString.infoType === MESSAGE_TYPE.SCADA_TYPE\n        ) {\n          this.parseScadaMessage(Object.assign(message, { messContent }));\n          this.renderPopPlatform(Object.assign(message, { messContent }));\n        } else if (messString.infoLevel === VIDEO_LEVEL) {\n          this.renderPopVideo(Object.assign(message, { messContent }));\n          state.lang = 'zh';\n          state.rate = 1;\n          window.speechSynthesis.speak(state);\n        } else if (message.infoLevel === PLATFORM_LEVEL) {\n          console.log(messString);\n        } else if(message.infoLevel === SYS_LEVEL) {\n          debugger\n          this.renderSysNoticePlatform(Object.assign(message, { messContent }))\n        } else {\n          state.lang = 'zh';\n          state.rate = 1;\n          window.speechSynthesis.speak(state);\n        }\n      }\n    } catch (e) {\n      Logger.error(`收到消息处理异常:${e.message}`);\n    }\n  }\n\n  replaceSpeak(msg) {\n    msg = msg.replaceAll(\" \", \"\");\n    msg = msg.replace(/MPa/ig, \"兆帕\");\n    msg = msg.replace(/m³\\/h/ig, \"立方米每小时\");\n    msg = msg.replace(/m³/ig, \"立方米\");\n    msg = msg.replace(/kWh/ig, \"千瓦时\");\n    msg = msg.replace(/kW/ig, \"千瓦\");\n    msg = msg.replace(/min/ig, \"分钟\");\n    msg = msg.replace(/m/ig, \"米\");\n    msg = msg.replace(/A/ig, \"安\");\n    msg = msg.replace(/V/ig, \"伏\");\n    msg = msg.replace(/h/ig, \"小时\");\n    return msg;\n  }\n  messageThrome(themeName, info) {\n    let messageInfo = \"\";\n    switch (themeName) {\n      case MESSAGE_TYPE.CASE_TYPE:\n      case \"工单提醒\":\n        messageInfo = `【${info.caseType}】${info.flowName}\\\\n${info.nodeName}\\\\n承办意见:${info.content}`;\n        break;\n      case MESSAGE_TYPE.SCADA_TYPE:\n      case \"通用报警\":\n        messageInfo = `${info.title} \\\\n ${info.content.replace(\", \", \"\\\\n\")}\\\\n${info.deviceCode}`;\n        break;\n      case MESSAGE_TYPE.SYS_TYPE:\n      case \"系统通知\":\n        messageInfo = `【${info.noticeType}】${info.noticeTitle}\\\\n${info.noticeContent}`;\n        break;\n      default:\n        messageInfo = info;\n        break;\n    }\n    return messageInfo;\n  }\n\n  renderWindowsInfo(message) {\n    const self = this;\n    function notifyMessage(message) {\n      const parseMessage = JSON.parse(message.payloadString);\n      let content = '';\n      if(message.level !== SYS_LEVEL) {\n        if(self.getMessageLevel() === \"2.0\") {\n          if(message.level === \"4\") {\n            const messageContent = JSON.parse(parseMessage.content);\n            content += `${messageContent.alarmType} ${messageContent.alarmDevice} ${messageContent.alarmContent} ${messageContent.alarmValue} / ${messageContent.alarmThreshold}`\n          }\n        } else {\n          for (let i = 0; i < parseMessage.content.split('\\\\n').length; i++) {\n            content += `${parseMessage.content.split('\\\\n')[i]} `;\n          }\n        }\n      }\n\n\n      const messageBody = {\n        title: '',\n        content,\n      };\n\n      if (parseMessage.tousers === '') {\n        messageBody.title = '新公告:';\n      } else {\n        messageBody.title = '新通知:';\n      }\n      if(content !== \"\") {\n        if (!('Notification' in window)) {\n          message.warn('This browser does not support desktop notification');\n        } else if (Notification.permission === 'granted') {\n          const notification = new Notification(messageBody.title, {\n            body: `${messageBody.content}`,\n            icon: 'https://panda-water.com/web4/assets/images/icon/熊猫新1.png',\n          });\n          notification.onclick = () => {\n            notification.close();\n          };\n        } else if (Notification.permission !== 'denied') {\n          Notification.requestPermission(permission => {\n            if (permission === 'granted') {\n              const notification = new Notification(messageBody.title, {\n                body: `${messageBody.content}`,\n                icon:\n                  'https://panda-water.com/web4/assets/images/icon/熊猫新1.png',\n              });\n              notification.onclick = () => {\n                notification.close();\n              };\n            }\n          });\n        }\n      }\n\n    }\n    notifyMessage(message);\n  }\n\n  renderPopPlatform(message) {\n    this.renderPlatformElement =\n      this.renderPlatform && this.renderPlatform(message);\n  }\n\n  renderSysNoticePlatform(message) {\n    this.renderSysPlatform && this.renderSysPlatform(message)\n  }\n\n  renderPopVideo(message) {\n    this.renderVideoElement = this.renderVideo && this.renderVideo(message);\n  }\n\n  destoryPlatform() {\n    this.renderPlatformElement = null;\n  }\n\n  destoryVideo() {\n    this.renderVideoElement = null;\n  }\n\n  // 工具类\n  async loadHisMessages(pageIndex, pageSize) {\n    const self = this;\n    return service.getInformationInfo({\n      userID: self.getUserInfo().OID,\n      pageIndex,\n      pageSize,\n      'request.preventCache': Date.now(),\n    }).then(res => {\n      if (res) {\n        const result = {\n          totalCount: res.totalRcdNum,\n          messages: (Array.isArray(res.getMe) ? res.getMe: []) .map(this.parseHisToMessage.bind(this)),\n        };\n        self.messageCache.totalCount = result.totalCount;\n        (result.messages || []).forEach(message => {\n          const index = self.messageCache.messages.findIndex(\n            item => item.id === message.id,\n          );\n          index === -1 && self.messageCache.messages.push(message);\n        });\n        if (\n          self.messageCache.totalCount > self.messageCache.messages.length &&\n          res.getMe.length === 0\n        ) {\n          // 服务端返回总数还有,但是查不到数据了,前端修正服务端返回的总数\n          self.messageCache.totalCount = self.messageCache.messages.length;\n        }\n        self.publish(NEW_MESSAGE, self.messageCache);\n        return Promise.resolve(result);\n      }\n    });\n  }\n\n  async getMqttSiteCode() {\n    const self = this;\n    return service.getMqttSiteCode({ 'request.preventCache': Date.now() }).then(\n      res => {\n        if (res && res.say.statusCode === ERR_OK) {\n          let mqttConfig = {\n            mqtt_mess: {},\n            mqtt_path: self._siteConfig.mqtt_path,\n            nginxStart: self._siteConfig.NginxStart,\n            mqtt_IsSSL: true\n          };\n          if (Array.isArray(res.getMe) && res.getMe.length > 0) {\n\n            if (res.getMe[0]) {\n              const data = res.getMe[0];\n              mqttConfig.mqtt_IsSSL =  self._siteConfig.IsSSL = data.IsSSL ? data.IsSSL : false;\n              mqttConfig.mqtt_mess.site_code = self._siteConfig.site_code = data.SiteCode || self._siteConfig.site_code;\n              mqttConfig.mqtt_mess.TcpIP =  self._siteConfig.TcpIP = data.TcpIP;\n              mqttConfig.mqtt_mess.TcpPort = self._siteConfig.TcpPort = data.TcpPort ? parseInt(data.TcpPort) : 8083;\n              mqttConfig.mqtt_mess.MessageLevel =  self._siteConfig.MessageLevel = data.MessageLevel ? data.MessageLevel : DEFAULT_PARSE_LEVEL;\n\n              if (data.NginxStart) {\n                mqttConfig.NginxStart =  self._siteConfig.NginxStart = data.NginxStart;\n                mqttConfig.mqtt_mess.TcpIP = self._siteConfig.mqtt_mess.TcpIP = window.location.hostname;\n                mqttConfig.mqtt_mess.TcpPort =  self._siteConfig.mqtt_mess.TcpPort = parseInt(window.location.port);\n                mqttConfig.mqtt_path = self._siteConfig.mqtt_path = '/ws/';\n              } else {\n                mqttConfig.nginxStart = data.NginxStart\n              }\n            }else {\n              mqttConfig.mqtt_mess.TcpIP = self._siteConfig.mqtt_mess.TcpIP = DEFAULT_TCP_IP;\n              mqttConfig.mqtt_mess.TcpPort = self._siteConfig.mqtt_mess.TcpPort = DEFAULT_TCP_PORT;\n              mqttConfig.mqtt_IsSSL = self._siteConfig.IsSSL = self._siteConfig.mqtt_mess.TcpIP + \":\" + self._siteConfig.mqtt_mess.TcpPort;\n            }\n\n            mqttConfig.mqtt_iotIP = self._siteConfig.mqtt_iotIP = mqttConfig.mqtt_mess.TcpIP + \":\" + mqttConfig.mqtt_mess.TcpPort;\n\n            self.props.updateConfig && self.props.updateConfig(Object.assign({}, self.props.global, {\n              ...mqttConfig\n            }))\n\n          }\n        } else {\n          Logger.info('获取mqtt服务器参数失败');\n        }\n      },\n    );\n  }\n  getMessageLevel() {\n    return this._siteConfig.MessageLevel\n  }\n  generatedId() {\n    return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'\n      .replace(/[xy]/g, function(c) {\n        const r = (Math.random() * 16) | 0;\n        const v = c === 'x' ? r : (r & 0x3) | 0x8;\n        return v.toString(16);\n      })\n      .toUpperCase();\n  }\n\n  getMessageType(messageType) {\n    let infoType = MESSAGE_TYPE.SCADA_TYPE;\n    switch (messageType) {\n      case MESSAGE_TEXT_TYPE.PROJECT_FLOW:\n        infoType = MESSAGE_TYPE.CASE_TYPE;\n        break;\n      case MESSAGE_TEXT_TYPE.SYS_MESSAGE:\n      case MESSAGE_TEXT_TYPE.SYS_NOTICE:\n        infoType = MESSAGE_TYPE.SYS_TYPE;\n        break;\n      case MESSAGE_TEXT_TYPE.SAWATER:\n        infoType = MESSAGE_TYPE.SAVE_WA_TYPE;\n        break;\n      case MESSAGE_TEXT_TYPE.EMTT:\n        infoType = MESSAGE_TYPE.EIMT_TYPE;\n        break;\n      case MESSAGE_TEXT_TYPE.MESSAGE_ALERT:\n        infoType = MESSAGE_TYPE.MESSAGE_ALERT;\n        break;\n      default:\n        break;\n    }\n    return infoType;\n  }\n\n  parseHisToMessage(hisMessage) {\n    const timeH = (new Date() - new Date(hisMessage.HisCreateTime)) / 1000 / 60;\n    const timeMss =\n      Math.abs(timeH) > 1440\n        ? hisMessage.HisCreateTime.split('.')[0]\n        : Math.abs(timeH) > 60\n        ? `${(timeH / 60).toFixed(0)}小时前`\n        : Math.abs(timeH) > 1\n        ? `${timeH.toFixed(0)}分钟前`\n        : '刚刚';\n    const message = {\n      id: hisMessage.HisID,\n      infoContent: this._siteConfig.MessageLevel === DEFAULT_PARSE_LEVEL ? hisMessage.InfoContent: isJSON(hisMessage.InfoContent) ?  JSON.parse(hisMessage.InfoContent): hisMessage.InfoContent,\n      time: `${timeMss}`,\n      infoType: this.getMessageType(hisMessage.InfoType),\n      dateTime: hisMessage.HisCreateTime,\n      infoLevel: hisMessage.InfoLevel,\n      webConfig: hisMessage.web_config,\n      webPath: hisMessage.web_path,\n      messType: hisMessage.MessType,\n    };\n    if (this.getParseVesion()) {\n      message.infoContent = this.parseMessageToJSON(message.infoType, message);\n    } else {\n      message.infoContent = JSON.parse(\n        JSON.stringify(message.infoContent || '{}'),\n      );\n    }\n    return createMessage(message);\n  }\n\n  getParseVesion() {\n    const siteConfig = this.getSiteConfig();\n    return !siteConfig.MessageLevel || siteConfig.MessageLevel !== '2.0';\n  }\n\n  parseMessageToJSON(messageType, messageContent) {\n    let messageBody = messageContent;\n    try {\n      switch (messageType) {\n        case MESSAGE_TYPE.SCADA_TYPE:\n          messageBody = this.parseMessageAlarm(messageContent);\n          break;\n        case MESSAGE_TYPE.CASE_TYPE:\n          messageBody = this.parseMessageCase(messageContent);\n          break;\n        case MESSAGE_TYPE.SYS_TYPE:\n          messageBody = this.parseMessageNotice(messageContent);\n          break;\n        case MESSAGE_TYPE.SAVE_WA_TYPE:\n          break;\n        case MESSAGE_TYPE.EIMT_TYPE:\n          break;\n        case MESSAGE_TYPE.UNKNOWN:\n          break;\n        default:\n          break;\n      }\n    } catch (e) {\n      logger.info(\n        `1.0消息通知解析消息内容出错:${e.message}`,\n        '消息对象:',\n        messString,\n      );\n    } finally {\n    }\n\n    return messageBody;\n  }\n\n  parseMessageCase(messString) {\n    const attr = messString.infoContent.split('\\\\n');\n    const caseContent = {\n      caseType: attr[0].split('】')[0].split('【')[1],\n      flowName: attr[0].split('】')[1],\n      nodeName: attr[1],\n      content: attr[2],\n      time: messString.dateTime,\n    };\n    return caseContent;\n  }\n\n  parseMessageAlarm(messString) {\n    const attr = messString.infoContent.split('\\\\n');\n    const alarmContent = {\n      alarmType: attr[0].split('】')[0].split('【')[1],\n      deviceCode: '',\n      alarmDevice: attr[0].split('】')[1],\n      alarmContent: attr[1],\n      alarmThreshold: attr[2].includes(' / ')\n        ? attr[2].split('/')[1].trim(' ')\n        : '',\n      alarmValue: attr[2].includes(' / ')\n        ? attr[2].split('/')[0].trim(' ')\n        : attr[2].includes(':')\n        ? attr[2].split(':')[1]\n        : '',\n      time: messString.dateTime,\n    };\n    return alarmContent;\n  }\n\n  parseMessageNotice(messString) {\n    const attr = messString.infoContent.split('\\\\n');\n    const noticeContent = {\n      noticeType: attr[0].split('】')[0].split('【')[1],\n      noticeTitle: attr[0].split('】')[1],\n      noticeContent: attr[1],\n      time: messString.dateTime,\n    };\n    return noticeContent;\n  }\n\n  parseScadaMessage(message) {\n    const data = message.messContent.split('\\\\n');\n    const last = data[2];\n    const alarmType = data[0].split('】')[0].split('【')[1];\n    const sensor = data[1];\n    const station = data[0].split('】')[1];\n    let lastValue = last;\n    if (last.includes(' / ')) {\n      lastValue = '';\n      const alaVal = last.split(' / ');\n      let newVal = 0;\n      let setVal = 0;\n      let unit = '';\n      if (alaVal[0].includes(' ')) {\n        newVal = alaVal[0].split(' ')[0] * 1;\n        setVal = alaVal[1].split(' ')[0] * 1;\n        unit = alaVal[0].split(' ')[1];\n      } else {\n        newVal = alaVal[0] * 1;\n        setVal = alaVal[1] * 1;\n      }\n      lastValue = Math.abs(setVal - newVal).toFixed(2) + unit;\n    } else {\n      lastValue = `,报警实时值${lastValue}`;\n    }\n    let msg = `紧急报警:${station},${alarmType},${sensor}${lastValue},请注意!!!`;\n    for (let i = 0; i < 3; i++) {\n      msg += msg;\n    }\n    const state = new window.SpeechSynthesisUtterance(msg);\n    state.lang = 'zh';\n    state.rate = 1;\n    window.speechSynthesis.cancel();\n    window.speechSynthesis.speak(state);\n  }\n}\n\nexport default Notifier;\n","D:\\panda-web5\\CivWeb\\src\\components\\Notifier\\message.js",[],"D:\\panda-web5\\CivWeb\\src\\components\\PageLoading\\index.js",[],"D:\\panda-web5\\CivWeb\\src\\components\\SliderPanel\\Categories.js",[],"D:\\panda-web5\\CivWeb\\src\\components\\SliderPanel\\index.js",[],"D:\\panda-web5\\CivWeb\\src\\components\\SliderPanel\\Menu.js",[],"D:\\panda-web5\\CivWeb\\src\\components\\SliderPanel\\Panel.js",[],"D:\\panda-web5\\CivWeb\\src\\components\\SliderPanel\\utils\\event.js",[],"D:\\panda-web5\\CivWeb\\src\\components\\SliderPanel\\utils\\index.js",[],"D:\\panda-web5\\CivWeb\\src\\components\\SlideVerify\\index.js",[],"D:\\panda-web5\\CivWeb\\src\\components\\TabRoute\\index.js",[],"D:\\panda-web5\\CivWeb\\src\\configureStore.js",[],"D:\\panda-web5\\CivWeb\\src\\containers\\App\\index.js",[],"D:\\panda-web5\\CivWeb\\src\\containers\\App\\store\\actions.js",[],"D:\\panda-web5\\CivWeb\\src\\containers\\App\\store\\constants.js",[],"D:\\panda-web5\\CivWeb\\src\\containers\\App\\store\\index.js",[],"D:\\panda-web5\\CivWeb\\src\\containers\\App\\store\\reducer.js",[],"D:\\panda-web5\\CivWeb\\src\\layouts\\BasicLayout.js",[],"D:\\panda-web5\\CivWeb\\src\\layouts\\BlankLayout.js",[],"D:\\panda-web5\\CivWeb\\src\\layouts\\SecurityLayout.js",[],"D:\\panda-web5\\CivWeb\\src\\layouts\\Site.js",["392","393","394"],"import React from 'react';\n\nimport { Anchor, message } from 'antd';\nimport classNames from 'classnames';\nimport { encode } from 'js-base64';\nimport Cookies from 'js-cookie';\n\nimport CitySelector from '../components/CitySelector';\nimport Login from '../pages/user/login/login';\nimport cityJson from './city.json';\nimport styles from './UserLayout.less';\nimport services from '../api/service/base';\n\nconst { Link } = Anchor;\n\nconst ERR_OK = '0000';\nclass Site {\n  constructor(props, callback) {\n    this.weatherCity = null;\n    this.globalConfig = props.global;\n    this.updateConfig = props.updateConfig;\n    this.props = props;\n    this.init();\n    this.setLoading = callback;\n  }\n\n  init(config) {\n    this.initWeatherCity();\n  }\n\n  initWeatherCity() {\n    try {\n      if (\n        navigator.onLine &&\n        this.globalConfig &&\n        this.globalConfig.userInfo &&\n        this.globalConfig.userInfo.site\n      ) {\n        // eslint-disable-next-line no-undef\n        services.getCity().then(res => {\n          // eslint-disable-next-line no-restricted-globals\n          if (res && !isNaN(res.cid)) {\n            const cityResult = JSON.parse(cityJson);\n            const city = cityResult[res.cid];\n            this.weatherCity = city || null;\n          }\n        });\n      }\n    } catch (e) {\n      // eslint-disable-next-line no-console\n      console.error(e);\n    }\n  }\n\n  getCityStationsForUser() {\n    const { loginName } = this.globalConfig.userInfo;\n    const self = this;\n    return new Promise((resolve, reject) => {\n      // eslint-disable-next-line no-undef\n      services\n        .getAllGroupsInfoForUser({\n          loginName,\n          'request.preventCache': new Date().getTime(),\n          ignoreSite: true,\n        })\n        .then(res => {\n          if (res && res.say.errMsg === '' && res.say.statusCode === ERR_OK) {\n            const result = res.getMe;\n            let city = self.weatherCity;\n            let arr = [];\n            self.globalConfig.userInfo.groupType = '';\n            self.globalConfig.userInfo.Groups = res.getMe;\n            // eslint-disable-next-line no-array-constructor\n            self.globalConfig.userInfo.Industries = new Array();\n            if (\n              self.globalConfig.userInfo.Groups &&\n              self.globalConfig.userInfo.Groups.length\n            ) {\n              self.globalConfig.userInfo.Groups.forEach(group => {\n                if (\n                  group.industry &&\n                  self.globalConfig.userInfo.Industries.indexOf(\n                    group.industry,\n                  ) < 0\n                )\n                  self.globalConfig.userInfo.Industries.push(group.industry);\n              });\n            }\n            if (\n              self.globalConfig.userInfo &&\n              self.globalConfig.userInfo.site &&\n              self.globalConfig.userInfo.Groups &&\n              self.globalConfig.userInfo.Groups.length\n            ) {\n              // eslint-disable-next-line no-underscore-dangle\n              const _indestryItem = self.globalConfig.userInfo.Groups.find(\n                // eslint-disable-next-line eqeqeq\n                item => item.site === self.globalConfig.userInfo.site,\n              );\n              if (_indestryItem && _indestryItem.industry) {\n                self.globalConfig.Industry = _indestryItem.industry;\n              }\n            }\n\n            let allStation = [];\n            let projectStation = [];\n            self.showStations = [];\n            if (self.globalConfig.Industry) {\n              allStation = result.filter(\n                item => item.industry === self.globalConfig.Industry,\n              );\n              self.showStations = allStation.filter(\n                item => item.promoteIndex && item.promoteIndex > 0,\n              );\n              projectStation = allStation.filter(item => !item.promoteIndex);\n            } else {\n              allStation = result;\n            }\n\n            if (allStation.length) {\n              let allChoice = false;\n              allStation.forEach(val => {\n                if (val.promoteIndex === 0) {\n                  allChoice = true;\n                }\n              });\n              if (!allChoice) {\n                // me.$el.find('#changeCityWays').hide();\n                // me.$el.find('.LMBcityBox').hide();\n                // me.$el.find('div.cities').css('min-width', 'initial');\n                // me.$el.find('.focusStations').addClass('LMBcolumnList');\n              }\n              if (allStation.length > 120) {\n                // $(me.el).find(\"div.cities div.cityContent\").css(\"height\", '335px');\n              }\n              // eslint-disable-next-line no-underscore-dangle\n              let _enterprise = null;\n              if (\n                self.globalConfig.userInfo.site &&\n                self.globalConfig.userInfo.site.length\n              ) {\n                _enterprise = allStation.filter(\n                  enterprise =>\n                    // eslint-disable-next-line eqeqeq\n                    enterprise.site === self.globalConfig.userInfo.site,\n                );\n              }\n              if (_enterprise && _enterprise.length) {\n                if (_enterprise[0].groupName.indexOf('演示' >= 0)) {\n                  arr[0] = _enterprise[0].groupName;\n                } else {\n                  arr = _enterprise[0].city.split('/');\n                }\n                const tmp = _enterprise[0].city.split('/')[1];\n                city = tmp.substr(0, tmp.length - 1);\n                self.globalConfig.userInfo.groupType = _enterprise[0].groupType;\n              } else {\n                arr = allStation[0].city.split('/');\n                const tmp = arr[1];\n                city = tmp.substr(0, tmp.length - 1);\n                self.globalConfig.userInfo.groupType = allStation[0].groupType;\n              }\n            }\n\n            if (allStation.length > 1) {\n              self.currentStationName = arr[arr.length - 1];\n              self.citySelector = self.AvailableofRegionName(projectStation);\n              self.siteCityList = self.buildCitySelectTemple(projectStation);\n            }\n            // 只有演示环境出现友好提示\n            if (allStation.length === self.showStations.length) {\n              self.isOnlyDisplay = true;\n            } else {\n              self.citySelector = self.AvailableofRegionName(projectStation);\n              self.siteCityList = self.buildCitySelectTemple(projectStation);\n            }\n\n            // eslint-disable-next-line no-unused-expressions\n            self.updateConfig && self.updateConfig(self.globalConfig);\n\n            const stations = self.insertYSStation();\n\n            if (city) {\n              // eslint-disable-next-line no-undef\n              services\n                .getWeather({\n                  city,\n                  'request.preventCache': new Date().getTime(),\n                  ignoreSite: true,\n                })\n                // eslint-disable-next-line no-shadow\n                .then(res => {\n                  if (res.say.statusCode === ERR_OK) {\n                    const firtValue = res.getMe[0];\n                    if (firtValue.cityName) {\n                      const text = firtValue.forcastFirst.split(' ')[1];\n                      const imgPath = firtValue.presentPictureFirst.replace(\n                        'gif',\n                        'svg',\n                      );\n                      resolve({\n                        stations,\n                        weathers: {\n                          icon: `https://panda-water.cn/web4/assets/images/weather2/${imgPath}`,\n                          text: text + firtValue.temperatureFirst,\n                        },\n                        siteCityList: self.siteCityList,\n                        citySelector: self.citySelector,\n                        currentStationName: self.currentStationName,\n                      });\n                    }\n                  } else {\n                    resolve({\n                      stations,\n                      siteCityList: self.siteCityList,\n                      citySelector: self.citySelector,\n                      currentStationName: self.currentStationName,\n                      weathers: {},\n                    });\n                  }\n                })\n                .catch(error => {\n                  resolve({\n                    stations,\n                    currentStationName: self.currentStationName,\n                    weathers: {},\n                    siteCityList: self.siteCityList,\n                    citySelector: self.citySelector,\n                  });\n                });\n            } else {\n              resolve({\n                stations,\n                currentStationName: self.currentStationName,\n                weathers: {},\n                siteCityList: self.siteCityList,\n                citySelector: self.citySelector,\n              });\n            }\n          }\n        });\n    });\n  }\n\n  insertYSStation() {\n    const hot = ['HOT', '县', '市', 'New'];\n    this.showStations.sort((a, b) => a.promoteIndex - b.promoteIndex);\n    return this.showStations.map((item, index) => {\n      let marginRight = 20;\n      const style = {};\n      switch (item.promoteTip) {\n        case hot[3]:\n        case hot[0]:\n          marginRight = 40;\n          break;\n        case hot[1]:\n        case hot[2]:\n          marginRight = 30;\n          break;\n        default:\n          marginRight = 20;\n          break;\n      }\n      style.marginRight = marginRight;\n      // eslint-disable-next-line no-param-reassign\n      item.style = style;\n      if (item.promoteTip && hot.includes(item.promoteTip)) {\n        // eslint-disable-next-line no-param-reassign\n        item.promoteTip = item.promoteTip;\n      } else if (index === this.showStations.length) {\n        // eslint-disable-next-line no-param-reassign\n        item.style.marginRight = '-20px';\n      }\n      return item;\n    });\n  }\n\n  getNumberofRegion(data, index) {\n    const arr = [];\n    const pNames = [];\n    // eslint-disable-next-line no-plusplus\n    for (let i = 0; i < data.length; i++) {\n      const pName = data[i].city.split('/')[index];\n      if (pNames.indexOf(pName) < 0) {\n        pNames.push(pName);\n      }\n    }\n\n    pNames.forEach(item => {\n      arr[arr.length] = {\n        proviceName: item,\n        num: 0,\n      };\n    });\n\n    // eslint-disable-next-line no-plusplus\n    for (let j = 0; j < data.length; j++) {\n      const itemJ = data[j];\n      // eslint-disable-next-line camelcase\n      const itemJ_pName = itemJ.city.split('/')[index];\n      // eslint-disable-next-line no-plusplus\n      for (let k = 0; k < arr.length; k++) {\n        const itemK = arr[k];\n        // eslint-disable-next-line camelcase\n        if (itemJ_pName === itemK.proviceName) {\n          // eslint-disable-next-line no-plusplus\n          arr[k].num++;\n        }\n      }\n    }\n    return arr;\n  }\n\n  writeCookie(token, site) {\n    const date = new Date();\n    date.setTime(date.getTime() + 24 * 60 * 60 * 1000);\n    // date = date.toGMTString();\n    Cookies.set('token', token, {\n      expires: date,\n      path: '/',\n    });\n\n    const encodeSite = encode(encodeURIComponent(site));\n    Cookies.set('site', encodeSite, {\n      expires: date,\n      path: '/',\n    });\n\n    const loginSite = this.getLocalSites();\n    loginSite[token] = site;\n    localStorage.setItem('loginSite', JSON.stringify(loginSite));\n    const self = this;\n    const login = new Login(this.props, () => {\n      self.setLoading(false);\n      // eslint-disable-next-line no-unused-expressions\n      self.props.updateCurrentIndex && self.props.updateCurrentIndex(0);\n      window.history.replaceState('', '', `/civbase/`);\n\n      window.location.reload();\n    });\n    login.init();\n  }\n\n  changeGroup(event, item) {\n    event.persist();\n    const site = item ? item.site : event.target.dataset.site;\n    const { loginName } = this.globalConfig.userInfo;\n    this.setLoading(true);\n    // eslint-disable-next-line no-undef\n    services\n      .generateTokenQuick({\n        loginName,\n        ignoreSite: true,\n      })\n      .then(res => {\n        // eslint-disable-next-line no-debugger\n        const { token } = res;\n        if (token) {\n          this.beforeChangeCheck(token, site);\n        }\n      })\n      .catch(error => {\n        message.warning('切换企业失败');\n      });\n  }\n\n  beforeChangeCheck(token, site) {\n\n    // eslint-disable-next-line no-undef\n    services\n      .getUserInfo({\n        token,\n        subOID: 'subOID',\n        site,\n        ignoreSite: true,\n      })\n      .then(res => {\n        if (res && !res.errMsg) {\n          this.writeCookie(token, site);\n        } else {\n          message.warning('企业切换失败,请联系管理员排查问题!');\n        }\n      })\n      .catch(e => {\n        message.warning('企业切换失败,请联系管理员排查问题!');\n      });\n  }\n\n  pySegSort(data) {\n    if (!String.prototype.localeCompare) return null;\n    let letters;\n    const segs = []; // 存放数据\n    const py = []; // 存放首字母\n    const res = {};\n    // eslint-disable-next-line prefer-const\n    letters = 'ABCDEFGHJKLMNOPQRSTWXYZ'.split('');\n    const ref = {\n      A: {\n        pName: ['安徽省'],\n        data: [],\n      },\n      B: {\n        pName: ['北京市'],\n        data: [],\n      },\n      C: {\n        pName: ['重庆市'],\n        data: [],\n      },\n      F: {\n        pName: ['福建省'],\n        data: [],\n      },\n      G: {\n        pName: ['甘肃省', '广东省', '广西壮族自治区', '贵州省'],\n        data: [],\n      },\n      H: {\n        pName: ['海南省', '河北省', '河南省', '黑龙江省', '湖北省', '湖南省'],\n        data: [],\n      },\n      J: {\n        pName: ['吉林省', '江苏省', '江西省'],\n        data: [],\n      },\n      L: {\n        pName: ['辽宁省'],\n        data: [],\n      },\n      N: {\n        pName: ['内蒙古自治区', '宁夏回族自治区'],\n        data: [],\n      },\n      Q: {\n        pName: ['青海省'],\n        data: [],\n      },\n      S: {\n        pName: ['山东省', '山西省', '陕西省', '上海市', '四川省'],\n        data: [],\n      },\n      T: {\n        pName: ['天津市'],\n        data: [],\n      },\n      X: {\n        pName: ['新疆维吾尔自治区', '西藏藏族自治区'],\n        data: [],\n      },\n      Y: {\n        pName: ['云南省'],\n        data: [],\n      },\n      Z: {\n        pName: ['浙江省'],\n        data: [],\n      },\n    };\n    // eslint-disable-next-line array-callback-return\n    data.map(item => {\n      const { proviceName } = item;\n      // eslint-disable-next-line no-restricted-syntax\n      for (const key in ref) {\n        if (ref[key].pName.includes(proviceName)) {\n          ref[key].data.push(item);\n          break;\n        }\n      }\n    });\n    // eslint-disable-next-line array-callback-return\n    letters.map(item => {\n      if (ref[item] && ref[item].data.length) {\n        py.push(item);\n        segs.push({\n          letter: item,\n          data: ref[item].data,\n        });\n      }\n    });\n    res.segs = segs;\n    res.py = py;\n    return res;\n  }\n\n  handEnd = (event, item) => {\n    event.persist();\n    const self = this;\n    if (item) {\n      // eslint-disable-next-line no-undef\n      services\n        .generateTokenQuick({\n          loginName: self.globalConfig.userInfo.loginName,\n          ignoreSite: true,\n        })\n        .then(res => {\n          const { token } = res;\n          if (token) {\n            self.beforeChangeCheck(token, item.site);\n          }\n        })\n        .catch(error => {\n          message.warning('切换企业失败');\n        });\n    }\n  };\n\n  AvailableofRegionName(data) {\n    const options = {\n      proviceOption: this.getNumberofRegion(data, 0),\n      cityOption: this.getNumberofRegion(data, 1),\n      siteOption: data,\n    };\n    return (\n      <CitySelector\n        simple\n        Clickable={options}\n        handEnd={(event, item) => this.handEnd(event, item)}\n      />\n    );\n  }\n\n  buildCitySelectTemple(data) {\n    const arr = [];\n    const pNames = [];\n    // eslint-disable-next-line no-plusplus\n    for (let i = 0; i < data.length; i++) {\n      const pName = data[i].city.split('/')[0];\n      if (pNames.indexOf(pName) < 0) {\n        pNames.push(pName);\n      }\n    }\n\n    pNames.forEach((item, index) => {\n      arr[arr.length] = {\n        proviceName: item,\n        stations: [],\n      };\n    });\n\n    // eslint-disable-next-line no-plusplus\n    for (let j = 0; j < data.length; j++) {\n      const itemJ = data[j];\n      // eslint-disable-next-line camelcase\n      const itemJ_pName = itemJ.city.split('/')[0];\n      // eslint-disable-next-line no-plusplus\n      for (let k = 0; k < arr.length; k++) {\n        const itemK = arr[k];\n        // eslint-disable-next-line camelcase\n        if (itemJ_pName === itemK.proviceName) {\n          arr[k].stations[itemK.stations.length] = {\n            stationID: itemJ.groupID,\n            site: itemJ.site,\n            cityName: itemJ.city,\n            groupName: itemJ.groupName,\n            isDeployed: itemJ.isDeployed,\n          };\n        }\n      }\n    }\n\n    const cities = this.pySegSort(arr);\n\n    const letters = [];\n\n    // eslint-disable-next-line no-plusplus\n    for (let i = 0; i < cities.py.length; i++) {\n      letters.push(\n        <li key={cities.py[i][0]}>\n          <Link\n            className={styles.cityLetter}\n            href={`#${cities.py[i][0]}`}\n            dataHref={cities.py[i][0]}\n            title={cities.py[i][0]}\n          />\n        </li>,\n      );\n    }\n    const children = [];\n    // eslint-disable-next-line no-plusplus\n    for (let j = 0; j < cities.segs.length; j++) {\n      const item = cities.segs[j];\n\n      children.push(\n        <div key={j}>\n          <a\n            className={styles.letter}\n            href={`${item.letter}`}\n            title={item.letter}\n            id={item.letter}\n          >\n            {item.letter}\n          </a>\n          {item.data.map((k, i) => {\n            const city = k;\n            let pName = '';\n            if (city.proviceName.indexOf('黑龙江' || '内蒙古') < 0) {\n              pName = city.proviceName.substr(0, 2);\n            } else {\n              pName = city.proviceName.substr(0, 3);\n            }\n            return (\n              <div className={styles.Provice} key={i}>\n                <span className={styles.proviceName}>{pName}</span>\n                <ul className={styles.city_list}>\n                  {/* eslint-disable-next-line no-shadow */}\n                  {city.stations.map((item, index) => (\n                    <li key={item.cityName + index}>\n                      <a\n                        className={classNames(\n                          styles.city_select,\n                          !item.isDeployed ? styles.noData : '',\n                        )}\n                        title={item.cityName}\n                        onClick={event => this.changeGroup(event, item)}\n                      >\n                        {item.groupName}\n                      </a>\n                    </li>\n                  ))}\n                </ul>\n              </div>\n            );\n          })}\n        </div>,\n      );\n    }\n    return {\n      letters,\n      content: children,\n    };\n  }\n\n  getLocalSites() {\n    const localSite = localStorage.getItem('loginSite');\n    let value = {};\n    if (localSite) {\n      value = JSON.parse(localSite);\n    }\n    return value;\n  }\n}\n\nexport default Site;\n","D:\\panda-web5\\CivWeb\\src\\layouts\\UserLayout.js",[],"D:\\panda-web5\\CivWeb\\src\\micro.js",[],"D:\\panda-web5\\CivWeb\\src\\pages\\bootpage\\index.js",[],"D:\\panda-web5\\CivWeb\\src\\pages\\exception\\403.js",[],"D:\\panda-web5\\CivWeb\\src\\pages\\exception\\404.js",[],"D:\\panda-web5\\CivWeb\\src\\pages\\exception\\500.js",[],"D:\\panda-web5\\CivWeb\\src\\pages\\transitionalpage\\index.js",["395","396","397","398","399","400","401","402","403","404","405","406","407","408","409","410","411","412","413","414","415","416","417","418","419","420","421","422","423","424","425","426","427","428","429","430","431","432","433","434","435","436","437","438","439","440","441","442","443","444","445","446","447","448","449","450","451","452","453","454","455","456","457","458","459","460","461","462","463","464","465","466","467","468","469","470","471","472","473","474","475","476","477","478","479","480","481","482","483","484","485","486","487","488","489","490","491","492","493","494","495","496","497","498","499","500","501","502","503","504","505","506","507","508","509","510","511","512","513","514","515","516","517","518","519","520","521","522","523","524","525","526","527","528","529","530","531","532","533","534","535","536","537","538","539","540","541","542","543","544","545","546","547","548","549","550","551","552","553","554","555","556","557","558","559","560","561","562","563","564","565","566","567","568","569","570","571","572","573","574","575","576","577","578","579","580","581","582","583","584","585","586","587","588","589","590","591","592","593","594","595","596","597","598","599","600","601","602","603","604","605","606","607","608","609","610","611","612","613","614","615","616","617","618","619","620","621","622","623","624","625","626","627","628","629","630","631","632","633","634","635","636","637","638","639","640","641","642","643","644","645","646","647","648","649","650","651","652","653","654","655","656","657","658","659","660","661","662","663","664","665","666","667","668","669","670","671","672","673","674","675","676","677","678","679","680","681","682","683","684","685","686","687","688","689","690","691"],"import React, { useCallback, useState, useEffect } from 'react';\r\nimport styles from './index.less';\r\nimport classNames from 'classnames';\r\nimport { connect } from 'react-redux';\r\nimport SecurityLayout from '../../layouts/SecurityLayout';\r\nimport LoginAction from '../user/login/login';\r\nimport { Space, Spin } from 'antd';\r\nimport { actionCreators } from '../../containers/App/store';\r\nclass WaterBox extends React.Component {\r\n  constructor(props) {\r\n    super(props);\r\n  }\r\n  renderList(data) {\r\n    const { callback } = this.props;\r\n    return (\r\n      data &&\r\n      data.length &&\r\n      data.map(item => {\r\n        return (\r\n          <div\r\n            className={classNames(styles.bootPageltbCase, styles.bootPageitem)}\r\n            type={item}\r\n            key={item}\r\n          >\r\n            <div\r\n              className={styles.bootPageitemBall}\r\n              onClick={event => callback(event, item)}\r\n            >\r\n              <img\r\n                className={styles.bootPageitemb}\r\n                src={require(`../../assets/transitionalpage/${item}球.png`)}\r\n              />\r\n              <img\r\n                className={styles.bootPageitemc}\r\n                src={require(`../../assets/transitionalpage/旋转圆.png`)}\r\n              />\r\n            </div>\r\n            <div>{item}</div>\r\n          </div>\r\n        );\r\n      })\r\n    );\r\n  }\r\n  render() {\r\n    const data = ['供水', '农饮水', '排水', '节水'];\r\n    return (\r\n      <div className={styles.bootPagelTop}>\r\n        <div className={styles.bootPageltTitle}>\r\n          <b>智慧水务</b>\r\n          <span>SMART WATER</span>\r\n        </div>\r\n        <div className={styles.bootPageltBox}>{this.renderList(data)}</div>\r\n      </div>\r\n    );\r\n  }\r\n}\r\nclass ProjectBox extends React.Component {\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      项目案例: false,\r\n      智慧能源: false,\r\n      智慧消防: false,\r\n    };\r\n  }\r\n  mouseOveHandle(type) {\r\n    this.setState({\r\n      [type]: true,\r\n    });\r\n  }\r\n  mouseOutHandle(type) {\r\n    this.setState({\r\n      [type]: false,\r\n    });\r\n  }\r\n  renderList(data) {\r\n    const { callback } = this.props;\r\n    return (\r\n      data &&\r\n      data.length &&\r\n      data.map(item => {\r\n        return (\r\n          <div\r\n            style={{\r\n              backgroundImage: `url(${require('../../assets/transitionalpage/' +\r\n                item +\r\n                '.png')})`,\r\n            }}\r\n          >\r\n            <div\r\n              className={classNames(styles.bootPagelbBox, styles.bootPageitem)}\r\n              type={item}\r\n              key={item}\r\n              onClick={event => callback(event, item)}\r\n              onMouseEnter={e => {\r\n                this.mouseOveHandle(item);\r\n              }}\r\n              onMouseLeave={e => {\r\n                this.mouseOutHandle(item);\r\n              }}\r\n              style={{\r\n                backgroundImage: `url(${require('../../assets/transitionalpage/' +\r\n                  (!this.state[item] ? item + '图.jpg' : item + '图动.gif'))})`,\r\n              }}\r\n            >\r\n              <div>{item}</div>\r\n              {/* <div className={styles.bootPageitemImgB}>\r\n            </div> */}\r\n            </div>\r\n          </div>\r\n        );\r\n      })\r\n    );\r\n  }\r\n  render() {\r\n    const data = ['项目案例', '智慧能源', '智慧消防'];\r\n    return (\r\n      <div className={styles.bootPagelBottom}>{this.renderList(data)}</div>\r\n    );\r\n  }\r\n}\r\nclass RightBox extends React.Component {\r\n  constructor(props) {\r\n    super(props);\r\n  }\r\n  renderList(data) {\r\n    const { callback } = this.props;\r\n    return (\r\n      data &&\r\n      data.length &&\r\n      data.map(item => {\r\n        return (\r\n          <div\r\n            className={styles.bootPagerBox}\r\n            type={item}\r\n            key={item}\r\n            onClick={event => callback(event, item)}\r\n          >\r\n            <div className={styles.bootPagebTitle}>{item}</div>\r\n            <div className={styles.bootPagebContent}>\r\n              <img\r\n                src={require(`../../assets/transitionalpage/${item}图.png`)}\r\n              />\r\n            </div>\r\n          </div>\r\n        );\r\n      })\r\n    );\r\n  }\r\n  render() {\r\n    const data = ['智能大数据', '智能实验室'];\r\n    return <div className={styles.bootPageRight}>{this.renderList(data)}</div>;\r\n  }\r\n}\r\nconst BootPage = props => {\r\n  const [loadding, setLoadding] = useState(false);\r\n  const [scale, setScale] = useState(1);\r\n  const handlePage = useCallback((event, type) => {\r\n    event.persist();\r\n    setLoadding(true);\r\n    const config = props.global;\r\n    const loginAction = new LoginAction(props);\r\n    config.uiwidgets = [];\r\n    config.widgets = [];\r\n    config.allWidgets = [];\r\n    props.instance && props.instance.updateConfig(config);\r\n    // props.instance && props.instance.getUserInfoAndConfig('', true, type);\r\n    loginAction.getUserInfoAndConfig('', true, type);\r\n\r\n    // eslint-disable-next-line no-shadow\r\n    loginAction.events.on('toggleIndustry', event => {\r\n      setLoadding(false);\r\n      props.history.push(`/?client=${props.global.client}`);\r\n      window.share.event.emit('triggerMicro', props.global);\r\n      props.updateCurrentIndex(0);\r\n      // eslint-disable-next-line no-restricted-globals\r\n      location.reload();\r\n    });\r\n  }, []);\r\n  useEffect(() => {\r\n    // eslint-disable-next-line no-use-before-define\r\n    handleResize();\r\n  }, []);\r\n  const handleResize = () => {\r\n    const width = document.documentElement.clientWidth;\r\n    const height = document.documentElement.clientHeight;\r\n    // eslint-disable-next-line no-shadow\r\n    const scale = width / 1920;\r\n    setScale(scale);\r\n  };\r\n  useEffect(() => {\r\n    window.addEventListener('resize', handleResize);\r\n    return () => {\r\n      window.removeEventListener('resize', handleResize);\r\n    };\r\n  });\r\n  return (\r\n    <SecurityLayout>\r\n      <div className={styles.bootPage}>\r\n        <div className={styles.bootPageMain}>\r\n          <header className={styles.bootPageHead}>\r\n            <img\r\n              src={require(`../../assets/transitionalpage/熊猫图标.png`)}\r\n              alt=\"\"\r\n            />\r\n            <div className={styles.bootPageTitle}>\r\n              <span className={styles.bootPageZh}>\r\n                熊猫智慧城市监控管理解决方案\r\n              </span>\r\n            </div>\r\n          </header>\r\n          <section className={styles.bootPageSection}>\r\n            <div\r\n              className={classNames(\r\n                styles.bootPagesContent,\r\n                'animate__animated',\r\n              )}\r\n              style={{\r\n                transform: `scale(${scale})`,\r\n                opacity: 1,\r\n              }}\r\n            >\r\n              <div className={styles.bootPageLeft}>\r\n                <WaterBox callback={handlePage} />\r\n                <ProjectBox callback={handlePage} />\r\n              </div>\r\n              <RightBox callback={handlePage} />\r\n            </div>\r\n          </section>\r\n          <div className={styles.bootPagecopyright}>\r\n            Copyright ©\r\n            <a target=\"_blank\" href=\"https://panda-water.cn\">\r\n              熊猫智慧水务\r\n            </a>\r\n            {new Date().getFullYear()} All Rights Reserved\r\n            <a target=\"_blank\" id=\"IndexCaseNumber\" href=\"\">\r\n              沪ICP备11036640-1\r\n            </a>\r\n          </div>\r\n          <Space className={styles.abs}>\r\n            <Spin spinning={loadding} size=\"large\" />\r\n          </Space>\r\n        </div>\r\n      </div>\r\n    </SecurityLayout>\r\n  );\r\n};\r\nconst mapStateToProps = state => ({\r\n  global: state.getIn(['global', 'globalConfig']),\r\n  instance: state.getIn(['global', 'instance']),\r\n});\r\nconst mapDispatchToProps = dispatch => ({\r\n  updateConfig(config) {\r\n    dispatch(actionCreators.getConfig(config));\r\n  },\r\n  createContext(data) {\r\n    dispatch(actionCreators.createContext(data));\r\n  },\r\n  updateCurrentIndex(index) {\r\n    dispatch(actionCreators.updateCurrentIndex(index));\r\n  },\r\n});\r\nexport default connect(\r\n  mapStateToProps,\r\n  mapDispatchToProps,\r\n)(BootPage);\r\n","D:\\panda-web5\\CivWeb\\src\\pages\\user\\login\\components\\Login\\index.js",[],"D:\\panda-web5\\CivWeb\\src\\pages\\user\\login\\components\\Login\\LoginContext.js",[],"D:\\panda-web5\\CivWeb\\src\\pages\\user\\login\\components\\Login\\LoginItem.js",[],"D:\\panda-web5\\CivWeb\\src\\pages\\user\\login\\components\\Login\\LoginSubmit.js",[],"D:\\panda-web5\\CivWeb\\src\\pages\\user\\login\\components\\Login\\map.js",[],"D:\\panda-web5\\CivWeb\\src\\pages\\user\\login\\components\\WxLogin\\index.js",[],"D:\\panda-web5\\CivWeb\\src\\pages\\user\\login\\index.js",["692"],"D:\\panda-web5\\CivWeb\\src\\pages\\user\\login\\login.js",[],"D:\\panda-web5\\CivWeb\\src\\pages\\user\\login\\template\\iot.js",[],"D:\\panda-web5\\CivWeb\\src\\reducers.js",[],"D:\\panda-web5\\CivWeb\\src\\routes\\config.js",[],"D:\\panda-web5\\CivWeb\\src\\service-worker.js",[],"D:\\panda-web5\\CivWeb\\src\\utils\\authority.js",[],"D:\\panda-web5\\CivWeb\\src\\utils\\Authorized.js",[],"D:\\panda-web5\\CivWeb\\src\\utils\\checkStore.js",[],"D:\\panda-web5\\CivWeb\\src\\utils\\constants.js",[],"D:\\panda-web5\\CivWeb\\src\\utils\\env.js",[],"D:\\panda-web5\\CivWeb\\src\\utils\\history.js",[],"D:\\panda-web5\\CivWeb\\src\\utils\\injectReducer.js",[],"D:\\panda-web5\\CivWeb\\src\\utils\\injectSaga.js",[],"D:\\panda-web5\\CivWeb\\src\\utils\\loadable.js",[],"D:\\panda-web5\\CivWeb\\src\\utils\\reducerInjectors.js",[],"D:\\panda-web5\\CivWeb\\src\\utils\\request\\defaultConfig.js",[],"D:\\panda-web5\\CivWeb\\src\\utils\\request\\index.js",[],"D:\\panda-web5\\CivWeb\\src\\utils\\routes.js",[],"D:\\panda-web5\\CivWeb\\src\\utils\\sagaInjectors.js",[],"D:\\panda-web5\\CivWeb\\src\\utils\\storage.js",[],"D:\\panda-web5\\CivWeb\\src\\utils\\tests\\checkStore.test.js",[],"D:\\panda-web5\\CivWeb\\src\\utils\\tests\\injectReducer.test.js",[],"D:\\panda-web5\\CivWeb\\src\\utils\\tests\\injectSaga.test.js",[],"D:\\panda-web5\\CivWeb\\src\\utils\\tests\\reducerInjectors.test.js",[],"D:\\panda-web5\\CivWeb\\src\\utils\\tests\\sagaInjectors.test.js",[],"D:\\panda-web5\\CivWeb\\src\\utils\\utils.js",["693","694"],"import pathRegexp from 'path-to-regexp';\nimport { parse } from 'querystring';\n\nimport pkg from '../../package.json';\nconst { toString } = Object.prototype;\n/* eslint no-useless-escape:0 import/prefer-default-export:0 */\nconst reg = /(((^https?:(?:\\/\\/)?)(?:[-;:&=\\+\\$,\\w]+@)?[A-Za-z0-9.-]+(?::\\d+)?|(?:www.|[-;:&=\\+\\$,\\w]+@)[A-Za-z0-9.-]+)((?:\\/[\\+~%\\/.\\w-_]*)?\\??(?:[-\\+=&;%@.\\w_]*)#?(?:[\\w]*))?)$/;\n\nexport const isUrl = path => reg.test(path);\n\nexport const getPageQuery = () => parse(window.location.href.split('?')[1]);\n\nexport const getAuthorityFromRouter = (router, pathname) => {\n  const authority = router.find(\n    ({ routes, path = '/', target = '_self' }) =>\n      (path && target !== '_blank' && pathRegexp(path).exec(pathname)) ||\n      (routes && getAuthorityFromRouter(routes, pathname)),\n  );\n  if (authority) return authority;\n  return undefined;\n};\n\nexport const getRouteAuthority = (path, routeData) => {\n  let authorities;\n  routeData.forEach(route => {\n    if (pathRegexp(`${route.path}/(.*)`).test(`${path}/`)) {\n      if (route.authority) {\n        authorities = route.authority;\n      }\n      if (route.path === path) {\n        authorities = route.authority || authorities;\n      }\n\n      if (route.routes) {\n        authorities = getRouteAuthority(path, route.routes) || authorities;\n      }\n    }\n  });\n  return authorities;\n};\n\nexport function isPromise(obj) {\n  return (\n    !!obj && // 有实际含义的变量才执行方法,变量null,undefined和''空串都为false\n    (typeof obj === 'object' || typeof obj === 'function') && // 初始promise 或 promise.then返回的\n    typeof obj.then === 'function'\n  );\n}\n\nexport function getBaseName() {\n  return pkg.name.toLocaleLowerCase();\n}\nconst cache = {};\nexport function findPathByLeafId(leafId, nodes, path, key) {\n  if (path === undefined) {\n    path = {};\n  }\n  let tmpPath = path;\n\n  if (cache[leafId]) {\n    return cache[leafId];\n  }\n  // eslint-disable-next-line no-plusplus\n  for (let i = 0; i < nodes.length; i++) {\n    if (nodes[i] && nodes[i][key] && leafId === nodes[i][key]) {\n      tmpPath = nodes[i];\n      cache[leafId] = tmpPath\n      return tmpPath;\n    }\n    if (nodes[i] && nodes[i].routes) {\n      const findResult = findPathByLeafId(\n        leafId,\n        nodes[i].routes,\n        tmpPath,\n        key,\n        // eslint-disable-next-line no-restricted-globals\n        location,\n      );\n      if (findResult) {\n        cache[leafId] = findResult\n        return findResult;\n      }\n    }\n  }\n}\n\nexport function transformURL(path) {\n  const el = document.createElement('input');\n  el.value = path;\n  String.fromCharCode(92);\n  return el.value.replace(/\\\\/g, '/');\n}\n\nexport function findPathByWidget(leafId, nodes, path, key) {\n  if (path === undefined) {\n    path = {};\n  }\n  let tmpPath = path;\n  // eslint-disable-next-line no-plusplus\n  for (let i = 0; i < nodes.length; i++) {\n    if (nodes[i] && nodes[i][key] && nodes[i][key].indexOf(leafId) > -1) {\n      tmpPath = nodes[i];\n      return tmpPath;\n    }\n    if (nodes[i] && nodes[i].widgets) {\n      const findResult = findPathByWidget(\n        leafId,\n        nodes[i].widgets,\n        tmpPath,\n        key,\n        // eslint-disable-next-line no-restricted-globals\n        location,\n      );\n      if (findResult) {\n        return findResult;\n      }\n    }\n  }\n  return tmpPath;\n}\n\nexport function isJSON(str) {\n  if (typeof str === 'string') {\n    try {\n      const obj = JSON.parse(str);\n      if (typeof obj === 'object' && obj) {\n        return true;\n      }\n      return false;\n    } catch (e) {\n      return false;\n    }\n  }\n}\n\nexport function isString(str) {\n  return toString.call(str) === '[object String]';\n}\n\nexport const getKeyName = path => {\n  const truePath = path.split('?')[0];\n  const curRoute = [].filter(item => item.path.includes(truePath));\n\n  if (!curRoute[0]) {\n    return {\n      title: '暂无权限',\n      tabKey: '403',\n    };\n  }\n  const { name, key, component } = curRoute[0];\n  return { title: name, tabKey: key, component };\n};\n\nexport const asyncAction = action => {\n  const wait = new Promise(resolve => resolve(action));\n  return callback => {\n    wait.then(() => setTimeout(() => callback()));\n  };\n};\n\nexport const closeTabAction = (history, returnUrl, callback) => {};\n",{"ruleId":"695","severity":1,"message":"696","line":118,"column":13,"nodeType":"697","messageId":"698","endLine":118,"endColumn":24},{"ruleId":"699","severity":2,"message":"700","line":16,"column":20,"nodeType":"701","endLine":16,"endColumn":34},{"ruleId":"702","severity":1,"message":"703","line":306,"column":18,"nodeType":"704","endLine":306,"endColumn":56},{"ruleId":"705","severity":1,"message":"706","line":338,"column":17,"nodeType":"707","endLine":340,"endColumn":19},{"ruleId":"708","severity":2,"message":"709","line":26,"column":51,"nodeType":null,"endLine":26,"endColumn":51,"fix":"710"},{"ruleId":"708","severity":2,"message":"711","line":20,"column":1,"nodeType":null,"endLine":21,"endColumn":1,"fix":"712"},{"ruleId":"708","severity":2,"message":"709","line":28,"column":13,"nodeType":null,"endLine":28,"endColumn":13,"fix":"713"},{"ruleId":"708","severity":2,"message":"714","line":19,"column":19,"nodeType":null,"endLine":19,"endColumn":19,"fix":"715"},{"ruleId":"708","severity":2,"message":"711","line":368,"column":1,"nodeType":null,"endLine":369,"endColumn":1,"fix":"716"},{"ruleId":"717","severity":1,"message":"718","line":602,"column":52,"nodeType":"701","endLine":602,"endColumn":53},{"ruleId":"717","severity":1,"message":"718","line":607,"column":30,"nodeType":"719","endLine":607,"endColumn":51},{"ruleId":"708","severity":2,"message":"720","line":1,"column":65,"nodeType":null,"endLine":1,"endColumn":66,"fix":"721"},{"ruleId":"708","severity":2,"message":"720","line":2,"column":35,"nodeType":null,"endLine":2,"endColumn":36,"fix":"722"},{"ruleId":"723","severity":2,"message":"724","line":3,"column":1,"nodeType":"725","endLine":3,"endColumn":37,"fix":"726"},{"ruleId":"708","severity":2,"message":"720","line":3,"column":37,"nodeType":null,"endLine":3,"endColumn":38,"fix":"727"},{"ruleId":"723","severity":2,"message":"728","line":4,"column":1,"nodeType":"725","endLine":4,"endColumn":39,"fix":"729"},{"ruleId":"708","severity":2,"message":"720","line":4,"column":39,"nodeType":null,"endLine":4,"endColumn":40,"fix":"730"},{"ruleId":"708","severity":2,"message":"720","line":5,"column":59,"nodeType":null,"endLine":5,"endColumn":60,"fix":"731"},{"ruleId":"708","severity":2,"message":"720","line":6,"column":47,"nodeType":null,"endLine":6,"endColumn":48,"fix":"732"},{"ruleId":"723","severity":2,"message":"733","line":7,"column":1,"nodeType":"725","endLine":7,"endColumn":36,"fix":"734"},{"ruleId":"708","severity":2,"message":"720","line":7,"column":36,"nodeType":null,"endLine":7,"endColumn":37,"fix":"735"},{"ruleId":"708","severity":2,"message":"720","line":8,"column":61,"nodeType":null,"endLine":8,"endColumn":62,"fix":"736"},{"ruleId":"708","severity":2,"message":"720","line":9,"column":41,"nodeType":null,"endLine":9,"endColumn":42,"fix":"737"},{"ruleId":"738","severity":2,"message":"739","line":10,"column":3,"nodeType":"740","endLine":12,"endColumn":4},{"ruleId":"708","severity":2,"message":"720","line":10,"column":23,"nodeType":null,"endLine":10,"endColumn":24,"fix":"741"},{"ruleId":"708","severity":2,"message":"720","line":11,"column":18,"nodeType":null,"endLine":11,"endColumn":19,"fix":"742"},{"ruleId":"708","severity":2,"message":"720","line":12,"column":4,"nodeType":null,"endLine":12,"endColumn":5,"fix":"743"},{"ruleId":"744","severity":2,"message":"745","line":13,"column":3,"nodeType":"740","messageId":"746","endLine":43,"endColumn":4,"fix":"747"},{"ruleId":"708","severity":2,"message":"720","line":13,"column":21,"nodeType":null,"endLine":13,"endColumn":22,"fix":"748"},{"ruleId":"708","severity":2,"message":"720","line":14,"column":37,"nodeType":null,"endLine":14,"endColumn":38,"fix":"749"},{"ruleId":"708","severity":2,"message":"720","line":15,"column":13,"nodeType":null,"endLine":15,"endColumn":14,"fix":"750"},{"ruleId":"708","severity":2,"message":"720","line":16,"column":14,"nodeType":null,"endLine":16,"endColumn":15,"fix":"751"},{"ruleId":"708","severity":2,"message":"720","line":17,"column":21,"nodeType":null,"endLine":17,"endColumn":22,"fix":"752"},{"ruleId":"753","severity":2,"message":"754","line":18,"column":24,"nodeType":"704","messageId":"755","fix":"756"},{"ruleId":"708","severity":2,"message":"720","line":18,"column":25,"nodeType":null,"endLine":18,"endColumn":26,"fix":"757"},{"ruleId":"708","severity":2,"message":"720","line":19,"column":17,"nodeType":null,"endLine":19,"endColumn":18,"fix":"758"},{"ruleId":"708","severity":2,"message":"720","line":20,"column":15,"nodeType":null,"endLine":20,"endColumn":16,"fix":"759"},{"ruleId":"708","severity":2,"message":"720","line":21,"column":80,"nodeType":null,"endLine":21,"endColumn":81,"fix":"760"},{"ruleId":"708","severity":2,"message":"720","line":22,"column":24,"nodeType":null,"endLine":22,"endColumn":25,"fix":"761"},{"ruleId":"708","severity":2,"message":"720","line":23,"column":23,"nodeType":null,"endLine":23,"endColumn":24,"fix":"762"},{"ruleId":"708","severity":2,"message":"720","line":24,"column":12,"nodeType":null,"endLine":24,"endColumn":13,"fix":"763"},{"ruleId":"708","severity":2,"message":"720","line":25,"column":17,"nodeType":null,"endLine":25,"endColumn":18,"fix":"764"},{"ruleId":"708","severity":2,"message":"720","line":26,"column":50,"nodeType":null,"endLine":26,"endColumn":51,"fix":"765"},{"ruleId":"708","severity":2,"message":"720","line":27,"column":55,"nodeType":null,"endLine":27,"endColumn":56,"fix":"766"},{"ruleId":"708","severity":2,"message":"720","line":28,"column":14,"nodeType":null,"endLine":28,"endColumn":15,"fix":"767"},{"ruleId":"768","severity":2,"message":"769","line":29,"column":15,"nodeType":"770","endLine":32,"endColumn":17},{"ruleId":"708","severity":2,"message":"720","line":29,"column":19,"nodeType":null,"endLine":29,"endColumn":20,"fix":"771"},{"ruleId":"708","severity":2,"message":"720","line":30,"column":49,"nodeType":null,"endLine":30,"endColumn":50,"fix":"772"},{"ruleId":"773","severity":2,"message":"774","line":31,"column":22,"nodeType":"775","messageId":"698","endLine":31,"endColumn":75},{"ruleId":"708","severity":2,"message":"720","line":31,"column":76,"nodeType":null,"endLine":31,"endColumn":77,"fix":"776"},{"ruleId":"708","severity":2,"message":"720","line":32,"column":17,"nodeType":null,"endLine":32,"endColumn":18,"fix":"777"},{"ruleId":"768","severity":2,"message":"769","line":33,"column":15,"nodeType":"770","endLine":36,"endColumn":17},{"ruleId":"708","severity":2,"message":"720","line":33,"column":19,"nodeType":null,"endLine":33,"endColumn":20,"fix":"778"},{"ruleId":"708","severity":2,"message":"720","line":34,"column":49,"nodeType":null,"endLine":34,"endColumn":50,"fix":"779"},{"ruleId":"773","severity":2,"message":"774","line":35,"column":22,"nodeType":"775","messageId":"698","endLine":35,"endColumn":70},{"ruleId":"708","severity":2,"message":"720","line":35,"column":71,"nodeType":null,"endLine":35,"endColumn":72,"fix":"780"},{"ruleId":"708","severity":2,"message":"720","line":36,"column":17,"nodeType":null,"endLine":36,"endColumn":18,"fix":"781"},{"ruleId":"708","severity":2,"message":"720","line":37,"column":19,"nodeType":null,"endLine":37,"endColumn":20,"fix":"782"},{"ruleId":"708","severity":2,"message":"720","line":38,"column":30,"nodeType":null,"endLine":38,"endColumn":31,"fix":"783"},{"ruleId":"708","severity":2,"message":"720","line":39,"column":17,"nodeType":null,"endLine":39,"endColumn":18,"fix":"784"},{"ruleId":"708","severity":2,"message":"720","line":40,"column":11,"nodeType":null,"endLine":40,"endColumn":12,"fix":"785"},{"ruleId":"708","severity":2,"message":"720","line":41,"column":9,"nodeType":null,"endLine":41,"endColumn":10,"fix":"786"},{"ruleId":"708","severity":2,"message":"720","line":42,"column":7,"nodeType":null,"endLine":42,"endColumn":8,"fix":"787"},{"ruleId":"708","severity":2,"message":"720","line":43,"column":4,"nodeType":null,"endLine":43,"endColumn":5,"fix":"788"},{"ruleId":"744","severity":2,"message":"745","line":44,"column":3,"nodeType":"740","messageId":"746","endLine":55,"endColumn":4,"fix":"789"},{"ruleId":"708","severity":2,"message":"720","line":44,"column":13,"nodeType":null,"endLine":44,"endColumn":14,"fix":"790"},{"ruleId":"708","severity":2,"message":"720","line":45,"column":44,"nodeType":null,"endLine":45,"endColumn":45,"fix":"791"},{"ruleId":"708","severity":2,"message":"720","line":46,"column":13,"nodeType":null,"endLine":46,"endColumn":14,"fix":"792"},{"ruleId":"708","severity":2,"message":"720","line":47,"column":44,"nodeType":null,"endLine":47,"endColumn":45,"fix":"793"},{"ruleId":"708","severity":2,"message":"720","line":48,"column":49,"nodeType":null,"endLine":48,"endColumn":50,"fix":"794"},{"ruleId":"708","severity":2,"message":"720","line":49,"column":22,"nodeType":null,"endLine":49,"endColumn":23,"fix":"795"},{"ruleId":"708","severity":2,"message":"720","line":50,"column":35,"nodeType":null,"endLine":50,"endColumn":36,"fix":"796"},{"ruleId":"708","severity":2,"message":"720","line":51,"column":15,"nodeType":null,"endLine":51,"endColumn":16,"fix":"797"},{"ruleId":"708","severity":2,"message":"720","line":52,"column":76,"nodeType":null,"endLine":52,"endColumn":77,"fix":"798"},{"ruleId":"708","severity":2,"message":"720","line":53,"column":13,"nodeType":null,"endLine":53,"endColumn":14,"fix":"799"},{"ruleId":"708","severity":2,"message":"720","line":54,"column":7,"nodeType":null,"endLine":54,"endColumn":8,"fix":"800"},{"ruleId":"708","severity":2,"message":"720","line":55,"column":4,"nodeType":null,"endLine":55,"endColumn":5,"fix":"801"},{"ruleId":"708","severity":2,"message":"720","line":56,"column":2,"nodeType":null,"endLine":56,"endColumn":3,"fix":"802"},{"ruleId":"803","severity":2,"message":"804","line":57,"column":1,"nodeType":"805","endLine":121,"endColumn":2},{"ruleId":"708","severity":2,"message":"720","line":57,"column":43,"nodeType":null,"endLine":57,"endColumn":44,"fix":"806"},{"ruleId":"708","severity":2,"message":"720","line":58,"column":23,"nodeType":null,"endLine":58,"endColumn":24,"fix":"807"},{"ruleId":"708","severity":2,"message":"720","line":59,"column":18,"nodeType":null,"endLine":59,"endColumn":19,"fix":"808"},{"ruleId":"708","severity":2,"message":"720","line":60,"column":19,"nodeType":null,"endLine":60,"endColumn":20,"fix":"809"},{"ruleId":"708","severity":2,"message":"720","line":61,"column":19,"nodeType":null,"endLine":61,"endColumn":20,"fix":"810"},{"ruleId":"708","severity":2,"message":"720","line":62,"column":19,"nodeType":null,"endLine":62,"endColumn":20,"fix":"811"},{"ruleId":"708","severity":2,"message":"720","line":63,"column":19,"nodeType":null,"endLine":63,"endColumn":20,"fix":"812"},{"ruleId":"708","severity":2,"message":"720","line":64,"column":7,"nodeType":null,"endLine":64,"endColumn":8,"fix":"813"},{"ruleId":"708","severity":2,"message":"720","line":65,"column":4,"nodeType":null,"endLine":65,"endColumn":5,"fix":"814"},{"ruleId":"744","severity":2,"message":"745","line":66,"column":3,"nodeType":"740","messageId":"746","endLine":70,"endColumn":4,"fix":"815"},{"ruleId":"708","severity":2,"message":"720","line":66,"column":25,"nodeType":null,"endLine":66,"endColumn":26,"fix":"816"},{"ruleId":"708","severity":2,"message":"720","line":67,"column":20,"nodeType":null,"endLine":67,"endColumn":21,"fix":"817"},{"ruleId":"708","severity":2,"message":"720","line":68,"column":20,"nodeType":null,"endLine":68,"endColumn":21,"fix":"818"},{"ruleId":"708","severity":2,"message":"720","line":69,"column":8,"nodeType":null,"endLine":69,"endColumn":9,"fix":"819"},{"ruleId":"708","severity":2,"message":"720","line":70,"column":4,"nodeType":null,"endLine":70,"endColumn":5,"fix":"820"},{"ruleId":"744","severity":2,"message":"745","line":71,"column":3,"nodeType":"740","messageId":"746","endLine":75,"endColumn":4,"fix":"821"},{"ruleId":"708","severity":2,"message":"720","line":71,"column":25,"nodeType":null,"endLine":71,"endColumn":26,"fix":"822"},{"ruleId":"708","severity":2,"message":"720","line":72,"column":20,"nodeType":null,"endLine":72,"endColumn":21,"fix":"823"},{"ruleId":"708","severity":2,"message":"720","line":73,"column":21,"nodeType":null,"endLine":73,"endColumn":22,"fix":"824"},{"ruleId":"708","severity":2,"message":"720","line":74,"column":8,"nodeType":null,"endLine":74,"endColumn":9,"fix":"825"},{"ruleId":"708","severity":2,"message":"720","line":75,"column":4,"nodeType":null,"endLine":75,"endColumn":5,"fix":"826"},{"ruleId":"744","severity":2,"message":"745","line":76,"column":3,"nodeType":"740","messageId":"746","endLine":114,"endColumn":4,"fix":"827"},{"ruleId":"708","severity":2,"message":"720","line":76,"column":21,"nodeType":null,"endLine":76,"endColumn":22,"fix":"828"},{"ruleId":"708","severity":2,"message":"720","line":77,"column":37,"nodeType":null,"endLine":77,"endColumn":38,"fix":"829"},{"ruleId":"708","severity":2,"message":"720","line":78,"column":13,"nodeType":null,"endLine":78,"endColumn":14,"fix":"830"},{"ruleId":"708","severity":2,"message":"720","line":79,"column":14,"nodeType":null,"endLine":79,"endColumn":15,"fix":"831"},{"ruleId":"708","severity":2,"message":"720","line":80,"column":21,"nodeType":null,"endLine":80,"endColumn":22,"fix":"832"},{"ruleId":"753","severity":2,"message":"754","line":81,"column":24,"nodeType":"704","messageId":"755","fix":"833"},{"ruleId":"708","severity":2,"message":"720","line":81,"column":25,"nodeType":null,"endLine":81,"endColumn":26,"fix":"834"},{"ruleId":"708","severity":2,"message":"720","line":82,"column":17,"nodeType":null,"endLine":82,"endColumn":18,"fix":"835"},{"ruleId":"708","severity":2,"message":"720","line":83,"column":15,"nodeType":null,"endLine":83,"endColumn":16,"fix":"836"},{"ruleId":"708","severity":2,"message":"720","line":84,"column":21,"nodeType":null,"endLine":84,"endColumn":22,"fix":"837"},{"ruleId":"773","severity":2,"message":"774","line":85,"column":39,"nodeType":"775","messageId":"698","endLine":87,"endColumn":24},{"ruleId":"838","severity":2,"message":"839","line":85,"column":47,"nodeType":"719","endLine":87,"endColumn":23,"fix":"840"},{"ruleId":"708","severity":2,"message":"720","line":85,"column":81,"nodeType":null,"endLine":85,"endColumn":82,"fix":"841"},{"ruleId":"708","severity":2,"message":"720","line":86,"column":23,"nodeType":null,"endLine":86,"endColumn":24,"fix":"842"},{"ruleId":"708","severity":2,"message":"720","line":87,"column":28,"nodeType":null,"endLine":87,"endColumn":29,"fix":"843"},{"ruleId":"708","severity":2,"message":"720","line":88,"column":15,"nodeType":null,"endLine":88,"endColumn":16,"fix":"844"},{"ruleId":"708","severity":2,"message":"720","line":89,"column":12,"nodeType":null,"endLine":89,"endColumn":13,"fix":"845"},{"ruleId":"708","severity":2,"message":"720","line":90,"column":17,"nodeType":null,"endLine":90,"endColumn":18,"fix":"846"},{"ruleId":"708","severity":2,"message":"720","line":91,"column":80,"nodeType":null,"endLine":91,"endColumn":81,"fix":"847"},{"ruleId":"708","severity":2,"message":"720","line":92,"column":26,"nodeType":null,"endLine":92,"endColumn":27,"fix":"848"},{"ruleId":"708","severity":2,"message":"720","line":93,"column":25,"nodeType":null,"endLine":93,"endColumn":26,"fix":"849"},{"ruleId":"708","severity":2,"message":"720","line":94,"column":55,"nodeType":null,"endLine":94,"endColumn":56,"fix":"850"},{"ruleId":"708","severity":2,"message":"720","line":95,"column":35,"nodeType":null,"endLine":95,"endColumn":36,"fix":"851"},{"ruleId":"708","severity":2,"message":"720","line":96,"column":43,"nodeType":null,"endLine":96,"endColumn":44,"fix":"852"},{"ruleId":"708","severity":2,"message":"720","line":97,"column":17,"nodeType":null,"endLine":97,"endColumn":18,"fix":"853"},{"ruleId":"708","severity":2,"message":"720","line":98,"column":35,"nodeType":null,"endLine":98,"endColumn":36,"fix":"854"},{"ruleId":"708","severity":2,"message":"720","line":99,"column":43,"nodeType":null,"endLine":99,"endColumn":44,"fix":"855"},{"ruleId":"708","severity":2,"message":"720","line":100,"column":17,"nodeType":null,"endLine":100,"endColumn":18,"fix":"856"},{"ruleId":"708","severity":2,"message":"720","line":101,"column":23,"nodeType":null,"endLine":101,"endColumn":24,"fix":"857"},{"ruleId":"773","severity":2,"message":"774","line":102,"column":41,"nodeType":"775","messageId":"698","endLine":103,"endColumn":74},{"ruleId":"838","severity":2,"message":"839","line":102,"column":49,"nodeType":"719","endLine":103,"endColumn":73,"fix":"858"},{"ruleId":"708","severity":2,"message":"720","line":102,"column":83,"nodeType":null,"endLine":102,"endColumn":84,"fix":"859"},{"ruleId":"838","severity":2,"message":"839","line":103,"column":40,"nodeType":"719","endLine":103,"endColumn":54,"fix":"860"},{"ruleId":"838","severity":2,"message":"839","line":103,"column":57,"nodeType":"719","endLine":103,"endColumn":72,"fix":"861"},{"ruleId":"708","severity":2,"message":"720","line":103,"column":78,"nodeType":null,"endLine":103,"endColumn":79,"fix":"862"},{"ruleId":"708","severity":2,"message":"720","line":104,"column":17,"nodeType":null,"endLine":104,"endColumn":18,"fix":"863"},{"ruleId":"708","severity":2,"message":"720","line":105,"column":14,"nodeType":null,"endLine":105,"endColumn":15,"fix":"864"},{"ruleId":"708","severity":2,"message":"720","line":106,"column":32,"nodeType":null,"endLine":106,"endColumn":33,"fix":"865"},{"ruleId":"708","severity":2,"message":"720","line":107,"column":60,"nodeType":null,"endLine":107,"endColumn":61,"fix":"866"},{"ruleId":"708","severity":2,"message":"720","line":108,"column":23,"nodeType":null,"endLine":108,"endColumn":24,"fix":"867"},{"ruleId":"708","severity":2,"message":"720","line":109,"column":19,"nodeType":null,"endLine":109,"endColumn":20,"fix":"868"},{"ruleId":"708","severity":2,"message":"720","line":110,"column":17,"nodeType":null,"endLine":110,"endColumn":18,"fix":"869"},{"ruleId":"708","severity":2,"message":"720","line":111,"column":11,"nodeType":null,"endLine":111,"endColumn":12,"fix":"870"},{"ruleId":"708","severity":2,"message":"720","line":112,"column":9,"nodeType":null,"endLine":112,"endColumn":10,"fix":"871"},{"ruleId":"708","severity":2,"message":"720","line":113,"column":7,"nodeType":null,"endLine":113,"endColumn":8,"fix":"872"},{"ruleId":"708","severity":2,"message":"720","line":114,"column":4,"nodeType":null,"endLine":114,"endColumn":5,"fix":"873"},{"ruleId":"744","severity":2,"message":"745","line":115,"column":3,"nodeType":"740","messageId":"746","endLine":120,"endColumn":4,"fix":"874"},{"ruleId":"708","severity":2,"message":"720","line":115,"column":13,"nodeType":null,"endLine":115,"endColumn":14,"fix":"875"},{"ruleId":"708","severity":2,"message":"720","line":116,"column":43,"nodeType":null,"endLine":116,"endColumn":44,"fix":"876"},{"ruleId":"708","severity":2,"message":"720","line":117,"column":13,"nodeType":null,"endLine":117,"endColumn":14,"fix":"877"},{"ruleId":"708","severity":2,"message":"720","line":118,"column":76,"nodeType":null,"endLine":118,"endColumn":77,"fix":"878"},{"ruleId":"708","severity":2,"message":"720","line":119,"column":7,"nodeType":null,"endLine":119,"endColumn":8,"fix":"879"},{"ruleId":"708","severity":2,"message":"720","line":120,"column":4,"nodeType":null,"endLine":120,"endColumn":5,"fix":"880"},{"ruleId":"708","severity":2,"message":"720","line":121,"column":2,"nodeType":null,"endLine":121,"endColumn":3,"fix":"881"},{"ruleId":"803","severity":2,"message":"804","line":122,"column":1,"nodeType":"805","endLine":154,"endColumn":2},{"ruleId":"708","severity":2,"message":"720","line":122,"column":41,"nodeType":null,"endLine":122,"endColumn":42,"fix":"882"},{"ruleId":"738","severity":2,"message":"739","line":123,"column":3,"nodeType":"740","endLine":125,"endColumn":4},{"ruleId":"708","severity":2,"message":"720","line":123,"column":23,"nodeType":null,"endLine":123,"endColumn":24,"fix":"883"},{"ruleId":"708","severity":2,"message":"720","line":124,"column":18,"nodeType":null,"endLine":124,"endColumn":19,"fix":"884"},{"ruleId":"708","severity":2,"message":"720","line":125,"column":4,"nodeType":null,"endLine":125,"endColumn":5,"fix":"885"},{"ruleId":"744","severity":2,"message":"745","line":126,"column":3,"nodeType":"740","messageId":"746","endLine":149,"endColumn":4,"fix":"886"},{"ruleId":"708","severity":2,"message":"720","line":126,"column":21,"nodeType":null,"endLine":126,"endColumn":22,"fix":"887"},{"ruleId":"708","severity":2,"message":"720","line":127,"column":37,"nodeType":null,"endLine":127,"endColumn":38,"fix":"888"},{"ruleId":"708","severity":2,"message":"720","line":128,"column":13,"nodeType":null,"endLine":128,"endColumn":14,"fix":"889"},{"ruleId":"708","severity":2,"message":"720","line":129,"column":14,"nodeType":null,"endLine":129,"endColumn":15,"fix":"890"},{"ruleId":"708","severity":2,"message":"720","line":130,"column":21,"nodeType":null,"endLine":130,"endColumn":22,"fix":"891"},{"ruleId":"753","severity":2,"message":"754","line":131,"column":24,"nodeType":"704","messageId":"755","fix":"892"},{"ruleId":"708","severity":2,"message":"720","line":131,"column":25,"nodeType":null,"endLine":131,"endColumn":26,"fix":"893"},{"ruleId":"708","severity":2,"message":"720","line":132,"column":17,"nodeType":null,"endLine":132,"endColumn":18,"fix":"894"},{"ruleId":"708","severity":2,"message":"720","line":133,"column":15,"nodeType":null,"endLine":133,"endColumn":16,"fix":"895"},{"ruleId":"708","severity":2,"message":"720","line":134,"column":44,"nodeType":null,"endLine":134,"endColumn":45,"fix":"896"},{"ruleId":"708","severity":2,"message":"720","line":135,"column":24,"nodeType":null,"endLine":135,"endColumn":25,"fix":"897"},{"ruleId":"708","severity":2,"message":"720","line":136,"column":23,"nodeType":null,"endLine":136,"endColumn":24,"fix":"898"},{"ruleId":"708","severity":2,"message":"720","line":137,"column":53,"nodeType":null,"endLine":137,"endColumn":54,"fix":"899"},{"ruleId":"708","severity":2,"message":"720","line":138,"column":12,"nodeType":null,"endLine":138,"endColumn":13,"fix":"900"},{"ruleId":"708","severity":2,"message":"720","line":139,"column":64,"nodeType":null,"endLine":139,"endColumn":65,"fix":"901"},{"ruleId":"708","severity":2,"message":"720","line":140,"column":54,"nodeType":null,"endLine":140,"endColumn":55,"fix":"902"},{"ruleId":"768","severity":2,"message":"769","line":141,"column":15,"nodeType":"770","endLine":143,"endColumn":17},{"ruleId":"708","severity":2,"message":"720","line":141,"column":19,"nodeType":null,"endLine":141,"endColumn":20,"fix":"903"},{"ruleId":"773","severity":2,"message":"774","line":142,"column":22,"nodeType":"775","messageId":"698","endLine":142,"endColumn":75},{"ruleId":"708","severity":2,"message":"720","line":142,"column":76,"nodeType":null,"endLine":142,"endColumn":77,"fix":"904"},{"ruleId":"708","severity":2,"message":"720","line":143,"column":17,"nodeType":null,"endLine":143,"endColumn":18,"fix":"905"},{"ruleId":"708","severity":2,"message":"720","line":144,"column":19,"nodeType":null,"endLine":144,"endColumn":20,"fix":"906"},{"ruleId":"708","severity":2,"message":"720","line":145,"column":17,"nodeType":null,"endLine":145,"endColumn":18,"fix":"907"},{"ruleId":"708","severity":2,"message":"720","line":146,"column":11,"nodeType":null,"endLine":146,"endColumn":12,"fix":"908"},{"ruleId":"708","severity":2,"message":"720","line":147,"column":9,"nodeType":null,"endLine":147,"endColumn":10,"fix":"909"},{"ruleId":"708","severity":2,"message":"720","line":148,"column":7,"nodeType":null,"endLine":148,"endColumn":8,"fix":"910"},{"ruleId":"708","severity":2,"message":"720","line":149,"column":4,"nodeType":null,"endLine":149,"endColumn":5,"fix":"911"},{"ruleId":"744","severity":2,"message":"745","line":150,"column":3,"nodeType":"740","messageId":"746","endLine":153,"endColumn":4,"fix":"912"},{"ruleId":"708","severity":2,"message":"720","line":150,"column":13,"nodeType":null,"endLine":150,"endColumn":14,"fix":"913"},{"ruleId":"708","severity":2,"message":"720","line":151,"column":37,"nodeType":null,"endLine":151,"endColumn":38,"fix":"914"},{"ruleId":"708","severity":2,"message":"720","line":152,"column":80,"nodeType":null,"endLine":152,"endColumn":81,"fix":"915"},{"ruleId":"708","severity":2,"message":"720","line":153,"column":4,"nodeType":null,"endLine":153,"endColumn":5,"fix":"916"},{"ruleId":"708","severity":2,"message":"720","line":154,"column":2,"nodeType":null,"endLine":154,"endColumn":3,"fix":"917"},{"ruleId":"708","severity":2,"message":"720","line":155,"column":28,"nodeType":null,"endLine":155,"endColumn":29,"fix":"918"},{"ruleId":"708","severity":2,"message":"720","line":156,"column":51,"nodeType":null,"endLine":156,"endColumn":52,"fix":"919"},{"ruleId":"708","severity":2,"message":"720","line":157,"column":41,"nodeType":null,"endLine":157,"endColumn":42,"fix":"920"},{"ruleId":"708","severity":2,"message":"720","line":158,"column":52,"nodeType":null,"endLine":158,"endColumn":53,"fix":"921"},{"ruleId":"708","severity":2,"message":"720","line":159,"column":21,"nodeType":null,"endLine":159,"endColumn":22,"fix":"922"},{"ruleId":"708","severity":2,"message":"720","line":160,"column":23,"nodeType":null,"endLine":160,"endColumn":24,"fix":"923"},{"ruleId":"708","severity":2,"message":"720","line":161,"column":33,"nodeType":null,"endLine":161,"endColumn":34,"fix":"924"},{"ruleId":"708","severity":2,"message":"720","line":162,"column":48,"nodeType":null,"endLine":162,"endColumn":49,"fix":"925"},{"ruleId":"708","severity":2,"message":"720","line":163,"column":27,"nodeType":null,"endLine":163,"endColumn":28,"fix":"926"},{"ruleId":"708","severity":2,"message":"720","line":164,"column":25,"nodeType":null,"endLine":164,"endColumn":26,"fix":"927"},{"ruleId":"708","severity":2,"message":"720","line":165,"column":28,"nodeType":null,"endLine":165,"endColumn":29,"fix":"928"},{"ruleId":"708","severity":2,"message":"720","line":166,"column":59,"nodeType":null,"endLine":166,"endColumn":60,"fix":"929"},{"ruleId":"708","severity":2,"message":"720","line":167,"column":78,"nodeType":null,"endLine":167,"endColumn":79,"fix":"930"},{"ruleId":"708","severity":2,"message":"720","line":168,"column":54,"nodeType":null,"endLine":168,"endColumn":55,"fix":"931"},{"ruleId":"708","severity":2,"message":"720","line":169,"column":1,"nodeType":null,"endLine":169,"endColumn":2,"fix":"932"},{"ruleId":"708","severity":2,"message":"720","line":170,"column":42,"nodeType":null,"endLine":170,"endColumn":43,"fix":"933"},{"ruleId":"708","severity":2,"message":"720","line":171,"column":55,"nodeType":null,"endLine":171,"endColumn":56,"fix":"934"},{"ruleId":"708","severity":2,"message":"720","line":172,"column":26,"nodeType":null,"endLine":172,"endColumn":27,"fix":"935"},{"ruleId":"708","severity":2,"message":"720","line":173,"column":61,"nodeType":null,"endLine":173,"endColumn":62,"fix":"936"},{"ruleId":"708","severity":2,"message":"720","line":174,"column":61,"nodeType":null,"endLine":174,"endColumn":62,"fix":"937"},{"ruleId":"708","severity":2,"message":"720","line":175,"column":35,"nodeType":null,"endLine":175,"endColumn":36,"fix":"938"},{"ruleId":"708","severity":2,"message":"720","line":176,"column":56,"nodeType":null,"endLine":176,"endColumn":57,"fix":"939"},{"ruleId":"708","severity":2,"message":"720","line":177,"column":25,"nodeType":null,"endLine":177,"endColumn":26,"fix":"940"},{"ruleId":"708","severity":2,"message":"720","line":178,"column":8,"nodeType":null,"endLine":178,"endColumn":9,"fix":"941"},{"ruleId":"708","severity":2,"message":"720","line":179,"column":10,"nodeType":null,"endLine":179,"endColumn":11,"fix":"942"},{"ruleId":"708","severity":2,"message":"720","line":180,"column":20,"nodeType":null,"endLine":180,"endColumn":21,"fix":"943"},{"ruleId":"708","severity":2,"message":"720","line":181,"column":53,"nodeType":null,"endLine":181,"endColumn":54,"fix":"944"},{"ruleId":"708","severity":2,"message":"720","line":182,"column":20,"nodeType":null,"endLine":182,"endColumn":21,"fix":"945"},{"ruleId":"708","severity":2,"message":"720","line":183,"column":10,"nodeType":null,"endLine":183,"endColumn":11,"fix":"946"},{"ruleId":"708","severity":2,"message":"720","line":184,"column":31,"nodeType":null,"endLine":184,"endColumn":32,"fix":"947"},{"ruleId":"708","severity":2,"message":"720","line":185,"column":56,"nodeType":null,"endLine":185,"endColumn":57,"fix":"948"},{"ruleId":"708","severity":2,"message":"720","line":186,"column":58,"nodeType":null,"endLine":186,"endColumn":59,"fix":"949"},{"ruleId":"708","severity":2,"message":"720","line":187,"column":42,"nodeType":null,"endLine":187,"endColumn":43,"fix":"950"},{"ruleId":"708","severity":2,"message":"720","line":188,"column":32,"nodeType":null,"endLine":188,"endColumn":33,"fix":"951"},{"ruleId":"708","severity":2,"message":"720","line":189,"column":21,"nodeType":null,"endLine":189,"endColumn":22,"fix":"952"},{"ruleId":"708","severity":2,"message":"720","line":190,"column":5,"nodeType":null,"endLine":190,"endColumn":6,"fix":"953"},{"ruleId":"708","severity":2,"message":"720","line":191,"column":20,"nodeType":null,"endLine":191,"endColumn":21,"fix":"954"},{"ruleId":"708","severity":2,"message":"720","line":192,"column":53,"nodeType":null,"endLine":192,"endColumn":54,"fix":"955"},{"ruleId":"708","severity":2,"message":"720","line":193,"column":19,"nodeType":null,"endLine":193,"endColumn":20,"fix":"956"},{"ruleId":"708","severity":2,"message":"720","line":194,"column":58,"nodeType":null,"endLine":194,"endColumn":59,"fix":"957"},{"ruleId":"708","severity":2,"message":"720","line":195,"column":7,"nodeType":null,"endLine":195,"endColumn":8,"fix":"958"},{"ruleId":"708","severity":2,"message":"720","line":196,"column":6,"nodeType":null,"endLine":196,"endColumn":7,"fix":"959"},{"ruleId":"708","severity":2,"message":"720","line":197,"column":11,"nodeType":null,"endLine":197,"endColumn":12,"fix":"960"},{"ruleId":"708","severity":2,"message":"720","line":198,"column":21,"nodeType":null,"endLine":198,"endColumn":22,"fix":"961"},{"ruleId":"708","severity":2,"message":"720","line":199,"column":40,"nodeType":null,"endLine":199,"endColumn":41,"fix":"962"},{"ruleId":"708","severity":2,"message":"720","line":200,"column":46,"nodeType":null,"endLine":200,"endColumn":47,"fix":"963"},{"ruleId":"708","severity":2,"message":"720","line":201,"column":51,"nodeType":null,"endLine":201,"endColumn":52,"fix":"964"},{"ruleId":"708","severity":2,"message":"720","line":202,"column":17,"nodeType":null,"endLine":202,"endColumn":18,"fix":"965"},{"ruleId":"773","severity":2,"message":"774","line":203,"column":20,"nodeType":"775","messageId":"698","endLine":203,"endColumn":69},{"ruleId":"708","severity":2,"message":"720","line":203,"column":70,"nodeType":null,"endLine":203,"endColumn":71,"fix":"966"},{"ruleId":"708","severity":2,"message":"720","line":204,"column":21,"nodeType":null,"endLine":204,"endColumn":22,"fix":"967"},{"ruleId":"708","severity":2,"message":"720","line":205,"column":15,"nodeType":null,"endLine":205,"endColumn":16,"fix":"968"},{"ruleId":"708","severity":2,"message":"720","line":206,"column":51,"nodeType":null,"endLine":206,"endColumn":52,"fix":"969"},{"ruleId":"708","severity":2,"message":"720","line":207,"column":51,"nodeType":null,"endLine":207,"endColumn":52,"fix":"970"},{"ruleId":"708","severity":2,"message":"720","line":208,"column":31,"nodeType":null,"endLine":208,"endColumn":32,"fix":"971"},{"ruleId":"708","severity":2,"message":"720","line":209,"column":22,"nodeType":null,"endLine":209,"endColumn":23,"fix":"972"},{"ruleId":"708","severity":2,"message":"720","line":210,"column":19,"nodeType":null,"endLine":210,"endColumn":20,"fix":"973"},{"ruleId":"708","severity":2,"message":"720","line":211,"column":20,"nodeType":null,"endLine":211,"endColumn":21,"fix":"974"},{"ruleId":"708","severity":2,"message":"720","line":212,"column":55,"nodeType":null,"endLine":212,"endColumn":56,"fix":"975"},{"ruleId":"708","severity":2,"message":"720","line":213,"column":17,"nodeType":null,"endLine":213,"endColumn":18,"fix":"976"},{"ruleId":"708","severity":2,"message":"720","line":214,"column":37,"nodeType":null,"endLine":214,"endColumn":38,"fix":"977"},{"ruleId":"708","severity":2,"message":"720","line":215,"column":41,"nodeType":null,"endLine":215,"endColumn":42,"fix":"978"},{"ruleId":"708","severity":2,"message":"720","line":216,"column":37,"nodeType":null,"endLine":216,"endColumn":38,"fix":"979"},{"ruleId":"708","severity":2,"message":"720","line":217,"column":17,"nodeType":null,"endLine":217,"endColumn":18,"fix":"980"},{"ruleId":"708","severity":2,"message":"720","line":218,"column":23,"nodeType":null,"endLine":218,"endColumn":24,"fix":"981"},{"ruleId":"708","severity":2,"message":"720","line":219,"column":46,"nodeType":null,"endLine":219,"endColumn":47,"fix":"982"},{"ruleId":"708","severity":2,"message":"720","line":220,"column":28,"nodeType":null,"endLine":220,"endColumn":29,"fix":"983"},{"ruleId":"708","severity":2,"message":"720","line":221,"column":17,"nodeType":null,"endLine":221,"endColumn":18,"fix":"984"},{"ruleId":"708","severity":2,"message":"720","line":222,"column":14,"nodeType":null,"endLine":222,"endColumn":15,"fix":"985"},{"ruleId":"708","severity":2,"message":"720","line":223,"column":52,"nodeType":null,"endLine":223,"endColumn":53,"fix":"986"},{"ruleId":"708","severity":2,"message":"720","line":224,"column":51,"nodeType":null,"endLine":224,"endColumn":52,"fix":"987"},{"ruleId":"708","severity":2,"message":"720","line":225,"column":53,"nodeType":null,"endLine":225,"endColumn":54,"fix":"988"},{"ruleId":"708","severity":2,"message":"720","line":226,"column":21,"nodeType":null,"endLine":226,"endColumn":22,"fix":"989"},{"ruleId":"708","severity":2,"message":"720","line":227,"column":49,"nodeType":null,"endLine":227,"endColumn":50,"fix":"990"},{"ruleId":"708","severity":2,"message":"720","line":228,"column":19,"nodeType":null,"endLine":228,"endColumn":20,"fix":"991"},{"ruleId":"708","severity":2,"message":"720","line":229,"column":21,"nodeType":null,"endLine":229,"endColumn":22,"fix":"992"},{"ruleId":"708","severity":2,"message":"720","line":230,"column":53,"nodeType":null,"endLine":230,"endColumn":54,"fix":"993"},{"ruleId":"708","severity":2,"message":"720","line":231,"column":24,"nodeType":null,"endLine":231,"endColumn":25,"fix":"994"},{"ruleId":"708","severity":2,"message":"720","line":232,"column":62,"nodeType":null,"endLine":232,"endColumn":63,"fix":"995"},{"ruleId":"708","severity":2,"message":"720","line":233,"column":21,"nodeType":null,"endLine":233,"endColumn":22,"fix":"996"},{"ruleId":"708","severity":2,"message":"720","line":234,"column":17,"nodeType":null,"endLine":234,"endColumn":18,"fix":"997"},{"ruleId":"708","severity":2,"message":"720","line":235,"column":59,"nodeType":null,"endLine":235,"endColumn":60,"fix":"998"},{"ruleId":"708","severity":2,"message":"720","line":236,"column":61,"nodeType":null,"endLine":236,"endColumn":62,"fix":"999"},{"ruleId":"708","severity":2,"message":"720","line":237,"column":30,"nodeType":null,"endLine":237,"endColumn":31,"fix":"1000"},{"ruleId":"708","severity":2,"message":"720","line":238,"column":17,"nodeType":null,"endLine":238,"endColumn":18,"fix":"1001"},{"ruleId":"708","severity":2,"message":"720","line":239,"column":17,"nodeType":null,"endLine":239,"endColumn":18,"fix":"1002"},{"ruleId":"708","severity":2,"message":"720","line":240,"column":41,"nodeType":null,"endLine":240,"endColumn":42,"fix":"1003"},{"ruleId":"708","severity":2,"message":"720","line":241,"column":54,"nodeType":null,"endLine":241,"endColumn":55,"fix":"1004"},{"ruleId":"708","severity":2,"message":"720","line":242,"column":19,"nodeType":null,"endLine":242,"endColumn":20,"fix":"1005"},{"ruleId":"708","severity":2,"message":"720","line":243,"column":15,"nodeType":null,"endLine":243,"endColumn":16,"fix":"1006"},{"ruleId":"708","severity":2,"message":"720","line":244,"column":13,"nodeType":null,"endLine":244,"endColumn":14,"fix":"1007"},{"ruleId":"708","severity":2,"message":"720","line":245,"column":22,"nodeType":null,"endLine":245,"endColumn":23,"fix":"1008"},{"ruleId":"708","severity":2,"message":"720","line":246,"column":5,"nodeType":null,"endLine":246,"endColumn":6,"fix":"1009"},{"ruleId":"708","severity":2,"message":"720","line":247,"column":3,"nodeType":null,"endLine":247,"endColumn":4,"fix":"1010"},{"ruleId":"708","severity":2,"message":"720","line":248,"column":36,"nodeType":null,"endLine":248,"endColumn":37,"fix":"1011"},{"ruleId":"708","severity":2,"message":"720","line":249,"column":51,"nodeType":null,"endLine":249,"endColumn":52,"fix":"1012"},{"ruleId":"708","severity":2,"message":"720","line":250,"column":49,"nodeType":null,"endLine":250,"endColumn":50,"fix":"1013"},{"ruleId":"708","severity":2,"message":"720","line":251,"column":4,"nodeType":null,"endLine":251,"endColumn":5,"fix":"1014"},{"ruleId":"708","severity":2,"message":"720","line":252,"column":42,"nodeType":null,"endLine":252,"endColumn":43,"fix":"1015"},{"ruleId":"708","severity":2,"message":"720","line":253,"column":25,"nodeType":null,"endLine":253,"endColumn":26,"fix":"1016"},{"ruleId":"708","severity":2,"message":"720","line":254,"column":48,"nodeType":null,"endLine":254,"endColumn":49,"fix":"1017"},{"ruleId":"708","severity":2,"message":"720","line":255,"column":5,"nodeType":null,"endLine":255,"endColumn":6,"fix":"1018"},{"ruleId":"708","severity":2,"message":"720","line":256,"column":24,"nodeType":null,"endLine":256,"endColumn":25,"fix":"1019"},{"ruleId":"708","severity":2,"message":"720","line":257,"column":50,"nodeType":null,"endLine":257,"endColumn":51,"fix":"1020"},{"ruleId":"708","severity":2,"message":"720","line":258,"column":5,"nodeType":null,"endLine":258,"endColumn":6,"fix":"1021"},{"ruleId":"708","severity":2,"message":"720","line":259,"column":30,"nodeType":null,"endLine":259,"endColumn":31,"fix":"1022"},{"ruleId":"708","severity":2,"message":"720","line":260,"column":56,"nodeType":null,"endLine":260,"endColumn":57,"fix":"1023"},{"ruleId":"708","severity":2,"message":"720","line":261,"column":5,"nodeType":null,"endLine":261,"endColumn":6,"fix":"1024"},{"ruleId":"708","severity":2,"message":"720","line":262,"column":4,"nodeType":null,"endLine":262,"endColumn":5,"fix":"1025"},{"ruleId":"708","severity":2,"message":"720","line":263,"column":24,"nodeType":null,"endLine":263,"endColumn":25,"fix":"1026"},{"ruleId":"708","severity":2,"message":"720","line":264,"column":19,"nodeType":null,"endLine":264,"endColumn":20,"fix":"1027"},{"ruleId":"708","severity":2,"message":"720","line":265,"column":22,"nodeType":null,"endLine":265,"endColumn":23,"fix":"1028"},{"ruleId":"708","severity":2,"message":"720","line":266,"column":13,"nodeType":null,"endLine":266,"endColumn":14,"fix":"1029"},{"ruleId":"717","severity":1,"message":"718","line":188,"column":20,"nodeType":"701","endLine":188,"endColumn":25},{"ruleId":"708","severity":2,"message":"709","line":67,"column":30,"nodeType":null,"endLine":67,"endColumn":30,"fix":"1030"},{"ruleId":"708","severity":2,"message":"709","line":80,"column":35,"nodeType":null,"endLine":80,"endColumn":35,"fix":"1031"},"no-console","Unexpected console statement.","MemberExpression","unexpected","import/named","changePassword not found in '../../api/service/base'","Identifier","no-return-assign","Arrow function should not return assignment.","ArrowFunctionExpression","react/no-danger","Dangerous property 'dangerouslySetInnerHTML' found","JSXAttribute","prettier/prettier","Insert `;`",{"range":"1032","text":"1033"},"Delete `⏎`",{"range":"1034","text":"1035"},{"range":"1036","text":"1033"},"Insert `⏎·`",{"range":"1037","text":"1038"},{"range":"1039","text":"1035"},"react/no-array-index-key","Do not use Array index in keys","BinaryExpression","Delete `␍`",{"range":"1040","text":"1035"},{"range":"1041","text":"1035"},"import/order","`classnames` import should occur before import of `./index.less`","ImportDeclaration",{"range":"1042","text":"1043"},{"range":"1044","text":"1035"},"`react-redux` import should occur before import of `./index.less`",{"range":"1045","text":"1046"},{"range":"1047","text":"1035"},{"range":"1048","text":"1035"},{"range":"1049","text":"1035"},"`antd` import should occur before import of `./index.less`",{"range":"1050","text":"1051"},{"range":"1052","text":"1035"},{"range":"1053","text":"1035"},{"range":"1054","text":"1035"},"no-useless-constructor","Useless constructor.","MethodDefinition",{"range":"1055","text":"1035"},{"range":"1056","text":"1035"},{"range":"1057","text":"1035"},"lines-between-class-members","Expected blank line between class members.","always",{"range":"1058","text":"1059"},{"range":"1060","text":"1035"},{"range":"1061","text":"1035"},{"range":"1062","text":"1035"},{"range":"1063","text":"1035"},{"range":"1064","text":"1035"},"arrow-body-style","Unexpected block statement surrounding arrow body; move the returned value immediately after the `=>`.","unexpectedSingleBlock",{"range":"1065","text":"1066"},{"range":"1067","text":"1035"},{"range":"1068","text":"1035"},{"range":"1069","text":"1035"},{"range":"1070","text":"1035"},{"range":"1071","text":"1035"},{"range":"1072","text":"1035"},{"range":"1073","text":"1035"},{"range":"1074","text":"1035"},{"range":"1075","text":"1035"},{"range":"1076","text":"1035"},{"range":"1077","text":"1035"},"jsx-a11y/alt-text","img elements must have an alt prop, either with meaningful text, or an empty string for decorative images.","JSXOpeningElement",{"range":"1078","text":"1035"},{"range":"1079","text":"1035"},"global-require","Unexpected require().","CallExpression",{"range":"1080","text":"1035"},{"range":"1081","text":"1035"},{"range":"1082","text":"1035"},{"range":"1083","text":"1035"},{"range":"1084","text":"1035"},{"range":"1085","text":"1035"},{"range":"1086","text":"1035"},{"range":"1087","text":"1035"},{"range":"1088","text":"1035"},{"range":"1089","text":"1035"},{"range":"1090","text":"1035"},{"range":"1091","text":"1035"},{"range":"1092","text":"1035"},{"range":"1093","text":"1059"},{"range":"1094","text":"1035"},{"range":"1095","text":"1035"},{"range":"1096","text":"1035"},{"range":"1097","text":"1035"},{"range":"1098","text":"1035"},{"range":"1099","text":"1035"},{"range":"1100","text":"1035"},{"range":"1101","text":"1035"},{"range":"1102","text":"1035"},{"range":"1103","text":"1035"},{"range":"1104","text":"1035"},{"range":"1105","text":"1035"},{"range":"1106","text":"1035"},"react/no-multi-comp","Declare only one React component per file","ClassDeclaration",{"range":"1107","text":"1035"},{"range":"1108","text":"1035"},{"range":"1109","text":"1035"},{"range":"1110","text":"1035"},{"range":"1111","text":"1035"},{"range":"1112","text":"1035"},{"range":"1113","text":"1035"},{"range":"1114","text":"1035"},{"range":"1115","text":"1035"},{"range":"1116","text":"1059"},{"range":"1117","text":"1035"},{"range":"1118","text":"1035"},{"range":"1119","text":"1035"},{"range":"1120","text":"1035"},{"range":"1121","text":"1035"},{"range":"1122","text":"1059"},{"range":"1123","text":"1035"},{"range":"1124","text":"1035"},{"range":"1125","text":"1035"},{"range":"1126","text":"1035"},{"range":"1127","text":"1035"},{"range":"1128","text":"1059"},{"range":"1129","text":"1035"},{"range":"1130","text":"1035"},{"range":"1131","text":"1035"},{"range":"1132","text":"1035"},{"range":"1133","text":"1035"},{"range":"1134","text":"1135"},{"range":"1136","text":"1035"},{"range":"1137","text":"1035"},{"range":"1138","text":"1035"},{"range":"1139","text":"1035"},"prefer-template","Unexpected string concatenation.",{"range":"1140","text":"1141"},{"range":"1142","text":"1035"},{"range":"1143","text":"1035"},{"range":"1144","text":"1035"},{"range":"1145","text":"1035"},{"range":"1146","text":"1035"},{"range":"1147","text":"1035"},{"range":"1148","text":"1035"},{"range":"1149","text":"1035"},{"range":"1150","text":"1035"},{"range":"1151","text":"1035"},{"range":"1152","text":"1035"},{"range":"1153","text":"1035"},{"range":"1154","text":"1035"},{"range":"1155","text":"1035"},{"range":"1156","text":"1035"},{"range":"1157","text":"1035"},{"range":"1158","text":"1035"},{"range":"1159","text":"1160"},{"range":"1161","text":"1035"},{"range":"1162","text":"1163"},{"range":"1164","text":"1165"},{"range":"1166","text":"1035"},{"range":"1167","text":"1035"},{"range":"1168","text":"1035"},{"range":"1169","text":"1035"},{"range":"1170","text":"1035"},{"range":"1171","text":"1035"},{"range":"1172","text":"1035"},{"range":"1173","text":"1035"},{"range":"1174","text":"1035"},{"range":"1175","text":"1035"},{"range":"1176","text":"1035"},{"range":"1177","text":"1035"},{"range":"1178","text":"1059"},{"range":"1179","text":"1035"},{"range":"1180","text":"1035"},{"range":"1181","text":"1035"},{"range":"1182","text":"1035"},{"range":"1183","text":"1035"},{"range":"1184","text":"1035"},{"range":"1185","text":"1035"},{"range":"1186","text":"1035"},{"range":"1187","text":"1035"},{"range":"1188","text":"1035"},{"range":"1189","text":"1035"},{"range":"1190","text":"1059"},{"range":"1191","text":"1035"},{"range":"1192","text":"1035"},{"range":"1193","text":"1035"},{"range":"1194","text":"1035"},{"range":"1195","text":"1035"},{"range":"1196","text":"1197"},{"range":"1198","text":"1035"},{"range":"1199","text":"1035"},{"range":"1200","text":"1035"},{"range":"1201","text":"1035"},{"range":"1202","text":"1035"},{"range":"1203","text":"1035"},{"range":"1204","text":"1035"},{"range":"1205","text":"1035"},{"range":"1206","text":"1035"},{"range":"1207","text":"1035"},{"range":"1208","text":"1035"},{"range":"1209","text":"1035"},{"range":"1210","text":"1035"},{"range":"1211","text":"1035"},{"range":"1212","text":"1035"},{"range":"1213","text":"1035"},{"range":"1214","text":"1035"},{"range":"1215","text":"1035"},{"range":"1216","text":"1035"},{"range":"1217","text":"1059"},{"range":"1218","text":"1035"},{"range":"1219","text":"1035"},{"range":"1220","text":"1035"},{"range":"1221","text":"1035"},{"range":"1222","text":"1035"},{"range":"1223","text":"1035"},{"range":"1224","text":"1035"},{"range":"1225","text":"1035"},{"range":"1226","text":"1035"},{"range":"1227","text":"1035"},{"range":"1228","text":"1035"},{"range":"1229","text":"1035"},{"range":"1230","text":"1035"},{"range":"1231","text":"1035"},{"range":"1232","text":"1035"},{"range":"1233","text":"1035"},{"range":"1234","text":"1035"},{"range":"1235","text":"1035"},{"range":"1236","text":"1035"},{"range":"1237","text":"1035"},{"range":"1238","text":"1035"},{"range":"1239","text":"1035"},{"range":"1240","text":"1035"},{"range":"1241","text":"1035"},{"range":"1242","text":"1035"},{"range":"1243","text":"1035"},{"range":"1244","text":"1035"},{"range":"1245","text":"1035"},{"range":"1246","text":"1035"},{"range":"1247","text":"1035"},{"range":"1248","text":"1035"},{"range":"1249","text":"1035"},{"range":"1250","text":"1035"},{"range":"1251","text":"1035"},{"range":"1252","text":"1035"},{"range":"1253","text":"1035"},{"range":"1254","text":"1035"},{"range":"1255","text":"1035"},{"range":"1256","text":"1035"},{"range":"1257","text":"1035"},{"range":"1258","text":"1035"},{"range":"1259","text":"1035"},{"range":"1260","text":"1035"},{"range":"1261","text":"1035"},{"range":"1262","text":"1035"},{"range":"1263","text":"1035"},{"range":"1264","text":"1035"},{"range":"1265","text":"1035"},{"range":"1266","text":"1035"},{"range":"1267","text":"1035"},{"range":"1268","text":"1035"},{"range":"1269","text":"1035"},{"range":"1270","text":"1035"},{"range":"1271","text":"1035"},{"range":"1272","text":"1035"},{"range":"1273","text":"1035"},{"range":"1274","text":"1035"},{"range":"1275","text":"1035"},{"range":"1276","text":"1035"},{"range":"1277","text":"1035"},{"range":"1278","text":"1035"},{"range":"1279","text":"1035"},{"range":"1280","text":"1035"},{"range":"1281","text":"1035"},{"range":"1282","text":"1035"},{"range":"1283","text":"1035"},{"range":"1284","text":"1035"},{"range":"1285","text":"1035"},{"range":"1286","text":"1035"},{"range":"1287","text":"1035"},{"range":"1288","text":"1035"},{"range":"1289","text":"1035"},{"range":"1290","text":"1035"},{"range":"1291","text":"1035"},{"range":"1292","text":"1035"},{"range":"1293","text":"1035"},{"range":"1294","text":"1035"},{"range":"1295","text":"1035"},{"range":"1296","text":"1035"},{"range":"1297","text":"1035"},{"range":"1298","text":"1035"},{"range":"1299","text":"1035"},{"range":"1300","text":"1035"},{"range":"1301","text":"1035"},{"range":"1302","text":"1035"},{"range":"1303","text":"1035"},{"range":"1304","text":"1035"},{"range":"1305","text":"1035"},{"range":"1306","text":"1035"},{"range":"1307","text":"1035"},{"range":"1308","text":"1035"},{"range":"1309","text":"1035"},{"range":"1310","text":"1035"},{"range":"1311","text":"1035"},{"range":"1312","text":"1035"},{"range":"1313","text":"1035"},{"range":"1314","text":"1035"},{"range":"1315","text":"1035"},{"range":"1316","text":"1035"},{"range":"1317","text":"1035"},{"range":"1318","text":"1035"},{"range":"1319","text":"1035"},{"range":"1320","text":"1035"},{"range":"1321","text":"1035"},{"range":"1322","text":"1035"},{"range":"1323","text":"1035"},{"range":"1324","text":"1035"},{"range":"1325","text":"1035"},{"range":"1326","text":"1035"},{"range":"1327","text":"1035"},{"range":"1328","text":"1035"},{"range":"1329","text":"1035"},{"range":"1330","text":"1035"},{"range":"1331","text":"1035"},{"range":"1332","text":"1035"},{"range":"1333","text":"1035"},{"range":"1334","text":"1035"},{"range":"1335","text":"1033"},{"range":"1336","text":"1033"},[744,744],";",[551,552],"",[845,845],[325,325],"\n ",[12399,12400],[64,65],[100,101],[66,140],"import classNames from 'classnames';\r\nimport styles from './index.less';\r\n",[138,139],[66,180],"import { connect } from 'react-redux';\r\nimport styles from './index.less';\r\nimport classNames from 'classnames';\r\n",[178,179],[238,239],[286,287],[66,325],"import { Space, Spin } from 'antd';\r\nimport styles from './index.less';\r\nimport classNames from 'classnames';\r\nimport { connect } from 'react-redux';\r\nimport SecurityLayout from '../../layouts/SecurityLayout';\r\nimport LoginAction from '../user/login/login';\r\n",[323,324],[385,386],[427,428],[451,452],[470,471],[475,476],[475,475],"\n",[497,498],[535,536],[549,550],[564,565],[586,587],[611,1344],"(\r\n          <div\r\n            className={classNames(styles.bootPageltbCase, styles.bootPageitem)}\r\n            type={item}\r\n            key={item}\r\n          >\r\n            <div\r\n              className={styles.bootPageitemBall}\r\n              onClick={event => callback(event, item)}\r\n            >\r\n              <img\r\n                className={styles.bootPageitemb}\r\n                src={require(`../../assets/transitionalpage/${item}球.png`)}\r\n              />\r\n              <img\r\n                className={styles.bootPageitemc}\r\n                src={require(`../../assets/transitionalpage/旋转圆.png`)}\r\n              />\r\n            </div>\r\n            <div>{item}</div>\r\n          </div>\r\n        )",[612,613],[630,631],[646,647],[727,728],[752,753],[776,777],[789,790],[807,808],[858,859],[914,915],[929,930],[949,950],[999,1000],[1076,1077],[1094,1095],[1114,1115],[1164,1165],[1236,1237],[1254,1255],[1274,1275],[1305,1306],[1323,1324],[1335,1336],[1345,1346],[1353,1354],[1358,1359],[1358,1358],[1372,1373],[1417,1418],[1431,1432],[1476,1477],[1526,1527],[1549,1550],[1585,1586],[1601,1602],[1678,1679],[1692,1693],[1700,1701],[1705,1706],[1708,1709],[1752,1753],[1776,1777],[1795,1796],[1815,1816],[1835,1836],[1855,1856],[1875,1876],[1883,1884],[1888,1889],[1888,1888],[1914,1915],[1935,1936],[1956,1957],[1965,1966],[1970,1971],[1970,1970],[1996,1997],[2017,2018],[2039,2040],[2048,2049],[2053,2054],[2053,2053],[2075,2076],[2113,2114],[2127,2128],[2142,2143],[2164,2165],[2189,3211],"(\r\n          <div\r\n            style={{\r\n              backgroundImage: `url(${require('../../assets/transitionalpage/' +\r\n                item +\r\n                '.png')})`,\r\n            }}\r\n          >\r\n            <div\r\n              className={classNames(styles.bootPagelbBox, styles.bootPageitem)}\r\n              type={item}\r\n              key={item}\r\n              onClick={event => callback(event, item)}\r\n              onMouseEnter={e => {\r\n                this.mouseOveHandle(item);\r\n              }}\r\n              onMouseLeave={e => {\r\n                this.mouseOutHandle(item);\r\n              }}\r\n              style={{\r\n                backgroundImage: `url(${require('../../assets/transitionalpage/' +\r\n                  (!this.state[item] ? item + '图.jpg' : item + '图动.gif'))})`,\r\n              }}\r\n            >\r\n              <div>{item}</div>\r\n              {/* <div className={styles.bootPageitemImgB}>\r\n            </div> */}\r\n            </div>\r\n          </div>\r\n        )",[2190,2191],[2208,2209],[2224,2225],[2246,2247],[2294,2376],"`../../assets/transitionalpage/${ \r\n                item \r\n                }.png`",[2328,2329],[2352,2353],[2381,2382],[2397,2398],[2410,2411],[2428,2429],[2509,2510],[2536,2537],[2562,2563],[2618,2619],[2654,2655],[2698,2699],[2716,2717],[2752,2753],[2796,2797],[2814,2815],[2838,2839],[2888,2996],"`../../assets/transitionalpage/${ \r\n                  !this.state[item] ? item + '图.jpg' : item + '图动.gif'}`",[2922,2923],[2963,2977],"`${item  }图.jpg`",[2980,2995],"`${item  }图动.gif`",[3001,3002],[3019,3020],[3034,3035],[3067,3068],[3128,3129],[3152,3153],[3172,3173],[3190,3191],[3202,3203],[3212,3213],[3220,3221],[3225,3226],[3225,3225],[3239,3240],[3283,3284],[3297,3298],[3374,3375],[3382,3383],[3387,3388],[3390,3391],[3432,3433],[3456,3457],[3475,3476],[3480,3481],[3480,3480],[3502,3503],[3540,3541],[3554,3555],[3569,3570],[3591,3592],[3616,4106],"(\r\n          <div\r\n            className={styles.bootPagerBox}\r\n            type={item}\r\n            key={item}\r\n            onClick={event => callback(event, item)}\r\n          >\r\n            <div className={styles.bootPagebTitle}>{item}</div>\r\n            <div className={styles.bootPagebContent}>\r\n              <img\r\n                src={require(`../../assets/transitionalpage/${item}图.png`)}\r\n              />\r\n            </div>\r\n          </div>\r\n        )",[3617,3618],[3635,3636],[3651,3652],[3696,3697],[3721,3722],[3745,3746],[3799,3800],[3812,3813],[3877,3878],[3932,3933],[3952,3953],[4029,4030],[4047,4048],[4067,4068],[4085,4086],[4097,4098],[4107,4108],[4115,4116],[4120,4121],[4120,4120],[4134,4135],[4172,4173],[4253,4254],[4258,4259],[4261,4262],[4290,4291],[4342,4343],[4384,4385],[4437,4438],[4459,4460],[4483,4484],[4517,4518],[4566,4567],[4594,4595],[4620,4621],[4649,4650],[4709,4710],[4788,4789],[4843,4844],[4845,4846],[4888,4889],[4944,4945],[4971,4972],[5033,5034],[5095,5096],[5131,5132],[5188,5189],[5214,5215],[5223,5224],[5234,5235],[5255,5256],[5309,5310],[5330,5331],[5341,5342],[5373,5374],[5430,5431],[5489,5490],[5532,5533],[5565,5566],[5587,5588],[5593,5594],[5614,5615],[5668,5669],[5688,5689],[5747,5748],[5755,5756],[5762,5763],[5774,5775],[5796,5797],[5837,5838],[5884,5885],[5936,5937],[5954,5955],[6025,6026],[6047,6048],[6063,6064],[6115,6116],[6167,6168],[6199,6200],[6222,6223],[6242,6243],[6263,6264],[6319,6320],[6337,6338],[6375,6376],[6417,6418],[6455,6456],[6473,6474],[6497,6498],[6544,6545],[6573,6574],[6591,6592],[6606,6607],[6659,6660],[6711,6712],[6765,6766],[6787,6788],[6837,6838],[6857,6858],[6879,6880],[6933,6934],[6958,6959],[7021,7022],[7043,7044],[7061,7062],[7121,7122],[7183,7184],[7214,7215],[7232,7233],[7250,7251],[7292,7293],[7347,7348],[7367,7368],[7383,7384],[7397,7398],[7420,7421],[7426,7427],[7430,7431],[7467,7468],[7519,7520],[7569,7570],[7574,7575],[7617,7618],[7643,7644],[7692,7693],[7698,7699],[7723,7724],[7774,7775],[7780,7781],[7811,7812],[7868,7869],[7874,7875],[7879,7880],[7904,7905],[7924,7925],[7947,7948],[7961,7962],[2075,2075],[2400,2400]]