@cloud-app-dev/vidc 4.0.20 → 4.0.21

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 (410) hide show
  1. package/es/AppContext/Sync.d.ts +8 -0
  2. package/es/AppContext/Sync.js +42 -0
  3. package/es/AppContext/index.d.ts +10 -0
  4. package/es/AppContext/index.js +141 -0
  5. package/es/AppContext/interface.d.ts +41 -0
  6. package/es/AppContext/static.d.ts +8 -0
  7. package/es/AppContext/static.js +9 -0
  8. package/es/Auth/index.d.ts +8 -0
  9. package/es/Auth/index.js +14 -0
  10. package/es/AutoExit/index.d.ts +6 -0
  11. package/es/AutoExit/index.js +19 -0
  12. package/es/CheckGroupFixed/demo.d.ts +3 -0
  13. package/es/CheckGroupFixed/demo.js +22 -0
  14. package/es/CheckGroupFixed/index.d.ts +24 -0
  15. package/es/CheckGroupFixed/index.js +140 -0
  16. package/es/CheckGroupFixed/index.less +56 -0
  17. package/es/Config/index.d.ts +4 -0
  18. package/es/Config/index.js +77 -0
  19. package/es/Config/interface.d.ts +65 -0
  20. package/es/Config/utils.d.ts +4 -0
  21. package/es/Config/utils.js +33 -0
  22. package/es/ConfigContext/index.d.ts +17 -0
  23. package/es/ConfigContext/index.js +21 -0
  24. package/es/CustomRenderSelect/index.d.ts +12 -0
  25. package/es/CustomRenderSelect/index.js +73 -0
  26. package/es/CustomRenderSelect/index.less +25 -0
  27. package/es/DBTools/index.d.ts +25 -0
  28. package/es/DBTools/index.js +336 -0
  29. package/es/DisableMark/index.d.ts +9 -0
  30. package/es/DisableMark/index.js +19 -0
  31. package/es/DisableMark/index.less +9 -0
  32. package/es/DomMove/demo.d.ts +2 -0
  33. package/es/DomMove/demo.js +16 -0
  34. package/es/DomMove/index.d.ts +16 -0
  35. package/es/DomMove/index.js +139 -0
  36. package/es/DomMove/utils.d.ts +8 -0
  37. package/es/DomMove/utils.js +32 -0
  38. package/es/Drag/DragAndDropItem.d.ts +4 -0
  39. package/es/Drag/DragAndDropItem.js +134 -0
  40. package/es/Drag/DropItem.d.ts +4 -0
  41. package/es/Drag/DropItem.js +50 -0
  42. package/es/Drag/index.d.ts +7 -0
  43. package/es/Drag/index.js +7 -0
  44. package/es/Drag/interface.d.ts +16 -0
  45. package/es/DynamicGridList/Demo.d.ts +3 -0
  46. package/es/DynamicGridList/Demo.js +77 -0
  47. package/es/DynamicGridList/index.d.ts +24 -0
  48. package/es/DynamicGridList/index.js +67 -0
  49. package/es/DynamicList/demo.d.ts +2 -0
  50. package/es/DynamicList/demo.js +44 -0
  51. package/es/DynamicList/index.d.ts +22 -0
  52. package/es/DynamicList/index.js +86 -0
  53. package/es/DynamicList/index.less +17 -0
  54. package/es/DynamicList/interface.d.ts +19 -0
  55. package/es/DynamicList/utils.d.ts +4 -0
  56. package/es/DynamicList/utils.js +6 -0
  57. package/es/ErrorFallback/index.d.ts +9 -0
  58. package/es/ErrorFallback/index.js +31 -0
  59. package/es/ErrorFallback/inerface.d.ts +48 -0
  60. package/es/EventTools/index.d.ts +3 -0
  61. package/es/EventTools/index.js +12 -0
  62. package/es/FrontendPlayer/index.d.ts +4 -0
  63. package/es/FrontendPlayer/index.js +2 -0
  64. package/es/FullScreen/index.d.ts +22 -0
  65. package/es/FullScreen/index.js +33 -0
  66. package/es/FullScreen/index.less +18 -0
  67. package/es/GridList/Demo.d.ts +3 -0
  68. package/es/GridList/Demo.js +80 -0
  69. package/es/GridList/data.d.ts +16 -0
  70. package/es/GridList/data.js +609 -0
  71. package/es/GridList/hook.d.ts +13 -0
  72. package/es/GridList/hook.js +270 -0
  73. package/es/GridList/index.d.ts +15 -0
  74. package/es/GridList/index.js +44 -0
  75. package/es/GridList/index.less +8 -0
  76. package/es/GridList/interface.d.ts +59 -0
  77. package/es/GridList/utils.d.ts +9 -0
  78. package/es/GridList/utils.js +42 -0
  79. package/es/HightLevel/index.d.ts +9 -0
  80. package/es/HightLevel/index.js +18 -0
  81. package/es/HightLevel/index.less +3 -0
  82. package/es/IconFont/index.d.ts +12 -0
  83. package/es/IconFont/index.js +54 -0
  84. package/es/ImageView/index.d.ts +20 -0
  85. package/es/ImageView/index.js +51 -0
  86. package/es/ImageView/index.less +11 -0
  87. package/es/InstanceHistory/index.d.ts +3 -0
  88. package/es/InstanceHistory/index.js +7 -0
  89. package/es/LabelPlayer/111.png +0 -0
  90. package/es/LabelPlayer/demo.d.ts +2 -0
  91. package/es/LabelPlayer/demo.js +115 -0
  92. package/es/LabelPlayer/index.d.ts +21 -0
  93. package/es/LabelPlayer/index.js +160 -0
  94. package/es/LabelPlayer/index.less +24 -0
  95. package/es/LabelValue/index.d.ts +15 -0
  96. package/es/LabelValue/index.js +27 -0
  97. package/es/LabelValue/index.less +23 -0
  98. package/es/List/demo.d.ts +3 -0
  99. package/es/List/demo.js +23 -0
  100. package/es/List/index.d.ts +28 -0
  101. package/es/List/index.js +28 -0
  102. package/es/List/index.less +20 -0
  103. package/es/ListWithSizeAnimate/demo.d.ts +2 -0
  104. package/es/ListWithSizeAnimate/demo.js +98 -0
  105. package/es/ListWithSizeAnimate/index.d.ts +14 -0
  106. package/es/ListWithSizeAnimate/index.js +85 -0
  107. package/es/ListWithSizeAnimate/index.less +23 -0
  108. package/es/LoaderScript/index.d.ts +47 -0
  109. package/es/LoaderScript/index.js +34 -0
  110. package/es/LoaderScript/utils.d.ts +13 -0
  111. package/es/LoaderScript/utils.js +179 -0
  112. package/es/Map/AMap.d.ts +7109 -0
  113. package/es/Map/BasicMap/AMapInstance.d.ts +19 -0
  114. package/es/Map/BasicMap/AMapInstance.js +98 -0
  115. package/es/Map/BasicMap/LeafletInstance.d.ts +18 -0
  116. package/es/Map/BasicMap/LeafletInstance.js +111 -0
  117. package/es/Map/BasicMap/index.d.ts +9 -0
  118. package/es/Map/BasicMap/index.js +90 -0
  119. package/es/Map/BasicMap/index.less +29 -0
  120. package/es/Map/ClusterLayer/demo.d.ts +3 -0
  121. package/es/Map/ClusterLayer/demo.js +18 -0
  122. package/es/Map/ClusterLayer/hook.d.ts +5 -0
  123. package/es/Map/ClusterLayer/hook.js +123 -0
  124. package/es/Map/ClusterLayer/index.d.ts +6 -0
  125. package/es/Map/ClusterLayer/index.js +28 -0
  126. package/es/Map/ClusterLayer/index.less +29 -0
  127. package/es/Map/ClusterLayer/props.d.ts +8 -0
  128. package/es/Map/Config/index.d.ts +9 -0
  129. package/es/Map/Config/index.js +48 -0
  130. package/es/Map/Config/utils.d.ts +2 -0
  131. package/es/Map/Config/utils.js +65 -0
  132. package/es/Map/Context/index.d.ts +11 -0
  133. package/es/Map/Context/index.js +51 -0
  134. package/es/Map/FindPio/index.d.ts +4 -0
  135. package/es/Map/FindPio/index.js +13 -0
  136. package/es/Map/FindPio/index.less +7 -0
  137. package/es/Map/InfoWindow/MakerLikeWindow.d.ts +4 -0
  138. package/es/Map/InfoWindow/MakerLikeWindow.js +112 -0
  139. package/es/Map/InfoWindow/demo.d.ts +3 -0
  140. package/es/Map/InfoWindow/demo.js +70 -0
  141. package/es/Map/InfoWindow/index.d.ts +11 -0
  142. package/es/Map/InfoWindow/index.js +66 -0
  143. package/es/Map/LevelCenter/DragMarker/index.d.ts +10 -0
  144. package/es/Map/LevelCenter/DragMarker/index.js +42 -0
  145. package/es/Map/LevelCenter/demo.d.ts +3 -0
  146. package/es/Map/LevelCenter/demo.js +38 -0
  147. package/es/Map/LevelCenter/index.d.ts +15 -0
  148. package/es/Map/LevelCenter/index.js +66 -0
  149. package/es/Map/LoaderMap/index.d.ts +7 -0
  150. package/es/Map/LoaderMap/index.js +62 -0
  151. package/es/Map/MapDrawSelect/demo.d.ts +3 -0
  152. package/es/Map/MapDrawSelect/demo.js +71 -0
  153. package/es/Map/MapDrawSelect/index.d.ts +15 -0
  154. package/es/Map/MapDrawSelect/index.js +56 -0
  155. package/es/Map/MouseTool/index.d.ts +10 -0
  156. package/es/Map/MouseTool/index.js +40 -0
  157. package/es/Map/MouseTool/useMouseTools.d.ts +7 -0
  158. package/es/Map/MouseTool/useMouseTools.js +83 -0
  159. package/es/Map/ResetTools/index.d.ts +10 -0
  160. package/es/Map/ResetTools/index.js +57 -0
  161. package/es/Map/ResetTools/index.less +39 -0
  162. package/es/Map/SinglePoint/demo.d.ts +3 -0
  163. package/es/Map/SinglePoint/demo.js +14 -0
  164. package/es/Map/SinglePoint/index.d.ts +27 -0
  165. package/es/Map/SinglePoint/index.js +52 -0
  166. package/es/Map/SinglePoint/index.less +41 -0
  167. package/es/Map/hook/useMapEvent.d.ts +2 -0
  168. package/es/Map/hook/useMapEvent.js +19 -0
  169. package/es/Map/hook/useMapType.d.ts +4 -0
  170. package/es/Map/hook/useMapType.js +12 -0
  171. package/es/Map/icon.d.ts +2 -0
  172. package/es/Map/icon.js +10 -0
  173. package/es/Map/index.d.ts +24 -0
  174. package/es/Map/index.js +25 -0
  175. package/es/Map/interface.d.ts +74 -0
  176. package/es/Map/points.d.ts +50 -0
  177. package/es/Map/points.js +1 -0
  178. package/es/Map/useMarker/index.d.ts +10 -0
  179. package/es/Map/useMarker/index.js +71 -0
  180. package/es/Map/withMap/index.d.ts +3 -0
  181. package/es/Map/withMap/index.js +10 -0
  182. package/es/Picture/component/DefaultRects/RectInfo.d.ts +8 -0
  183. package/es/Picture/component/DefaultRects/RectInfo.js +80 -0
  184. package/es/Picture/component/DefaultRects/index.d.ts +13 -0
  185. package/es/Picture/component/DefaultRects/index.js +52 -0
  186. package/es/Picture/component/DefaultRects/index.less +211 -0
  187. package/es/Picture/component/DefaultRects/utils.d.ts +2 -0
  188. package/es/Picture/component/DefaultRects/utils.js +11 -0
  189. package/es/Picture/component/DrawRect/index.d.ts +13 -0
  190. package/es/Picture/component/DrawRect/index.js +46 -0
  191. package/es/Picture/component/DrawRect/index.less +8 -0
  192. package/es/Picture/component/RectMenu/index.d.ts +12 -0
  193. package/es/Picture/component/RectMenu/index.js +76 -0
  194. package/es/Picture/component/RectMenu/index.less +36 -0
  195. package/es/Picture/component/RectMenu/utils.d.ts +12 -0
  196. package/es/Picture/component/RectMenu/utils.js +19 -0
  197. package/es/Picture/component/Tools/index.d.ts +12 -0
  198. package/es/Picture/component/Tools/index.js +73 -0
  199. package/es/Picture/component/Tools/index.less +49 -0
  200. package/es/Picture/component/WheelScale/index.d.ts +7 -0
  201. package/es/Picture/component/WheelScale/index.js +27 -0
  202. package/es/Picture/demo.d.ts +2 -0
  203. package/es/Picture/demo.js +105 -0
  204. package/es/Picture/index.d.ts +5 -0
  205. package/es/Picture/index.js +341 -0
  206. package/es/Picture/index.less +20 -0
  207. package/es/Picture/interface.d.ts +196 -0
  208. package/es/Picture/loadCaptureRectImage.d.ts +3 -0
  209. package/es/Picture/loadCaptureRectImage.js +99 -0
  210. package/es/Picture/useDraw.d.ts +1 -0
  211. package/es/Picture/useDraw.js +103 -0
  212. package/es/Picture/utils.d.ts +26 -0
  213. package/es/Picture/utils.js +143 -0
  214. package/es/Player/api/index.d.ts +68 -0
  215. package/es/Player/api/index.js +309 -0
  216. package/es/Player/context.d.ts +17 -0
  217. package/es/Player/context.js +24 -0
  218. package/es/Player/contraller_bar/bar.d.ts +8 -0
  219. package/es/Player/contraller_bar/bar.js +20 -0
  220. package/es/Player/contraller_bar/contraller_event.d.ts +6 -0
  221. package/es/Player/contraller_bar/contraller_event.js +50 -0
  222. package/es/Player/contraller_bar/index.d.ts +14 -0
  223. package/es/Player/contraller_bar/index.js +27 -0
  224. package/es/Player/contraller_bar/left_bar.d.ts +10 -0
  225. package/es/Player/contraller_bar/left_bar.js +83 -0
  226. package/es/Player/contraller_bar/right_bar.d.ts +8 -0
  227. package/es/Player/contraller_bar/right_bar.js +32 -0
  228. package/es/Player/contraller_bar/time.d.ts +3 -0
  229. package/es/Player/contraller_bar/time.js +19 -0
  230. package/es/Player/contraller_bar/useBarStatus.d.ts +2 -0
  231. package/es/Player/contraller_bar/useBarStatus.js +43 -0
  232. package/es/Player/contraller_bar/volume.d.ts +9 -0
  233. package/es/Player/contraller_bar/volume.js +62 -0
  234. package/es/Player/demo.d.ts +3 -0
  235. package/es/Player/demo.js +266 -0
  236. package/es/Player/empty.d.ts +2 -0
  237. package/es/Player/empty.js +4 -0
  238. package/es/Player/event/errorEvent.d.ts +14 -0
  239. package/es/Player/event/errorEvent.js +88 -0
  240. package/es/Player/event/eventName.d.ts +18 -0
  241. package/es/Player/event/eventName.js +29 -0
  242. package/es/Player/event/index.d.ts +24 -0
  243. package/es/Player/event/index.js +205 -0
  244. package/es/Player/fps_play.d.ts +11 -0
  245. package/es/Player/fps_play.js +83 -0
  246. package/es/Player/frontend_player.d.ts +8 -0
  247. package/es/Player/frontend_player.js +64 -0
  248. package/es/Player/frontend_timeline.d.ts +10 -0
  249. package/es/Player/frontend_timeline.js +132 -0
  250. package/es/Player/iconfont.d.ts +5 -0
  251. package/es/Player/iconfont.js +16 -0
  252. package/es/Player/index.d.ts +2 -0
  253. package/es/Player/index.js +2 -0
  254. package/es/Player/live_heart.d.ts +8 -0
  255. package/es/Player/live_heart.js +45 -0
  256. package/es/Player/message.d.ts +5 -0
  257. package/es/Player/message.js +137 -0
  258. package/es/Player/player.d.ts +233 -0
  259. package/es/Player/segment_player.d.ts +9 -0
  260. package/es/Player/segment_player.js +228 -0
  261. package/es/Player/segment_timeline.d.ts +12 -0
  262. package/es/Player/segment_timeline.js +173 -0
  263. package/es/Player/single_player.d.ts +5 -0
  264. package/es/Player/single_player.js +262 -0
  265. package/es/Player/style/bar.less +43 -0
  266. package/es/Player/style/iconfont.js +43 -0
  267. package/es/Player/style/index.less +34 -0
  268. package/es/Player/style/message.less +56 -0
  269. package/es/Player/style/slider.less +106 -0
  270. package/es/Player/style/timeline.less +117 -0
  271. package/es/Player/style/volume.less +24 -0
  272. package/es/Player/timeline.d.ts +5 -0
  273. package/es/Player/timeline.js +95 -0
  274. package/es/Player/util.d.ts +43 -0
  275. package/es/Player/util.js +189 -0
  276. package/es/PlayerExt/demo.d.ts +3 -0
  277. package/es/PlayerExt/demo.js +154 -0
  278. package/es/PlayerExt/index.d.ts +48 -0
  279. package/es/PlayerExt/index.js +188 -0
  280. package/es/PlayerExt/index.less +10 -0
  281. package/es/Progress/index.d.ts +7 -0
  282. package/es/Progress/index.js +53 -0
  283. package/es/Progress/index.less +21 -0
  284. package/es/ROI/demo.d.ts +3 -0
  285. package/es/ROI/demo.js +16 -0
  286. package/es/ROI/index.d.ts +33 -0
  287. package/es/ROI/index.js +54 -0
  288. package/es/ROI/index.less +33 -0
  289. package/es/RefDrawer/Footer.d.ts +9 -0
  290. package/es/RefDrawer/Footer.js +22 -0
  291. package/es/RefDrawer/demo.d.ts +3 -0
  292. package/es/RefDrawer/demo.js +18 -0
  293. package/es/RefDrawer/index.d.ts +26 -0
  294. package/es/RefDrawer/index.js +71 -0
  295. package/es/RefModal/demo.d.ts +3 -0
  296. package/es/RefModal/demo.js +18 -0
  297. package/es/RefModal/index.d.ts +17 -0
  298. package/es/RefModal/index.js +70 -0
  299. package/es/ScreenPlayer/Live.d.ts +5 -0
  300. package/es/ScreenPlayer/Live.js +212 -0
  301. package/es/ScreenPlayer/LiveTools.d.ts +29 -0
  302. package/es/ScreenPlayer/LiveTools.js +151 -0
  303. package/es/ScreenPlayer/PlayerWithExt.d.ts +34 -0
  304. package/es/ScreenPlayer/PlayerWithExt.js +231 -0
  305. package/es/ScreenPlayer/RatePick.d.ts +8 -0
  306. package/es/ScreenPlayer/RatePick.js +29 -0
  307. package/es/ScreenPlayer/Record.d.ts +10 -0
  308. package/es/ScreenPlayer/Record.js +442 -0
  309. package/es/ScreenPlayer/RecordTools.d.ts +38 -0
  310. package/es/ScreenPlayer/RecordTools.js +197 -0
  311. package/es/ScreenPlayer/ScreenSelect.d.ts +7 -0
  312. package/es/ScreenPlayer/ScreenSelect.js +46 -0
  313. package/es/ScreenPlayer/SegmentTimeLine.d.ts +17 -0
  314. package/es/ScreenPlayer/SegmentTimeLine.js +36 -0
  315. package/es/ScreenPlayer/TimeMode.d.ts +7 -0
  316. package/es/ScreenPlayer/TimeMode.js +26 -0
  317. package/es/ScreenPlayer/TimeSelect.d.ts +7 -0
  318. package/es/ScreenPlayer/TimeSelect.js +88 -0
  319. package/es/ScreenPlayer/demo.d.ts +2 -0
  320. package/es/ScreenPlayer/demo.js +21 -0
  321. package/es/ScreenPlayer/demo2.d.ts +2 -0
  322. package/es/ScreenPlayer/demo2.js +194 -0
  323. package/es/ScreenPlayer/index.d.ts +6 -0
  324. package/es/ScreenPlayer/index.js +9 -0
  325. package/es/ScreenPlayer/index.less +335 -0
  326. package/es/ScreenPlayer/interface.d.ts +216 -0
  327. package/es/ScreenPlayer/useTimeSlider.d.ts +25 -0
  328. package/es/ScreenPlayer/useTimeSlider.js +451 -0
  329. package/es/ScreenPlayer/useVideoFit.d.ts +5 -0
  330. package/es/ScreenPlayer/useVideoFit.js +35 -0
  331. package/es/ScreenPlayer/utils.d.ts +17 -0
  332. package/es/ScreenPlayer/utils.js +85 -0
  333. package/es/SegmentPlayer/index.d.ts +2 -0
  334. package/es/SegmentPlayer/index.js +2 -0
  335. package/es/Service/http.d.ts +6 -0
  336. package/es/Service/http.js +133 -0
  337. package/es/Service/index.d.ts +3 -0
  338. package/es/Service/index.js +11 -0
  339. package/es/Service/interface.d.ts +23 -0
  340. package/es/Service/middleware.d.ts +8 -0
  341. package/es/Service/middleware.js +22 -0
  342. package/es/SocketEmitter/eventEmitter.d.ts +27 -0
  343. package/es/SocketEmitter/eventEmitter.js +88 -0
  344. package/es/SocketEmitter/index.d.ts +24 -0
  345. package/es/SocketEmitter/index.js +125 -0
  346. package/es/SocketEmitter/interface.d.ts +4 -0
  347. package/es/TableLayout/index.d.ts +10 -0
  348. package/es/TableLayout/index.js +27 -0
  349. package/es/TableLayout/index.less +4 -0
  350. package/es/ThemeAntd/demo.d.ts +4 -0
  351. package/es/ThemeAntd/demo.js +81 -0
  352. package/es/ThemeAntd/demo.less +20 -0
  353. package/es/ThemeAntd/index.d.ts +7 -0
  354. package/es/ThemeAntd/index.js +21 -0
  355. package/es/ThemeAntd/index.less +4 -0
  356. package/es/Timeout/index.d.ts +26 -0
  357. package/es/Timeout/index.js +65 -0
  358. package/es/bigNumberTransformCN/index.d.ts +5 -0
  359. package/es/bigNumberTransformCN/index.js +58 -0
  360. package/es/cache/index.d.ts +34 -0
  361. package/es/cache/index.js +94 -0
  362. package/es/copy/index.d.ts +1 -0
  363. package/es/copy/index.js +9 -0
  364. package/es/core.d.ts +0 -0
  365. package/es/getThemeStyle/index.d.ts +2 -0
  366. package/es/getThemeStyle/index.js +5 -0
  367. package/es/index.d.ts +62 -0
  368. package/es/index.js +62 -0
  369. package/es/likeGo/index.d.ts +2 -0
  370. package/es/likeGo/index.js +31 -0
  371. package/es/likeGoSync/index.d.ts +2 -0
  372. package/es/likeGoSync/index.js +10 -0
  373. package/es/logger/index.d.ts +7 -0
  374. package/es/logger/index.js +30 -0
  375. package/es/nextTick/index.d.ts +1 -0
  376. package/es/nextTick/index.js +3 -0
  377. package/es/recorder/demo.d.ts +3 -0
  378. package/es/recorder/demo.js +181 -0
  379. package/es/recorder/index.d.ts +294 -0
  380. package/es/recorder/index.js +992 -0
  381. package/es/submidstr/index.d.ts +5 -0
  382. package/es/submidstr/index.js +14 -0
  383. package/es/treeHelper/index.d.ts +11 -0
  384. package/es/treeHelper/index.js +188 -0
  385. package/es/typings.d.ts +2 -0
  386. package/es/useDrawROI/index.d.ts +16 -0
  387. package/es/useDrawROI/index.js +318 -0
  388. package/es/useEventEmitterHandle/index.d.ts +2 -0
  389. package/es/useEventEmitterHandle/index.js +17 -0
  390. package/es/useFullscreen/demo.d.ts +2 -0
  391. package/es/useFullscreen/demo.js +43 -0
  392. package/es/useFullscreen/index.d.ts +12 -0
  393. package/es/useFullscreen/index.js +76 -0
  394. package/es/useHistory/index.d.ts +3 -0
  395. package/es/useHistory/index.js +9 -0
  396. package/es/useHistory/interface.d.ts +3 -0
  397. package/es/useInfiniteScroll/index.d.ts +16 -0
  398. package/es/useInfiniteScroll/index.js +102 -0
  399. package/es/useRafInterval/index.d.ts +5 -0
  400. package/es/useRafInterval/index.js +71 -0
  401. package/es/useSimpleState/index.d.ts +3 -0
  402. package/es/useSimpleState/index.js +35 -0
  403. package/es/useVirtualList/index.d.ts +13 -0
  404. package/es/useVirtualList/index.js +136 -0
  405. package/es/utils.d.ts +14 -0
  406. package/es/utils.js +46 -0
  407. package/es/uuid/index.d.ts +5 -0
  408. package/es/uuid/index.js +6 -0
  409. package/package.json +1 -1
  410. package/tsconfig.json +1 -1
