@cloud-app-dev/vidc 4.0.20 → 4.0.22

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 (234) hide show
  1. package/es/AppContext/Sync.js +42 -0
  2. package/es/AppContext/index.js +141 -0
  3. package/es/AppContext/interface.d.ts +41 -0
  4. package/es/AppContext/static.js +9 -0
  5. package/es/Auth/index.js +14 -0
  6. package/es/AutoExit/index.js +19 -0
  7. package/es/CheckGroupFixed/demo.js +22 -0
  8. package/es/CheckGroupFixed/index.js +140 -0
  9. package/es/CheckGroupFixed/index.less +56 -0
  10. package/es/Config/index.js +77 -0
  11. package/es/Config/interface.d.ts +65 -0
  12. package/es/Config/utils.js +33 -0
  13. package/es/ConfigContext/index.js +21 -0
  14. package/es/CustomRenderSelect/index.js +72 -0
  15. package/es/CustomRenderSelect/index.less +25 -0
  16. package/es/DBTools/index.js +336 -0
  17. package/es/DisableMark/index.js +19 -0
  18. package/es/DisableMark/index.less +9 -0
  19. package/es/DomMove/demo.js +16 -0
  20. package/es/DomMove/index.js +139 -0
  21. package/es/DomMove/utils.js +32 -0
  22. package/es/Drag/DragAndDropItem.js +133 -0
  23. package/es/Drag/DropItem.js +50 -0
  24. package/es/Drag/index.d.ts +9 -0
  25. package/es/Drag/index.js +7 -0
  26. package/es/Drag/interface.d.ts +16 -0
  27. package/es/DynamicGridList/Demo.js +77 -0
  28. package/es/DynamicGridList/index.js +67 -0
  29. package/es/DynamicList/demo.js +44 -0
  30. package/es/DynamicList/index.js +86 -0
  31. package/es/DynamicList/index.less +17 -0
  32. package/es/DynamicList/interface.d.ts +19 -0
  33. package/es/DynamicList/utils.js +6 -0
  34. package/es/ErrorFallback/index.js +31 -0
  35. package/es/ErrorFallback/inerface.d.ts +48 -0
  36. package/es/EventTools/index.js +12 -0
  37. package/es/FrontendPlayer/index.js +2 -0
  38. package/es/FullScreen/index.js +33 -0
  39. package/es/FullScreen/index.less +18 -0
  40. package/es/GridList/Demo.js +80 -0
  41. package/es/GridList/data.js +609 -0
  42. package/es/GridList/hook.js +270 -0
  43. package/es/GridList/index.js +44 -0
  44. package/es/GridList/index.less +8 -0
  45. package/es/GridList/interface.d.ts +59 -0
  46. package/es/GridList/utils.js +42 -0
  47. package/es/HightLevel/index.js +18 -0
  48. package/es/HightLevel/index.less +3 -0
  49. package/es/IconFont/index.js +54 -0
  50. package/es/ImageView/index.js +51 -0
  51. package/es/ImageView/index.less +11 -0
  52. package/es/InstanceHistory/index.js +7 -0
  53. package/es/LabelPlayer/111.png +0 -0
  54. package/es/LabelPlayer/demo.js +115 -0
  55. package/es/LabelPlayer/index.js +160 -0
  56. package/es/LabelPlayer/index.less +24 -0
  57. package/es/LabelValue/index.js +27 -0
  58. package/es/LabelValue/index.less +23 -0
  59. package/es/List/demo.js +23 -0
  60. package/es/List/index.js +28 -0
  61. package/es/List/index.less +20 -0
  62. package/es/ListWithSizeAnimate/demo.js +98 -0
  63. package/es/ListWithSizeAnimate/index.js +85 -0
  64. package/es/ListWithSizeAnimate/index.less +23 -0
  65. package/es/LoaderScript/index.js +34 -0
  66. package/es/LoaderScript/utils.js +179 -0
  67. package/es/Map/AMap.d.ts +7109 -0
  68. package/es/Map/BasicMap/AMapInstance.js +98 -0
  69. package/es/Map/BasicMap/LeafletInstance.js +111 -0
  70. package/es/Map/BasicMap/index.js +90 -0
  71. package/es/Map/BasicMap/index.less +29 -0
  72. package/es/Map/ClusterLayer/demo.js +18 -0
  73. package/es/Map/ClusterLayer/hook.js +123 -0
  74. package/es/Map/ClusterLayer/index.js +28 -0
  75. package/es/Map/ClusterLayer/index.less +29 -0
  76. package/es/Map/ClusterLayer/props.d.ts +8 -0
  77. package/es/Map/Config/index.js +48 -0
  78. package/es/Map/Config/utils.js +65 -0
  79. package/es/Map/Context/index.js +51 -0
  80. package/es/Map/FindPio/index.js +13 -0
  81. package/es/Map/FindPio/index.less +7 -0
  82. package/es/Map/InfoWindow/MakerLikeWindow.js +108 -0
  83. package/es/Map/InfoWindow/demo.js +70 -0
  84. package/es/Map/InfoWindow/index.js +62 -0
  85. package/es/Map/LevelCenter/DragMarker/index.js +42 -0
  86. package/es/Map/LevelCenter/demo.js +38 -0
  87. package/es/Map/LevelCenter/index.js +66 -0
  88. package/es/Map/LoaderMap/index.js +62 -0
  89. package/es/Map/MapDrawSelect/demo.js +71 -0
  90. package/es/Map/MapDrawSelect/index.js +56 -0
  91. package/es/Map/MouseTool/index.js +40 -0
  92. package/es/Map/MouseTool/useMouseTools.js +83 -0
  93. package/es/Map/ResetTools/index.js +57 -0
  94. package/es/Map/ResetTools/index.less +39 -0
  95. package/es/Map/SinglePoint/demo.js +14 -0
  96. package/es/Map/SinglePoint/index.js +52 -0
  97. package/es/Map/SinglePoint/index.less +41 -0
  98. package/es/Map/hook/useMapEvent.js +19 -0
  99. package/es/Map/hook/useMapType.js +12 -0
  100. package/es/Map/icon.js +10 -0
  101. package/es/Map/index.js +25 -0
  102. package/es/Map/interface.d.ts +74 -0
  103. package/es/Map/points.js +1 -0
  104. package/es/Map/useMarker/index.js +71 -0
  105. package/es/Map/withMap/index.js +10 -0
  106. package/es/Picture/component/DefaultRects/RectInfo.js +80 -0
  107. package/es/Picture/component/DefaultRects/index.js +52 -0
  108. package/es/Picture/component/DefaultRects/index.less +211 -0
  109. package/es/Picture/component/DefaultRects/utils.js +11 -0
  110. package/es/Picture/component/DrawRect/index.js +46 -0
  111. package/es/Picture/component/DrawRect/index.less +8 -0
  112. package/es/Picture/component/RectMenu/index.js +76 -0
  113. package/es/Picture/component/RectMenu/index.less +36 -0
  114. package/es/Picture/component/RectMenu/utils.js +19 -0
  115. package/es/Picture/component/Tools/index.js +73 -0
  116. package/es/Picture/component/Tools/index.less +49 -0
  117. package/es/Picture/component/WheelScale/index.js +27 -0
  118. package/es/Picture/demo.js +105 -0
  119. package/es/Picture/index.js +341 -0
  120. package/es/Picture/index.less +20 -0
  121. package/es/Picture/interface.d.ts +196 -0
  122. package/es/Picture/loadCaptureRectImage.js +99 -0
  123. package/es/Picture/useDraw.js +103 -0
  124. package/es/Picture/utils.js +143 -0
  125. package/es/Player/api/index.js +309 -0
  126. package/es/Player/context.js +24 -0
  127. package/es/Player/contraller_bar/bar.js +20 -0
  128. package/es/Player/contraller_bar/contraller_event.js +48 -0
  129. package/es/Player/contraller_bar/index.js +27 -0
  130. package/es/Player/contraller_bar/left_bar.js +83 -0
  131. package/es/Player/contraller_bar/right_bar.js +32 -0
  132. package/es/Player/contraller_bar/time.js +19 -0
  133. package/es/Player/contraller_bar/useBarStatus.js +43 -0
  134. package/es/Player/contraller_bar/volume.js +62 -0
  135. package/es/Player/demo.js +266 -0
  136. package/es/Player/empty.js +4 -0
  137. package/es/Player/event/errorEvent.js +88 -0
  138. package/es/Player/event/eventName.js +29 -0
  139. package/es/Player/event/index.js +205 -0
  140. package/es/Player/fps_play.js +83 -0
  141. package/es/Player/frontend_player.js +64 -0
  142. package/es/Player/frontend_timeline.js +132 -0
  143. package/es/Player/iconfont.js +16 -0
  144. package/es/Player/index.js +2 -0
  145. package/es/Player/live_heart.js +45 -0
  146. package/es/Player/message.js +133 -0
  147. package/es/Player/player.d.ts +233 -0
  148. package/es/Player/segment_player.js +228 -0
  149. package/es/Player/segment_timeline.js +173 -0
  150. package/es/Player/single_player.js +262 -0
  151. package/es/Player/style/bar.less +43 -0
  152. package/es/Player/style/iconfont.js +43 -0
  153. package/es/Player/style/index.less +34 -0
  154. package/es/Player/style/message.less +56 -0
  155. package/es/Player/style/slider.less +106 -0
  156. package/es/Player/style/timeline.less +117 -0
  157. package/es/Player/style/volume.less +24 -0
  158. package/es/Player/timeline.js +95 -0
  159. package/es/Player/util.js +189 -0
  160. package/es/PlayerExt/demo.js +154 -0
  161. package/es/PlayerExt/index.js +188 -0
  162. package/es/PlayerExt/index.less +10 -0
  163. package/es/Progress/index.d.ts +9 -0
  164. package/es/Progress/index.js +53 -0
  165. package/es/Progress/index.less +21 -0
  166. package/es/ROI/demo.js +16 -0
  167. package/es/ROI/index.js +54 -0
  168. package/es/ROI/index.less +33 -0
  169. package/es/RefDrawer/Footer.js +22 -0
  170. package/es/RefDrawer/demo.js +18 -0
  171. package/es/RefDrawer/index.js +71 -0
  172. package/es/RefModal/demo.js +18 -0
  173. package/es/RefModal/index.js +70 -0
  174. package/es/ScreenPlayer/Live.js +212 -0
  175. package/es/ScreenPlayer/LiveTools.js +151 -0
  176. package/es/ScreenPlayer/PlayerWithExt.js +231 -0
  177. package/es/ScreenPlayer/RatePick.js +29 -0
  178. package/es/ScreenPlayer/Record.js +442 -0
  179. package/es/ScreenPlayer/RecordTools.js +169 -0
  180. package/es/ScreenPlayer/ScreenSelect.js +46 -0
  181. package/es/ScreenPlayer/SegmentTimeLine.js +36 -0
  182. package/es/ScreenPlayer/TimeMode.js +26 -0
  183. package/es/ScreenPlayer/TimeSelect.js +88 -0
  184. package/es/ScreenPlayer/demo.js +21 -0
  185. package/es/ScreenPlayer/demo2.js +194 -0
  186. package/es/ScreenPlayer/index.js +9 -0
  187. package/es/ScreenPlayer/index.less +335 -0
  188. package/es/ScreenPlayer/interface.d.ts +216 -0
  189. package/es/ScreenPlayer/useTimeSlider.js +456 -0
  190. package/es/ScreenPlayer/useVideoFit.js +35 -0
  191. package/es/ScreenPlayer/utils.js +85 -0
  192. package/es/SegmentPlayer/index.js +2 -0
  193. package/es/Service/http.js +133 -0
  194. package/es/Service/index.js +11 -0
  195. package/es/Service/interface.d.ts +23 -0
  196. package/es/Service/middleware.js +22 -0
  197. package/es/SocketEmitter/eventEmitter.js +88 -0
  198. package/es/SocketEmitter/index.js +125 -0
  199. package/es/SocketEmitter/interface.d.ts +4 -0
  200. package/es/TableLayout/index.js +27 -0
  201. package/es/TableLayout/index.less +4 -0
  202. package/es/ThemeAntd/demo.js +81 -0
  203. package/es/ThemeAntd/demo.less +20 -0
  204. package/es/ThemeAntd/index.js +21 -0
  205. package/es/ThemeAntd/index.less +4 -0
  206. package/es/Timeout/index.js +65 -0
  207. package/es/bigNumberTransformCN/index.js +58 -0
  208. package/es/cache/index.js +94 -0
  209. package/es/copy/index.js +9 -0
  210. package/es/core.d.ts +0 -0
  211. package/es/getThemeStyle/index.js +5 -0
  212. package/es/index.js +62 -0
  213. package/es/likeGo/index.js +31 -0
  214. package/es/likeGoSync/index.js +10 -0
  215. package/es/logger/index.js +30 -0
  216. package/es/nextTick/index.js +3 -0
  217. package/es/recorder/demo.js +181 -0
  218. package/es/recorder/index.js +992 -0
  219. package/es/submidstr/index.js +14 -0
  220. package/es/treeHelper/index.js +188 -0
  221. package/es/typings.d.ts +2 -0
  222. package/es/useDrawROI/index.js +318 -0
  223. package/es/useEventEmitterHandle/index.js +17 -0
  224. package/es/useFullscreen/demo.js +43 -0
  225. package/es/useFullscreen/index.js +76 -0
  226. package/es/useHistory/index.js +9 -0
  227. package/es/useHistory/interface.d.ts +3 -0
  228. package/es/useInfiniteScroll/index.js +102 -0
  229. package/es/useRafInterval/index.js +70 -0
  230. package/es/useSimpleState/index.js +35 -0
  231. package/es/useVirtualList/index.js +136 -0
  232. package/es/utils.js +46 -0
  233. package/es/uuid/index.js +19 -0
  234. package/package.json +2 -3
