openatc-components 0.0.77 → 0.0.80

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 (294) hide show
  1. package/.babelrc +18 -18
  2. package/.editorconfig +9 -9
  3. package/.eslintignore +5 -5
  4. package/.eslintrc.js +29 -29
  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 +114 -114
  15. package/build/webpack.dev.conf.js +95 -95
  16. package/build/webpack.prod.conf.js +149 -149
  17. package/config/dev.env.js +8 -8
  18. package/config/index.js +91 -91
  19. package/config/prod.env.js +5 -5
  20. package/config/test.env.js +7 -7
  21. package/index.html +12 -12
  22. package/package/kisscomps/components/BoardCard/BoardCard.vue +89 -89
  23. package/package/kisscomps/components/BoardCard/index.js +2 -2
  24. package/package/kisscomps/components/CommonKanban/CommonKanban.vue +118 -118
  25. package/package/kisscomps/components/CommonKanban/index.js +2 -2
  26. package/package/kisscomps/components/ExpendConfig/ExpendConfig.vue +114 -114
  27. package/package/kisscomps/components/ExpendConfig/index.js +2 -2
  28. package/package/kisscomps/components/FaultDetailModal/FaultDetailModal.vue +170 -170
  29. package/package/kisscomps/components/FaultDetailModal/index.js +2 -2
  30. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +497 -497
  31. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CustomRoadsSvg.vue +46 -46
  32. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PatternWalkSvg.vue +429 -429
  33. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionEWSvg.vue +300 -300
  34. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionSNSvg.vue +288 -288
  35. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampEastSvg.vue +391 -391
  36. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampNorthSvg.vue +336 -336
  37. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampSouthSvg.vue +345 -345
  38. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampWestSvg.vue +389 -389
  39. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkSvg.vue +1179 -1179
  40. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg.vue +402 -402
  41. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue +361 -361
  42. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue +368 -368
  43. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue +475 -475
  44. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg.vue +494 -494
  45. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg.vue +401 -401
  46. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue +360 -360
  47. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue +367 -367
  48. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue +476 -476
  49. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/refreshSvg.vue +63 -63
  50. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/busMapSvg.vue +50 -50
  51. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/eastBusSvg.vue +167 -167
  52. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/northBusSvg.vue +168 -168
  53. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/southBusSvg.vue +168 -168
  54. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/westBusSvg.vue +169 -169
  55. package/package/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +912 -912
  56. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/LphaseIconSvg.vue +112 -112
  57. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/phaseIconSvg.vue +112 -112
  58. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/rampPhaseIconSvg.vue +111 -111
  59. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.json +196 -196
  60. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.left.json +196 -196
  61. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +99 -99
  62. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +99 -99
  63. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/rampPos.json +52 -52
  64. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/sidePos.json +99 -99
  65. package/package/kisscomps/components/IntersectionMap/crossDirection/utils.js +78 -78
  66. package/package/kisscomps/components/IntersectionMap/index.js +2 -2
  67. package/package/kisscomps/components/IntersectionMap/intersectionmap.vue +153 -153
  68. package/package/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +518 -518
  69. package/package/kisscomps/components/IntersectionWithInterface/index.js +2 -2
  70. package/package/kisscomps/components/KanBan/index.js +2 -2
  71. package/package/kisscomps/components/KanBan/kanban.vue +219 -219
  72. package/package/kisscomps/components/OverLap/OverLap.vue +207 -208
  73. package/package/kisscomps/components/OverLap/index.js +2 -2
  74. package/package/kisscomps/components/PatternStatus/PatternStatus.vue +886 -886
  75. package/package/kisscomps/components/PatternStatus/index.js +2 -2
  76. package/package/kisscomps/components/PatternWalkSvg/PatternWalkSvg.vue +418 -418
  77. package/package/kisscomps/components/PatternWalkSvg/index.js +2 -2
  78. package/package/kisscomps/components/PhaseMarker/index.js +6 -6
  79. package/package/kisscomps/components/PhaseMarker/phasemarker.vue +215 -215
  80. package/package/kisscomps/components/PhaseMarker/svg/patternSvg.vue +121 -121
  81. package/package/kisscomps/components/PhaseMarker/svg/phase.vue +60 -60
  82. package/package/kisscomps/components/PhaseMarker/svg/phaseCount.vue +62 -62
  83. package/package/kisscomps/components/PhaseMarker/svg/phaseCountCycle.vue +62 -62
  84. package/package/kisscomps/components/PhaseMarker/svg/phaseSvg.vue +117 -117
  85. package/package/kisscomps/components/SchemeConfig/SchemeConfig.vue +739 -739
  86. package/package/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +195 -195
  87. package/package/kisscomps/components/SchemeConfig/index.js +2 -2
  88. package/package/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +198 -198
  89. package/package/kisscomps/components/SchemeConfig/manualControlModal/index.vue +219 -219
  90. package/package/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +263 -263
  91. package/package/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +1384 -1470
  92. package/package/kisscomps/components/StageBord/StageBord.vue +242 -242
  93. package/package/kisscomps/components/StageBord/index.js +2 -2
  94. package/package/kisscomps/components/StageStatus/StageStatus.vue +306 -306
  95. package/package/kisscomps/components/StageStatus/index.js +2 -2
  96. package/package/kisscomps/components/Stages/index.vue +139 -121
  97. package/package/kisscomps/components/SvgIcon/SvgIcon.vue +53 -53
  98. package/package/kisscomps/components/SvgIcon/index.js +2 -2
  99. package/package/kisscomps/components/XRDDirSelector/XRDDirSelector.vue +522 -522
  100. package/package/kisscomps/components/XRDDirSelector/index.js +2 -2
  101. package/package/kisscomps/components/overView/index.vue +676 -758
  102. package/package/kisscomps/components/patternList/index.js +2 -2
  103. package/package/kisscomps/components/patternList/patternList.vue +562 -562
  104. package/package/kisscomps/index.js +92 -92
  105. package/package/kissui.min.js +1 -1
  106. package/package.json +1 -1
  107. package/src/App.vue +24 -24
  108. package/src/EdgeMgr/EdgeModelBase.js +16 -16
  109. package/src/EdgeMgr/controller/crossDiagramMgr.js +120 -120
  110. package/src/api/authapi.js +31 -31
  111. package/src/api/config.js +21 -21
  112. package/src/api/control.js +76 -76
  113. package/src/api/fault.js +66 -66
  114. package/src/api/index.js +24 -24
  115. package/src/api/login.js +46 -46
  116. package/src/api/optimize.js +72 -72
  117. package/src/api/param.js +154 -154
  118. package/src/api/passwdAssest.js +101 -101
  119. package/src/api/template.js +27 -27
  120. package/src/i18n/index.js +26 -26
  121. package/src/i18n/language/en.js +1111 -1111
  122. package/src/i18n/language/index.js +25 -25
  123. package/src/i18n/language/zh.js +1110 -1110
  124. package/src/icons/demo.css +539 -539
  125. package/src/icons/iconfont.css +835 -835
  126. package/src/icons/iconfont.json +1444 -1444
  127. package/src/icons/index.js +20 -20
  128. package/src/icons/svg/bendi.svg +110 -110
  129. package/src/icons/svg/bujin.svg +36 -36
  130. package/src/icons/svg/connectBlue.svg +7 -7
  131. package/src/icons/svg/currentvolume.svg +0 -0
  132. package/src/icons/svg/cutRed.svg +7 -7
  133. package/src/icons/svg/cycle.svg +0 -0
  134. package/src/icons/svg/dingzhouqi.svg +34 -34
  135. package/src/icons/svg/ganyingkongzhi.svg +30 -30
  136. package/src/icons/svg/guandeng.svg +81 -81
  137. package/src/icons/svg/huangshan.svg +71 -71
  138. package/src/icons/svg/maincontrol.svg +0 -0
  139. package/src/icons/svg/manualcontrolbackground.svg +51 -51
  140. package/src/icons/svg/manualcontrolbackground1.svg +62 -62
  141. package/src/icons/svg/manualcontrolbackgrounden.svg +62 -62
  142. package/src/icons/svg/model.svg +0 -0
  143. package/src/icons/svg/phasediff.svg +0 -0
  144. package/src/icons/svg/quanhong.svg +86 -86
  145. package/src/icons/svg/shanghe.svg +11 -11
  146. package/src/icons/svg/shoudong.svg +103 -103
  147. package/src/icons/svg/time.svg +0 -0
  148. package/src/icons/svg/wuxianlan.svg +46 -46
  149. package/src/icons/svg/xiala.svg +11 -11
  150. package/src/icons/svg/xingrenguojie.svg +33 -33
  151. package/src/icons/svg/xitong.svg +89 -89
  152. package/src/icons/svg/youxian.svg +41 -41
  153. package/src/icons/svg/zizhukongzhi.svg +43 -43
  154. package/src/kisscomps/components/BoardCard/BoardCard.vue +89 -89
  155. package/src/kisscomps/components/BoardCard/index.js +2 -2
  156. package/src/kisscomps/components/CommonKanban/CommonKanban.vue +118 -118
  157. package/src/kisscomps/components/CommonKanban/index.js +2 -2
  158. package/src/kisscomps/components/ExpendConfig/ExpendConfig.vue +114 -114
  159. package/src/kisscomps/components/ExpendConfig/index.js +2 -2
  160. package/src/kisscomps/components/FaultDetailModal/FaultDetailModal.vue +170 -170
  161. package/src/kisscomps/components/FaultDetailModal/index.js +2 -2
  162. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +497 -497
  163. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CustomRoadsSvg.vue +46 -46
  164. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PatternWalkSvg.vue +429 -429
  165. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionEWSvg.vue +300 -300
  166. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionSNSvg.vue +288 -288
  167. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampEastSvg.vue +391 -391
  168. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampNorthSvg.vue +336 -336
  169. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampSouthSvg.vue +345 -345
  170. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampWestSvg.vue +389 -389
  171. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkSvg.vue +1179 -1179
  172. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg.vue +402 -402
  173. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue +361 -361
  174. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue +368 -368
  175. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue +475 -475
  176. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg.vue +494 -494
  177. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg.vue +401 -401
  178. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue +360 -360
  179. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue +367 -367
  180. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue +476 -476
  181. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/refreshSvg.vue +63 -63
  182. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/busMapSvg.vue +50 -50
  183. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/eastBusSvg.vue +167 -167
  184. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/northBusSvg.vue +168 -168
  185. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/southBusSvg.vue +168 -168
  186. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/westBusSvg.vue +169 -169
  187. package/src/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +912 -912
  188. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/LphaseIconSvg.vue +112 -112
  189. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/phaseIconSvg.vue +112 -112
  190. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/rampPhaseIconSvg.vue +111 -111
  191. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.json +196 -196
  192. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.left.json +196 -196
  193. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +99 -99
  194. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +99 -99
  195. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/rampPos.json +52 -52
  196. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/sidePos.json +99 -99
  197. package/src/kisscomps/components/IntersectionMap/crossDirection/utils.js +78 -78
  198. package/src/kisscomps/components/IntersectionMap/index.js +2 -2
  199. package/src/kisscomps/components/IntersectionMap/intersectionmap.vue +153 -153
  200. package/src/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +518 -518
  201. package/src/kisscomps/components/IntersectionWithInterface/index.js +2 -2
  202. package/src/kisscomps/components/KanBan/index.js +2 -2
  203. package/src/kisscomps/components/KanBan/kanban.vue +219 -219
  204. package/src/kisscomps/components/OverLap/OverLap.vue +207 -208
  205. package/src/kisscomps/components/OverLap/index.js +2 -2
  206. package/src/kisscomps/components/PatternStatus/PatternStatus.vue +886 -886
  207. package/src/kisscomps/components/PatternStatus/index.js +2 -2
  208. package/src/kisscomps/components/PatternWalkSvg/PatternWalkSvg.vue +418 -418
  209. package/src/kisscomps/components/PatternWalkSvg/index.js +2 -2
  210. package/src/kisscomps/components/PhaseMarker/index.js +6 -6
  211. package/src/kisscomps/components/PhaseMarker/phasemarker.vue +215 -215
  212. package/src/kisscomps/components/PhaseMarker/svg/patternSvg.vue +121 -121
  213. package/src/kisscomps/components/PhaseMarker/svg/phase.vue +60 -60
  214. package/src/kisscomps/components/PhaseMarker/svg/phaseCount.vue +62 -62
  215. package/src/kisscomps/components/PhaseMarker/svg/phaseCountCycle.vue +62 -62
  216. package/src/kisscomps/components/PhaseMarker/svg/phaseSvg.vue +117 -117
  217. package/src/kisscomps/components/SchemeConfig/SchemeConfig.vue +739 -739
  218. package/src/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +195 -195
  219. package/src/kisscomps/components/SchemeConfig/index.js +2 -2
  220. package/src/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +198 -198
  221. package/src/kisscomps/components/SchemeConfig/manualControlModal/index.vue +219 -219
  222. package/src/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +263 -263
  223. package/src/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +1384 -1470
  224. package/src/kisscomps/components/StageBord/StageBord.vue +242 -242
  225. package/src/kisscomps/components/StageBord/index.js +2 -2
  226. package/src/kisscomps/components/StageStatus/StageStatus.vue +306 -306
  227. package/src/kisscomps/components/StageStatus/index.js +2 -2
  228. package/src/kisscomps/components/Stages/index.vue +139 -121
  229. package/src/kisscomps/components/SvgIcon/SvgIcon.vue +53 -53
  230. package/src/kisscomps/components/SvgIcon/index.js +2 -2
  231. package/src/kisscomps/components/XRDDirSelector/XRDDirSelector.vue +522 -522
  232. package/src/kisscomps/components/XRDDirSelector/index.js +2 -2
  233. package/src/kisscomps/components/overView/index.vue +676 -758
  234. package/src/kisscomps/components/patternList/index.js +2 -2
  235. package/src/kisscomps/components/patternList/patternList.vue +562 -562
  236. package/src/kisscomps/index.js +92 -92
  237. package/src/lib/publicjs/ArryListUtil.js +38 -38
  238. package/src/lib/publicjs/HttpurlMgr.js +45 -45
  239. package/src/lib/publicjs/KissApi.js +158 -158
  240. package/src/lib/publicjs/KissWSSub/Heartcheck.js +128 -128
  241. package/src/lib/publicjs/KissWSSub/KissWsSub.js +91 -91
  242. package/src/lib/publicjs/KissWSSub/KissWsSubByType.js +152 -152
  243. package/src/lib/publicjs/KissWSSub/SimuWsSubByType.js +44 -44
  244. package/src/lib/publicjs/KissWSSub/Sub.js +51 -51
  245. package/src/lib/publicjs/KissWSSub/SubChannel.js +119 -119
  246. package/src/lib/publicjs/basecomponents.js +65 -65
  247. package/src/lib/publicjs/localStorage.js +112 -112
  248. package/src/lib/publicjs/objdeepcopy.js +32 -32
  249. package/src/lib/publicjs/pageScroll.js +30 -30
  250. package/src/lib/publicjs/passwdAssest.js +101 -101
  251. package/src/lib/publicjs/styleclassfactory.js +32 -32
  252. package/src/main.js +47 -47
  253. package/src/router/index.js +36 -36
  254. package/src/store/getters.js +16 -16
  255. package/src/store/index.js +26 -26
  256. package/src/store/modules/globalParam.js +27 -27
  257. package/src/utils/ControlFormat.js +68 -68
  258. package/src/utils/RingDataModel.js +180 -180
  259. package/src/utils/auth.js +111 -111
  260. package/src/utils/dateFormat.js +41 -41
  261. package/src/utils/errorcode.js +224 -224
  262. package/src/utils/fault.js +195 -195
  263. package/src/utils/faultcode.js +209 -209
  264. package/src/utils/index.js +69 -69
  265. package/src/utils/pedphasedesc.js +119 -119
  266. package/src/utils/phasedesc.js +124 -124
  267. package/src/utils/responseMessage.js +21 -21
  268. package/src/utils/validate.js +43 -43
  269. package/src/views/home.1.vue +479 -479
  270. package/src/views/home.vue +78 -78
  271. package/src/views/intersection.vue +276 -276
  272. package/src/views/overView.vue +41 -41
  273. package/src/views/schemeconfig.vue +154 -154
  274. package/static/apiconfig.json +336 -336
  275. package/static/styles/common.scss +19 -19
  276. package/static/styles/commonkanban.scss +87 -87
  277. package/static/styles/dark/index.scss +2 -2
  278. package/static/styles/dark/theme/element-dark.scss +42 -42
  279. package/static/styles/index.scss +84 -84
  280. package/static/styles/intersection.scss +170 -170
  281. package/static/styles/light/index.scss +2 -2
  282. package/static/styles/light/theme/element-light.scss +42 -42
  283. package/static/styles/overview.scss +371 -371
  284. package/static/styles/schemeconfig.scss +405 -405
  285. package/static/styles/stages.scss +64 -64
  286. package/static/token.json +2 -2
  287. package/test/e2e/custom-assertions/elementCount.js +27 -27
  288. package/test/e2e/nightwatch.conf.js +46 -46
  289. package/test/e2e/runner.js +48 -48
  290. package/test/e2e/specs/test.js +19 -19
  291. package/test/unit/.eslintrc +7 -7
  292. package/test/unit/jest.conf.js +30 -30
  293. package/test/unit/setup.js +3 -3
  294. package/test/unit/specs/HelloWorld.spec.js +11 -11
