openatc-components 0.5.6 → 0.5.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (421) hide show
  1. package/.babelrc +18 -18
  2. package/.editorconfig +9 -9
  3. package/.eslintignore +5 -5
  4. package/.eslintrc.js +31 -31
  5. package/.postcssrc.js +10 -10
  6. package/README.md +30 -30
  7. package/build/build.js +41 -41
  8. package/build/check-versions.js +54 -54
  9. package/build/package.config.js +58 -58
  10. package/build/package.dev.config.js +107 -107
  11. package/build/package.prod.config.js +160 -160
  12. package/build/utils.js +101 -101
  13. package/build/vue-loader.conf.js +22 -22
  14. package/build/webpack.base.conf.js +120 -120
  15. package/build/webpack.dev.conf.js +95 -95
  16. package/build/webpack.prod.conf.js +149 -149
  17. package/config/prod.env.js +5 -5
  18. package/config/test.env.js +7 -7
  19. package/index.html +12 -12
  20. package/package/kisscomps/components/BoardCard/BoardCard.vue +8 -0
  21. package/package/kisscomps/components/ChannelRealtimeIntersection/ChannelRealtimeIntersection.vue +27 -3
  22. package/package/kisscomps/components/Channelization/Channelization.vue +585 -585
  23. package/package/kisscomps/components/ChannelizationFlowStatistic/ChannelizationFlowStatistic.vue +360 -360
  24. package/package/kisscomps/components/ChannelizationWithInterface/ChannelizationWithInterface.vue +518 -518
  25. package/package/kisscomps/components/CommonKanban/CommonKanban.vue +132 -132
  26. package/package/kisscomps/components/DirectionListConfiguration/DirectionListConfiguration.vue +2 -2
  27. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-east-bottom.vue +41 -41
  28. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-east-top.vue +60 -60
  29. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-ewped.vue +105 -105
  30. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-north-left.vue +60 -60
  31. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-north-right.vue +60 -60
  32. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-snped.vue +105 -105
  33. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-south-left.vue +60 -60
  34. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-south-right.vue +60 -60
  35. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-west-bottom.vue +60 -60
  36. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-west-top.vue +60 -60
  37. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-xlped.vue +30 -30
  38. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-xrped.vue +30 -30
  39. package/package/kisscomps/components/DirectionListConfiguration/svg/pedSvg.vue +78 -78
  40. package/package/kisscomps/components/DrawChannelization/drawsvg/basicCoordInfo.vue +181 -181
  41. package/package/kisscomps/components/DrawChannelization/drawsvg/channelizationElements.vue +255 -255
  42. package/package/kisscomps/components/DrawChannelization/drawsvg/detectorAssociatedComponent.vue +152 -152
  43. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/TextBox.vue +91 -91
  44. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/crossMap.vue +194 -194
  45. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/editText.vue +108 -108
  46. package/package/kisscomps/components/DrawChannelization/drawsvg/firstImportCrossmap.vue +51 -51
  47. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/countdownSvg.vue +236 -236
  48. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorChart.vue +247 -247
  49. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorIconSvg.vue +210 -210
  50. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/laneIcon.vue +72 -72
  51. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/motorwayIconSvg.vue +368 -368
  52. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/pedroadIconSvg.vue +230 -230
  53. package/package/kisscomps/components/DrawChannelization/drawsvg/importDialog.vue +74 -74
  54. package/package/kisscomps/components/DrawChannelization/drawsvg/index.draw.vue +64 -19
  55. package/package/kisscomps/components/DrawChannelization/drawsvg/index.vue +144 -144
  56. package/package/kisscomps/components/DrawChannelization/drawsvg/laneEditPanel.vue +707 -707
  57. package/package/kisscomps/components/DrawChannelization/drawsvg/overlapAssociatedComponent.vue +172 -172
  58. package/package/kisscomps/components/DrawChannelization/drawsvg/phaseAssociatedComponent.vue +2 -2
  59. package/package/kisscomps/components/DrawChannelization/drawsvg/table.vue +99 -99
  60. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/loadutils.js +87 -87
  61. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/phaseDataModel.js +32 -32
  62. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/phasePos.json +20 -20
  63. package/package/kisscomps/components/DrawChannelization/phaseDataMgr.js +278 -278
  64. package/package/kisscomps/components/ExpendConfig/ExpendConfig.vue +118 -118
  65. package/package/kisscomps/components/FaultDetailModal/FaultDetailModal.vue +178 -178
  66. package/package/kisscomps/components/IntersectionDirectionSelection/IntersectionDirectionSelection.vue +13 -6
  67. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +629 -629
  68. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CustomRoadsSvg.vue +46 -46
  69. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionEWSvg.vue +447 -447
  70. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionSNSvg.vue +341 -341
  71. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampEastSvg.vue +497 -497
  72. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampNorthSvg.vue +353 -353
  73. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampSouthSvg.vue +359 -359
  74. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampWestSvg.vue +443 -443
  75. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkClickSvg.vue +4 -2
  76. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkSvg.vue +1190 -1190
  77. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg.vue +498 -498
  78. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue +484 -484
  79. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue +488 -488
  80. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue +566 -566
  81. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg.vue +640 -640
  82. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg.vue +497 -497
  83. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue +486 -486
  84. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue +490 -490
  85. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue +575 -575
  86. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/refreshSvg.vue +63 -63
  87. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/busMapSvg.vue +50 -50
  88. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/eastBusSvg.vue +167 -167
  89. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/northBusSvg.vue +168 -168
  90. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/southBusSvg.vue +168 -168
  91. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/westBusSvg.vue +169 -169
  92. package/package/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +59 -18
  93. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/LphaseIconSvg.vue +197 -197
  94. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/rampPhaseIconSvg.vue +122 -122
  95. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.json +196 -196
  96. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.left.json +196 -196
  97. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +0 -16
  98. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +115 -115
  99. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/rampPos.json +52 -52
  100. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/sidePos.json +0 -16
  101. package/package/kisscomps/components/IntersectionMap/intersectionmap.vue +10 -0
  102. package/package/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +534 -534
  103. package/package/kisscomps/components/KanBan/kanban.vue +231 -231
  104. package/package/kisscomps/components/MessageBox/index.vue +96 -96
  105. package/package/kisscomps/components/OverviewComponent/index.vue +40 -7
  106. package/package/kisscomps/components/PatternOptimize/PatternOptimize.vue +329 -329
  107. package/package/kisscomps/components/PatternStatus/PatternStatus.vue +203 -3
  108. package/package/kisscomps/components/PatternWalkSvg/PatternWalkSvg.vue +423 -423
  109. package/package/kisscomps/components/PhaseDirectionSelect/PhaseDirectionSelect.vue +126 -126
  110. package/package/kisscomps/components/PhaseDirectionText/PhaseDirectionText.vue +106 -106
  111. package/package/kisscomps/components/PhaseLegend/PhaseLegend.vue +286 -286
  112. package/package/kisscomps/components/PhaseMarker/index.js +6 -6
  113. package/package/kisscomps/components/PhaseMarker/phasemarker.vue +215 -215
  114. package/package/kisscomps/components/PhaseMarker/svg/patternSvg.vue +121 -121
  115. package/package/kisscomps/components/PhaseMarker/svg/phase.vue +60 -60
  116. package/package/kisscomps/components/PhaseMarker/svg/phaseCount.vue +62 -62
  117. package/package/kisscomps/components/PhaseMarker/svg/phaseCountCycle.vue +62 -62
  118. package/package/kisscomps/components/PhaseMarker/svg/phaseSvg.vue +117 -117
  119. package/package/kisscomps/components/PhasePedSelect/index.vue +206 -206
  120. package/package/kisscomps/components/SchemeConfig/SchemeConfig.vue +30 -7
  121. package/package/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +365 -365
  122. package/package/kisscomps/components/SchemeConfig/azimuthlocking/utils.js +92 -92
  123. package/package/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +214 -214
  124. package/package/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +235 -235
  125. package/package/kisscomps/components/SchemeConfig/manualControlModal/index.vue +235 -235
  126. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/controlModelGroup.vue +131 -131
  127. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/index.vue +871 -871
  128. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/othersIcon.vue +151 -151
  129. package/package/kisscomps/components/SchemeConfig/priorityControl/index.vue +215 -215
  130. package/package/kisscomps/components/SchemeConfig/priorityControl/utils.js +163 -163
  131. package/package/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +308 -308
  132. package/package/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +19 -0
  133. package/package/kisscomps/components/SchemeConfig/utils/thirdPartypermission.js +95 -95
  134. package/package/kisscomps/components/SelectCrossPhase/index.vue +1 -1
  135. package/package/kisscomps/components/SelectCrossPhase/utils.js +142 -142
  136. package/package/kisscomps/components/StageOptimize/StageOptimize.vue +367 -367
  137. package/package/kisscomps/components/StageOptimize/index.js +2 -2
  138. package/package/kisscomps/components/StageStatus/StageStatus.vue +341 -341
  139. package/package/kisscomps/components/SvgIcon/SvgIcon.vue +53 -53
  140. package/package/kisscomps/components/XRDDirSelector/XRDDirSelector.vue +1041 -1041
  141. package/package/kisscomps/components/XiaoKanban/DirSelector.vue +356 -356
  142. package/package/kisscomps/components/XiaoKanban/index.vue +122 -122
  143. package/package/kisscomps/components/overView/index.vue +30 -7
  144. package/package/kisscomps/components/patternConfig/index.vue +12 -4
  145. package/package/kisscomps/components/patternConfig/pattern/planChart/model/coordinationModel.js +665 -665
  146. package/package/kisscomps/components/patternConfig/planContent.vue +604 -604
  147. package/package/kisscomps/components/patternConfig/planMenu.vue +329 -329
  148. package/package/kisscomps/components/patternConfig/utils.js +152 -84
  149. package/package/kisscomps/components/patternList/patternList.vue +8 -0
  150. package/package/kisscomps/index.js +2 -6
  151. package/package/kissui.min.js +1 -1
  152. package/package.json +1 -1
  153. package/src/App.vue +24 -20
  154. package/src/EdgeMgr/EdgeModelBase.js +16 -16
  155. package/src/EdgeMgr/controller/crossDiagramMgr.js +125 -125
  156. package/src/api/authapi.js +31 -31
  157. package/src/api/config.js +21 -21
  158. package/src/api/control.js +110 -110
  159. package/src/api/device.js +135 -135
  160. package/src/api/fault.js +66 -66
  161. package/src/api/index.js +24 -24
  162. package/src/api/login.js +46 -46
  163. package/src/api/optimize.js +72 -72
  164. package/src/api/param.js +165 -165
  165. package/src/api/passwdAssest.js +101 -101
  166. package/src/api/permission.js +33 -33
  167. package/src/api/route.js +171 -171
  168. package/src/api/template.js +27 -27
  169. package/src/assets/font/LICENSE.txt +202 -202
  170. package/src/assets/font/font.css +6 -6
  171. package/src/i18n/index.js +26 -26
  172. package/src/i18n/language/en.js +30 -114
  173. package/src/i18n/language/index.js +25 -31
  174. package/src/i18n/language/zh.js +31 -115
  175. package/src/icons/index.js +20 -20
  176. package/src/icons/svg/azimuthlocking.svg +26 -26
  177. package/src/icons/svg/bendi.svg +110 -110
  178. package/src/icons/svg/bujin.svg +36 -36
  179. package/src/icons/svg/connectBlue.svg +7 -7
  180. package/src/icons/svg/currentvolume.svg +0 -0
  181. package/src/icons/svg/custom-BRTlane.svg +40 -40
  182. package/src/icons/svg/custom-buslane.svg +40 -40
  183. package/src/icons/svg/custom-detector.svg +12 -12
  184. package/src/icons/svg/custom-east-bottom.svg +32 -32
  185. package/src/icons/svg/custom-east-top.svg +32 -32
  186. package/src/icons/svg/custom-ewped.svg +35 -35
  187. package/src/icons/svg/custom-nonmotorizedlane.svg +40 -40
  188. package/src/icons/svg/custom-north-left.svg +32 -32
  189. package/src/icons/svg/custom-north-right.svg +32 -32
  190. package/src/icons/svg/custom-peddetector.svg +17 -17
  191. package/src/icons/svg/custom-snped.svg +35 -35
  192. package/src/icons/svg/custom-south-left.svg +32 -32
  193. package/src/icons/svg/custom-south-right.svg +32 -32
  194. package/src/icons/svg/custom-tramlane.svg +40 -40
  195. package/src/icons/svg/custom-vehiclebranch.svg +40 -40
  196. package/src/icons/svg/custom-vehiclemainroad.svg +41 -41
  197. package/src/icons/svg/custom-west-bottom.svg +32 -32
  198. package/src/icons/svg/custom-west-top.svg +32 -32
  199. package/src/icons/svg/custom-xlped.svg +14 -14
  200. package/src/icons/svg/custom-xrped.svg +14 -14
  201. package/src/icons/svg/cutRed.svg +7 -7
  202. package/src/icons/svg/cycle.svg +0 -0
  203. package/src/icons/svg/dingzhouqi.svg +34 -34
  204. package/src/icons/svg/ganyingkongzhi.svg +30 -30
  205. package/src/icons/svg/guandeng.svg +81 -81
  206. package/src/icons/svg/huangshan.svg +71 -71
  207. package/src/icons/svg/maincontrol.svg +0 -0
  208. package/src/icons/svg/manualcontrolbackground.svg +51 -51
  209. package/src/icons/svg/manualcontrolbackground1.svg +62 -62
  210. package/src/icons/svg/manualcontrolbackgrounden.svg +62 -62
  211. package/src/icons/svg/model.svg +0 -0
  212. package/src/icons/svg/phasediff.svg +0 -0
  213. package/src/icons/svg/prioritycontrol.svg +21 -21
  214. package/src/icons/svg/quanhong.svg +86 -86
  215. package/src/icons/svg/shanghe.svg +11 -11
  216. package/src/icons/svg/shoudong.svg +103 -103
  217. package/src/icons/svg/tentativeplan.svg +28 -28
  218. package/src/icons/svg/time.svg +0 -0
  219. package/src/icons/svg/wuxianlan.svg +46 -46
  220. package/src/icons/svg/xiala.svg +11 -11
  221. package/src/icons/svg/xingrenguojie.svg +33 -33
  222. package/src/icons/svg/xitong.svg +89 -89
  223. package/src/icons/svg/youxian.svg +41 -41
  224. package/src/icons/svg/zizhukongzhi.svg +43 -43
  225. package/src/kisscomps/components/BoardCard/BoardCard.vue +8 -0
  226. package/src/kisscomps/components/ChannelRealtimeIntersection/ChannelRealtimeIntersection.vue +27 -3
  227. package/src/kisscomps/components/Channelization/Channelization.vue +585 -585
  228. package/src/kisscomps/components/ChannelizationFlowStatistic/ChannelizationFlowStatistic.vue +360 -360
  229. package/src/kisscomps/components/ChannelizationWithInterface/ChannelizationWithInterface.vue +518 -518
  230. package/src/kisscomps/components/CommonKanban/CommonKanban.vue +132 -132
  231. package/src/kisscomps/components/DirectionListConfiguration/DirectionListConfiguration.vue +2 -2
  232. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-east-bottom.vue +41 -41
  233. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-east-top.vue +60 -60
  234. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-ewped.vue +105 -105
  235. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-north-left.vue +60 -60
  236. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-north-right.vue +60 -60
  237. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-snped.vue +105 -105
  238. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-south-left.vue +60 -60
  239. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-south-right.vue +60 -60
  240. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-west-bottom.vue +60 -60
  241. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-west-top.vue +60 -60
  242. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-xlped.vue +30 -30
  243. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-xrped.vue +30 -30
  244. package/src/kisscomps/components/DirectionListConfiguration/svg/pedSvg.vue +78 -78
  245. package/src/kisscomps/components/DrawChannelization/drawsvg/basicCoordInfo.vue +181 -181
  246. package/src/kisscomps/components/DrawChannelization/drawsvg/channelizationElements.vue +255 -255
  247. package/src/kisscomps/components/DrawChannelization/drawsvg/detectorAssociatedComponent.vue +152 -152
  248. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/TextBox.vue +91 -91
  249. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/crossMap.vue +194 -194
  250. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/editText.vue +108 -108
  251. package/src/kisscomps/components/DrawChannelization/drawsvg/firstImportCrossmap.vue +51 -51
  252. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/countdownSvg.vue +236 -236
  253. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorChart.vue +247 -247
  254. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorIconSvg.vue +210 -210
  255. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/laneIcon.vue +72 -72
  256. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/motorwayIconSvg.vue +368 -368
  257. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/pedroadIconSvg.vue +230 -230
  258. package/src/kisscomps/components/DrawChannelization/drawsvg/importDialog.vue +74 -74
  259. package/src/kisscomps/components/DrawChannelization/drawsvg/index.draw.vue +64 -19
  260. package/src/kisscomps/components/DrawChannelization/drawsvg/index.vue +144 -144
  261. package/src/kisscomps/components/DrawChannelization/drawsvg/laneEditPanel.vue +707 -707
  262. package/src/kisscomps/components/DrawChannelization/drawsvg/overlapAssociatedComponent.vue +172 -172
  263. package/src/kisscomps/components/DrawChannelization/drawsvg/phaseAssociatedComponent.vue +2 -2
  264. package/src/kisscomps/components/DrawChannelization/drawsvg/table.vue +99 -99
  265. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/loadutils.js +87 -87
  266. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/phaseDataModel.js +32 -32
  267. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/phasePos.json +20 -20
  268. package/src/kisscomps/components/DrawChannelization/phaseDataMgr.js +278 -278
  269. package/src/kisscomps/components/ExpendConfig/ExpendConfig.vue +118 -118
  270. package/src/kisscomps/components/FaultDetailModal/FaultDetailModal.vue +178 -178
  271. package/src/kisscomps/components/IntersectionDirectionSelection/IntersectionDirectionSelection.vue +13 -6
  272. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +629 -629
  273. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CustomRoadsSvg.vue +46 -46
  274. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionEWSvg.vue +447 -447
  275. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionSNSvg.vue +341 -341
  276. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampEastSvg.vue +497 -497
  277. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampNorthSvg.vue +353 -353
  278. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampSouthSvg.vue +359 -359
  279. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampWestSvg.vue +443 -443
  280. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkClickSvg.vue +4 -2
  281. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkSvg.vue +1190 -1190
  282. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg.vue +498 -498
  283. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue +484 -484
  284. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue +488 -488
  285. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue +566 -566
  286. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg.vue +640 -640
  287. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg.vue +497 -497
  288. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue +486 -486
  289. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue +490 -490
  290. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue +575 -575
  291. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/refreshSvg.vue +63 -63
  292. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/busMapSvg.vue +50 -50
  293. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/eastBusSvg.vue +167 -167
  294. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/northBusSvg.vue +168 -168
  295. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/southBusSvg.vue +168 -168
  296. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/westBusSvg.vue +169 -169
  297. package/src/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +59 -18
  298. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/LphaseIconSvg.vue +197 -197
  299. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/rampPhaseIconSvg.vue +122 -122
  300. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.json +196 -196
  301. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.left.json +196 -196
  302. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +0 -16
  303. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +115 -115
  304. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/rampPos.json +52 -52
  305. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/sidePos.json +0 -16
  306. package/src/kisscomps/components/IntersectionMap/intersectionmap.vue +10 -0
  307. package/src/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +534 -534
  308. package/src/kisscomps/components/KanBan/kanban.vue +231 -231
  309. package/src/kisscomps/components/MessageBox/index.vue +96 -96
  310. package/src/kisscomps/components/OverviewComponent/index.vue +40 -7
  311. package/src/kisscomps/components/PatternOptimize/PatternOptimize.vue +329 -329
  312. package/src/kisscomps/components/PatternStatus/PatternStatus.vue +203 -3
  313. package/src/kisscomps/components/PatternWalkSvg/PatternWalkSvg.vue +423 -423
  314. package/src/kisscomps/components/PhaseDirectionSelect/PhaseDirectionSelect.vue +126 -126
  315. package/src/kisscomps/components/PhaseDirectionText/PhaseDirectionText.vue +106 -106
  316. package/src/kisscomps/components/PhaseLegend/PhaseLegend.vue +286 -286
  317. package/src/kisscomps/components/PhaseMarker/index.js +6 -6
  318. package/src/kisscomps/components/PhaseMarker/phasemarker.vue +215 -215
  319. package/src/kisscomps/components/PhaseMarker/svg/patternSvg.vue +121 -121
  320. package/src/kisscomps/components/PhaseMarker/svg/phase.vue +60 -60
  321. package/src/kisscomps/components/PhaseMarker/svg/phaseCount.vue +62 -62
  322. package/src/kisscomps/components/PhaseMarker/svg/phaseCountCycle.vue +62 -62
  323. package/src/kisscomps/components/PhaseMarker/svg/phaseSvg.vue +117 -117
  324. package/src/kisscomps/components/PhasePedSelect/index.vue +206 -206
  325. package/src/kisscomps/components/SchemeConfig/SchemeConfig.vue +30 -7
  326. package/src/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +365 -365
  327. package/src/kisscomps/components/SchemeConfig/azimuthlocking/utils.js +92 -92
  328. package/src/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +214 -214
  329. package/src/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +235 -235
  330. package/src/kisscomps/components/SchemeConfig/manualControlModal/index.vue +235 -235
  331. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/controlModelGroup.vue +131 -131
  332. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/index.vue +871 -871
  333. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/othersIcon.vue +151 -151
  334. package/src/kisscomps/components/SchemeConfig/priorityControl/index.vue +215 -215
  335. package/src/kisscomps/components/SchemeConfig/priorityControl/utils.js +163 -163
  336. package/src/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +308 -308
  337. package/src/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +19 -0
  338. package/src/kisscomps/components/SchemeConfig/utils/thirdPartypermission.js +95 -95
  339. package/src/kisscomps/components/SelectCrossPhase/index.vue +1 -1
  340. package/src/kisscomps/components/SelectCrossPhase/utils.js +142 -142
  341. package/src/kisscomps/components/StageOptimize/StageOptimize.vue +367 -367
  342. package/src/kisscomps/components/StageOptimize/index.js +2 -2
  343. package/src/kisscomps/components/StageStatus/StageStatus.vue +341 -341
  344. package/src/kisscomps/components/SvgIcon/SvgIcon.vue +53 -53
  345. package/src/kisscomps/components/XRDDirSelector/XRDDirSelector.vue +1041 -1041
  346. package/src/kisscomps/components/XiaoKanban/DirSelector.vue +356 -356
  347. package/src/kisscomps/components/XiaoKanban/index.vue +122 -122
  348. package/src/kisscomps/components/overView/index.vue +30 -7
  349. package/src/kisscomps/components/patternConfig/index.vue +12 -4
  350. package/src/kisscomps/components/patternConfig/pattern/planChart/model/coordinationModel.js +665 -665
  351. package/src/kisscomps/components/patternConfig/planContent.vue +604 -604
  352. package/src/kisscomps/components/patternConfig/planMenu.vue +329 -329
  353. package/src/kisscomps/components/patternConfig/utils.js +152 -84
  354. package/src/kisscomps/components/patternList/patternList.vue +8 -0
  355. package/src/kisscomps/index.js +2 -6
  356. package/src/lib/publicjs/ArryListUtil.js +38 -38
  357. package/src/lib/publicjs/HttpurlMgr.js +45 -45
  358. package/src/lib/publicjs/KissApi.js +158 -158
  359. package/src/lib/publicjs/KissWSSub/Heartcheck.js +128 -128
  360. package/src/lib/publicjs/KissWSSub/KissWsSub.js +91 -91
  361. package/src/lib/publicjs/KissWSSub/KissWsSubByType.js +152 -152
  362. package/src/lib/publicjs/KissWSSub/SimuWsSubByType.js +44 -44
  363. package/src/lib/publicjs/KissWSSub/Sub.js +51 -51
  364. package/src/lib/publicjs/KissWSSub/SubChannel.js +119 -119
  365. package/src/lib/publicjs/basecomponents.js +65 -65
  366. package/src/lib/publicjs/localStorage.js +112 -112
  367. package/src/lib/publicjs/objdeepcopy.js +32 -32
  368. package/src/lib/publicjs/pageScroll.js +30 -30
  369. package/src/lib/publicjs/passwdAssest.js +101 -101
  370. package/src/lib/publicjs/styleclassfactory.js +32 -32
  371. package/src/router/index.js +63 -63
  372. package/src/store/index.js +26 -26
  373. package/src/store/modules/globalParam.js +67 -67
  374. package/src/utils/ControlFormat.js +36 -14
  375. package/src/utils/RingDataModel.js +335 -335
  376. package/src/utils/auth.js +199 -199
  377. package/src/utils/conflictList.js +87 -87
  378. package/src/utils/dateFormat.js +41 -41
  379. package/src/utils/fault.js +72 -20
  380. package/src/utils/faultcode.js +182 -130
  381. package/src/utils/index.js +69 -69
  382. package/src/utils/pedphasedesc.js +105 -80
  383. package/src/utils/phaseList.js +203 -203
  384. package/src/utils/phasedesc.js +115 -133
  385. package/src/utils/responseMessage.js +21 -24
  386. package/src/utils/validate.js +43 -43
  387. package/src/views/customchannelization.vue +6 -6
  388. package/src/views/home.1.vue +479 -479
  389. package/src/views/home.vue +93 -93
  390. package/src/views/intersection.vue +11 -5
  391. package/src/views/intersection2.vue +328 -328
  392. package/src/views/overView.vue +63 -63
  393. package/src/views/patternConfig.vue +2 -2
  394. package/src/views/schemeconfig.vue +1 -1
  395. package/static/styles/channelizatioon.scss +433 -433
  396. package/static/styles/common.scss +30 -30
  397. package/static/styles/commonkanban.scss +168 -168
  398. package/static/styles/dark/index.scss +2 -2
  399. package/static/styles/dark/theme/element-dark.scss +44 -44
  400. package/static/styles/index.scss +84 -84
  401. package/static/styles/intersection.scss +180 -180
  402. package/static/styles/light/index.scss +2 -2
  403. package/static/styles/light/theme/element-light.scss +44 -44
  404. package/static/styles/overview.scss +146 -146
  405. package/static/styles/patternConfig.scss +56 -56
  406. package/static/styles/phasePedSelect.scss +71 -71
  407. package/static/styles/stages.scss +57 -57
  408. package/static/styles/uiComponents.scss +57 -57
  409. package/static/styles/xiaokanban.scss +61 -61
  410. package/static/token.json +2 -2
  411. package/test/e2e/custom-assertions/elementCount.js +27 -27
  412. package/test/e2e/nightwatch.conf.js +46 -46
  413. package/test/e2e/runner.js +48 -48
  414. package/test/e2e/specs/test.js +19 -19
  415. package/test/unit/.eslintrc +7 -7
  416. package/test/unit/jest.conf.js +30 -30
  417. package/test/unit/setup.js +3 -3
  418. package/test/unit/specs/HelloWorld.spec.js +11 -11
  419. package/package/kissui.js +0 -216608
  420. package/pnpm-lock.yaml +0 -16362
  421. package/src/i18n/language/ru.js +0 -1563