@@ -0,0 +1,216 @@
1
+ import type React from 'react';
2
+ import type { ExportPlayerType, ISegmentType } from '../Player/player';
3
+ import type { PlayModeType } from '../PlayerExt';
4
+
5
+ export type RecordItem = {
6
+ type?: 'flv' | 'hls' | 'native';
7
+ date?: number; //视频窗口日期
8
+ endDate?: number;
9
+ cid?: string;
10
+ segments?: ISegmentType[];
11
+ url?: string;
12
+ recordType?: 1 | 2; //1云录像 2前端录像
13
+ mode?: PlayModeType;
14
+ loading?: boolean; // 录像获取状态
15
+ };
16
+
17
+ export interface IRecordPlayerProps {
18
+ /**
19
+ * 播放对象
20
+ */
21
+ list?: RecordItem[];
22
+ children?: JSX.Element;
23
+
24
+ /**
25
+ * 窗口索引变化,后续基于索引传入播放必要数据
26
+ */
27
+ onIndexChange?: (idx: number) => void;
28
+
29
+ /**
30
+ * 关闭单个窗口
31
+ */
32
+ onClose?: () => void;
33
+
34
+ /**
35
+ * 关闭所有窗口
36
+ */
37
+ onCloseAll?: () => void;
38
+ /**
39
+ * 录像下载回调
40
+ */
41
+ download?: (segments: ISegmentType[]) => void;
42
+
43
+ /**
44
+ * 截图
45
+ */
46
+ snapshot?: (base64: string) => void;
47
+
48
+ /**
49
+ * 窗口变化
50
+ */
51
+ screenChange?: (num: number) => void;
52
+
53
+ /**
54
+ * 默认窗口数量
55
+ */
56
+ defaultScreen?: 1 | 4 | 6 | 9 | 16;
57
+
58
+ /**
59
+ * 窗口数量,若有值数量将由外部控制
60
+ */
61
+ screenNum?: 1 | 4 | 6 | 9 | 16;
62
+
63
+ /**
64
+ * 默认选中窗口
65
+ * @default 0
66
+ */
67
+ defaultSelectIndex?: number;
68
+ /**
69
+ * 单窗口拓展工具条,左侧
70
+ */
71
+ oneWinExtTools?: JSX.Element;
72
+
73
+ /**
74
+ * 全局窗口工具条,右侧
75
+ */
76
+ allWinExtTools?: JSX.Element;
77
+
78
+ fpsDelay?: number;
79
+ fps?: number;
80
+
81
+ /**
82
+ * 自定义合成前端录像
83
+ */
84
+ getLocalRecordUrl?: (options: { url: URL; begin: number; end: number; screenIndex: number }) => Promise<string>;
85
+
86
+ /**
87
+ * 插件下载地址
88
+ */
89
+ pluginDownloadUrl?: string;
90
+
91
+ /**
92
+ * 轴发生变化
93
+ */
94
+ onTimeLineChange?: (time: number) => void;
95
+
96
+ /**
97
+ * 用户控制seek频率
98
+ */
99
+ seekLoading?: boolean;
100
+
101
+ /**
102
+ * 控制播放倍数数组
103
+ */
104
+ multipleList?: number[];
105
+ }
106
+
107
+ export interface IRecordPlayerState {
108
+ /**
109
+ * 窗口数量
110
+ */
111
+ screenNum: number;
112
+
113
+ /**
114
+ * 当前窗口索引
115
+ */
116
+ selectIndex: number;
117
+
118
+ /**
119
+ * 插件OR浏览器
120
+ */
121
+ modes: { [key: string]: PlayModeType };
122
+
123
+ /**
124
+ * 时间轴开始时间
125
+ */
126
+ currentTimes: { [key: string]: number };
127
+
128
+ /**
129
+ *
130
+ */
131
+ begins: { [key: string]: number };
132
+
133
+ /**
134
+ * 需要seek的时间针对当前窗口,为0时忽略
135
+ */
136
+ seekTo?: { [key: string]: number };
137
+
138
+ /**
139
+ * 录像时间轴单页绘制时长单位(hour)
140
+ */
141
+ timeMode: number;
142
+ }
143
+
144
+ export type ScreenItemLivePlayerType = {
145
+ url?: string;
146
+ type?: 'flv' | 'hls' | 'native';
147
+ mode?: PlayModeType;
148
+ cid?: string;
149
+ };
150
+
151
+ export interface ILivePlayerProps {
152
+ list?: ScreenItemLivePlayerType[];
153
+ children?: JSX.Element;
154
+
155
+ /**
156
+ * 关闭单个窗口
157
+ */
158
+ onClose?: () => void;
159
+
160
+ /**
161
+ * 关闭所有窗口
162
+ */
163
+ onCloseAll?: () => void;
164
+ /**
165
+ * 窗口索引变化,后续基于索引传入播放必要数据
166
+ */
167
+ onIndexChange?: (idx: number) => void;
168
+
169
+ /**
170
+ * 截图
171
+ */
172
+ snapshot?: (base64: string) => void;
173
+
174
+ /**
175
+ * 窗口变化
176
+ */
177
+ screenChange?: (num: number) => void;
178
+
179
+ /**
180
+ * 默认窗口数量
181
+ */
182
+ defaultScreen?: 1 | 4 | 6 | 9 | 16;
183
+
184
+ /**
185
+ * 窗口数量,若有值由外部来完全控制
186
+ */
187
+ screenNum?: 1 | 4 | 6 | 9 | 16;
188
+
189
+ /**
190
+ * 默认选中窗口
191
+ * @default 0
192
+ */
193
+ defaultSelectIndex?: number;
194
+
195
+ /**
196
+ * 单窗口拓展工具条,左侧
197
+ */
198
+ oneWinExtTools?: JSX.Element;
199
+
200
+ /**
201
+ * 全局窗口工具条,右侧
202
+ */
203
+ allWinExtTools?: JSX.Element;
204
+
205
+ pluginDownloadUrl?: string;
206
+ }
207
+
208
+ export interface ILivePlayerState {
209
+ screenNum: number;
210
+ selectIndex: number;
211
+ modes: { [key: string]: PlayModeType };
212
+ }
213
+
214
+ export const RecordPlayer: React.FC<IRecordPlayerProps>;
215
+
216
+ export type PlayItemMapType = { [key: string]: React.MutableRefObject<ExportPlayerType> };
@@ -0,0 +1,25 @@
1
+ /// <reference types="react" />
2
+ import type { ISegmentType } from '../Player/player';
3
+ export interface ITimeSliderOptions {
4
+ hoursPer: number;
5
+ begin: number;
6
+ segments?: TimeCellItem[];
7
+ currentTime: number;
8
+ onTimeChange: (options: {
9
+ currentTime?: number;
10
+ begin?: number;
11
+ }, outTimeline?: boolean) => void;
12
+ onHoursPerChange: (hour: number) => void;
13
+ }
14
+ export type ITimeSliderState = {
15
+ hoursPer: number;
16
+ begin: number;
17
+ currentTime: number;
18
+ hover: {
19
+ x?: number;
20
+ time?: number;
21
+ };
22
+ };
23
+ export type TimeCellItem = ISegmentType;
24
+ declare function useTimeSlider(canvasRef: React.RefObject<HTMLCanvasElement>, { hoursPer, begin, currentTime, segments, onTimeChange, onHoursPerChange }: ITimeSliderOptions): void;
25
+ export default useTimeSlider;
@@ -0,0 +1,451 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
11
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
12
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13
+ import { useEventListener, useSize, useUpdateEffect } from 'ahooks';
14
+ import moment from 'dayjs';
15
+ import { useEffect, useMemo, useRef, useState } from 'react';
16
+ import nextTick from "../nextTick";
17
+ var hours = [1, 6, 12, 24];
18
+ var currentColor = '#FF000A';
19
+ var normalLineColor = '#ffffff';
20
+ var hoverLineColor = '#319BFF';
21
+ var minPerStep = [1, 2, 5, 10, 15, 20, 30, 60, 120, 180, 240, 360, 720, 1440];
22
+ var minStepSize = 20;
23
+ var distance_between_gtitle = 80;
24
+
25
+ /**
26
+ * 下一个刻度
27
+ */
28
+ function ms_to_next_step(timestamp, step) {
29
+ var remainder = timestamp % step;
30
+ return remainder ? step - remainder : 0;
31
+ }
32
+
33
+ /**
34
+ * 返回 2018-01-01 10:00:00 格式时间
35
+ * @param {*} time
36
+ */
37
+ function formartTimestemp(time) {
38
+ return moment(time).format('YYYY-MM-DD HH:mm:ss');
39
+ }
40
+ /**
41
+ * 返回时间轴上刻度的时间
42
+ * @param {*} datetime new Date 格式
43
+ */
44
+ function graduation_title(datetime) {
45
+ var mom = moment(datetime);
46
+ var h = mom.get('hours');
47
+ var m = mom.get('minutes');
48
+ var s = mom.get('seconds');
49
+ if (h === 0 && m === 0 && s === 0) {
50
+ return mom.format('YYYY.MM.DD');
51
+ }
52
+ return mom.format('HH:mm');
53
+ }
54
+
55
+ /**
56
+ * 绘制线条
57
+ */
58
+ function drawLine(ctx, beginX, beginY, endX, endY, color, width) {
59
+ ctx.beginPath();
60
+ ctx.moveTo(beginX, beginY);
61
+ ctx.lineTo(endX, endY);
62
+ ctx.strokeStyle = color;
63
+ ctx.lineWidth = width;
64
+ ctx.stroke();
65
+ }
66
+ function drawText(ctx, _ref) {
67
+ var fillStyle = _ref.fillStyle,
68
+ font = _ref.font,
69
+ text = _ref.text,
70
+ x = _ref.x,
71
+ y = _ref.y;
72
+ ctx.fillStyle = fillStyle;
73
+ ctx.font = font;
74
+ ctx.fillText(text, x, y);
75
+ }
76
+ function useTimeSlider(canvasRef, _ref2) {
77
+ var hoursPer = _ref2.hoursPer,
78
+ begin = _ref2.begin,
79
+ currentTime = _ref2.currentTime,
80
+ _ref2$segments = _ref2.segments,
81
+ segments = _ref2$segments === void 0 ? [] : _ref2$segments,
82
+ onTimeChange = _ref2.onTimeChange,
83
+ onHoursPerChange = _ref2.onHoursPerChange;
84
+ var _useState = useState({
85
+ hoursPer: hoursPer,
86
+ begin: begin,
87
+ currentTime: currentTime,
88
+ hover: {
89
+ x: 0,
90
+ time: undefined
91
+ }
92
+ }),
93
+ _useState2 = _slicedToArray(_useState, 2),
94
+ state = _useState2[0],
95
+ setState = _useState2[1];
96
+ var extRef = useRef({
97
+ mousedownTime: undefined,
98
+ mousedownX: 0
99
+ });
100
+ var size = useSize(canvasRef);
101
+ var canvas = canvasRef.current;
102
+ var _useMemo = useMemo(function () {
103
+ return size ? size : {
104
+ width: 0,
105
+ height: 0
106
+ };
107
+ }, [size]),
108
+ width = _useMemo.width,
109
+ height = _useMemo.height;
110
+ var ctx = canvas === null || canvas === void 0 ? void 0 : canvas.getContext('2d');
111
+ var update = function update() {
112
+ var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
113
+ return setState(function (old) {
114
+ return _objectSpread(_objectSpread({}, old), params);
115
+ });
116
+ };
117
+ var clearCanvas = function clearCanvas() {
118
+ return ctx === null || ctx === void 0 ? void 0 : ctx.clearRect(0, 0, width, height);
119
+ };
120
+
121
+ /**
122
+ * 绘制覆盖时间刻度颜色,表示有录像的部分
123
+ */
124
+ var drawOverlay = function drawOverlay() {
125
+ segments.forEach(function (item) {
126
+ var px_ms = width / (state.hoursPer * 60 * 60 * 1000); // px/ms
127
+ var beginX = (item.beginTime - state.begin) * px_ms;
128
+ var scale_width = (item.endTime - item.beginTime) * px_ms;
129
+ if (ctx) {
130
+ var _item$style;
131
+ ctx.fillStyle = item.url ? ((_item$style = item.style) === null || _item$style === void 0 ? void 0 : _item$style.background) || hoverLineColor : '#242C3D';
132
+ ctx.fillRect(beginX, height - 10, scale_width + 1, height);
133
+ }
134
+ });
135
+ };
136
+
137
+ /**
138
+ * 绘制刻度相关的
139
+ */
140
+ var drawScale = function drawScale() {
141
+ var px_per_min = width / (state.hoursPer * 60); // px/min
142
+ var px_per_ms = width / (state.hoursPer * 60 * 60 * 1000); // px/ms
143
+ var px_per_step = minStepSize; // px/格 默认最小值20px
144
+ var min_per_step = px_per_step / px_per_min; // min/格
145
+
146
+ for (var i = 0; i < minPerStep.length; i++) {
147
+ if (min_per_step <= minPerStep[i]) {
148
+ //让每格时间在minutes_per_step规定的范围内
149
+ min_per_step = minPerStep[i];
150
+ px_per_step = px_per_min * min_per_step;
151
+ break;
152
+ }
153
+ }
154
+ var medium_step = 30;
155
+ for (var _i = 0; _i < minPerStep.length; _i++) {
156
+ if (distance_between_gtitle / px_per_min <= minPerStep[_i]) {
157
+ medium_step = minPerStep[_i];
158
+ break;
159
+ }
160
+ }
161
+ var num_steps = width / px_per_step; //总格数
162
+ var ms_offset = ms_to_next_step(state.begin, min_per_step * 60 * 1000); //开始的偏移时间 ms
163
+ var px_offset = ms_offset * px_per_ms; //开始的偏移距离 px
164
+ var ms_per_step = px_per_step / px_per_ms; // ms/step
165
+
166
+ var graduation_left, graduation_time, lineH;
167
+ for (var _i2 = 0; _i2 < num_steps; _i2++) {
168
+ graduation_left = px_offset + _i2 * px_per_step; // 距离=开始的偏移距离+格数*px/格
169
+ graduation_time = state.begin + ms_offset + _i2 * ms_per_step; //时间=左侧开始时间+偏移时间+格数*ms/格
170
+ var date = moment(graduation_time);
171
+ if (date.get('hours') === 0 && date.get('minutes') === 0) {
172
+ lineH = 10;
173
+ var big_date = graduation_title(date.valueOf());
174
+ var x = graduation_left - 30;
175
+ drawText(ctx, {
176
+ fillStyle: normalLineColor,
177
+ font: '10px Arial',
178
+ x: x,
179
+ y: 30,
180
+ text: big_date
181
+ });
182
+ } else if (graduation_time / (60 * 1000) % medium_step === 0) {
183
+ lineH = 10;
184
+ var middle_date = graduation_title(date.valueOf());
185
+ var _x = graduation_left - (middle_date.length > 5 ? 24 : 12);
186
+ drawText(ctx, {
187
+ fillStyle: normalLineColor,
188
+ font: '10px Arial',
189
+ x: _x,
190
+ y: 30,
191
+ text: middle_date
192
+ });
193
+ } else {
194
+ lineH = 5;
195
+ }
196
+ drawLine(ctx, graduation_left, height - lineH, graduation_left, height, normalLineColor, 2);
197
+ }
198
+ };
199
+
200
+ /**
201
+ * 绘制当前刻度
202
+ * @returns
203
+ */
204
+ var drawCurrentLine = function drawCurrentLine() {
205
+ var currentTime = state.currentTime,
206
+ begin = state.begin,
207
+ hoursPer = state.hoursPer;
208
+ var time = currentTime;
209
+ var range = [begin, currentTime + hoursPer * 3600 * 1000];
210
+ if (time < range[0] || time > range[1]) {
211
+ return;
212
+ }
213
+ var ms_current = time - begin;
214
+ var px_per_ms = width / (hoursPer * 60 * 60 * 1000); // px/ms
215
+ var left = px_per_ms * ms_current;
216
+ drawText(ctx, {
217
+ fillStyle: '#ffffff',
218
+ font: '12px Arial',
219
+ x: left - 64,
220
+ y: 14,
221
+ text: formartTimestemp(time)
222
+ });
223
+ drawLine(ctx, left, 20, left, height, currentColor, 2); //中间当前点线
224
+ };
225
+
226
+ /**
227
+ * 绘制提示时间
228
+ */
229
+ var drawHoverLine = function drawHoverLine() {
230
+ var _state$hover$x, _state$hover$time, _state$hover$x2, _state$hover$x3;
231
+ drawText(ctx, {
232
+ fillStyle: hoverLineColor,
233
+ font: '12px Arial',
234
+ x: ((_state$hover$x = state.hover.x) !== null && _state$hover$x !== void 0 ? _state$hover$x : 0) - 50,
235
+ y: 12,
236
+ text: formartTimestemp((_state$hover$time = state.hover.time) !== null && _state$hover$time !== void 0 ? _state$hover$time : 0)
237
+ });
238
+ drawLine(ctx, (_state$hover$x2 = state.hover.x) !== null && _state$hover$x2 !== void 0 ? _state$hover$x2 : 0, 20, (_state$hover$x3 = state.hover.x) !== null && _state$hover$x3 !== void 0 ? _state$hover$x3 : 0, height, hoverLineColor, 1);
239
+ };
240
+
241
+ /**
242
+ * 获取鼠标posx
243
+ * @param {*} e
244
+ */
245
+ var get_cursor_x_position = function get_cursor_x_position(e) {
246
+ return e.offsetX;
247
+ };
248
+
249
+ /**
250
+ * 更新画布大小
251
+ */
252
+ useUpdateEffect(function () {
253
+ if (canvas) {
254
+ canvas.width = width;
255
+ canvas.height = height;
256
+ }
257
+ }, [canvas, height, width]);
258
+ useEffect(function () {
259
+ if (canvas) {
260
+ clearCanvas();
261
+ drawOverlay();
262
+ drawScale();
263
+ drawCurrentLine();
264
+ if (state.hover.time) {
265
+ drawHoverLine();
266
+ }
267
+ }
268
+ // eslint-disable-next-line react-hooks/exhaustive-deps
269
+ }, [canvas, state.begin, state.currentTime, state.hoursPer, segments, state.hover, size]);
270
+ useUpdateEffect(function () {
271
+ return update({
272
+ begin: begin
273
+ });
274
+ }, [begin]);
275
+ useUpdateEffect(function () {
276
+ return update({
277
+ hoursPer: hoursPer
278
+ });
279
+ }, [hoursPer]);
280
+ useUpdateEffect(function () {
281
+ return update({
282
+ currentTime: currentTime
283
+ });
284
+ }, [currentTime]);
285
+
286
+ /**
287
+ * 触发绘制范围单位(hour)
288
+ */
289
+ useEventListener('mousewheel', function (event) {
290
+ event.preventDefault();
291
+ var delta = Math.max(-1, Math.min(1, event.wheelDelta || -event.detail));
292
+ var middle_time = state.begin + state.hoursPer * 3600 * 1000 / 2; //ms 记住当前中间的时间
293
+ var new_hoursPer = state.hoursPer;
294
+ var index = hours.indexOf(new_hoursPer);
295
+ if (delta < 0) {
296
+ // 缩小
297
+ if (index === hours.length - 1) {
298
+ new_hoursPer = hours[index];
299
+ } else {
300
+ new_hoursPer = hours[index + 1];
301
+ }
302
+ } else if (delta > 0) {
303
+ // 放大
304
+ if (index === 0) {
305
+ new_hoursPer = hours[0];
306
+ } else {
307
+ new_hoursPer = hours[index - 1];
308
+ }
309
+ }
310
+ var new_begin = middle_time - state.hoursPer * 3600 * 1000 / 2; //new_begin = 当前中间的时间 - hoursPer/2
311
+ setState(function (old) {
312
+ return _objectSpread(_objectSpread({}, old), {}, {
313
+ begin: new_begin,
314
+ hoursPer: new_hoursPer
315
+ });
316
+ });
317
+ onTimeChange === null || onTimeChange === void 0 || onTimeChange({
318
+ begin: new_begin
319
+ });
320
+ nextTick(function () {
321
+ return onHoursPerChange === null || onHoursPerChange === void 0 ? void 0 : onHoursPerChange(new_hoursPer);
322
+ });
323
+ }, {
324
+ target: canvasRef
325
+ });
326
+
327
+ /**
328
+ * 用于处理canvas移除hover效果
329
+ */
330
+ useEventListener('mouseout', function () {
331
+ return setState(function (old) {
332
+ return _objectSpread(_objectSpread({}, old), {}, {
333
+ hover: {
334
+ x: 0,
335
+ time: undefined
336
+ }
337
+ });
338
+ });
339
+ }, {
340
+ target: canvasRef
341
+ });
342
+
343
+ /**
344
+ * hover效果绘制
345
+ */
346
+ useEventListener('mousemove', function (e) {
347
+ if (extRef.current.mousedownTime) {
348
+ setState(function (old) {
349
+ return _objectSpread(_objectSpread({}, old), {}, {
350
+ hover: old.hover.time ? {
351
+ x: 0,
352
+ time: undefined
353
+ } : old.hover
354
+ });
355
+ });
356
+ } else {
357
+ // 触发绘制hover tips
358
+ var pos_x = get_cursor_x_position(e);
359
+ var ms_per_px = state.hoursPer * 3600 * 1000 / width; // ms/px
360
+ var current_timestamp = state.begin + pos_x * ms_per_px;
361
+ setState(function (old) {
362
+ return _objectSpread(_objectSpread({}, old), {}, {
363
+ hover: {
364
+ x: pos_x,
365
+ time: current_timestamp
366
+ }
367
+ });
368
+ });
369
+ }
370
+ }, {
371
+ target: canvasRef
372
+ });
373
+
374
+ /**
375
+ * 标记点击、拖动的触发器
376
+ */
377
+ useEventListener('mousedown', function (e) {
378
+ extRef.current.mousedownTime = Date.now();
379
+ extRef.current.mousedownX = get_cursor_x_position(e); //记住mousedown的位置
380
+ }, {
381
+ target: canvasRef
382
+ });
383
+
384
+ /**
385
+ * 处理点击、结束拖动的处理
386
+ */
387
+ useEventListener('mouseup', function (e) {
388
+ if (!extRef.current.mousedownTime) {
389
+ // 未在canvas上触发mousedown 过滤
390
+ return;
391
+ }
392
+ var clickDelay = Date.now() - extRef.current.mousedownTime;
393
+ if (clickDelay < 200 && e.target === canvas) {
394
+ // click 事件
395
+ var pos_x = get_cursor_x_position(e); //鼠标距离 px
396
+ var ms_per_px = state.hoursPer * 3600 * 1000 / width; // ms/px
397
+ var new_current = state.begin + pos_x * ms_per_px;
398
+ var segmentItem = segments.find(function (v) {
399
+ return new_current >= v.beginTime && new_current < v.endTime;
400
+ });
401
+ // 当前片段没有录像的时候
402
+ var _outTimeline = segmentItem && !segmentItem.url;
403
+ // const new_begin = new_current - (state.hoursPer * 60 * 60 * 1000) / 2;
404
+
405
+ // setState((old) => ({ ...old, begin: new_begin, current: new_current }));
406
+ setState(function (old) {
407
+ return _objectSpread(_objectSpread({}, old), {}, {
408
+ current: new_current
409
+ });
410
+ });
411
+ nextTick(function () {
412
+ return onTimeChange === null || onTimeChange === void 0 ? void 0 : onTimeChange({
413
+ currentTime: new_current
414
+ }, _outTimeline);
415
+ });
416
+ }
417
+ // 清楚拖拽关联信息
418
+ extRef.current.mousedownTime = undefined;
419
+ extRef.current.mousedownX = 0;
420
+ }, {
421
+ target: document
422
+ });
423
+ var moveTimerRef = useRef();
424
+
425
+ /**
426
+ * 拖动处理
427
+ */
428
+ useEventListener('mousemove', function (e) {
429
+ if (!extRef.current.mousedownTime) {
430
+ return;
431
+ }
432
+ clearTimeout(moveTimerRef.current);
433
+ // 触发拖动
434
+ var pos_x = get_cursor_x_position(e);
435
+ var px_per_ms = width / (state.hoursPer * 60 * 60 * 1000); // px/ms
436
+ var diff_x = pos_x - extRef.current.mousedownX;
437
+ var new_begin = state.begin - Math.round(diff_x / px_per_ms);
438
+ extRef.current.mousedownX = pos_x;
439
+ update({
440
+ begin: new_begin
441
+ });
442
+ moveTimerRef.current = setTimeout(function () {
443
+ return onTimeChange === null || onTimeChange === void 0 ? void 0 : onTimeChange({
444
+ begin: new_begin
445
+ });
446
+ }, 300);
447
+ }, {
448
+ target: document
449
+ });
450
+ }
451
+ export default useTimeSlider;
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ export default function useVideoFit(containerRef: React.RefObject<HTMLDivElement>, deps?: any[]): {
3
+ fit: string;
4
+ toggleFit: () => void;
5
+ };