@@ -0,0 +1,196 @@
1
+ export type MenuRectType = {
2
+ /**
3
+ * 路由地址
4
+ */
5
+ pathname: string;
6
+
7
+ /**
8
+ * 标题
9
+ */
10
+ title: string;
11
+
12
+ /**
13
+ * 图标
14
+ */
15
+ icon: string;
16
+
17
+ /**
18
+ * 内部属性,忽略
19
+ */
20
+ base64?: string;
21
+ };
22
+
23
+ export type TagItemType = {
24
+ /**
25
+ * 标签值 code
26
+ */
27
+ value: string;
28
+
29
+ /**
30
+ * 标签对应文本
31
+ */
32
+ label: string;
33
+
34
+ /**
35
+ * 标签图标
36
+ */
37
+ icon: string;
38
+
39
+ /**
40
+ *标签title属性
41
+ */
42
+ titleAttr?: string;
43
+ };
44
+
45
+ export type ImageType = 'face' | 'body' | 'nonVehicle' | 'vehicle' | 'thing';
46
+
47
+ export type RectType = {
48
+ /**
49
+ * 矩形框坐标 [left,top,width,height]
50
+ */
51
+ rect: Array<number>;
52
+ /**
53
+ * 'face' | 'body' | 'nonVehicle' | 'vehicle' | 'thing'
54
+ */
55
+ type: ImageType;
56
+
57
+ /**
58
+ * 矩形是否需要扩大,根据类型扩大计算公式
59
+ */
60
+ needExpand?: boolean;
61
+
62
+ /**
63
+ * 图片id
64
+ */
65
+ imgId?: string;
66
+
67
+ /**
68
+ * 矩形面积,通过面积控制矩形层级
69
+ */
70
+ area?: number;
71
+
72
+ /**
73
+ * 矩形中对象对应的标签
74
+ */
75
+ tags?: TagItemType[];
76
+
77
+ /**
78
+ * 小图的地址
79
+ */
80
+ imgUrl?: string;
81
+
82
+ /**
83
+ * 是否默认
84
+ */
85
+ isDefault?: boolean;
86
+
87
+ /**
88
+ * 重复标记
89
+ */
90
+ dupId?: string;
91
+
92
+ /**
93
+ * 低质量标记
94
+ */
95
+ lowQuality?: boolean;
96
+
97
+ /**
98
+ * 内部属性,忽略
99
+ */
100
+ base64?: string;
101
+ };
102
+
103
+ export type PositionType = {
104
+ x: number;
105
+ y: number;
106
+ };
107
+
108
+ export type DeviationType = {
109
+ offsetX: number;
110
+ offsetY: number;
111
+ width: number | string;
112
+ height: number | string;
113
+ };
114
+
115
+ export type SizeType = {
116
+ width: number | string;
117
+ height: number | string;
118
+ };
119
+
120
+ export interface IPictureProps {
121
+ /**
122
+ * 容器类名
123
+ */
124
+ className?: string;
125
+
126
+ /**
127
+ * 容器宽度
128
+ */
129
+ width?: number | string;
130
+
131
+ /**
132
+ * 容器高度
133
+ */
134
+ height?: number | string;
135
+
136
+ /**
137
+ * 容器最小高度
138
+ */
139
+ minHeight?: number | string;
140
+
141
+ /**
142
+ * 禁止拓展状态
143
+ */
144
+ disabledDrag?: boolean;
145
+
146
+ /**
147
+ * 图片地址
148
+ */
149
+ imagePath: string;
150
+
151
+ /**
152
+ * 目标框的对象
153
+ */
154
+ rects?: RectType[];
155
+
156
+ /**
157
+ * 开启自定义框选
158
+ */
159
+ isOpenSelect?: boolean;
160
+
161
+ /**
162
+ * 禁止框选 后的菜单项
163
+ */
164
+ disabledDrawMenu?: boolean;
165
+
166
+ /**
167
+ * 框选 后的菜单项
168
+ */
169
+ menus?: MenuRectType[];
170
+
171
+ /**
172
+ * 图片下载
173
+ */
174
+ imgDownload?: () => void;
175
+
176
+ /**
177
+ * 点击框事件
178
+ */
179
+ onClickRect?: (item: RectType) => void;
180
+
181
+ /**
182
+ * 菜单点击事件
183
+ */
184
+ onMenuClick?: (item: MenuRectType) => void;
185
+ children?: (option: any) => void;
186
+
187
+ /**
188
+ * 显示工具栏
189
+ */
190
+ hasTool?: boolean;
191
+
192
+ /**
193
+ * 全屏的dom节点
194
+ */
195
+ fullScreenEle?: Element;
196
+ }
@@ -0,0 +1,99 @@
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 _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
3
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
+ 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."); }
5
+ 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); }
6
+ 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; }
7
+ 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; } }
8
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
10
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
11
+ import { getCaptureRect } from "./utils";
12
+ export function loadCaptureRectImage(_x, _x2, _x3) {
13
+ return _loadCaptureRectImage.apply(this, arguments);
14
+ }
15
+ function _loadCaptureRectImage() {
16
+ _loadCaptureRectImage = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(image, rect, imageType) {
17
+ var _getCaptureRect, _getCaptureRect2, x, y, w, h, canvas, ctx, url;
18
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
19
+ while (1) switch (_context.prev = _context.next) {
20
+ case 0:
21
+ if (image) {
22
+ _context.next = 2;
23
+ break;
24
+ }
25
+ throw Error('image is HTMLImgElement');
26
+ case 2:
27
+ _getCaptureRect = getCaptureRect(rect, imageType), _getCaptureRect2 = _slicedToArray(_getCaptureRect, 4), x = _getCaptureRect2[0], y = _getCaptureRect2[1], w = _getCaptureRect2[2], h = _getCaptureRect2[3];
28
+ canvas = document.createElement('canvas');
29
+ ctx = canvas.getContext('2d');
30
+ canvas.width = image.width;
31
+ canvas.height = image.height;
32
+ ctx.drawImage(image, 0, 0, canvas.width, canvas.height);
33
+ ctx.beginPath();
34
+ ctx.strokeStyle = 'red';
35
+ ctx.lineWidth = 3;
36
+ ctx.strokeRect(x, y, w, h);
37
+ url = canvas.toDataURL();
38
+ setTimeout(function () {
39
+ canvas.remove();
40
+ canvas = null;
41
+ ctx = null;
42
+ }, 500);
43
+ return _context.abrupt("return", url);
44
+ case 15:
45
+ case "end":
46
+ return _context.stop();
47
+ }
48
+ }, _callee);
49
+ }));
50
+ return _loadCaptureRectImage.apply(this, arguments);
51
+ }
52
+ export function getRectImagePath(image, rect) {
53
+ var _rect = _slicedToArray(rect, 4),
54
+ x = _rect[0],
55
+ y = _rect[1],
56
+ w = _rect[2],
57
+ h = _rect[3];
58
+ var naturalWidth = image.naturalWidth,
59
+ naturalHeight = image.naturalHeight,
60
+ width = image.width,
61
+ height = image.height;
62
+ var sourceSize = {
63
+ width: naturalWidth,
64
+ height: naturalHeight,
65
+ cwidth: width,
66
+ cheight: height,
67
+ wScale: naturalWidth / width,
68
+ hScale: naturalHeight / height
69
+ };
70
+ var area = [x * sourceSize.wScale, y * sourceSize.hScale, w * sourceSize.wScale, h * sourceSize.hScale];
71
+ var fullCanvas = document.createElement('canvas');
72
+ var fullCtx = fullCanvas.getContext('2d');
73
+ fullCanvas.width = naturalWidth;
74
+ fullCanvas.height = naturalHeight;
75
+ fullCtx.save();
76
+ // fullCtx.transform;
77
+ // document.body.appendChild(fullCanvas);
78
+ fullCtx.translate(naturalWidth / 2, naturalHeight / 2);
79
+ fullCtx.drawImage(image, -naturalWidth / 2, -naturalHeight / 2, naturalWidth, naturalHeight);
80
+ fullCtx.restore();
81
+ var imageData = fullCtx.getImageData(area[0], area[1], area[2], area[3]);
82
+ var tempCanvas = document.createElement('canvas');
83
+ var tempCtx = tempCanvas.getContext('2d');
84
+ tempCanvas.width = area[2];
85
+ tempCanvas.height = area[3];
86
+ // document.body.appendChild(tempCanvas);
87
+ tempCtx.putImageData(imageData, 0, 0);
88
+ var dataUrl = tempCanvas.toDataURL();
89
+ setTimeout(function () {
90
+ fullCanvas.remove();
91
+ tempCanvas.remove();
92
+ fullCanvas = null;
93
+ tempCanvas = null;
94
+ tempCtx = null;
95
+ fullCtx = null;
96
+ imageData = null;
97
+ }, 100);
98
+ return dataUrl;
99
+ }
@@ -0,0 +1,103 @@
1
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
+ 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."); }
3
+ 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); }
4
+ 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; }
5
+ 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; } }
6
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
+ import { useEventListener } from 'ahooks';
8
+ import { useCallback, useRef, useState } from 'react';
9
+ export default function useDraw(dom, open) {
10
+ var _useState = useState({
11
+ rect: [0, 0, 0, 0],
12
+ isEnd: false
13
+ }),
14
+ _useState2 = _slicedToArray(_useState, 2),
15
+ state = _useState2[0],
16
+ setState = _useState2[1];
17
+ var selectOptionsRef = useRef({
18
+ start: [0, 0],
19
+ end: [0, 0],
20
+ startSelect: false
21
+ });
22
+
23
+ /**
24
+ * 绘制框选矩形区域
25
+ */
26
+ var drawSelectRact = useCallback(function (isEnd) {
27
+ var _dom$getBoundingClien = dom.getBoundingClientRect(),
28
+ left = _dom$getBoundingClien.left,
29
+ top = _dom$getBoundingClien.top,
30
+ width = _dom$getBoundingClien.width,
31
+ height = _dom$getBoundingClien.height;
32
+ var x = 0,
33
+ y = 0,
34
+ w = 0,
35
+ h = 0;
36
+ //TODO 开始X > 结束X
37
+ if (selectOptionsRef.current.end[0] > selectOptionsRef.current.start[0]) {
38
+ x = selectOptionsRef.current.start[0] - left;
39
+ w = selectOptionsRef.current.end[0] - selectOptionsRef.current.start[0];
40
+ }
41
+
42
+ //TODO 开始X < 结束X
43
+ if (selectOptionsRef.current.end[0] < selectOptionsRef.current.start[0]) {
44
+ x = selectOptionsRef.current.end[0] - left;
45
+ w = selectOptionsRef.current.start[0] - selectOptionsRef.current.end[0];
46
+ }
47
+
48
+ //TODO 开始Y > 结束Y
49
+ if (selectOptionsRef.current.end[1] > selectOptionsRef.current.start[1]) {
50
+ y = selectOptionsRef.current.start[1] - top;
51
+ h = selectOptionsRef.current.end[1] - selectOptionsRef.current.start[1];
52
+ }
53
+
54
+ //TODO 开始Y < 结束Y
55
+ if (selectOptionsRef.current.end[1] < selectOptionsRef.current.start[1]) {
56
+ y = selectOptionsRef.current.end[1] - top;
57
+ h = selectOptionsRef.current.start[1] - selectOptionsRef.current.end[1];
58
+ }
59
+ if (w + x > width) {
60
+ w = width - x;
61
+ }
62
+ if (h + y > height) {
63
+ h = height - y;
64
+ }
65
+ if (w * h < 160 && isEnd) {
66
+ setState({
67
+ rect: [0, 0, 0, 0],
68
+ isEnd: !!isEnd
69
+ });
70
+ } else {
71
+ setState({
72
+ rect: [x, y, w, h],
73
+ isEnd: !!isEnd
74
+ });
75
+ }
76
+ }, [dom]);
77
+ useEventListener('mousedown', function (event) {
78
+ if (open) {
79
+ selectOptionsRef.current.startSelect = true;
80
+ selectOptionsRef.current.start = [event.clientX, event.clientY];
81
+ }
82
+ }, {
83
+ target: dom
84
+ });
85
+ useEventListener('mousemove', function (event) {
86
+ if (selectOptionsRef.current.startSelect) {
87
+ selectOptionsRef.current.end = [event.clientX, event.clientY];
88
+ drawSelectRact(false);
89
+ }
90
+ }, {
91
+ target: dom
92
+ });
93
+ useEventListener('mouseup', function (event) {
94
+ if (selectOptionsRef.current.startSelect) {
95
+ selectOptionsRef.current.startSelect = false;
96
+ selectOptionsRef.current.end = [event.clientX, event.clientY];
97
+ drawSelectRact(true);
98
+ }
99
+ }, {
100
+ target: dom
101
+ });
102
+ return [state.rect, state.isEnd];
103
+ }
@@ -0,0 +1,143 @@
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
+ /* eslint-disable @typescript-eslint/no-unused-expressions */
8
+ import { cloneDeep } from 'lodash-es';
9
+ export function customContextMenu(e) {
10
+ e.preventDefault();
11
+ return false;
12
+ }
13
+ export function cloneImageNode(image) {
14
+ if (!image) {
15
+ return Promise.reject();
16
+ }
17
+ var newImage = image.cloneNode();
18
+ return new Promise(function (resolve, reject) {
19
+ newImage.addEventListener('load', function () {
20
+ resolve(newImage);
21
+ }, false);
22
+ newImage.addEventListener('error', function (e) {
23
+ reject(e);
24
+ }, false);
25
+ });
26
+ }
27
+ export function getCaptureRect(rect, type) {
28
+ var rectArea = rect;
29
+ if (rectArea.length !== 4) {
30
+ console.error('区域有误 rect = "[x,y,w,h]"! ', rect);
31
+ return [0, 0, 0, 0];
32
+ }
33
+ var x, y, w, h;
34
+ switch (type) {
35
+ case 'body':
36
+ x = rectArea[0] - rectArea[2] * 0.2;
37
+ y = rectArea[1] - rectArea[3] * 0.2;
38
+ w = rectArea[2] * 1.4;
39
+ h = rectArea[3] * 1.4;
40
+ break;
41
+ case 'nonVehicle':
42
+ case 'vehicle':
43
+ case 'thing':
44
+ x = rectArea[0];
45
+ y = rectArea[1];
46
+ w = rectArea[2];
47
+ h = rectArea[3];
48
+ break;
49
+ default:
50
+ // face
51
+ x = rectArea[0] - rectArea[2] * 0.8;
52
+ y = rectArea[1] - rectArea[3] * 1.5;
53
+ w = rectArea[2] * 2.6;
54
+ h = rectArea[3] * 3.2;
55
+ break;
56
+ }
57
+ return [x, y, w, h];
58
+ }
59
+ export function computedRectScale(_ref) {
60
+ var _ref2, _ref3;
61
+ var domImg = _ref.domImg,
62
+ rects = _ref.rects;
63
+ if (!domImg) {
64
+ return [];
65
+ }
66
+ if (domImg.naturalWidth === 0 || domImg.naturalHeight === 0) {
67
+ return [];
68
+ }
69
+ var _domImg$getBoundingCl = domImg.getBoundingClientRect(),
70
+ width = _domImg$getBoundingCl.width,
71
+ height = _domImg$getBoundingCl.height;
72
+ var scaleOptions = {
73
+ scaleX: (_ref2 = width / domImg.naturalWidth) !== null && _ref2 !== void 0 ? _ref2 : 1,
74
+ scaleY: (_ref3 = height / domImg.naturalHeight) !== null && _ref3 !== void 0 ? _ref3 : 1
75
+ };
76
+ return rects.map(function (item) {
77
+ var rect = item.needExpand ? getCaptureRect(cloneDeep(item.rect), item.type) : cloneDeep(item.rect);
78
+ rect[0] = Math.round(rect[0] * scaleOptions.scaleX);
79
+ rect[0] < 0 && (rect[0] = 0);
80
+ rect[1] = Math.round(rect[1] * scaleOptions.scaleY);
81
+ rect[1] < 0 && (rect[1] = 0);
82
+ rect[2] = Math.round(rect[2] * scaleOptions.scaleX);
83
+ rect[2] < 0 && (rect[2] = 0);
84
+ rect[2] > width - rect[0] && (rect[2] = width - rect[0]);
85
+ rect[3] = Math.round(rect[3] * scaleOptions.scaleY);
86
+ rect[3] < 0 && (rect[3] = 0);
87
+ rect[3] > height - rect[1] && (rect[3] = height - rect[1]);
88
+ return _objectSpread(_objectSpread({}, item), {}, {
89
+ rect: rect
90
+ });
91
+ });
92
+ }
93
+ export function getImgSize(dom, img) {
94
+ var _layoutRect$width, _layoutRect$height;
95
+ var naturalWidth = img.naturalWidth,
96
+ naturalHeight = img.naturalHeight;
97
+ var layoutRect = dom.getBoundingClientRect();
98
+ var w = (_layoutRect$width = layoutRect === null || layoutRect === void 0 ? void 0 : layoutRect.width) !== null && _layoutRect$width !== void 0 ? _layoutRect$width : 0;
99
+ var h = (_layoutRect$height = layoutRect === null || layoutRect === void 0 ? void 0 : layoutRect.height) !== null && _layoutRect$height !== void 0 ? _layoutRect$height : 0;
100
+ var baseXOrY = naturalWidth > naturalHeight ? 'x' : 'y';
101
+ var x = 0;
102
+ var y = 0;
103
+ var size = [];
104
+
105
+ // 横图
106
+ if (baseXOrY === 'x') {
107
+ if (naturalWidth < w) {
108
+ // 图片小于容器
109
+ size[0] = naturalWidth;
110
+ size[1] = naturalHeight;
111
+ x = (w - naturalWidth) / 2;
112
+ y = (h - naturalHeight) / 2;
113
+ } else {
114
+ // 图片大于容器
115
+ var imagescale = w / naturalWidth;
116
+ var imgHeight = imagescale * naturalHeight;
117
+ y = (h - imgHeight) / 2;
118
+ size[0] = w;
119
+ size[1] = imgHeight;
120
+ }
121
+ } else {
122
+ if (naturalHeight < h) {
123
+ // 图片小于容器
124
+ size[0] = naturalWidth;
125
+ size[1] = naturalHeight;
126
+ x = (w - naturalWidth) / 2;
127
+ y = (h - naturalHeight) / 2;
128
+ } else {
129
+ // 图片大于容器
130
+ var _imagescale = h / naturalHeight;
131
+ var imgWidth = _imagescale * naturalWidth;
132
+ x = (w - imgWidth) / 2;
133
+ size[0] = imgWidth;
134
+ size[1] = h;
135
+ }
136
+ }
137
+ return {
138
+ x: x,
139
+ y: y,
140
+ size: size,
141
+ baseXOrY: baseXOrY
142
+ };
143
+ }