@cloud-app-dev/vidc 2.3.0 → 3.0.0

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 (310) hide show
  1. package/.umirc.ts +2 -2
  2. package/es/Config/interface.d.ts +2 -1
  3. package/es/DomMove/demo.d.ts +2 -0
  4. package/es/DomMove/demo.js +16 -0
  5. package/es/DomMove/index.d.ts +16 -0
  6. package/es/DomMove/index.js +145 -0
  7. package/es/DomMove/utils.d.ts +8 -0
  8. package/es/{Picture/component/MoveContent → DomMove}/utils.js +19 -0
  9. package/es/Drawer/index.d.ts +2 -2
  10. package/es/Drawer/interface.d.ts +4 -174
  11. package/es/ErrorBoundary/index.d.ts +18 -0
  12. package/es/ErrorBoundary/index.js +84 -0
  13. package/es/List/DynamicGridList/Demo.js +40 -27
  14. package/es/List/DynamicGridList/index.d.ts +20 -29
  15. package/es/List/DynamicGridList/index.js +40 -63
  16. package/es/List/DynamicList/index.css +15 -0
  17. package/es/List/DynamicList/index.d.ts +14 -0
  18. package/es/List/DynamicList/index.js +105 -0
  19. package/es/List/DynamicList/interface.d.ts +19 -0
  20. package/es/List/DynamicList/utils.d.ts +4 -0
  21. package/es/List/DynamicList/utils.js +6 -0
  22. package/es/List/GridList/Demo.js +27 -4
  23. package/es/List/GridList/index.css +1 -0
  24. package/es/List/GridList/index.d.ts +2 -2
  25. package/es/List/GridList/index.js +8 -12
  26. package/es/List/GridList/interface.d.ts +1 -1
  27. package/es/List/VList/index.js +2 -3
  28. package/es/List/index.css +2 -54
  29. package/es/List/index.d.ts +6 -7
  30. package/es/List/index.js +14 -153
  31. package/es/List/interface.d.ts +3 -61
  32. package/es/LoaderApp/index.d.ts +1 -1
  33. package/es/LoaderApp/index.js +27 -46
  34. package/es/LoaderApp/interface.d.ts +3 -0
  35. package/es/LoaderApp/loader.d.ts +6 -7
  36. package/es/LoaderApp/loader.js +20 -30
  37. package/es/LoaderApp/sandbox.back.d.ts +18 -0
  38. package/es/LoaderApp/sandbox.back.js +356 -0
  39. package/es/LoaderApp/sandbox.d.ts +12 -0
  40. package/es/LoaderApp/sandbox.js +110 -0
  41. package/es/LoaderApp/utils.d.ts +5 -1
  42. package/es/LoaderApp/utils.js +98 -2
  43. package/es/Map/AMap.d.ts +1572 -0
  44. package/es/Map/BasicMap/AMapInstance.d.ts +15 -0
  45. package/es/Map/BasicMap/AMapInstance.js +66 -0
  46. package/es/Map/BasicMap/LeafletInstance.d.ts +15 -0
  47. package/es/Map/BasicMap/LeafletInstance.js +98 -0
  48. package/es/Map/BasicMap/index.css +24 -0
  49. package/es/Map/BasicMap/index.d.ts +9 -0
  50. package/es/Map/BasicMap/index.js +108 -0
  51. package/es/Map/ClusterLayer/hook.d.ts +5 -0
  52. package/es/Map/ClusterLayer/hook.js +144 -0
  53. package/es/Map/ClusterLayer/index.css +26 -0
  54. package/es/Map/ClusterLayer/index.d.ts +5 -0
  55. package/es/Map/ClusterLayer/index.js +31 -0
  56. package/es/Map/ClusterLayer/props.d.ts +8 -0
  57. package/es/Map/Config/index.d.ts +7 -0
  58. package/es/{InitialConfig → Map/Config}/index.js +35 -36
  59. package/es/Map/Config/utils.d.ts +2 -0
  60. package/es/{List/DynamicDeviceList → Map/Config}/utils.js +48 -45
  61. package/es/Map/Context/index.d.ts +11 -0
  62. package/es/Map/Context/index.js +66 -0
  63. package/es/Map/FindPio/index.css +7 -0
  64. package/es/Map/FindPio/index.d.ts +4 -0
  65. package/es/Map/FindPio/index.js +16 -0
  66. package/es/{WorkerFlow/Demo.d.ts → Map/InfoWindow/demo.d.ts} +0 -0
  67. package/es/{List/DynamicDeviceList/Demo.js → Map/InfoWindow/demo.js} +27 -25
  68. package/es/Map/InfoWindow/index.d.ts +8 -0
  69. package/es/Map/InfoWindow/index.js +74 -0
  70. package/es/Map/LevelCenter/DragMarker/index.d.ts +12 -0
  71. package/es/Map/LevelCenter/DragMarker/index.js +48 -0
  72. package/es/{List/DeviceList → Map/LevelCenter}/index.css +0 -0
  73. package/es/Map/LevelCenter/index.d.ts +13 -0
  74. package/es/Map/LevelCenter/index.js +42 -0
  75. package/es/Map/LoaderMap/index.d.ts +12 -0
  76. package/es/Map/LoaderMap/index.js +58 -0
  77. package/es/Map/ResetTools/index.css +32 -0
  78. package/es/Map/ResetTools/index.d.ts +9 -0
  79. package/es/Map/ResetTools/index.js +61 -0
  80. package/es/Map/SinglePoint/Marker/index.d.ts +7 -0
  81. package/es/Map/SinglePoint/Marker/index.js +29 -0
  82. package/es/Map/SinglePoint/icon/Place_icon_OnLine_Hover.svg +15 -0
  83. package/es/Map/SinglePoint/icon/Place_icon_OnLine_Normal.svg +15 -0
  84. package/es/Map/SinglePoint/icon/Place_icon_OutLine_Hover.svg +15 -0
  85. package/es/Map/SinglePoint/icon/Place_icon_OutLine_Normal.svg +15 -0
  86. package/es/Map/SinglePoint/index.css +29 -0
  87. package/es/Map/SinglePoint/index.d.ts +7 -0
  88. package/es/Map/SinglePoint/index.js +32 -0
  89. package/es/Map/hook/useMapType.d.ts +4 -0
  90. package/es/Map/hook/useMapType.js +13 -0
  91. package/es/Map/icon.d.ts +2 -0
  92. package/es/Map/icon.js +10 -0
  93. package/es/Map/index.d.ts +23 -0
  94. package/es/Map/index.js +25 -0
  95. package/es/Map/interface.d.ts +55 -0
  96. package/es/Map/points.json +61247 -0
  97. package/es/{Picture/component/MoveContent → Map/useMarker}/index.css +0 -0
  98. package/es/Map/useMarker/index.d.ts +11 -0
  99. package/es/{WorkerFlow/Form/FormAuth.js → Map/useMarker/index.js} +57 -80
  100. package/es/Map/withMap/index.d.ts +2 -0
  101. package/es/Map/withMap/index.js +12 -0
  102. package/es/Picture/index.d.ts +1 -1
  103. package/es/Picture/index.js +2 -2
  104. package/es/Player/api/index.d.ts +1 -0
  105. package/es/Player/api/index.js +7 -1
  106. package/es/Player/demo.js +13 -21
  107. package/es/Player/event/index.js +5 -1
  108. package/es/Player/frontend_player.d.ts +1 -1
  109. package/es/Player/frontend_player.js +20 -13
  110. package/es/Player/frontend_timeline.d.ts +1 -1
  111. package/es/Player/live_heart.js +45 -12
  112. package/es/Player/message.js +23 -12
  113. package/es/Player/player.d.ts +31 -7
  114. package/es/Player/segment_player.d.ts +1 -1
  115. package/es/Player/segment_player.js +30 -18
  116. package/es/Player/segment_timeline.js +6 -6
  117. package/es/Player/single_player.js +50 -9
  118. package/es/Player/timeline.js +8 -6
  119. package/es/Player/util.d.ts +2 -1
  120. package/es/Player/util.js +4 -1
  121. package/es/PlayerExt/index.css +2 -2
  122. package/es/PlayerExt/index.d.ts +3 -1
  123. package/es/PlayerExt/index.js +19 -5
  124. package/es/ScreenPlayer/Live.d.ts +5 -0
  125. package/es/ScreenPlayer/Live.js +109 -0
  126. package/es/ScreenPlayer/LiveTools.d.ts +15 -0
  127. package/es/ScreenPlayer/LiveTools.js +95 -0
  128. package/es/ScreenPlayer/PlayerWithExt.d.ts +22 -0
  129. package/es/ScreenPlayer/PlayerWithExt.js +169 -0
  130. package/es/ScreenPlayer/Record.d.ts +5 -0
  131. package/es/{WorkerFlow/index.js → ScreenPlayer/Record.js} +290 -273
  132. package/es/ScreenPlayer/RecordTools.d.ts +17 -0
  133. package/es/ScreenPlayer/RecordTools.js +102 -0
  134. package/es/ScreenPlayer/SegmentTimeLine.d.ts +10 -0
  135. package/es/ScreenPlayer/SegmentTimeLine.js +40 -0
  136. package/es/ScreenPlayer/TimeSlider.d.ts +127 -0
  137. package/es/ScreenPlayer/TimeSlider.js +528 -0
  138. package/es/ScreenPlayer/demo.d.ts +2 -0
  139. package/es/ScreenPlayer/demo.js +25 -0
  140. package/es/ScreenPlayer/demo2.d.ts +2 -0
  141. package/es/ScreenPlayer/demo2.js +153 -0
  142. package/es/ScreenPlayer/index.css +50 -0
  143. package/es/ScreenPlayer/index.d.ts +6 -0
  144. package/es/ScreenPlayer/index.js +7 -0
  145. package/es/ScreenPlayer/interface.d.ts +81 -0
  146. package/es/ScreenPlayer/useRecordList.d.ts +3 -0
  147. package/es/{WorkerFlow/Form/UserAndGroupSelect.js → ScreenPlayer/useRecordList.js} +173 -176
  148. package/es/ScreenPlayer/useVideoFit.d.ts +5 -0
  149. package/es/ScreenPlayer/useVideoFit.js +46 -0
  150. package/es/ScreenPlayer/utils.d.ts +25 -0
  151. package/es/ScreenPlayer/utils.js +84 -0
  152. package/es/Tree/demo.js +9 -12
  153. package/es/Tree/index.css +55 -29
  154. package/es/Tree/index.d.ts +20 -19
  155. package/es/Tree/index.js +70 -185
  156. package/es/index.d.ts +7 -9
  157. package/es/index.js +7 -9
  158. package/es/useInfiniteScroll/index.d.ts +16 -0
  159. package/es/{useHttp → useInfiniteScroll}/index.js +79 -43
  160. package/es/useVirtualList/index.d.ts +13 -0
  161. package/es/useVirtualList/index.js +175 -0
  162. package/es/withErrorBoundary/index.d.ts +8 -0
  163. package/es/withErrorBoundary/index.js +43 -0
  164. package/package.json +18 -21
  165. package/test.js +48 -0
  166. package/es/DeviceIcon/icon.d.ts +0 -9
  167. package/es/DeviceIcon/icon.js +0 -138
  168. package/es/DeviceIcon/index.css +0 -8
  169. package/es/DeviceIcon/index.d.ts +0 -14
  170. package/es/DeviceIcon/index.js +0 -37
  171. package/es/DeviceSelect/TreeType.d.ts +0 -7
  172. package/es/DeviceSelect/TreeType.js +0 -36
  173. package/es/DeviceSelect/demo.d.ts +0 -3
  174. package/es/DeviceSelect/demo.js +0 -22
  175. package/es/DeviceSelect/index.css +0 -11
  176. package/es/DeviceSelect/index.d.ts +0 -13
  177. package/es/DeviceSelect/index.js +0 -191
  178. package/es/Dict/cache.d.ts +0 -3
  179. package/es/Dict/cache.js +0 -21
  180. package/es/Dict/device.d.ts +0 -28
  181. package/es/Dict/device.js +0 -117
  182. package/es/Dict/hook.d.ts +0 -3
  183. package/es/Dict/hook.js +0 -98
  184. package/es/Dict/index.d.ts +0 -9
  185. package/es/Dict/index.js +0 -10
  186. package/es/Dict/interface.d.ts +0 -16
  187. package/es/Dict/utils.d.ts +0 -10
  188. package/es/Dict/utils.js +0 -44
  189. package/es/InitialConfig/index.d.ts +0 -8
  190. package/es/InitialConfig/utils.d.ts +0 -20
  191. package/es/InitialConfig/utils.js +0 -110
  192. package/es/InitialRequest/index.d.ts +0 -9
  193. package/es/InitialRequest/index.js +0 -97
  194. package/es/InitialRequest/utils.d.ts +0 -10
  195. package/es/InitialRequest/utils.js +0 -116
  196. package/es/List/CheckExt.d.ts +0 -9
  197. package/es/List/CheckExt.js +0 -36
  198. package/es/List/DeviceList/index.d.ts +0 -11
  199. package/es/List/DeviceList/index.js +0 -50
  200. package/es/List/DynamicDeviceList/Demo.d.ts +0 -3
  201. package/es/List/DynamicDeviceList/index.css +0 -39
  202. package/es/List/DynamicDeviceList/index.d.ts +0 -12
  203. package/es/List/DynamicDeviceList/index.js +0 -205
  204. package/es/List/DynamicDeviceList/interface.d.ts +0 -37
  205. package/es/List/DynamicDeviceList/utils.d.ts +0 -16
  206. package/es/List/ListExt/index.css +0 -3
  207. package/es/List/ListExt/index.d.ts +0 -19
  208. package/es/List/ListExt/index.js +0 -44
  209. package/es/Picture/component/MoveContent/index.d.ts +0 -39
  210. package/es/Picture/component/MoveContent/index.js +0 -244
  211. package/es/Picture/component/MoveContent/utils.d.ts +0 -4
  212. package/es/Title/index.css +0 -25
  213. package/es/Title/index.d.ts +0 -12
  214. package/es/Title/index.js +0 -30
  215. package/es/Tree/BaseTree/index.css +0 -64
  216. package/es/Tree/BaseTree/index.d.ts +0 -24
  217. package/es/Tree/BaseTree/index.js +0 -83
  218. package/es/UserSelect/demo.d.ts +0 -3
  219. package/es/UserSelect/demo.js +0 -21
  220. package/es/UserSelect/index.css +0 -16
  221. package/es/UserSelect/index.d.ts +0 -18
  222. package/es/UserSelect/index.js +0 -194
  223. package/es/WorkerFlow/Demo.js +0 -57
  224. package/es/WorkerFlow/Form/Approver.d.ts +0 -10
  225. package/es/WorkerFlow/Form/Approver.js +0 -33
  226. package/es/WorkerFlow/Form/Condition.d.ts +0 -11
  227. package/es/WorkerFlow/Form/Condition.js +0 -235
  228. package/es/WorkerFlow/Form/EmptyUserSet.d.ts +0 -8
  229. package/es/WorkerFlow/Form/EmptyUserSet.js +0 -137
  230. package/es/WorkerFlow/Form/FormAuth.d.ts +0 -8
  231. package/es/WorkerFlow/Form/GroupList.d.ts +0 -12
  232. package/es/WorkerFlow/Form/GroupList.js +0 -44
  233. package/es/WorkerFlow/Form/GroupSelect.d.ts +0 -8
  234. package/es/WorkerFlow/Form/GroupSelect.js +0 -167
  235. package/es/WorkerFlow/Form/GroupSelectModalContent.d.ts +0 -6
  236. package/es/WorkerFlow/Form/GroupSelectModalContent.js +0 -177
  237. package/es/WorkerFlow/Form/Handle.d.ts +0 -10
  238. package/es/WorkerFlow/Form/Handle.js +0 -33
  239. package/es/WorkerFlow/Form/LevelGroupSelect.d.ts +0 -12
  240. package/es/WorkerFlow/Form/LevelGroupSelect.js +0 -208
  241. package/es/WorkerFlow/Form/Notifier.d.ts +0 -8
  242. package/es/WorkerFlow/Form/Notifier.js +0 -16
  243. package/es/WorkerFlow/Form/UserAndGroupSelect.d.ts +0 -8
  244. package/es/WorkerFlow/Form/UserSelect.d.ts +0 -8
  245. package/es/WorkerFlow/Form/UserSelect.js +0 -150
  246. package/es/WorkerFlow/Form/UserSelectModalContent.d.ts +0 -6
  247. package/es/WorkerFlow/Form/UserSelectModalContent.js +0 -166
  248. package/es/WorkerFlow/Form/UserSet.d.ts +0 -14
  249. package/es/WorkerFlow/Form/UserSet.js +0 -308
  250. package/es/WorkerFlow/Form/UsersHandleType.d.ts +0 -7
  251. package/es/WorkerFlow/Form/UsersHandleType.js +0 -32
  252. package/es/WorkerFlow/Form/utils.d.ts +0 -3
  253. package/es/WorkerFlow/Form/utils.js +0 -47
  254. package/es/WorkerFlow/Nodes/Add.d.ts +0 -7
  255. package/es/WorkerFlow/Nodes/Add.js +0 -98
  256. package/es/WorkerFlow/Nodes/AddOption.d.ts +0 -10
  257. package/es/WorkerFlow/Nodes/AddOption.js +0 -23
  258. package/es/WorkerFlow/Nodes/AddOptionList.d.ts +0 -8
  259. package/es/WorkerFlow/Nodes/AddOptionList.js +0 -46
  260. package/es/WorkerFlow/Nodes/Approver.d.ts +0 -11
  261. package/es/WorkerFlow/Nodes/Approver.js +0 -53
  262. package/es/WorkerFlow/Nodes/Condition.d.ts +0 -10
  263. package/es/WorkerFlow/Nodes/Condition.js +0 -140
  264. package/es/WorkerFlow/Nodes/Constants.d.ts +0 -35
  265. package/es/WorkerFlow/Nodes/Constants.js +0 -150
  266. package/es/WorkerFlow/Nodes/End.d.ts +0 -7
  267. package/es/WorkerFlow/Nodes/End.js +0 -16
  268. package/es/WorkerFlow/Nodes/Handle.d.ts +0 -11
  269. package/es/WorkerFlow/Nodes/Handle.js +0 -52
  270. package/es/WorkerFlow/Nodes/Node.d.ts +0 -8
  271. package/es/WorkerFlow/Nodes/Node.js +0 -26
  272. package/es/WorkerFlow/Nodes/Notifier.d.ts +0 -11
  273. package/es/WorkerFlow/Nodes/Notifier.js +0 -52
  274. package/es/WorkerFlow/Nodes/Render.d.ts +0 -8
  275. package/es/WorkerFlow/Nodes/Render.js +0 -16
  276. package/es/WorkerFlow/Nodes/Start.d.ts +0 -12
  277. package/es/WorkerFlow/Nodes/Start.js +0 -26
  278. package/es/WorkerFlow/Nodes/TitleElement.d.ts +0 -10
  279. package/es/WorkerFlow/Nodes/TitleElement.js +0 -127
  280. package/es/WorkerFlow/Nodes/Wrap.d.ts +0 -13
  281. package/es/WorkerFlow/Nodes/Wrap.js +0 -35
  282. package/es/WorkerFlow/OperatorContext.d.ts +0 -4
  283. package/es/WorkerFlow/OperatorContext.js +0 -3
  284. package/es/WorkerFlow/Tools.d.ts +0 -8
  285. package/es/WorkerFlow/Tools.js +0 -78
  286. package/es/WorkerFlow/XML/CanvasTag.d.ts +0 -3
  287. package/es/WorkerFlow/XML/CanvasTag.js +0 -142
  288. package/es/WorkerFlow/XML/EndEvent.d.ts +0 -1
  289. package/es/WorkerFlow/XML/EndEvent.js +0 -14
  290. package/es/WorkerFlow/XML/ExclusiveGateway.d.ts +0 -9
  291. package/es/WorkerFlow/XML/ExclusiveGateway.js +0 -101
  292. package/es/WorkerFlow/XML/Root.d.ts +0 -1
  293. package/es/WorkerFlow/XML/Root.js +0 -5
  294. package/es/WorkerFlow/XML/StartEvent.d.ts +0 -5
  295. package/es/WorkerFlow/XML/StartEvent.js +0 -28
  296. package/es/WorkerFlow/XML/UserTask.d.ts +0 -5
  297. package/es/WorkerFlow/XML/UserTask.js +0 -93
  298. package/es/WorkerFlow/XML/index.d.ts +0 -4
  299. package/es/WorkerFlow/XML/index.js +0 -100
  300. package/es/WorkerFlow/XML/utils.d.ts +0 -6
  301. package/es/WorkerFlow/XML/utils.js +0 -97
  302. package/es/WorkerFlow/data.json +0 -83
  303. package/es/WorkerFlow/index.css +0 -779
  304. package/es/WorkerFlow/index.d.ts +0 -13
  305. package/es/WorkerFlow/interface.d.ts +0 -93
  306. package/es/WorkerFlow/template.d.ts +0 -2
  307. package/es/WorkerFlow/template.js +0 -17
  308. package/es/WorkerFlow/utils.d.ts +0 -14
  309. package/es/WorkerFlow/utils.js +0 -212
  310. package/es/useHttp/index.d.ts +0 -8
