@vtx/player 0.0.30 → 1.0.1

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 (113) hide show
  1. package/lib/api/index.d.ts +9 -0
  2. package/lib/api/index.js +51 -3
  3. package/lib/api/index.js.map +1 -1
  4. package/lib/api/types.d.ts +58 -4
  5. package/lib/components/set-tag-video/index.d.ts +9 -0
  6. package/lib/components/set-tag-video/index.js +196 -0
  7. package/lib/components/set-tag-video/index.js.map +1 -0
  8. package/lib/components/set-tag-video/style/css.js +4 -0
  9. package/lib/components/set-tag-video/style/css.js.map +1 -0
  10. package/lib/components/set-tag-video/style/index.css +104 -0
  11. package/lib/components/set-tag-video/style/index.d.ts +1 -0
  12. package/lib/components/set-tag-video/style/index.js +4 -0
  13. package/lib/components/set-tag-video/style/index.js.map +1 -0
  14. package/lib/components/set-tag-video/style/index.less +125 -0
  15. package/lib/components/split-screen/index.d.ts +11 -0
  16. package/lib/components/split-screen/index.js +203 -0
  17. package/lib/components/split-screen/index.js.map +1 -0
  18. package/lib/components/split-screen/style/css.js +4 -0
  19. package/lib/components/split-screen/style/css.js.map +1 -0
  20. package/lib/components/split-screen/style/index.css +21 -0
  21. package/lib/components/split-screen/style/index.d.ts +1 -0
  22. package/lib/components/split-screen/style/index.js +4 -0
  23. package/lib/components/split-screen/style/index.js.map +1 -0
  24. package/lib/components/split-screen/style/index.less +21 -0
  25. package/lib/components/tag-video/images/play.gif +0 -0
  26. package/lib/components/tag-video/index.d.ts +7 -0
  27. package/lib/components/tag-video/index.js +171 -0
  28. package/lib/components/tag-video/index.js.map +1 -0
  29. package/lib/components/tag-video/style/css.js +4 -0
  30. package/lib/components/tag-video/style/css.js.map +1 -0
  31. package/lib/components/tag-video/style/index.css +73 -0
  32. package/lib/components/tag-video/style/index.d.ts +1 -0
  33. package/lib/components/tag-video/style/index.js +4 -0
  34. package/lib/components/tag-video/style/index.js.map +1 -0
  35. package/lib/components/tag-video/style/index.less +69 -0
  36. package/lib/components/video-scale/index.d.ts +9 -0
  37. package/lib/components/video-scale/index.js +65 -0
  38. package/lib/components/video-scale/index.js.map +1 -0
  39. package/lib/components/video-scale/style/css.js +4 -0
  40. package/lib/components/video-scale/style/css.js.map +1 -0
  41. package/lib/components/video-scale/style/index.css +30 -0
  42. package/lib/components/video-scale/style/index.d.ts +1 -0
  43. package/lib/components/video-scale/style/index.js +4 -0
  44. package/lib/components/video-scale/style/index.js.map +1 -0
  45. package/lib/components/video-scale/style/index.less +31 -0
  46. package/lib/controls/index.d.ts +2 -0
  47. package/lib/controls/index.js +5 -3
  48. package/lib/controls/index.js.map +1 -1
  49. package/lib/controls/style/index.css +1 -0
  50. package/lib/controls/style/index.less +1 -0
  51. package/lib/history-control/index.js +5 -1
  52. package/lib/history-control/index.js.map +1 -1
  53. package/lib/history-control/style/index.css +1 -0
  54. package/lib/history-control/style/index.less +1 -0
  55. package/lib/history-control-v2/components/grid-item/index.d.ts +21 -0
  56. package/lib/history-control-v2/components/grid-item/index.js +207 -0
  57. package/lib/history-control-v2/components/grid-item/index.js.map +1 -0
  58. package/lib/history-control-v2/components/panel/index.d.ts +9 -0
  59. package/lib/history-control-v2/components/panel/index.js +533 -0
  60. package/lib/history-control-v2/components/panel/index.js.map +1 -0
  61. package/lib/history-control-v2/context.d.ts +17 -0
  62. package/lib/history-control-v2/context.js +12 -0
  63. package/lib/history-control-v2/context.js.map +1 -0
  64. package/lib/history-control-v2/images/collapse.png +0 -0
  65. package/lib/history-control-v2/images/empty.png +0 -0
  66. package/lib/history-control-v2/index.d.ts +11 -0
  67. package/lib/history-control-v2/index.js +418 -0
  68. package/lib/history-control-v2/index.js.map +1 -0
  69. package/lib/history-control-v2/interface.d.ts +140 -0
  70. package/lib/history-control-v2/style/css.js +24 -0
  71. package/lib/history-control-v2/style/css.js.map +1 -0
  72. package/lib/history-control-v2/style/index.css +435 -0
  73. package/lib/history-control-v2/style/index.d.ts +11 -0
  74. package/lib/history-control-v2/style/index.js +24 -0
  75. package/lib/history-control-v2/style/index.js.map +1 -0
  76. package/lib/history-control-v2/style/index.less +437 -0
  77. package/lib/history-control-v2/utils.d.ts +19 -0
  78. package/lib/history-control-v2/utils.js +136 -0
  79. package/lib/history-control-v2/utils.js.map +1 -0
  80. package/lib/history-player/index.d.ts +11 -3
  81. package/lib/history-player/index.js +99 -32
  82. package/lib/history-player/index.js.map +1 -1
  83. package/lib/icons/index.css +4 -0
  84. package/lib/icons/index.d.ts +29 -0
  85. package/lib/icons/index.js +1393 -19
  86. package/lib/icons/index.js.map +1 -1
  87. package/lib/icons/index.less +6 -0
  88. package/lib/index.d.ts +2 -0
  89. package/lib/index.js +16 -0
  90. package/lib/index.js.map +1 -1
  91. package/lib/live-control/index.js +5 -2
  92. package/lib/live-control/index.js.map +1 -1
  93. package/lib/live-control-v2/images/empty.png +0 -0
  94. package/lib/live-control-v2/index.d.ts +55 -0
  95. package/lib/live-control-v2/index.js +529 -0
  96. package/lib/live-control-v2/index.js.map +1 -0
  97. package/lib/live-control-v2/style/css.js +18 -0
  98. package/lib/live-control-v2/style/css.js.map +1 -0
  99. package/lib/live-control-v2/style/index.css +217 -0
  100. package/lib/live-control-v2/style/index.d.ts +8 -0
  101. package/lib/live-control-v2/style/index.js +18 -0
  102. package/lib/live-control-v2/style/index.js.map +1 -0
  103. package/lib/live-control-v2/style/index.less +192 -0
  104. package/lib/live-player/index.d.ts +1 -1
  105. package/lib/live-player/index.js +7 -2
  106. package/lib/live-player/index.js.map +1 -1
  107. package/lib/player/index.js +14 -3
  108. package/lib/player/index.js.map +1 -1
  109. package/lib/typings/h5player.d.ts +10 -8
  110. package/lib/utils/index.d.ts +17 -0
  111. package/lib/utils/index.js +20 -1
  112. package/lib/utils/index.js.map +1 -1
  113. package/package.json +1 -1