@@ -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
@@ -1,91 +1,91 @@
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
- * @Description: 该类实现了websocket订阅服务
14
- * @Author: chengcheng
15
- * @Date: Create in 10:02 2018/12/21
16
- * @Modified By:
17
- */
18
- import WebSocketAsPromised from 'websocket-as-promised'
19
- import Sub from './Sub'
20
- export default class KissWsSub {
21
- /**
22
- * 构造函数
23
- * @param {in} wsurl websocket 连接url ws:127.0.0.1:8888
24
- * @param {in} name 标识模块
25
- */
26
- constructor (wsurl, name) {
27
- this._url = wsurl
28
- this._name = name
29
- this._ws = null
30
- this._sub_map = new Map()
31
- }
32
- /**
33
- * 启动订阅服务
34
- */
35
- async start () {
36
- if (this._ws !== null && this._ws.isOpened) return
37
- this._ws = new WebSocketAsPromised(this.url, {
38
- packMessage: data => JSON.stringify(data),
39
- unpackMessage: message => JSON.parse(message)
40
- })
41
- await this._ws.open()
42
- this._ws.onUnpackedMessage.addListener(this.dispatchMessage)
43
- }
44
- /**
45
- * 停止订阅服务
46
- */
47
- async stop () {
48
- if (this._ws.isOpening) {
49
- await this._ws.close()
50
- } else {
51
- console.log('The websocket not run!')
52
- }
53
- }
54
- /**
55
- * 分发消息
56
- * @param {in} message
57
- */
58
- dispatchMessage (message) {
59
- for (let sub of this._sub_map.values()) {
60
- sub.emitHandleSignal(message)
61
- }
62
- }
63
- /**
64
- * 创建一个订阅 指定订阅类型
65
- * @param {in} type 订阅类型标识 唯一 不能重复
66
- */
67
- createSub (type) {
68
- if (this._sub_map.has(type)) {
69
- return this._sub_map[type]
70
- }
71
- let sub = new Sub(type)
72
- this._sub_map.set(type, sub)
73
- return sub
74
- }
75
- /**
76
- * 获取已经存在的订阅根据订阅类型
77
- * @param {*} type 订阅类型
78
- * @return subObject or null
79
- */
80
- getSubByType (type) {
81
- if (this._sub_map.has(type)) {
82
- return this._sub_map.get(type)
83
- }
84
- return null
85
- }
86
- stopSubByType (type) {
87
- if (this._sub_map.has(type)) {
88
- return this._sub_map.get(type).stop()
89
- }
90
- }
91
- }
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
+ * @Description: 该类实现了websocket订阅服务
14
+ * @Author: chengcheng
15
+ * @Date: Create in 10:02 2018/12/21
16
+ * @Modified By:
17
+ */
18
+ import WebSocketAsPromised from 'websocket-as-promised'
19
+ import Sub from './Sub'
20
+ export default class KissWsSub {
21
+ /**
22
+ * 构造函数
23
+ * @param {in} wsurl websocket 连接url ws:127.0.0.1:8888
24
+ * @param {in} name 标识模块
25
+ */
26
+ constructor (wsurl, name) {
27
+ this._url = wsurl
28
+ this._name = name
29
+ this._ws = null
30
+ this._sub_map = new Map()
31
+ }
32
+ /**
33
+ * 启动订阅服务
34
+ */
35
+ async start () {
36
+ if (this._ws !== null && this._ws.isOpened) return
37
+ this._ws = new WebSocketAsPromised(this.url, {
38
+ packMessage: data => JSON.stringify(data),
39
+ unpackMessage: message => JSON.parse(message)
40
+ })
41
+ await this._ws.open()
42
+ this._ws.onUnpackedMessage.addListener(this.dispatchMessage)
43
+ }
44
+ /**
45
+ * 停止订阅服务
46
+ */
47
+ async stop () {
48
+ if (this._ws.isOpening) {
49
+ await this._ws.close()
50
+ } else {
51
+ console.log('The websocket not run!')
52
+ }
53
+ }
54
+ /**
55
+ * 分发消息
56
+ * @param {in} message
57
+ */
58
+ dispatchMessage (message) {
59
+ for (let sub of this._sub_map.values()) {
60
+ sub.emitHandleSignal(message)
61
+ }
62
+ }
63
+ /**
64
+ * 创建一个订阅 指定订阅类型
65
+ * @param {in} type 订阅类型标识 唯一 不能重复
66
+ */
67
+ createSub (type) {
68
+ if (this._sub_map.has(type)) {
69
+ return this._sub_map[type]
70
+ }
71
+ let sub = new Sub(type)
72
+ this._sub_map.set(type, sub)
73
+ return sub
74
+ }
75
+ /**
76
+ * 获取已经存在的订阅根据订阅类型
77
+ * @param {*} type 订阅类型
78
+ * @return subObject or null
79
+ */
80
+ getSubByType (type) {
81
+ if (this._sub_map.has(type)) {
82
+ return this._sub_map.get(type)
83
+ }
84
+ return null
85
+ }
86
+ stopSubByType (type) {
87
+ if (this._sub_map.has(type)) {
88
+ return this._sub_map.get(type).stop()
89
+ }
90
+ }
91
+ }