@@ -0,0 +1,528 @@
1
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
2
+
3
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
4
+
5
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
6
+
7
+ import moment from 'moment';
8
+ var canvasbg = 'rgba(69, 72, 76, 0.5)';
9
+ var currentColor = '#248ffa';
10
+ var normalLineColor = '#ffffff';
11
+ var hoverLineColor = '#248ffa';
12
+ var minPerStep = [1, 2, 5, 10, 15, 20, 30, 60, 120, 180, 240, 360, 720, 1440];
13
+ var minStepSize = 20;
14
+
15
+ var TimeSlider = /*#__PURE__*/function () {
16
+ function TimeSlider(canvas, options) {
17
+ var _this = this;
18
+
19
+ _classCallCheck(this, TimeSlider);
20
+
21
+ var _a, _b, _c, _d; //min/格
22
+
23
+
24
+ this.minutes_per_step = minPerStep; //刻度间最小宽度,单位px
25
+
26
+ this.graduation_step = minStepSize; //时间轴显示24小时
27
+
28
+ this.hours_per_ruler = 24; // 当前刻度开始
29
+
30
+ this.start_timestamp = new Date().getTime() - 12 * 60 * 60 * 1000;
31
+ this.distance_between_gtitle = 80;
32
+ this.zoom = 24; ////拖动mousedown标记
33
+
34
+ this.g_isMousedown = false; //拖动mousemove标记
35
+
36
+ this.g_isMousemove = false; //选中当前时间
37
+
38
+ this.current_timestamp = new Date().getTime();
39
+ this.timecell = [];
40
+ this.domLeft = 0;
41
+ /**
42
+ * 拖动/点击 mousedown事件
43
+ */
44
+
45
+ this.mousedownFunc = function (e) {
46
+ _this.g_isMousedown = true;
47
+ _this.g_mousedownCursor = _this.get_cursor_x_position(e); //记住mousedown的位置
48
+
49
+ document.addEventListener('mousemove', _this.mousemoveFunc);
50
+ document.addEventListener('mouseup', _this.mouseupFunc2);
51
+ };
52
+ /**
53
+ * 鼠标移出隐藏时间 mouseout事件
54
+ * @param {*} e
55
+ */
56
+
57
+
58
+ this.mouseoutFunc = function () {
59
+ _this.clearCanvas();
60
+
61
+ _this.init(_this.start_timestamp, _this.timecell, true);
62
+ };
63
+ /**
64
+ * 拖动/鼠标hover显示 mousemove事件
65
+ */
66
+
67
+
68
+ this.mousemoveFunc = function (e) {
69
+ if (_this.g_isMousedown) {
70
+ var pos_x = _this.get_cursor_x_position(e);
71
+
72
+ var px_per_ms = _this.canvansW / (_this.hours_per_ruler * 60 * 60 * 1000); // px/ms
73
+
74
+ _this.clearCanvas();
75
+
76
+ var diff_x = pos_x - _this.g_mousedownCursor;
77
+ _this.start_timestamp = _this.start_timestamp - Math.round(diff_x / px_per_ms);
78
+
79
+ _this.init(_this.start_timestamp, _this.timecell, true);
80
+
81
+ _this.g_isMousemove = true;
82
+ _this.g_mousedownCursor = pos_x;
83
+ }
84
+ };
85
+ /**
86
+ * 拖动/鼠标hover显示
87
+ */
88
+
89
+
90
+ this.mousemoveFunc2 = function (e) {
91
+ if (!_this.g_isMousedown) {
92
+ var pos_x = _this.get_cursor_x_position(e);
93
+
94
+ var px_per_ms = _this.canvansW / (_this.hours_per_ruler * 60 * 60 * 1000); // px/ms
95
+
96
+ _this.clearCanvas();
97
+
98
+ var time = _this.start_timestamp + pos_x / px_per_ms;
99
+
100
+ _this.init(_this.start_timestamp, _this.timecell, true);
101
+
102
+ _this.drawLine(pos_x, 0, pos_x, 40, hoverLineColor, 1);
103
+
104
+ _this.ctx.fillStyle = hoverLineColor;
105
+
106
+ _this.ctx.fillText(_this.changeTime(time), pos_x - 50, 50);
107
+ }
108
+ };
109
+ /**
110
+ * 拖动/点击 mouseup事件
111
+ */
112
+
113
+
114
+ this.mouseupFunc = function (e) {
115
+ if (_this.g_isMousemove) {
116
+ //拖动 事件
117
+ _this.g_isMousemove = false;
118
+ _this.g_isMousedown = false; // this.returnTime = this.start_timestamp + (this.hours_per_ruler * 3600 * 1000) / 2;
119
+ } else {
120
+ // click 事件
121
+ _this.g_isMousedown = false;
122
+
123
+ var posx = _this.get_cursor_x_position(e); //鼠标距离 px
124
+
125
+
126
+ var ms_per_px = _this.zoom * 3600 * 1000 / _this.canvansW; // ms/px
127
+
128
+ var current_timestamp = _this.start_timestamp + posx * ms_per_px;
129
+
130
+ var timecellItem = _this.timecell.find(function (v) {
131
+ return current_timestamp >= v.beginTime && current_timestamp < v.endTime;
132
+ });
133
+
134
+ if (timecellItem && !timecellItem.url) {
135
+ // 无录像轴 不让点击
136
+ return;
137
+ }
138
+
139
+ _this.current_timestamp = _this.start_timestamp + posx * ms_per_px;
140
+
141
+ _this.set_time_to_middle(_this.current_timestamp);
142
+
143
+ _this.options.onTimeChange && _this.options.onTimeChange(_this.current_timestamp);
144
+ }
145
+
146
+ document.removeEventListener('mousemove', _this.mousemoveFunc);
147
+ };
148
+ /**
149
+ * 拖动/点击 mouseup事件
150
+ */
151
+
152
+
153
+ this.mouseupFunc2 = function () {
154
+ if (_this.g_isMousemove) {
155
+ //拖动 事件
156
+ _this.g_isMousemove = false;
157
+ _this.g_isMousedown = false; // this.returnTime = this.start_timestamp + (this.hours_per_ruler * 3600 * 1000) / 2;
158
+ }
159
+
160
+ document.removeEventListener('mousemove', _this.mousemoveFunc);
161
+ document.removeEventListener('mouseup', _this.mouseupFunc2);
162
+ };
163
+ /**
164
+ * 滚轮放大缩小,以时间轴中心为准 mousewheel事件
165
+ */
166
+
167
+
168
+ this.mousewheelFunc = function (event) {
169
+ if (event && event.preventDefault) {
170
+ event.preventDefault();
171
+ } else {
172
+ window.event.returnValue = false;
173
+ return;
174
+ }
175
+
176
+ var e = window.event || event;
177
+ var delta = Math.max(-1, Math.min(1, e.wheelDelta || -e.detail));
178
+ var middle_time = _this.start_timestamp + _this.hours_per_ruler * 3600 * 1000 / 2; //ms 记住当前中间的时间
179
+
180
+ if (delta < 0) {
181
+ _this.zoom = _this.zoom + 4;
182
+
183
+ if (_this.zoom >= 24) {
184
+ _this.zoom = 24; //放大最大24小时
185
+ }
186
+
187
+ _this.hours_per_ruler = _this.zoom;
188
+ } else if (delta > 0) {
189
+ // 放大
190
+ _this.zoom = _this.zoom - 4;
191
+
192
+ if (_this.zoom <= 1) {
193
+ _this.zoom = 1; //缩小最小1小时
194
+ }
195
+
196
+ _this.hours_per_ruler = _this.zoom;
197
+ }
198
+
199
+ _this.clearCanvas();
200
+
201
+ _this.start_timestamp = middle_time - _this.hours_per_ruler * 3600 * 1000 / 2; //start_timestamp = 当前中间的时间 - zoom/2
202
+
203
+ _this.init(_this.start_timestamp, _this.timecell, true);
204
+ };
205
+ /**
206
+ * 获取鼠标posx
207
+ * @param {*} e
208
+ */
209
+
210
+
211
+ this.get_cursor_x_position = function (e) {
212
+ var posx = 0;
213
+
214
+ if (!e) {
215
+ e = window.event;
216
+ }
217
+
218
+ if (e.pageX || e.pageY) {
219
+ posx = e.pageX - _this.domLeft;
220
+ } else if (e.clientX || e.clientY) {
221
+ posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
222
+ }
223
+
224
+ return posx;
225
+ };
226
+
227
+ var _canvas$getBoundingCl = canvas.getBoundingClientRect(),
228
+ left = _canvas$getBoundingCl.left;
229
+
230
+ this.canvas = canvas;
231
+ this.options = options;
232
+ this.canvansW = this.canvas.width = this.canvas.clientWidth;
233
+ this.canVansH = this.canvas.height = this.canvas.clientHeight;
234
+ this.hours_per_ruler = (_a = this.options.hours_per_ruler) !== null && _a !== void 0 ? _a : this.hours_per_ruler;
235
+ this.start_timestamp = (_b = this.options.start_timestamp) !== null && _b !== void 0 ? _b : this.start_timestamp;
236
+ this.current_timestamp = (_c = this.options.current_timestamp) !== null && _c !== void 0 ? _c : this.current_timestamp;
237
+ this.timecell = (_d = this.options.timecell) !== null && _d !== void 0 ? _d : this.timecell;
238
+ this.domLeft = left;
239
+ this.init(this.start_timestamp, this.timecell, false);
240
+ }
241
+
242
+ _createClass(TimeSlider, [{
243
+ key: "ctx",
244
+ get: function get() {
245
+ var _a;
246
+
247
+ return (_a = this.canvas) === null || _a === void 0 ? void 0 : _a.getContext('2d');
248
+ }
249
+ }, {
250
+ key: "init",
251
+ value: function init(start_timestamp, timecell, redrawFlag) {
252
+ this.timecell = timecell;
253
+ this.start_timestamp = start_timestamp;
254
+ this.drawCellBg();
255
+ this.add_cells(timecell);
256
+ this.add_graduations(start_timestamp);
257
+
258
+ if (!redrawFlag) {
259
+ //只有第一次进入才需要添加事件
260
+ this.add_events();
261
+ }
262
+
263
+ this.drawCurrentLine();
264
+ }
265
+ }, {
266
+ key: "drawCurrentLine",
267
+ value: function drawCurrentLine() {
268
+ var time = this.current_timestamp;
269
+ var range = [this.start_timestamp, this.start_timestamp + this.hours_per_ruler * 3600 * 1000];
270
+
271
+ if (time < range[0] || time > range[1]) {
272
+ return;
273
+ }
274
+
275
+ var ms_current = time - this.start_timestamp;
276
+ var px_per_ms = this.canvansW / (this.hours_per_ruler * 60 * 60 * 1000); // px/ms
277
+
278
+ var left = px_per_ms * ms_current;
279
+ this.ctx.fillStyle = currentColor;
280
+ this.ctx.fillText(this.changeTime(time), left - 50, 50);
281
+ this.drawLine(left, 0, left, 34, currentColor, 2); //中间当前点线
282
+ }
283
+ }, {
284
+ key: "drawCellBg",
285
+ value: function drawCellBg() {
286
+ this.ctx.fillStyle = canvasbg;
287
+ this.ctx.fillRect(0, 0, this.canvansW, 15);
288
+ }
289
+ }, {
290
+ key: "get_line_sizes",
291
+ value: function get_line_sizes(start_timestamp) {
292
+ var px_per_min = this.canvansW / (this.hours_per_ruler * 60); // px/min
293
+
294
+ var px_per_ms = this.canvansW / (this.hours_per_ruler * 60 * 60 * 1000); // px/ms
295
+
296
+ var px_per_step = this.graduation_step; // px/格 默认最小值20px
297
+
298
+ var min_per_step = px_per_step / px_per_min; // min/格
299
+
300
+ for (var i = 0; i < this.minutes_per_step.length; i++) {
301
+ if (min_per_step <= this.minutes_per_step[i]) {
302
+ //让每格时间在minutes_per_step规定的范围内
303
+ min_per_step = this.minutes_per_step[i];
304
+ px_per_step = px_per_min * min_per_step;
305
+ break;
306
+ }
307
+ }
308
+
309
+ var medium_step = 30;
310
+
311
+ for (var i = 0; i < this.minutes_per_step.length; i++) {
312
+ if (this.distance_between_gtitle / px_per_min <= this.minutes_per_step[i]) {
313
+ medium_step = this.minutes_per_step[i];
314
+ break;
315
+ }
316
+ }
317
+
318
+ var num_steps = this.canvansW / px_per_step; //总格数
319
+
320
+ var ms_offset = this.ms_to_next_step(start_timestamp, min_per_step * 60 * 1000); //开始的偏移时间 ms
321
+
322
+ var px_offset = ms_offset * px_per_ms; //开始的偏移距离 px
323
+
324
+ var ms_per_step = px_per_step / px_per_ms; // ms/step
325
+
326
+ return {
327
+ num_steps: num_steps,
328
+ px_offset: px_offset,
329
+ ms_per_step: ms_per_step,
330
+ px_per_step: px_per_step,
331
+ min_per_step: min_per_step,
332
+ medium_step: medium_step,
333
+ ms_offset: ms_offset,
334
+ px_per_ms: px_per_ms
335
+ };
336
+ }
337
+ }, {
338
+ key: "add_graduations",
339
+ value: function add_graduations(start_timestamp) {
340
+ var _this$get_line_sizes = this.get_line_sizes(start_timestamp),
341
+ num_steps = _this$get_line_sizes.num_steps,
342
+ px_offset = _this$get_line_sizes.px_offset,
343
+ px_per_step = _this$get_line_sizes.px_per_step,
344
+ ms_per_step = _this$get_line_sizes.ms_per_step,
345
+ medium_step = _this$get_line_sizes.medium_step,
346
+ ms_offset = _this$get_line_sizes.ms_offset;
347
+
348
+ var graduation_left, graduation_time, lineH;
349
+
350
+ for (var i = 0; i < num_steps; i++) {
351
+ graduation_left = px_offset + i * px_per_step; // 距离=开始的偏移距离+格数*px/格
352
+
353
+ graduation_time = start_timestamp + ms_offset + i * ms_per_step; //时间=左侧开始时间+偏移时间+格数*ms/格
354
+
355
+ var date = new Date(graduation_time);
356
+
357
+ if (date.getUTCHours() == 0 && date.getUTCMinutes() == 0) {
358
+ lineH = 15;
359
+ var big_date = this.graduation_title(date);
360
+ this.ctx.fillStyle = normalLineColor;
361
+ this.ctx.fillText(big_date, graduation_left - 12, 34);
362
+ } else if (graduation_time / (60 * 1000) % medium_step == 0) {
363
+ lineH = 15;
364
+ var middle_date = this.graduation_title(date);
365
+ this.ctx.fillStyle = normalLineColor;
366
+ this.ctx.fillText(middle_date, graduation_left - (middle_date.length > 5 ? 24 : 12), 34);
367
+ } else {
368
+ lineH = 10;
369
+ }
370
+
371
+ this.drawLine(graduation_left, 0, graduation_left, lineH, normalLineColor, 1);
372
+ }
373
+ }
374
+ }, {
375
+ key: "ms_to_next_step",
376
+ value: function ms_to_next_step(timestamp, step) {
377
+ var remainder = timestamp % step;
378
+ return remainder ? step - remainder : 0;
379
+ }
380
+ /**
381
+ * 返回时间轴上刻度的时间
382
+ * @param {*} datetime new Date 格式
383
+ */
384
+
385
+ }, {
386
+ key: "graduation_title",
387
+ value: function graduation_title(datetime) {
388
+ var h = datetime.getHours();
389
+ var m = datetime.getMinutes();
390
+ var s = datetime.getMilliseconds();
391
+
392
+ if (h == 0 && m == 0 && s == 0) {
393
+ return moment(datetime).format('YYYY.MM.DD');
394
+ }
395
+
396
+ return moment(datetime).format('HH:mm');
397
+ }
398
+ /**
399
+ * 绘制线
400
+ * @param {*} beginX
401
+ * @param {*} beginY
402
+ * @param {*} endX
403
+ * @param {*} endY
404
+ * @param {*} color
405
+ * @param {*} width
406
+ */
407
+
408
+ }, {
409
+ key: "drawLine",
410
+ value: function drawLine(beginX, beginY, endX, endY, color, width) {
411
+ this.ctx.beginPath();
412
+ this.ctx.moveTo(beginX, beginY);
413
+ this.ctx.lineTo(endX, endY);
414
+ this.ctx.strokeStyle = color;
415
+ this.ctx.lineWidth = width;
416
+ this.ctx.stroke();
417
+ }
418
+ /**
419
+ * 添加录像段
420
+ * @param {*} cells 录像数组
421
+ */
422
+
423
+ }, {
424
+ key: "add_cells",
425
+ value: function add_cells(cells) {
426
+ var _this2 = this;
427
+
428
+ cells.forEach(function (cell) {
429
+ return _this2.draw_cell(cell);
430
+ });
431
+ }
432
+ /**
433
+ * 绘制录像块
434
+ * @param {*} cell cell包括beginTime ms;endTime ms;style
435
+ */
436
+
437
+ }, {
438
+ key: "draw_cell",
439
+ value: function draw_cell(cell) {
440
+ var _a;
441
+
442
+ var px_per_ms = this.canvansW / (this.hours_per_ruler * 60 * 60 * 1000); // px/ms
443
+
444
+ var beginX = (cell.beginTime - this.start_timestamp) * px_per_ms;
445
+ var cell_width = (cell.endTime - cell.beginTime) * px_per_ms;
446
+ this.ctx.fillStyle = cell.url ? ((_a = cell.style) === null || _a === void 0 ? void 0 : _a.background) || hoverLineColor : '#f32d37';
447
+ this.ctx.fillRect(beginX, 0, cell_width, 15);
448
+ }
449
+ /**
450
+ * 时间轴事件
451
+ */
452
+
453
+ }, {
454
+ key: "add_events",
455
+ value: function add_events() {
456
+ this.canvas.addEventListener('mousewheel', this.mousewheelFunc);
457
+ this.canvas.addEventListener('mousedown', this.mousedownFunc);
458
+ this.canvas.addEventListener('mousemove', this.mousemoveFunc2);
459
+ this.canvas.addEventListener('mouseup', this.mouseupFunc);
460
+ this.canvas.addEventListener('mouseout', this.mouseoutFunc);
461
+ }
462
+ }, {
463
+ key: "remove_events",
464
+ value: function remove_events() {
465
+ this.canvas.removeEventListener('mousewheel', this.mousewheelFunc);
466
+ this.canvas.removeEventListener('mousedown', this.mousedownFunc);
467
+ this.canvas.removeEventListener('mousemove', this.mousemoveFunc2);
468
+ this.canvas.removeEventListener('mouseup', this.mouseupFunc);
469
+ this.canvas.removeEventListener('mouseout', this.mouseoutFunc);
470
+ }
471
+ }, {
472
+ key: "destory",
473
+ value: function destory() {
474
+ this.remove_events();
475
+ this.canvas = null;
476
+ this.options = null;
477
+ this.timecell = null;
478
+ }
479
+ /**
480
+ * 返回 2018-01-01 10:00:00 格式时间
481
+ * @param {*} time
482
+ */
483
+
484
+ }, {
485
+ key: "changeTime",
486
+ value: function changeTime(time) {
487
+ return moment(time).format('YYYY-MM-DD HH:mm:ss');
488
+ }
489
+ /**
490
+ * 设置时间,让这个时间点跳到中间红线处
491
+ * @param {*} time 单位ms
492
+ */
493
+
494
+ }, {
495
+ key: "set_time_to_middle",
496
+ value: function set_time_to_middle(time) {
497
+ this.clearCanvas();
498
+ this.start_timestamp = time - this.hours_per_ruler * 60 * 60 * 1000 / 2;
499
+ this.init(this.start_timestamp, this.timecell, true);
500
+ }
501
+ /**
502
+ * 返回点击或者拖动的时间点
503
+ */
504
+
505
+ }, {
506
+ key: "returnMouseupTime",
507
+ value: function returnMouseupTime(callback) {
508
+ if (this.current_timestamp != null) {
509
+ if (callback) {
510
+ callback(this.current_timestamp);
511
+ }
512
+ }
513
+ }
514
+ /**
515
+ * 清除canvas 每次重新绘制需要先清除
516
+ */
517
+
518
+ }, {
519
+ key: "clearCanvas",
520
+ value: function clearCanvas() {
521
+ this.ctx.clearRect(0, 0, 1500, 150);
522
+ }
523
+ }]);
524
+
525
+ return TimeSlider;
526
+ }();
527
+
528
+ export { TimeSlider as default };
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export default function (): JSX.Element;
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ import LivePlayer from './Live';
3
+ var list = [{
4
+ url: 'https://6a75ef90-6-server.antelopecloud.cn/flv_live?app=live&token=542449336_3356491776_1691734783_0e329cf89f3333a17ccaf8533466a577',
5
+ type: 'flv'
6
+ }, {
7
+ url: 'https://6a75ef90-2-server.antelopecloud.cn/flv_live?app=live&token=542453242_3356491776_1691734590_6fb5b57fd5095ff2e6ff331fe605a593',
8
+ type: 'flv'
9
+ }, {
10
+ url: 'https://6a75ef90-2-server.antelopecloud.cn/flv_live?app=live&token=542453302_3356491776_1691735024_3bb73732b5e0a857b70248a179804801',
11
+ type: 'flv'
12
+ }, {
13
+ url: 'https://6a75ef90-0-server.antelopecloud.cn/flv_live?app=live&token=557997490_3356491776_1691725056_86b4dd8105fea7b1180408a63d17b37b',
14
+ type: 'flv'
15
+ }];
16
+ export default function () {
17
+ return /*#__PURE__*/React.createElement("div", {
18
+ style: {
19
+ width: 1200,
20
+ height: 800
21
+ }
22
+ }, /*#__PURE__*/React.createElement(LivePlayer, {
23
+ list: list
24
+ }));
25
+ }
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export default function App(): JSX.Element;