@@ -0,0 +1,437 @@
1
+ .vtx-history-control-v2 {
2
+ display: flex;
3
+ flex-direction: column;
4
+ position: relative;
5
+ .player-grid-container {
6
+ display: grid;
7
+ flex-grow: 1;
8
+ grid-gap: 1px;
9
+ height: 0;
10
+ background-color: rgba(0, 0, 0, 0.8);
11
+
12
+ &._1 {
13
+ grid-template-rows: 1fr;
14
+ grid-template-columns: 1fr;
15
+ }
16
+
17
+ &._4 {
18
+ grid-template-rows: 1fr 1fr;
19
+ grid-template-columns: 1fr 1fr;
20
+ }
21
+ &._9 {
22
+ grid-template-rows: 1fr 1fr 1fr;
23
+ grid-template-columns: 1fr 1fr 1fr;
24
+ }
25
+ &._16 {
26
+ grid-template-rows: 1fr 1fr 1fr 1fr;
27
+ grid-template-columns: 1fr 1fr 1fr 1fr;
28
+ }
29
+ &._25 {
30
+ grid-template-rows: 1fr 1fr 1fr 1fr 1fr;
31
+ grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
32
+ }
33
+ &._6 {
34
+ grid-template-rows: 1fr 1fr 1fr;
35
+ grid-template-columns: 1fr 1fr 1fr;
36
+ :nth-child(1) {
37
+ grid-column-start: 1;
38
+ grid-column-end: 3;
39
+ grid-row-start: 1;
40
+ grid-row-end: 3;
41
+ }
42
+ }
43
+ &._8 {
44
+ grid-template-rows: 1fr 1fr 1fr 1fr;
45
+ grid-template-columns: 1fr 1fr 1fr 1fr;
46
+ :nth-child(1) {
47
+ grid-column-start: 1;
48
+ grid-column-end: 4;
49
+ grid-row-start: 1;
50
+ grid-row-end: 4;
51
+ }
52
+ }
53
+ &._10 {
54
+ grid-template-rows: 1fr 1fr 1fr 1fr 1fr;
55
+ grid-template-columns: 1fr 1fr 1fr;
56
+ :nth-child(1) {
57
+ grid-column-start: 1;
58
+ grid-column-end: 3;
59
+ grid-row-start: 1;
60
+ grid-row-end: 4;
61
+ }
62
+ }
63
+ &._13 {
64
+ grid-template-rows: 1fr 1fr 1fr 1fr;
65
+ grid-template-columns: 1fr 1fr 1fr 1fr;
66
+ :nth-child(1) {
67
+ grid-column-start: 1;
68
+ grid-column-end: 3;
69
+ grid-row-start: 1;
70
+ grid-row-end: 3;
71
+ }
72
+ }
73
+ &._14 {
74
+ grid-template-rows: 1fr 1fr 1fr 1fr 1fr;
75
+ grid-template-columns: 1fr 1fr 1fr 1fr;
76
+ :nth-child(1) {
77
+ grid-column-start: 1;
78
+ grid-column-end: 3;
79
+ grid-row-start: 1;
80
+ grid-row-end: 4;
81
+ }
82
+ :nth-child(2) {
83
+ grid-column-start: 3;
84
+ grid-column-end: 5;
85
+ }
86
+ }
87
+ &._17 {
88
+ grid-template-rows: 1fr 1fr 1fr 1fr 1fr;
89
+ grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
90
+ :nth-child(1) {
91
+ grid-column-start: 1;
92
+ grid-column-end: 4;
93
+ grid-row-start: 1;
94
+ grid-row-end: 4;
95
+ }
96
+ }
97
+ &._22 {
98
+ grid-template-rows: 1fr 1fr 1fr 1fr 1fr;
99
+ grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
100
+ :nth-child(1) {
101
+ grid-column-start: 1;
102
+ grid-column-end: 3;
103
+ grid-row-start: 1;
104
+ grid-row-end: 3;
105
+ }
106
+ }
107
+ .grid-item-container {
108
+ display: flex;
109
+ flex-direction: column;
110
+ min-width: 0;
111
+ min-height: 0;
112
+ background-color: #2b3d51;
113
+ align-items: center;
114
+ &.emptyImg {
115
+ background-image: url('../images/empty.png');
116
+ background-repeat: no-repeat;
117
+ background-position: center;
118
+ }
119
+ &.active {
120
+ box-shadow: 0 0 0 1px #52c41a;
121
+ }
122
+ > .content {
123
+ width: 100%;
124
+ height: calc(100% - 26px);
125
+ display: flex;
126
+ align-items: center;
127
+ justify-content: center;
128
+ }
129
+ }
130
+ }
131
+ .bottom-controls {
132
+ display: flex;
133
+ align-items: center;
134
+ width: 100%;
135
+ height: 33px;
136
+ padding: 0 12px;
137
+ background-color: #243241;
138
+ .right {
139
+ margin-left: auto;
140
+
141
+ > div {
142
+ height: 24px;
143
+ }
144
+ }
145
+ .split-line {
146
+ margin-top: 6px;
147
+ width: 1px;
148
+ background-color: rgba(255, 255, 255, 0.1);
149
+ height: 14px;
150
+ }
151
+ .controls-icon-hover {
152
+ color: rgba(255, 255, 255, 0.65);
153
+ display: flex;
154
+ align-items: center;
155
+ padding-top: 2px;
156
+ .hover-hide {
157
+ display: inline-block;
158
+ vertical-align: 0.1em;
159
+ font-size: 12px;
160
+ }
161
+ .hover-show {
162
+ display: none;
163
+ vertical-align: 0.1em;
164
+ font-size: 12px;
165
+ }
166
+ &:hover {
167
+ .hover-hide {
168
+ display: none;
169
+ }
170
+ .hover-show {
171
+ display: inline-block;
172
+ color: #1890ff;
173
+ vertical-align: 0.2em;
174
+ }
175
+ }
176
+ }
177
+ }
178
+
179
+ .collapse-controls {
180
+ bottom: 32px;
181
+ width: 100%;
182
+ background-color: #131d27;
183
+
184
+ .action-bar {
185
+ display: flex;
186
+ justify-content: center;
187
+ cursor: pointer;
188
+ }
189
+
190
+ .collapse-panel-container {
191
+ .panels {
192
+ padding: 12px 20px;
193
+ margin: 0 14px 14px;
194
+ background-color: #141414;
195
+ border: 1px solid rgba(255, 255, 255, 0.2);
196
+ border-radius: 2px;
197
+ .time-panel {
198
+ position: relative;
199
+
200
+ .time-line-icon {
201
+ position: absolute;
202
+ top: -10px;
203
+ }
204
+
205
+ .segments {
206
+ position: relative;
207
+ height: 24px;
208
+ overflow: hidden;
209
+ .timeline {
210
+ position: absolute;
211
+ top: 0;
212
+ bottom: 0;
213
+ border: 0;
214
+ width: 1px;
215
+ background: #1890ff;
216
+ z-index: 1;
217
+ }
218
+ .segment {
219
+ position: absolute;
220
+ height: 24px;
221
+ background-color: rgba(186, 231, 255, 1);
222
+ border-left: 1px solid #141414;
223
+ }
224
+ }
225
+
226
+ .time-axis {
227
+ position: relative;
228
+ width: 100%;
229
+
230
+ .split-lines {
231
+ height: 30px;
232
+
233
+ &::before {
234
+ position: absolute;
235
+ top: -1px;
236
+ width: 100%;
237
+ height: 1px;
238
+ content: '';
239
+ background-color: rgba(255, 255, 255, 0.65);
240
+ }
241
+
242
+ .line {
243
+ position: absolute;
244
+ color: white;
245
+
246
+ .number {
247
+ position: absolute;
248
+ color: rgba(255, 255, 255, 0.65);
249
+ transform: translate(-50%, 6px);
250
+ }
251
+
252
+ &::before {
253
+ position: absolute;
254
+ width: 1px;
255
+ height: 8px;
256
+ content: '';
257
+ background-color: rgba(255, 255, 255, 0.65);
258
+ }
259
+ }
260
+ }
261
+ }
262
+ }
263
+
264
+ .panels-left {
265
+ width: 200px;
266
+ color: #fff;
267
+ .panels-left-title {
268
+ padding: 0 5px;
269
+ height: 39px;
270
+ justify-content: start;
271
+ align-items: center;
272
+ display: flex;
273
+ background-color: #242424;
274
+ }
275
+ .panels-left-wrap {
276
+ height: 100px;
277
+ overflow: auto;
278
+ &::-webkit-scrollbar {
279
+ width: 6px;
280
+ height: 6px;
281
+ }
282
+
283
+ &::-webkit-scrollbar-track {
284
+ background: transparent;
285
+ border-radius: 5px;
286
+ }
287
+
288
+ &::-webkit-scrollbar-thumb {
289
+ background: rgba(255, 255, 255, 0.45);
290
+ border-radius: 5px;
291
+ }
292
+
293
+ &::-webkit-scrollbar-corner {
294
+ background-color: transparent;
295
+ }
296
+
297
+ &::-webkit-scrollbar-thumb:hover {
298
+ background: rgba(255, 255, 255, 0.65);
299
+ }
300
+ }
301
+ .panels-left-content {
302
+ line-height: 37px;
303
+ height: 37px;
304
+ padding: 0 5px;
305
+ cursor: pointer;
306
+ white-space: nowrap;
307
+ overflow: hidden;
308
+ text-overflow: ellipsis;
309
+ &:hover {
310
+ background-color: #102641;
311
+ }
312
+ }
313
+ .panels-left-content-active {
314
+ background: #102641;
315
+ }
316
+ }
317
+ }
318
+ }
319
+ }
320
+
321
+ .player-container {
322
+ flex-grow: 1;
323
+ width: 100%;
324
+ height: 0;
325
+ display: flex;
326
+ justify-content: center;
327
+ align-items: center;
328
+ }
329
+ .vtx-spin {
330
+ position: absolute;
331
+ top: 50%;
332
+ left: 50%;
333
+ transform: translate(-50%, -50%);
334
+ }
335
+ }
336
+
337
+ .history-url-table {
338
+ border-right: 1px solid #383838;
339
+ border-bottom: 1px solid #383838;
340
+
341
+ .ant-table {
342
+ background: var(--table-bg);
343
+
344
+ .ant-table-container {
345
+ &::before {
346
+ display: none;
347
+ }
348
+
349
+ &::after {
350
+ display: none;
351
+ }
352
+
353
+ .ant-table-header {
354
+ table {
355
+ border-collapse: collapse;
356
+
357
+ thead {
358
+ th {
359
+ padding: 8px;
360
+ color: rgba(255, 255, 255, 0.85);
361
+ white-space: no-wrap;
362
+ background-color: rgba(255, 255, 255, 0.07);
363
+ border: 1px solid #383838;
364
+
365
+ &::before {
366
+ display: none;
367
+ }
368
+ }
369
+ }
370
+ }
371
+ }
372
+
373
+ .ant-table-body {
374
+ &::-webkit-scrollbar {
375
+ width: 10px;
376
+ height: 10px;
377
+ }
378
+
379
+ &::-webkit-scrollbar-track {
380
+ background: transparent;
381
+ border-radius: 5px;
382
+ }
383
+
384
+ &::-webkit-scrollbar-thumb {
385
+ background: rgba(255, 255, 255, 0.45);
386
+ border-radius: 5px;
387
+ }
388
+
389
+ &::-webkit-scrollbar-corner {
390
+ background-color: transparent;
391
+ }
392
+
393
+ &::-webkit-scrollbar-thumb:hover {
394
+ background: rgba(255, 255, 255, 0.65);
395
+ }
396
+
397
+ table {
398
+ border-collapse: collapse;
399
+
400
+ tbody {
401
+ tr {
402
+ td {
403
+ padding: 6px 8px;
404
+ font-size: 14px;
405
+ color: rgba(255, 255, 255, 0.65);
406
+ white-space: nowrap;
407
+ background-color: transparent;
408
+ border: 1px solid #383838;
409
+ }
410
+
411
+ &.active {
412
+ td {
413
+ background-color: #102641;
414
+ }
415
+ }
416
+ }
417
+ }
418
+
419
+ .play-btn {
420
+ height: fit-content;
421
+ padding: 0 8px;
422
+ font-size: 14px;
423
+ color: rgba(255, 255, 255, 0.65);
424
+ background: rgba(255, 255, 255, 0.078);
425
+ border: 1px solidrgba(255, 255, 255, 0.2);
426
+ border-radius: 2px;
427
+
428
+ &.active {
429
+ color: #177ddc;
430
+ border-color: #177ddc;
431
+ }
432
+ }
433
+ }
434
+ }
435
+ }
436
+ }
437
+ }
@@ -0,0 +1,19 @@
1
+ import { IChannel, IUrlsTableItemType } from './interface';
2
+ import { GetHistoryUrlResp } from '../api/types';
3
+ /** 默认播放器参数 */
4
+ export declare const DEFAULT_PLAY_PARAMS: IChannel;
5
+ export declare const DEFAULT_GRID = 1;
6
+ export declare const DEFAULT_ACTIVE = 0;
7
+ export declare const DEFAULT_CHANNELS: IChannel[];
8
+ /**
9
+ * 获取历史回放表格数据
10
+ * @param data
11
+ * @returns
12
+ */
13
+ export declare const getChannelData: (data: GetHistoryUrlResp, origin: any) => IChannel;
14
+ /**
15
+ * 获取历史回放表格数据
16
+ * @param data
17
+ * @returns
18
+ */
19
+ export declare const getUrlTableData: (data: GetHistoryUrlResp) => IUrlsTableItemType[];
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getUrlTableData = exports.getChannelData = exports.DEFAULT_PLAY_PARAMS = exports.DEFAULT_GRID = exports.DEFAULT_CHANNELS = exports.DEFAULT_ACTIVE = void 0;
7
+
8
+ var _utils = require("../utils");
9
+
10
+ var _moment = _interopRequireDefault(require("moment"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
+
14
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
15
+
16
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
17
+
18
+ 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); }
19
+
20
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
21
+
22
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
23
+
24
+ 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; }
25
+
26
+ /** 默认播放器参数 */
27
+ var DEFAULT_PLAY_PARAMS = {
28
+ channelNum: '',
29
+ videoChannelId: '',
30
+ tagId: '',
31
+ index: -1,
32
+ url: '',
33
+ startTime: '',
34
+ endTime: '',
35
+ deviceId: '',
36
+ deviceName: '',
37
+ channelName: '',
38
+ tableList: [],
39
+ segmentData: {
40
+ list: []
41
+ }
42
+ };
43
+ exports.DEFAULT_PLAY_PARAMS = DEFAULT_PLAY_PARAMS;
44
+ var DEFAULT_GRID = 1;
45
+ exports.DEFAULT_GRID = DEFAULT_GRID;
46
+ var DEFAULT_ACTIVE = 0;
47
+ exports.DEFAULT_ACTIVE = DEFAULT_ACTIVE;
48
+
49
+ var DEFAULT_CHANNELS = _toConsumableArray(Array(25)).map(function (item, index) {
50
+ return {
51
+ channelIndex: index,
52
+ // 通道号
53
+ channelNum: '',
54
+ // 用来判断在下面列表的位置
55
+ index: -1,
56
+ // 如果没有 就不播放
57
+ url: '',
58
+ segmentData: {
59
+ list: []
60
+ }
61
+ };
62
+ });
63
+ /**
64
+ * 获取历史回放表格数据
65
+ * @param data
66
+ * @returns
67
+ */
68
+
69
+
70
+ exports.DEFAULT_CHANNELS = DEFAULT_CHANNELS;
71
+
72
+ var getChannelData = function getChannelData(data, origin) {
73
+ var _a, _b, _c, _d, _e, _f, _g, _h;
74
+
75
+ var segmentData = {
76
+ list: data.list,
77
+ start: (0, _moment["default"])(origin === null || origin === void 0 ? void 0 : origin.beginTime).startOf('day'),
78
+ end: (0, _moment["default"])(origin === null || origin === void 0 ? void 0 : origin.endTime).endOf('day')
79
+ };
80
+ var result = {
81
+ hkType: data.hkType,
82
+ deviceId: data.deviceId,
83
+ deviceName: data.deviceName,
84
+ channelNum: data.channelNum,
85
+ channelName: data.channelName,
86
+ tagId: (origin === null || origin === void 0 ? void 0 : origin.tagId) || '',
87
+ url: ((_b = (_a = data.list) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.playbackUrl) || data.totalTimeUrl,
88
+ videoChannelId: data.videoChannelId,
89
+ tableList: getUrlTableData(data),
90
+ segmentData: segmentData,
91
+ index: (origin === null || origin === void 0 ? void 0 : origin.tagId) ? -1 : 0,
92
+ code: (_d = (_c = data.list) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.code,
93
+ startTime: ((_f = (_e = data.list) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.beginTime) || origin.beginTime,
94
+ endTime: ((_h = (_g = data.list) === null || _g === void 0 ? void 0 : _g[0]) === null || _h === void 0 ? void 0 : _h.endTime) || origin.endTime,
95
+ hasLabel: data.hasLabel
96
+ };
97
+ return result;
98
+ };
99
+ /**
100
+ * 获取历史回放表格数据
101
+ * @param data
102
+ * @returns
103
+ */
104
+
105
+
106
+ exports.getChannelData = getChannelData;
107
+
108
+ var getUrlTableData = function getUrlTableData(data) {
109
+ var _a;
110
+
111
+ var result = (_a = data.list) === null || _a === void 0 ? void 0 : _a.map(function (item, i) {
112
+ var beginTime = (0, _moment["default"])(item.beginTime);
113
+ var endTime = (0, _moment["default"])(item.endTime);
114
+ var totalSeconds = (0, _moment["default"])(endTime).diff((0, _moment["default"])(beginTime), 'seconds');
115
+ return {
116
+ index: i + 1,
117
+ hkType: data.hkType,
118
+ deviceId: data.deviceId,
119
+ channelName: data.channelName,
120
+ deviceName: data.deviceName,
121
+ channelNum: data.channelNum,
122
+ videoChannelId: data.videoChannelId,
123
+ beginTime: beginTime.format(_utils.TimeFormat.params),
124
+ endTime: endTime.format(_utils.TimeFormat.params),
125
+ size: (0, _utils.bytesToMegaBytes)(item.size),
126
+ duration: (0, _utils.secondsToString)(totalSeconds),
127
+ downloadUrl: '',
128
+ url: item.playbackUrl || data.url,
129
+ code: item.code
130
+ };
131
+ });
132
+ return result || [];
133
+ };
134
+
135
+ exports.getUrlTableData = getUrlTableData;
136
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","names":["DEFAULT_PLAY_PARAMS","channelNum","videoChannelId","tagId","index","url","startTime","endTime","deviceId","deviceName","channelName","tableList","segmentData","list","DEFAULT_GRID","DEFAULT_ACTIVE","DEFAULT_CHANNELS","Array","map","item","channelIndex","getChannelData","data","origin","_a","_b","_c","_d","_e","_f","_g","_h","start","moment","beginTime","startOf","end","endOf","result","hkType","playbackUrl","totalTimeUrl","getUrlTableData","code","hasLabel","i","totalSeconds","diff","format","TimeFormat","params","size","bytesToMegaBytes","duration","secondsToString","downloadUrl"],"sources":["history-control-v2/utils.js"],"sourcesContent":["import { TimeFormat, bytesToMegaBytes, secondsToString } from '../utils';\nimport moment from 'moment';\n/** 默认播放器参数 */\nexport const DEFAULT_PLAY_PARAMS = {\n channelNum: '',\n videoChannelId: '',\n tagId: '',\n index: -1,\n url: '',\n startTime: '',\n endTime: '',\n deviceId: '',\n deviceName: '',\n channelName: '',\n tableList: [],\n segmentData: {\n list: []\n }\n};\nexport const DEFAULT_GRID = 1;\nexport const DEFAULT_ACTIVE = 0;\nexport const DEFAULT_CHANNELS = [...Array(25)].map((item, index) => {\n return {\n channelIndex: index,\n // 通道号\n channelNum: '',\n // 用来判断在下面列表的位置\n index: -1,\n // 如果没有 就不播放\n url: '',\n segmentData: {\n list: []\n }\n };\n});\n/**\n * 获取历史回放表格数据\n * @param data\n * @returns\n */\nexport const getChannelData = (data, origin) => {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n const segmentData = {\n list: data.list,\n start: moment(origin === null || origin === void 0 ? void 0 : origin.beginTime).startOf('day'),\n end: moment(origin === null || origin === void 0 ? void 0 : origin.endTime).endOf('day'),\n };\n const result = {\n hkType: data.hkType,\n deviceId: data.deviceId,\n deviceName: data.deviceName,\n channelNum: data.channelNum,\n channelName: data.channelName,\n tagId: (origin === null || origin === void 0 ? void 0 : origin.tagId) || '',\n url: ((_b = (_a = data.list) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.playbackUrl) || data.totalTimeUrl,\n videoChannelId: data.videoChannelId,\n tableList: getUrlTableData(data),\n segmentData,\n index: (origin === null || origin === void 0 ? void 0 : origin.tagId) ? -1 : 0,\n code: (_d = (_c = data.list) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.code,\n startTime: ((_f = (_e = data.list) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.beginTime) || origin.beginTime,\n endTime: ((_h = (_g = data.list) === null || _g === void 0 ? void 0 : _g[0]) === null || _h === void 0 ? void 0 : _h.endTime) || origin.endTime,\n hasLabel: data.hasLabel,\n };\n return result;\n};\n/**\n * 获取历史回放表格数据\n * @param data\n * @returns\n */\nexport const getUrlTableData = (data) => {\n var _a;\n const result = (_a = data.list) === null || _a === void 0 ? void 0 : _a.map((item, i) => {\n const beginTime = moment(item.beginTime);\n const endTime = moment(item.endTime);\n const totalSeconds = moment(endTime).diff(moment(beginTime), 'seconds');\n return {\n index: i + 1,\n hkType: data.hkType,\n deviceId: data.deviceId,\n channelName: data.channelName,\n deviceName: data.deviceName,\n channelNum: data.channelNum,\n videoChannelId: data.videoChannelId,\n beginTime: beginTime.format(TimeFormat.params),\n endTime: endTime.format(TimeFormat.params),\n size: bytesToMegaBytes(item.size),\n duration: secondsToString(totalSeconds),\n downloadUrl: '',\n url: item.playbackUrl || data.url,\n code: item.code\n };\n });\n return result || [];\n};\n"],"mappings":"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"}
@@ -12,11 +12,11 @@ interface VtxPlayerProps {
12
12
  /** 视频流格式,如果为空则根据url自行判断 */
13
13
  type?: VideoType;
14
14
  /** 是否使用代理播放 */
15
- enableAgent: boolean;
15
+ enableAgent?: boolean;
16
16
  /** 开始时间,格式为:YYYY-MM-DD HH:mm:ss */
17
- startTime: string;
17
+ startTime: string | number;
18
18
  /** 结束时间,格式为:YYYY-MM-DD HH:mm:ss */
19
- endTime: string;
19
+ endTime: string | number;
20
20
  /** 宽度 */
21
21
  width?: number;
22
22
  /** 高度 */
@@ -25,12 +25,20 @@ interface VtxPlayerProps {
25
25
  captureName?: string;
26
26
  /** 控制条bottom */
27
27
  controlBottom?: number;
28
+ /** 控制条显示 */
29
+ controlVisible?: boolean | undefined;
28
30
  /** 播放器进度回调,time:YYYY-MM-DD HH:mm:ss speed:播放速率 */
29
31
  onTimeChange?: (time: string, speed: number) => void;
32
+ /** 截图回调 */
33
+ screenshot?: (url: string) => void;
30
34
  /** 是否展示信息 */
31
35
  showInfo?: boolean | 'leftTop' | 'leftBottom' | 'rightTop' | 'rightBottom';
32
36
  /** 信息 */
33
37
  info?: Array<Array<string>>;
38
+ /** 额外的按钮 */
39
+ extraButton?: React.ReactNode;
40
+ /** 当前播放的位置 默认为0 */
41
+ activeIndex?: number;
34
42
  }
35
43
  export declare const HistoryPlayer: React.ForwardRefExoticComponent<VtxPlayerProps & React.RefAttributes<HistoryPlayerHandle>>;
36
44
  export default HistoryPlayer;