@@ -1,158 +1,158 @@
1
- /**
2
- * Copyright (c) 2020 kedacom
3
- * OpenATC is licensed under Mulan PSL v2.
4
- * You can use this software according to the terms and conditions of the Mulan PSL v2.
5
- * You may obtain a copy of Mulan PSL v2 at:
6
- * http://license.coscl.org.cn/MulanPSL2
7
- * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
8
- * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
9
- * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
10
- * See the Mulan PSL v2 for more details.
11
- **/
12
- import {
13
- HttpUrlMgr
14
- } from './HttpurlMgr'
15
- import axios from 'axios'
16
- import * as localStorge from './localStorage'
17
- import { removeToken, getToken } from '../../utils/auth'
18
-
19
- axios.defaults.withCredentials = true
20
- export const getAxios = () => {
21
- return axios
22
- }
23
-
24
- export class KissApi {
25
- constructor (key) {
26
- this.key = key
27
- this.urlMgr = HttpUrlMgr
28
- this.headerInfo = {}
29
- this.defaultParam = JSON.parse('{}')
30
- }
31
- /*
32
- 获取服务器地址 需要在storage中设置 key=host的value
33
- */
34
- GetHost () {
35
- return localStorge.getStorage('host')
36
- }
37
-
38
- /*
39
- 获取token 需要在storage中设置 key=token的value
40
- */
41
- GetToken () {
42
- return getToken()
43
- }
44
-
45
- /*
46
- 获取username 需要在storage中设置 key=user_name的value
47
- */
48
- GetSimuUserKey () {
49
- return localStorge.getStorage('simu_key')
50
- }
51
-
52
- createAxios () {
53
- // 创建axios实例
54
- const service = axios.create()
55
- return service
56
- }
57
-
58
- /*
59
- @brief 发送http请求
60
- @param[in] param 添加到url中的参数json
61
- @param[in] data 添加到body中的参数json
62
- @param[in] urlParamList 添加在url中的动态参数 ['1', 'states'] 则 host/url/1/states?params...
63
- @param[in, out] 回调函数 是否成功及返回的数据 function(bool, json)
64
- @param[in] hasToken 是否使用token
65
- @param[in] isFile 是否为文件格式
66
- @return 成功调用 返回promise对象可以用.then关联回调 失败返回undefine
67
- */
68
- Send (param, data, urlParamList = [], hasToken = true, isFile = false) {
69
- let host = this.GetHost()
70
- if (host === undefined) {
71
- console.log('host is empty')
72
- return undefined
73
- }
74
- if (hasToken) {
75
- let token = this.GetToken()
76
- if (token === undefined) {
77
- console.log('token is empty')
78
- return undefined
79
- }
80
- this.headerInfo.Authorization = token
81
- if (isFile) {
82
- this.headerInfo['Content-Type'] = 'multipart/form-data'
83
- }
84
- }
85
-
86
- // headerInfo['Simukey'] = this.GetSimuUserKey()
87
-
88
- let urlInfo = this.urlMgr.GetUrlInfo(this.key)
89
- if (urlInfo === undefined) {
90
- console.log('urlinfo is empty')
91
- return undefined
92
- }
93
- let apiUrl = urlInfo.url
94
- for (let item of urlParamList) {
95
- apiUrl += '/'
96
- apiUrl += item
97
- }
98
- const config = {
99
- baseURL: host,
100
- withCredentials: false,
101
- url: apiUrl,
102
- method: urlInfo.method,
103
- headers: this.headerInfo,
104
- timeout: 1000 * 60,
105
- data: data,
106
- params: this._assingJson(param, this.defaultParam)
107
- }
108
- const service = this.createAxios()
109
- // 响应错误拦截
110
- if (apiUrl !== '/auth/login') {
111
- this.responseInterception(service)
112
- }
113
- return service({...config})
114
- }
115
-
116
- responseInterception (service) {
117
- // respone拦截器
118
- service.interceptors.response.use(
119
- response => {
120
- /**
121
- * success === false就抛错
122
- */
123
- const res = response.data
124
- if (!res.success) {
125
- this.handleErrorMechanism(res)
126
- return response
127
- } else {
128
- return response
129
- }
130
- },
131
- error => {
132
- console.log(error)
133
- }
134
- )
135
- }
136
-
137
- handleErrorMechanism (res) {
138
- // 全局api错误拦截机制
139
- if (res.code === '3013' || res.code === '3015' || res.code === '3014') {
140
- removeToken()
141
- location.reload()
142
- }
143
- }
144
-
145
- _assingJson (json1, json2) {
146
- if (JSON.stringify(json1) === '{}') return json2
147
- if (JSON.stringify(json2) === '{}') return json1
148
- return JSON.parse((JSON.stringify(json1) + JSON.stringify(json2)).replace(/}{/, ','))
149
- }
150
- }
151
-
152
- export class SimuApi extends KissApi {
153
- constructor (key, simuId) {
154
- super(key)
155
- this.defaultParam['scenestype'] = 'simu'
156
- this.defaultParam['scenesid'] = simuId
157
- }
158
- }
1
+ /**
2
+ * Copyright (c) 2020 kedacom
3
+ * OpenATC is licensed under Mulan PSL v2.
4
+ * You can use this software according to the terms and conditions of the Mulan PSL v2.
5
+ * You may obtain a copy of Mulan PSL v2 at:
6
+ * http://license.coscl.org.cn/MulanPSL2
7
+ * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
8
+ * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
9
+ * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
10
+ * See the Mulan PSL v2 for more details.
11
+ **/
12
+ import {
13
+ HttpUrlMgr
14
+ } from './HttpurlMgr'
15
+ import axios from 'axios'
16
+ import * as localStorge from './localStorage'
17
+ import { removeToken, getToken } from '../../utils/auth'
18
+
19
+ axios.defaults.withCredentials = true
20
+ export const getAxios = () => {
21
+ return axios
22
+ }
23
+
24
+ export class KissApi {
25
+ constructor (key) {
26
+ this.key = key
27
+ this.urlMgr = HttpUrlMgr
28
+ this.headerInfo = {}
29
+ this.defaultParam = JSON.parse('{}')
30
+ }
31
+ /*
32
+ 获取服务器地址 需要在storage中设置 key=host的value
33
+ */
34
+ GetHost () {
35
+ return localStorge.getStorage('host')
36
+ }
37
+
38
+ /*
39
+ 获取token 需要在storage中设置 key=token的value
40
+ */
41
+ GetToken () {
42
+ return getToken()
43
+ }
44
+
45
+ /*
46
+ 获取username 需要在storage中设置 key=user_name的value
47
+ */
48
+ GetSimuUserKey () {
49
+ return localStorge.getStorage('simu_key')
50
+ }
51
+
52
+ createAxios () {
53
+ // 创建axios实例
54
+ const service = axios.create()
55
+ return service
56
+ }
57
+
58
+ /*
59
+ @brief 发送http请求
60
+ @param[in] param 添加到url中的参数json
61
+ @param[in] data 添加到body中的参数json
62
+ @param[in] urlParamList 添加在url中的动态参数 ['1', 'states'] 则 host/url/1/states?params...
63
+ @param[in, out] 回调函数 是否成功及返回的数据 function(bool, json)
64
+ @param[in] hasToken 是否使用token
65
+ @param[in] isFile 是否为文件格式
66
+ @return 成功调用 返回promise对象可以用.then关联回调 失败返回undefine
67
+ */
68
+ Send (param, data, urlParamList = [], hasToken = true, isFile = false) {
69
+ let host = this.GetHost()
70
+ if (host === undefined) {
71
+ console.log('host is empty')
72
+ return undefined
73
+ }
74
+ if (hasToken) {
75
+ let token = this.GetToken()
76
+ if (token === undefined) {
77
+ console.log('token is empty')
78
+ return undefined
79
+ }
80
+ this.headerInfo.Authorization = token
81
+ if (isFile) {
82
+ this.headerInfo['Content-Type'] = 'multipart/form-data'
83
+ }
84
+ }
85
+
86
+ // headerInfo['Simukey'] = this.GetSimuUserKey()
87
+
88
+ let urlInfo = this.urlMgr.GetUrlInfo(this.key)
89
+ if (urlInfo === undefined) {
90
+ console.log('urlinfo is empty')
91
+ return undefined
92
+ }
93
+ let apiUrl = urlInfo.url
94
+ for (let item of urlParamList) {
95
+ apiUrl += '/'
96
+ apiUrl += item
97
+ }
98
+ const config = {
99
+ baseURL: host,
100
+ withCredentials: false,
101
+ url: apiUrl,
102
+ method: urlInfo.method,
103
+ headers: this.headerInfo,
104
+ timeout: 1000 * 60,
105
+ data: data,
106
+ params: this._assingJson(param, this.defaultParam)
107
+ }
108
+ const service = this.createAxios()
109
+ // 响应错误拦截
110
+ if (apiUrl !== '/auth/login') {
111
+ this.responseInterception(service)
112
+ }
113
+ return service({...config})
114
+ }
115
+
116
+ responseInterception (service) {
117
+ // respone拦截器
118
+ service.interceptors.response.use(
119
+ response => {
120
+ /**
121
+ * success === false就抛错
122
+ */
123
+ const res = response.data
124
+ if (!res.success) {
125
+ this.handleErrorMechanism(res)
126
+ return response
127
+ } else {
128
+ return response
129
+ }
130
+ },
131
+ error => {
132
+ console.log(error)
133
+ }
134
+ )
135
+ }
136
+
137
+ handleErrorMechanism (res) {
138
+ // 全局api错误拦截机制
139
+ if (res.code === '3013' || res.code === '3015' || res.code === '3014') {
140
+ removeToken()
141
+ location.reload()
142
+ }
143
+ }
144
+
145
+ _assingJson (json1, json2) {
146
+ if (JSON.stringify(json1) === '{}') return json2
147
+ if (JSON.stringify(json2) === '{}') return json1
148
+ return JSON.parse((JSON.stringify(json1) + JSON.stringify(json2)).replace(/}{/, ','))
149
+ }
150
+ }
151
+
152
+ export class SimuApi extends KissApi {
153
+ constructor (key, simuId) {
154
+ super(key)
155
+ this.defaultParam['scenestype'] = 'simu'
156
+ this.defaultParam['scenesid'] = simuId
157
+ }
158
+ }
@@ -1,128 +1,128 @@
1
- /**
2
- * Copyright (c) 2020 kedacom
3
- * OpenATC is licensed under Mulan PSL v2.
4
- * You can use this software according to the terms and conditions of the Mulan PSL v2.
5
- * You may obtain a copy of Mulan PSL v2 at:
6
- * http://license.coscl.org.cn/MulanPSL2
7
- * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
8
- * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
9
- * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
10
- * See the Mulan PSL v2 for more details.
11
- **/
12
- /**
13
- * `WebsocketHeartbeatJs` constructor.
14
- *
15
- * @param {Object} opts
16
- * {
17
- * url websocket链接地址
18
- * pingTimeout 未收到消息多少秒之后发送ping请求,默认15000毫秒
19
- pongTimeout 发送ping之后,未收到消息超时时间,默认10000毫秒
20
- reconnectTimeout
21
- pingMsg
22
- * }
23
- * @api public
24
- */
25
-
26
- function WebsocketHeartbeatJs ({
27
- url,
28
- pingTimeout = 15000,
29
- pongTimeout = 10000,
30
- reconnectTimeout = 2000,
31
- pingMsg = 'heartbeat'
32
- }) {
33
- this.opts = {
34
- url: url,
35
- pingTimeout: pingTimeout,
36
- pongTimeout: pongTimeout,
37
- reconnectTimeout: reconnectTimeout,
38
- pingMsg: pingMsg
39
- }
40
- this.ws = null // websocket实例
41
-
42
- // override hook function
43
- this.onclose = () => {}
44
- this.onerror = () => {}
45
- this.onopen = () => {}
46
- this.onmessage = () => {}
47
- this.onreconnect = () => {}
48
-
49
- this.createWebSocket()
50
- }
51
- WebsocketHeartbeatJs.prototype.createWebSocket = function () {
52
- try {
53
- this.ws = new WebSocket(this.opts.url)
54
- this.initEventHandle()
55
- } catch (e) {
56
- this.reconnect()
57
- throw e
58
- }
59
- }
60
-
61
- WebsocketHeartbeatJs.prototype.initEventHandle = function () {
62
- this.ws.onclose = () => {
63
- this.onclose()
64
- this.reconnect()
65
- }
66
- this.ws.onerror = () => {
67
- this.onerror()
68
- this.reconnect()
69
- }
70
- this.ws.onopen = () => {
71
- this.onopen()
72
- // 心跳检测重置
73
- this.heartCheck()
74
- }
75
- this.ws.onmessage = (event) => {
76
- this.onmessage(event)
77
- // 如果获取到消息,心跳检测重置
78
- // 拿到任何消息都说明当前连接是正常的
79
- this.heartCheck()
80
- }
81
- }
82
-
83
- WebsocketHeartbeatJs.prototype.reconnect = function () {
84
- if (this.lockReconnect || this.forbidReconnect) return
85
- this.lockReconnect = true
86
- this.onreconnect()
87
- // 没连接上会一直重连,设置延迟避免请求过多
88
- setTimeout(() => {
89
- this.createWebSocket()
90
- this.lockReconnect = false
91
- }, this.opts.reconnectTimeout)
92
- }
93
-
94
- WebsocketHeartbeatJs.prototype.send = function (msg) {
95
- this.ws.send(msg)
96
- }
97
- // 心跳检测
98
- WebsocketHeartbeatJs.prototype.heartCheck = function () {
99
- this.heartReset()
100
- this.heartStart()
101
- }
102
- WebsocketHeartbeatJs.prototype.heartStart = function () {
103
- if (this.forbidReconnect) return // 不再重连就不再执行心跳
104
- this.pingTimeoutId = setTimeout(() => {
105
- // 这里发送一个心跳,后端收到后,返回一个心跳消息,
106
- // onmessage拿到返回的心跳就说明连接正常
107
- this.ws.send(this.opts.pingMsg)
108
- // 如果超过一定时间还没重置,说明后端主动断开了
109
- this.pongTimeoutId = setTimeout(() => {
110
- // 如果onclose会执行reconnect,我们执行ws.close()就行了.如果直接执行reconnect 会触发onclose导致重连两次
111
- this.ws.close()
112
- }, this.opts.pongTimeout)
113
- }, this.opts.pingTimeout)
114
- }
115
- WebsocketHeartbeatJs.prototype.heartReset = function () {
116
- clearTimeout(this.pingTimeoutId)
117
- clearTimeout(this.pongTimeoutId)
118
- }
119
-
120
- WebsocketHeartbeatJs.prototype.close = function () {
121
- // 如果手动关闭连接,不再重连
122
- this.forbidReconnect = true
123
- this.heartReset()
124
- this.ws.close()
125
- }
126
-
127
- if (window) window.WebsocketHeartbeatJs = WebsocketHeartbeatJs
128
- export default WebsocketHeartbeatJs
1
+ /**
2
+ * Copyright (c) 2020 kedacom
3
+ * OpenATC is licensed under Mulan PSL v2.
4
+ * You can use this software according to the terms and conditions of the Mulan PSL v2.
5
+ * You may obtain a copy of Mulan PSL v2 at:
6
+ * http://license.coscl.org.cn/MulanPSL2
7
+ * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
8
+ * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
9
+ * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
10
+ * See the Mulan PSL v2 for more details.
11
+ **/
12
+ /**
13
+ * `WebsocketHeartbeatJs` constructor.
14
+ *
15
+ * @param {Object} opts
16
+ * {
17
+ * url websocket链接地址
18
+ * pingTimeout 未收到消息多少秒之后发送ping请求,默认15000毫秒
19
+ pongTimeout 发送ping之后,未收到消息超时时间,默认10000毫秒
20
+ reconnectTimeout
21
+ pingMsg
22
+ * }
23
+ * @api public
24
+ */
25
+
26
+ function WebsocketHeartbeatJs ({
27
+ url,
28
+ pingTimeout = 15000,
29
+ pongTimeout = 10000,
30
+ reconnectTimeout = 2000,
31
+ pingMsg = 'heartbeat'
32
+ }) {
33
+ this.opts = {
34
+ url: url,
35
+ pingTimeout: pingTimeout,
36
+ pongTimeout: pongTimeout,
37
+ reconnectTimeout: reconnectTimeout,
38
+ pingMsg: pingMsg
39
+ }
40
+ this.ws = null // websocket实例
41
+
42
+ // override hook function
43
+ this.onclose = () => {}
44
+ this.onerror = () => {}
45
+ this.onopen = () => {}
46
+ this.onmessage = () => {}
47
+ this.onreconnect = () => {}
48
+
49
+ this.createWebSocket()
50
+ }
51
+ WebsocketHeartbeatJs.prototype.createWebSocket = function () {
52
+ try {
53
+ this.ws = new WebSocket(this.opts.url)
54
+ this.initEventHandle()
55
+ } catch (e) {
56
+ this.reconnect()
57
+ throw e
58
+ }
59
+ }
60
+
61
+ WebsocketHeartbeatJs.prototype.initEventHandle = function () {
62
+ this.ws.onclose = () => {
63
+ this.onclose()
64
+ this.reconnect()
65
+ }
66
+ this.ws.onerror = () => {
67
+ this.onerror()
68
+ this.reconnect()
69
+ }
70
+ this.ws.onopen = () => {
71
+ this.onopen()
72
+ // 心跳检测重置
73
+ this.heartCheck()
74
+ }
75
+ this.ws.onmessage = (event) => {
76
+ this.onmessage(event)
77
+ // 如果获取到消息,心跳检测重置
78
+ // 拿到任何消息都说明当前连接是正常的
79
+ this.heartCheck()
80
+ }
81
+ }
82
+
83
+ WebsocketHeartbeatJs.prototype.reconnect = function () {
84
+ if (this.lockReconnect || this.forbidReconnect) return
85
+ this.lockReconnect = true
86
+ this.onreconnect()
87
+ // 没连接上会一直重连,设置延迟避免请求过多
88
+ setTimeout(() => {
89
+ this.createWebSocket()
90
+ this.lockReconnect = false
91
+ }, this.opts.reconnectTimeout)
92
+ }
93
+
94
+ WebsocketHeartbeatJs.prototype.send = function (msg) {
95
+ this.ws.send(msg)
96
+ }
97
+ // 心跳检测
98
+ WebsocketHeartbeatJs.prototype.heartCheck = function () {
99
+ this.heartReset()
100
+ this.heartStart()
101
+ }
102
+ WebsocketHeartbeatJs.prototype.heartStart = function () {
103
+ if (this.forbidReconnect) return // 不再重连就不再执行心跳
104
+ this.pingTimeoutId = setTimeout(() => {
105
+ // 这里发送一个心跳,后端收到后,返回一个心跳消息,
106
+ // onmessage拿到返回的心跳就说明连接正常
107
+ this.ws.send(this.opts.pingMsg)
108
+ // 如果超过一定时间还没重置,说明后端主动断开了
109
+ this.pongTimeoutId = setTimeout(() => {
110
+ // 如果onclose会执行reconnect,我们执行ws.close()就行了.如果直接执行reconnect 会触发onclose导致重连两次
111
+ this.ws.close()
112
+ }, this.opts.pongTimeout)
113
+ }, this.opts.pingTimeout)
114
+ }
115
+ WebsocketHeartbeatJs.prototype.heartReset = function () {
116
+ clearTimeout(this.pingTimeoutId)
117
+ clearTimeout(this.pongTimeoutId)
118
+ }
119
+
120
+ WebsocketHeartbeatJs.prototype.close = function () {
121
+ // 如果手动关闭连接,不再重连
122
+ this.forbidReconnect = true
123
+ this.heartReset()
124
+ this.ws.close()
125
+ }
126
+
127
+ if (window) window.WebsocketHeartbeatJs = WebsocketHeartbeatJs
128
+ export default WebsocketHeartbeatJs