@vtx/player 1.7.14 → 1.7.15
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.
- package/README.md +2 -2
- package/lib/api/fetch.js +91 -62
- package/lib/api/fetch.js.map +1 -1
- package/lib/api/index.js +63 -18
- package/lib/api/index.js.map +1 -1
- package/lib/api/types.d.ts +5 -5
- package/lib/bd/PlayerManager.js +68 -38
- package/lib/bd/PlayerManager.js.map +1 -1
- package/lib/bill-player/index.d.ts +1 -1
- package/lib/bill-player/index.js +121 -66
- package/lib/bill-player/index.js.map +1 -1
- package/lib/bill-player/style/css.js +9 -0
- package/lib/bill-player/style/css.js.map +1 -1
- package/lib/bill-player/style/index.js +9 -0
- package/lib/bill-player/style/index.js.map +1 -1
- package/lib/bill-player/style/index.less +297 -297
- package/lib/components/set-tag-video/index.js +34 -6
- package/lib/components/set-tag-video/index.js.map +1 -1
- package/lib/components/set-tag-video/style/css.js.map +1 -1
- package/lib/components/set-tag-video/style/index.js.map +1 -1
- package/lib/components/set-tag-video/style/index.less +125 -125
- package/lib/components/split-screen/index.d.ts +1 -1
- package/lib/components/split-screen/index.js +14 -3
- package/lib/components/split-screen/index.js.map +1 -1
- package/lib/components/split-screen/style/css.js.map +1 -1
- package/lib/components/split-screen/style/index.js.map +1 -1
- package/lib/components/tag-video/index.js +38 -10
- package/lib/components/tag-video/index.js.map +1 -1
- package/lib/components/tag-video/style/css.js.map +1 -1
- package/lib/components/tag-video/style/index.js.map +1 -1
- package/lib/components/tag-video/style/index.less +69 -69
- package/lib/components/video-scale/index.d.ts +1 -1
- package/lib/components/video-scale/index.js +9 -2
- package/lib/components/video-scale/index.js.map +1 -1
- package/lib/components/video-scale/style/css.js.map +1 -1
- package/lib/components/video-scale/style/index.js.map +1 -1
- package/lib/context/index.js +4 -0
- package/lib/context/index.js.map +1 -1
- package/lib/controls/index.d.ts +11 -11
- package/lib/controls/index.js +99 -34
- package/lib/controls/index.js.map +1 -1
- package/lib/controls/style/css.js +5 -0
- package/lib/controls/style/css.js.map +1 -1
- package/lib/controls/style/index.js +5 -0
- package/lib/controls/style/index.js.map +1 -1
- package/lib/controls/style/index.less +188 -188
- package/lib/h264/PlayerManager.js +27 -18
- package/lib/h264/PlayerManager.js.map +1 -1
- package/lib/history-control/index.d.ts +2 -2
- package/lib/history-control/index.js +121 -61
- package/lib/history-control/index.js.map +1 -1
- package/lib/history-control/style/css.js +6 -0
- package/lib/history-control/style/css.js.map +1 -1
- package/lib/history-control/style/index.js +6 -0
- package/lib/history-control/style/index.js.map +1 -1
- package/lib/history-control/style/index.less +252 -252
- package/lib/history-control-v2/components/grid-item/index.js +79 -38
- package/lib/history-control-v2/components/grid-item/index.js.map +1 -1
- package/lib/history-control-v2/components/panel/index.js +114 -44
- package/lib/history-control-v2/components/panel/index.js.map +1 -1
- package/lib/history-control-v2/context.js +2 -0
- package/lib/history-control-v2/context.js.map +1 -1
- package/lib/history-control-v2/index.d.ts +4 -4
- package/lib/history-control-v2/index.js +166 -97
- package/lib/history-control-v2/index.js.map +1 -1
- package/lib/history-control-v2/style/css.js +10 -0
- package/lib/history-control-v2/style/css.js.map +1 -1
- package/lib/history-control-v2/style/index.js +10 -0
- package/lib/history-control-v2/style/index.js.map +1 -1
- package/lib/history-control-v2/style/index.less +437 -437
- package/lib/history-control-v2/utils.js +21 -1
- package/lib/history-control-v2/utils.js.map +1 -1
- package/lib/history-player/index.d.ts +3 -3
- package/lib/history-player/index.js +210 -146
- package/lib/history-player/index.js.map +1 -1
- package/lib/history-player/style/css.js +3 -0
- package/lib/history-player/style/css.js.map +1 -1
- package/lib/history-player/style/index.js +3 -0
- package/lib/history-player/style/index.js.map +1 -1
- package/lib/history-player/style/index.less +102 -102
- package/lib/hooks/useSettings.js +6 -1
- package/lib/hooks/useSettings.js.map +1 -1
- package/lib/icc/PlayerManager.js +57 -26
- package/lib/icc/PlayerManager.js.map +1 -1
- package/lib/icc/api.d.ts +68 -0
- package/lib/icc/api.js +16 -2
- package/lib/icc/api.js.map +1 -1
- package/lib/icons/index.d.ts +36 -36
- package/lib/icons/index.js +171 -23
- package/lib/icons/index.js.map +1 -1
- package/lib/icons/index.less +32 -32
- package/lib/index.js +10 -0
- package/lib/index.js.map +1 -1
- package/lib/live-channel-player/index.d.ts +1 -1
- package/lib/live-channel-player/index.js +67 -31
- package/lib/live-channel-player/index.js.map +1 -1
- package/lib/live-channel-player/style/css.js +1 -0
- package/lib/live-channel-player/style/css.js.map +1 -1
- package/lib/live-channel-player/style/index.js +1 -0
- package/lib/live-channel-player/style/index.js.map +1 -1
- package/lib/live-control/index.d.ts +2 -2
- package/lib/live-control/index.js +86 -35
- package/lib/live-control/index.js.map +1 -1
- package/lib/live-control/style/css.js +4 -0
- package/lib/live-control/style/css.js.map +1 -1
- package/lib/live-control/style/index.js +4 -0
- package/lib/live-control/style/index.js.map +1 -1
- package/lib/live-control/style/index.less +99 -99
- package/lib/live-control-v2/index.d.ts +3 -3
- package/lib/live-control-v2/index.js +141 -108
- package/lib/live-control-v2/index.js.map +1 -1
- package/lib/live-control-v2/style/css.js +7 -0
- package/lib/live-control-v2/style/css.js.map +1 -1
- package/lib/live-control-v2/style/index.js +7 -0
- package/lib/live-control-v2/style/index.js.map +1 -1
- package/lib/live-control-v2/style/index.less +192 -192
- package/lib/live-player/index.js +136 -95
- package/lib/live-player/index.js.map +1 -1
- package/lib/live-player/style/css.js +2 -0
- package/lib/live-player/style/css.js.map +1 -1
- package/lib/live-player/style/index.js +2 -0
- package/lib/live-player/style/index.js.map +1 -1
- package/lib/live-player/style/index.less +75 -75
- package/lib/player/index.d.ts +1 -1
- package/lib/player/index.js +244 -79
- package/lib/player/index.js.map +1 -1
- package/lib/rsl/PlayerManager.js +64 -18
- package/lib/rsl/PlayerManager.js.map +1 -1
- package/lib/typings/@vtx/utils/index.d.ts +28 -28
- package/lib/typings/h5player.d.ts +146 -146
- package/lib/typings/webrtcplayer.d.ts +56 -56
- package/lib/typings/wsplayer.d.ts +99 -99
- package/lib/utils/index.d.ts +1 -1
- package/lib/utils/index.js +91 -12
- package/lib/utils/index.js.map +1 -1
- package/lib/vite-env.d.ts +1 -1
- package/lib/vtxHls/PlayerManager.js +20 -6
- package/lib/vtxHls/PlayerManager.js.map +1 -1
- package/lib/vtxHls/WhepManager.js +72 -9
- package/lib/vtxHls/WhepManager.js.map +1 -1
- package/lib/webrtc/PlayerManager.js +41 -28
- package/lib/webrtc/PlayerManager.js.map +1 -1
- package/package.json +125 -125
|
@@ -4,59 +4,91 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = exports.HistoryControlV2Panel = void 0;
|
|
7
|
+
|
|
7
8
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
9
|
+
|
|
8
10
|
var _react = require("react");
|
|
11
|
+
|
|
9
12
|
var _reactCollapsed = _interopRequireDefault(require("react-collapsed"));
|
|
13
|
+
|
|
10
14
|
var _api = require("../../../api");
|
|
15
|
+
|
|
11
16
|
var _icons = require("../../../icons");
|
|
17
|
+
|
|
12
18
|
var _utils = require("../../../utils");
|
|
19
|
+
|
|
13
20
|
var _context = require("../../context");
|
|
21
|
+
|
|
14
22
|
var _collapse = _interopRequireDefault(require("../../images/collapse.png"));
|
|
23
|
+
|
|
15
24
|
var _utils2 = require("../../utils");
|
|
25
|
+
|
|
16
26
|
var _ahooks = require("ahooks");
|
|
27
|
+
|
|
17
28
|
var _button = _interopRequireDefault(require("antd/lib/button"));
|
|
29
|
+
|
|
18
30
|
var _message = _interopRequireDefault(require("antd/lib/message"));
|
|
31
|
+
|
|
19
32
|
var _table = _interopRequireDefault(require("antd/lib/table"));
|
|
33
|
+
|
|
20
34
|
var _tooltip = _interopRequireDefault(require("antd/lib/tooltip"));
|
|
35
|
+
|
|
21
36
|
var _moment = _interopRequireDefault(require("moment"));
|
|
37
|
+
|
|
22
38
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
39
|
+
|
|
23
40
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
41
|
+
|
|
24
42
|
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."); }
|
|
43
|
+
|
|
25
44
|
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); }
|
|
45
|
+
|
|
26
46
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
47
|
+
|
|
27
48
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
28
|
-
|
|
49
|
+
|
|
50
|
+
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; }
|
|
51
|
+
|
|
29
52
|
var HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
30
53
|
var _a;
|
|
54
|
+
|
|
31
55
|
var _useContext = (0, _react.useContext)(_context.historyControlV2Context),
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
56
|
+
channels = _useContext.channels,
|
|
57
|
+
setChannels = _useContext.setChannels,
|
|
58
|
+
setLoading = _useContext.setLoading,
|
|
59
|
+
activeIndex = _useContext.activeIndex,
|
|
60
|
+
setActiveIndex = _useContext.setActiveIndex,
|
|
61
|
+
timeLinePosition = _useContext.timeLinePosition;
|
|
62
|
+
|
|
38
63
|
var realChannels = channels.filter(function (item) {
|
|
39
64
|
return item.channelNum !== '';
|
|
40
65
|
});
|
|
41
66
|
var segmentsRef = (0, _react.useRef)(null);
|
|
67
|
+
|
|
42
68
|
var getRef = function getRef() {
|
|
43
69
|
return segmentsRef.current;
|
|
44
70
|
};
|
|
71
|
+
|
|
45
72
|
var onVideoClose = props.onVideoClose;
|
|
73
|
+
|
|
46
74
|
var _useCollapse = (0, _reactCollapsed["default"])({
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
75
|
+
defaultExpanded: true // 默认展开
|
|
76
|
+
|
|
77
|
+
}),
|
|
78
|
+
getCollapseProps = _useCollapse.getCollapseProps,
|
|
79
|
+
getToggleProps = _useCollapse.getToggleProps,
|
|
80
|
+
isExpanded = _useCollapse.isExpanded;
|
|
81
|
+
|
|
52
82
|
var _useRequest = (0, _ahooks.useRequest)(_api.getHistoryUrls, {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
83
|
+
manual: true
|
|
84
|
+
}),
|
|
85
|
+
runAsync = _useRequest.runAsync;
|
|
86
|
+
|
|
56
87
|
var _useRequest2 = (0, _ahooks.useRequest)(_api.getPlaybackUrlSingle, {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
88
|
+
manual: true
|
|
89
|
+
}),
|
|
90
|
+
GetHKV2Url = _useRequest2.runAsync;
|
|
91
|
+
|
|
60
92
|
var columns = [{
|
|
61
93
|
title: '序号',
|
|
62
94
|
dataIndex: 'index',
|
|
@@ -67,12 +99,14 @@ var HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
|
67
99
|
width: 90,
|
|
68
100
|
render: function render(_, record, index) {
|
|
69
101
|
var _a;
|
|
102
|
+
|
|
70
103
|
var active = ((_a = channels === null || channels === void 0 ? void 0 : channels[activeIndex]) === null || _a === void 0 ? void 0 : _a.index) === index;
|
|
71
104
|
return (0, _jsxRuntime.jsx)(_button["default"], Object.assign({
|
|
72
105
|
className: "play-btn ".concat(active ? 'active' : ''),
|
|
73
106
|
onClick: function onClick() {
|
|
74
107
|
if (active) {
|
|
75
108
|
var newChannels = _toConsumableArray(channels);
|
|
109
|
+
|
|
76
110
|
newChannels[activeIndex].index = -1;
|
|
77
111
|
newChannels[activeIndex].startTime = '';
|
|
78
112
|
newChannels[activeIndex].endTime = '';
|
|
@@ -83,7 +117,9 @@ var HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
|
83
117
|
// eslint-disable-next-line no-inner-declarations
|
|
84
118
|
var deal = function deal(url, player) {
|
|
85
119
|
var realUrl = url || record.url;
|
|
120
|
+
|
|
86
121
|
var newChannels = _toConsumableArray(channels);
|
|
122
|
+
|
|
87
123
|
newChannels[activeIndex].index = index;
|
|
88
124
|
newChannels[activeIndex].startTime = record.beginTime;
|
|
89
125
|
newChannels[activeIndex].endTime = record.endTime;
|
|
@@ -92,6 +128,7 @@ var HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
|
92
128
|
newChannels[activeIndex].player = player || record.player;
|
|
93
129
|
setChannels(newChannels);
|
|
94
130
|
};
|
|
131
|
+
|
|
95
132
|
if (record.hkType === 'HK_CAR_CLOUD_V2') {
|
|
96
133
|
GetHKV2Url({
|
|
97
134
|
code: record.code,
|
|
@@ -138,8 +175,7 @@ var HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
|
138
175
|
title: '视频大小',
|
|
139
176
|
width: 110,
|
|
140
177
|
dataIndex: 'size'
|
|
141
|
-
}
|
|
142
|
-
// {
|
|
178
|
+
} // {
|
|
143
179
|
// title: '操作',
|
|
144
180
|
// width: 60,
|
|
145
181
|
// dataIndex: 'operation',
|
|
@@ -170,10 +206,13 @@ var HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
|
170
206
|
if (res.length > 25) {
|
|
171
207
|
_message["default"].info('最多播放25个视频通道');
|
|
172
208
|
}
|
|
209
|
+
|
|
173
210
|
var newIds = _toConsumableArray(res).map(function (item) {
|
|
174
211
|
return "".concat(item.deviceId).concat(item.channelNum);
|
|
175
212
|
});
|
|
213
|
+
|
|
176
214
|
var newChannels = _toConsumableArray(channels);
|
|
215
|
+
|
|
177
216
|
channels.map(function (item, index) {
|
|
178
217
|
if (!newIds.includes("".concat(item.deviceId).concat(item.channelNum))) {
|
|
179
218
|
newChannels[index] = Object.assign({
|
|
@@ -182,11 +221,12 @@ var HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
|
182
221
|
}
|
|
183
222
|
});
|
|
184
223
|
var fetchArr = [],
|
|
185
|
-
|
|
224
|
+
fetchIndexArr = [];
|
|
186
225
|
res.filter(function (item, index) {
|
|
187
226
|
return index < 25;
|
|
188
227
|
}).map(function (item) {
|
|
189
228
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
229
|
+
|
|
190
230
|
if (item.player === 'icc_ws') {
|
|
191
231
|
var channelIndex = newChannels.findIndex(function (v) {
|
|
192
232
|
return !v.url;
|
|
@@ -209,20 +249,25 @@ var HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
|
209
249
|
* 优化第一条数据的开始时间不要早于请求的开始时间
|
|
210
250
|
* 最后一条的结束时间不要晚于请求的结束时间
|
|
211
251
|
*/
|
|
252
|
+
|
|
253
|
+
|
|
212
254
|
if ((_a = item.list) === null || _a === void 0 ? void 0 : _a.length) {
|
|
213
255
|
if ((0, _moment["default"])((_c = (_b = item.list) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.beginTime).diff((0, _moment["default"])(channel.beginTime), 'seconds') < 0) {
|
|
214
256
|
item.list[0].beginTime = channel.beginTime;
|
|
215
257
|
}
|
|
258
|
+
|
|
216
259
|
if ((0, _moment["default"])((_e = (_d = item.list) === null || _d === void 0 ? void 0 : _d[item.list.length - 1]) === null || _e === void 0 ? void 0 : _e.endTime).diff((0, _moment["default"])(channel.endTime), 'seconds') > 0) {
|
|
217
260
|
item.list[item.list.length - 1].endTime = channel.endTime;
|
|
218
261
|
}
|
|
219
262
|
}
|
|
263
|
+
|
|
220
264
|
var result = newChannels.find(function (citem) {
|
|
221
265
|
return citem.deviceId === item.deviceId && citem.channelNum === item.channelNum;
|
|
222
266
|
});
|
|
267
|
+
|
|
223
268
|
if (result) {
|
|
224
|
-
var isClose = newChannels[result.channelIndex].index === -1 && newChannels[result.channelIndex].tagId === '';
|
|
225
|
-
|
|
269
|
+
var isClose = newChannels[result.channelIndex].index === -1 && newChannels[result.channelIndex].tagId === ''; // 过滤跨天的数据
|
|
270
|
+
|
|
226
271
|
item.list = (_g = (_f = item.list) === null || _f === void 0 ? void 0 : _f.filter) === null || _g === void 0 ? void 0 : _g.call(_f, function (e) {
|
|
227
272
|
return e.beginTime.slice(0, 10) === e.endTime.slice(0, 10);
|
|
228
273
|
});
|
|
@@ -238,12 +283,15 @@ var HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
|
238
283
|
var _channelIndex = (_o = (_m = newChannels.filter(function (item) {
|
|
239
284
|
return item.channelNum === '';
|
|
240
285
|
})) === null || _m === void 0 ? void 0 : _m[0]) === null || _o === void 0 ? void 0 : _o.channelIndex;
|
|
286
|
+
|
|
241
287
|
if (typeof _channelIndex == 'number') {
|
|
242
288
|
// 过滤跨天的数据
|
|
243
289
|
item.list = (_q = (_p = item.list) === null || _p === void 0 ? void 0 : _p.filter) === null || _q === void 0 ? void 0 : _q.call(_p, function (e) {
|
|
244
290
|
return e.beginTime.slice(0, 10) === e.endTime.slice(0, 10);
|
|
245
291
|
});
|
|
292
|
+
|
|
246
293
|
var _data = (0, _utils2.getChannelData)(item, channel);
|
|
294
|
+
|
|
247
295
|
if (_data.hkType === 'HK_CAR_CLOUD_V2') {
|
|
248
296
|
fetchArr.push(GetHKV2Url({
|
|
249
297
|
code: _data.code,
|
|
@@ -255,6 +303,7 @@ var HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
|
255
303
|
}));
|
|
256
304
|
fetchIndexArr.push(_channelIndex);
|
|
257
305
|
}
|
|
306
|
+
|
|
258
307
|
newChannels[_channelIndex] = Object.assign(Object.assign({}, newChannels[_channelIndex]), _data);
|
|
259
308
|
} else {
|
|
260
309
|
_message["default"].error('没有多余的播放位置');
|
|
@@ -262,6 +311,7 @@ var HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
|
262
311
|
}
|
|
263
312
|
});
|
|
264
313
|
console.log(newChannels);
|
|
314
|
+
|
|
265
315
|
if (fetchArr.length) {
|
|
266
316
|
Promise.all(fetchArr).then(function (data) {
|
|
267
317
|
data.forEach(function (e, index) {
|
|
@@ -278,9 +328,11 @@ var HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
|
278
328
|
} else {
|
|
279
329
|
_message["default"].info('未查询到视频');
|
|
280
330
|
}
|
|
331
|
+
|
|
281
332
|
setLoading(false);
|
|
282
333
|
});
|
|
283
334
|
};
|
|
335
|
+
|
|
284
336
|
(0, _react.useImperativeHandle)(ref, function () {
|
|
285
337
|
return {
|
|
286
338
|
load: function load(channel) {
|
|
@@ -321,6 +373,7 @@ var HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
|
321
373
|
channelName: channels === null || channels === void 0 ? void 0 : channels[activeIndex].channelName,
|
|
322
374
|
onClick: function onClick(index, startTime, endTime) {
|
|
323
375
|
var newChannels = _toConsumableArray(channels);
|
|
376
|
+
|
|
324
377
|
newChannels[activeIndex] = Object.assign(Object.assign({}, newChannels[activeIndex]), {
|
|
325
378
|
index: index,
|
|
326
379
|
startTime: (0, _moment["default"])(startTime).format(_utils.TimeFormat.params),
|
|
@@ -357,10 +410,9 @@ var HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
|
357
410
|
return (0, _jsxRuntime.jsx)("div", Object.assign({
|
|
358
411
|
className: "".concat(activeIndex == index ? 'panels-left-content-active' : '', " panels-left-content"),
|
|
359
412
|
onClick: function onClick() {
|
|
360
|
-
setActiveIndex(item.channelIndex);
|
|
361
|
-
|
|
362
|
-
if (item.player === 'icc_ws') {
|
|
363
|
-
//
|
|
413
|
+
setActiveIndex(item.channelIndex); // icc_ws直接播放
|
|
414
|
+
|
|
415
|
+
if (item.player === 'icc_ws') {//
|
|
364
416
|
}
|
|
365
417
|
}
|
|
366
418
|
}, {
|
|
@@ -394,6 +446,7 @@ var HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
|
394
446
|
},
|
|
395
447
|
rowClassName: function rowClassName(_, index) {
|
|
396
448
|
var _a;
|
|
449
|
+
|
|
397
450
|
return index === ((_a = channels === null || channels === void 0 ? void 0 : channels[activeIndex]) === null || _a === void 0 ? void 0 : _a.index) ? 'active' : '';
|
|
398
451
|
}
|
|
399
452
|
})
|
|
@@ -405,10 +458,12 @@ var HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
|
405
458
|
});
|
|
406
459
|
});
|
|
407
460
|
exports.HistoryControlV2Panel = HistoryControlV2Panel;
|
|
461
|
+
|
|
408
462
|
var TimeLine = function TimeLine() {
|
|
409
463
|
var getSplitLines = function getSplitLines() {
|
|
410
464
|
var result = [];
|
|
411
465
|
var step = 100 / 24;
|
|
466
|
+
|
|
412
467
|
for (var i = 0; i < 25; i++) {
|
|
413
468
|
var element = (0, _jsxRuntime.jsx)("div", Object.assign({
|
|
414
469
|
className: "line",
|
|
@@ -424,8 +479,10 @@ var TimeLine = function TimeLine() {
|
|
|
424
479
|
}), i);
|
|
425
480
|
result.push(element);
|
|
426
481
|
}
|
|
482
|
+
|
|
427
483
|
return result;
|
|
428
484
|
};
|
|
485
|
+
|
|
429
486
|
return (0, _jsxRuntime.jsxs)("div", Object.assign({
|
|
430
487
|
className: "time-axis"
|
|
431
488
|
}, {
|
|
@@ -438,39 +495,46 @@ var TimeLine = function TimeLine() {
|
|
|
438
495
|
}))]
|
|
439
496
|
}));
|
|
440
497
|
};
|
|
498
|
+
|
|
441
499
|
var ONEDAY_MILL = 24 * 60 * 60 * 1000;
|
|
500
|
+
|
|
442
501
|
var TimeVerticalLine = function TimeVerticalLine(_ref) {
|
|
443
502
|
var getRef = _ref.getRef,
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
503
|
+
history = _ref.history,
|
|
504
|
+
_onClick = _ref.onClick,
|
|
505
|
+
channelName = _ref.channelName;
|
|
506
|
+
|
|
447
507
|
var _a;
|
|
508
|
+
|
|
448
509
|
var mouse = (0, _ahooks.useMouse)(getRef());
|
|
449
510
|
var elementX = mouse.elementX,
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
var visible = elementX >= 0 && elementY >= 0 && elementX <= elementW && elementY <= elementH;
|
|
454
|
-
|
|
511
|
+
elementY = mouse.elementY,
|
|
512
|
+
elementW = mouse.elementW,
|
|
513
|
+
elementH = mouse.elementH;
|
|
514
|
+
var visible = elementX >= 0 && elementY >= 0 && elementX <= elementW && elementY <= elementH; // 计算elementX在整个宽度的占比,根据占比在一天中的比例算出具体时间,最后判断这个时间是否在某段视频中。在则显示提示时间。
|
|
515
|
+
|
|
455
516
|
var percent = elementX / elementW;
|
|
456
517
|
var time = (0, _moment["default"])((0, _moment["default"])(history.start).valueOf() + percent * ONEDAY_MILL).format(_utils.TimeFormat.params);
|
|
457
518
|
var flag = false,
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
519
|
+
playStart = -1,
|
|
520
|
+
playEnd = -1,
|
|
521
|
+
index = -1;
|
|
461
522
|
var now = (0, _moment["default"])(time).valueOf();
|
|
523
|
+
|
|
462
524
|
for (var i = 0; i < ((_a = history.list) === null || _a === void 0 ? void 0 : _a.length); i++) {
|
|
463
525
|
var begin = (0, _moment["default"])(history.list[i].beginTime).valueOf(),
|
|
464
|
-
|
|
526
|
+
end = (0, _moment["default"])(history.list[i].endTime).valueOf();
|
|
527
|
+
|
|
465
528
|
if (now >= begin && now <= end) {
|
|
466
|
-
index = i;
|
|
467
|
-
|
|
529
|
+
index = i; // url = history.list[i].playbackUrl;
|
|
530
|
+
|
|
468
531
|
playStart = now;
|
|
469
532
|
playEnd = end;
|
|
470
533
|
flag = true;
|
|
471
534
|
break;
|
|
472
535
|
}
|
|
473
536
|
}
|
|
537
|
+
|
|
474
538
|
return visible ? flag ? (0, _jsxRuntime.jsx)(_tooltip["default"], Object.assign({
|
|
475
539
|
title: "".concat(channelName || '', " ").concat(time)
|
|
476
540
|
}, {
|
|
@@ -493,20 +557,25 @@ var TimeVerticalLine = function TimeVerticalLine(_ref) {
|
|
|
493
557
|
}
|
|
494
558
|
}) : (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {});
|
|
495
559
|
};
|
|
560
|
+
|
|
496
561
|
var getSegments = function getSegments(props) {
|
|
497
562
|
var _props$list = props.list,
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
563
|
+
list = _props$list === void 0 ? [] : _props$list,
|
|
564
|
+
start = props.start,
|
|
565
|
+
end = props.end;
|
|
501
566
|
var startTime = (0, _moment["default"])(start);
|
|
502
567
|
var endTime = (0, _moment["default"])(end);
|
|
503
568
|
var total = endTime.diff(startTime, 'seconds'); // 总时间
|
|
569
|
+
|
|
504
570
|
var result = list === null || list === void 0 ? void 0 : list.map(function (i, index) {
|
|
505
571
|
var itemStart = (0, _moment["default"])(i.beginTime).diff(startTime, 'seconds') > 0 ? (0, _moment["default"])(i.beginTime) : startTime;
|
|
506
572
|
var itemEnd = (0, _moment["default"])(i.endTime);
|
|
507
573
|
var itemTotal = itemEnd.diff(itemStart, 'seconds'); // 分段总时间
|
|
574
|
+
|
|
508
575
|
var width = itemTotal / total * 100; // 分段时间占总时间百分比
|
|
576
|
+
|
|
509
577
|
var left = itemStart.diff(startTime, 'seconds') / total * 100; // 分段其实时间
|
|
578
|
+
|
|
510
579
|
return (0, _jsxRuntime.jsx)("div", {
|
|
511
580
|
className: "segment",
|
|
512
581
|
style: {
|
|
@@ -517,6 +586,7 @@ var getSegments = function getSegments(props) {
|
|
|
517
586
|
});
|
|
518
587
|
return result;
|
|
519
588
|
};
|
|
589
|
+
|
|
520
590
|
HistoryControlV2Panel.displayName = 'HistoryControlV2Panel';
|
|
521
591
|
var _default = HistoryControlV2Panel;
|
|
522
592
|
exports["default"] = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_jsxRuntime","require","_react","_reactCollapsed","_interopRequireDefault","_api","_icons","_utils","_context","_collapse","_utils2","_ahooks","_button","_message","_table","_tooltip","_moment","obj","__esModule","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","iter","Symbol","iterator","isArray","len","length","i","arr2","HistoryControlV2Panel","forwardRef","props","ref","_a","_useContext","useContext","historyControlV2Context","channels","setChannels","setLoading","activeIndex","setActiveIndex","timeLinePosition","realChannels","filter","item","channelNum","segmentsRef","useRef","getRef","current","onVideoClose","_useCollapse","useCollapse","defaultExpanded","getCollapseProps","getToggleProps","isExpanded","_useRequest","useRequest","getHistoryUrls","manual","runAsync","_useRequest2","getPlaybackUrlSingle","GetHKV2Url","columns","title","dataIndex","width","key","render","_","record","index","active","_jsx","Button","assign","className","concat","onClick","newChannels","startTime","endTime","deal","url","player","realUrl","beginTime","tagId","hkType","code","deviceId","tenantId","getUrlParam","then","data","playbackUrl","children","_jsxs","_Fragment","VideoCloseIcon","VideoPlayIcon","loadData","channel","deviceChannels","JSON","stringify","protocol","token","res","message","info","newIds","map","includes","channelIndex","DEFAULT_PLAY_PARAMS","fetchArr","fetchIndexArr","_b","_c","_d","_e","_f","_g","_h","_j","_k","_l","_m","_o","_p","_q","findIndex","v","streamType","deviceCode","deviceIp","devicePort","list","moment","diff","result","find","citem","isClose","e","getChannelData","console","log","push","error","Promise","all","forEach","useImperativeHandle","load","src","collapseBtnImg","alt","style","transform","TimeVerticalLine","history","segmentData","channelName","format","TimeFormat","params","getSegments","TimePositionIcon","left","TimeLine","display","Tooltip","flex","overflow","Table","dataSource","tableList","scroll","y","x","pagination","rowKey","guid","rowClassName","exports","getSplitLines","step","element","ONEDAY_MILL","_ref","mouse","useMouse","elementX","elementY","elementW","elementH","visible","percent","time","start","valueOf","flag","playStart","playEnd","now","begin","end","_props$list","total","itemStart","itemEnd","itemTotal","displayName","_default"],"sources":["history-control-v2/components/panel/index.js"],"sourcesContent":["import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { forwardRef, useContext, useImperativeHandle, useRef } from 'react';\nimport useCollapse from 'react-collapsed';\nimport { getHistoryUrls, getPlaybackUrlSingle } from '../../../api';\nimport { TimePositionIcon, VideoCloseIcon, VideoPlayIcon } from '../../../icons';\nimport { TimeFormat, getUrlParam, guid } from '../../../utils';\nimport { historyControlV2Context } from '../../context';\nimport collapseBtnImg from '../../images/collapse.png';\nimport { DEFAULT_PLAY_PARAMS, getChannelData } from '../../utils';\nimport { useMouse, useRequest } from 'ahooks';\nimport Button from 'antd/lib/button';\nimport message from 'antd/lib/message';\nimport Table from 'antd/lib/table';\nimport Tooltip from 'antd/lib/tooltip';\nimport moment from 'moment';\nexport const HistoryControlV2Panel = forwardRef((props, ref) => {\n var _a;\n const { channels, setChannels, setLoading, activeIndex, setActiveIndex, timeLinePosition } = useContext(historyControlV2Context);\n const realChannels = channels.filter((item) => item.channelNum !== '');\n const segmentsRef = useRef(null);\n const getRef = () => {\n return segmentsRef.current;\n };\n const { onVideoClose } = props;\n const { getCollapseProps, getToggleProps, isExpanded } = useCollapse({\n defaultExpanded: true, // 默认展开\n });\n const { runAsync } = useRequest(getHistoryUrls, {\n manual: true,\n });\n const { runAsync: GetHKV2Url } = useRequest(getPlaybackUrlSingle, {\n manual: true,\n });\n const columns = [\n {\n title: '序号',\n dataIndex: 'index',\n width: 50,\n },\n {\n title: '播放视频',\n key: 'play',\n width: 90,\n render: (_, record, index) => {\n var _a;\n const active = ((_a = channels === null || channels === void 0 ? void 0 : channels[activeIndex]) === null || _a === void 0 ? void 0 : _a.index) === index;\n return (_jsx(Button, Object.assign({ className: `play-btn ${active ? 'active' : ''}`, onClick: () => {\n if (active) {\n const newChannels = [...channels];\n newChannels[activeIndex].index = -1;\n newChannels[activeIndex].startTime = '';\n newChannels[activeIndex].endTime = '';\n setActiveIndex(activeIndex - 1 > 0 ? activeIndex - 1 : 0);\n setChannels(newChannels);\n onVideoClose && onVideoClose(newChannels[activeIndex]);\n }\n else {\n // eslint-disable-next-line no-inner-declarations\n function deal(url, player) {\n const realUrl = url || record.url;\n const newChannels = [...channels];\n newChannels[activeIndex].index = index;\n newChannels[activeIndex].startTime = record.beginTime;\n newChannels[activeIndex].endTime = record.endTime;\n newChannels[activeIndex].tagId = '';\n newChannels[activeIndex].url = realUrl;\n newChannels[activeIndex].player = player || record.player;\n setChannels(newChannels);\n }\n if (record.hkType === 'HK_CAR_CLOUD_V2') {\n GetHKV2Url({\n code: record.code,\n beginTime: record.beginTime,\n endTime: record.endTime,\n deviceId: record.deviceId,\n channelNum: record.channelNum,\n tenantId: getUrlParam('tenantId'),\n }).then((data) => {\n deal(data.playbackUrl, (data === null || data === void 0 ? void 0 : data.player) || '');\n });\n }\n else {\n deal();\n }\n }\n } }, { children: active ? (_jsxs(_Fragment, { children: [_jsx(VideoCloseIcon, { active: true }), \"\\u5173\\u95ED\"] })) : (_jsxs(_Fragment, { children: [_jsx(VideoPlayIcon, {}), \"\\u64AD\\u653E\"] })) })));\n },\n },\n {\n title: '设备名称',\n dataIndex: 'deviceName',\n width: 200,\n },\n {\n title: '开始时间',\n dataIndex: 'beginTime',\n width: 160,\n },\n {\n title: '结束时间',\n dataIndex: 'endTime',\n width: 160,\n },\n {\n title: '持续时间',\n width: 130,\n dataIndex: 'duration',\n },\n {\n title: '视频大小',\n width: 110,\n dataIndex: 'size',\n },\n // {\n // title: '操作',\n // width: 60,\n // dataIndex: 'operation',\n // render: (_, record) => {\n // return (\n // <Button\n // onClick={() => {\n // console.log(record);\n // }}\n // >\n // 下载\n // </Button>\n // );\n // },\n // },\n ];\n const loadData = (channel) => {\n setLoading(true);\n runAsync({\n deviceChannels: JSON.stringify(channel.deviceChannels),\n protocol: channel.protocol,\n beginTime: channel.beginTime,\n endTime: channel.endTime,\n token: getUrlParam('token'),\n }).then((res) => {\n if (Array.isArray(res)) {\n if (res.length > 25) {\n message.info('最多播放25个视频通道');\n }\n const newIds = [...res].map((item) => {\n return `${item.deviceId}${item.channelNum}`;\n });\n const newChannels = [...channels];\n channels.map((item, index) => {\n if (!newIds.includes(`${item.deviceId}${item.channelNum}`)) {\n newChannels[index] = Object.assign({ channelIndex: index }, DEFAULT_PLAY_PARAMS);\n }\n });\n const fetchArr = [], fetchIndexArr = [];\n res.filter((item, index) => index < 25).map((item) => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;\n if (item.player === 'icc_ws') {\n const channelIndex = newChannels.findIndex((v) => !v.url);\n newChannels[channelIndex] = Object.assign(Object.assign({}, newChannels[channelIndex]), { url: 'icc_ws', startTime: channel.beginTime, endTime: channel.endTime, streamType: item.streamType, deviceCode: item.deviceCode, deviceId: item.deviceId, deviceIp: item.deviceIp, devicePort: item.devicePort, channelNum: item.channelNum, player: 'icc_ws' });\n return;\n }\n /**\n * 优化第一条数据的开始时间不要早于请求的开始时间\n * 最后一条的结束时间不要晚于请求的结束时间\n */\n if ((_a = item.list) === null || _a === void 0 ? void 0 : _a.length) {\n if (moment((_c = (_b = item.list) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.beginTime).diff(moment(channel.beginTime), 'seconds') < 0) {\n item.list[0].beginTime = channel.beginTime;\n }\n if (moment((_e = (_d = item.list) === null || _d === void 0 ? void 0 : _d[item.list.length - 1]) === null || _e === void 0 ? void 0 : _e.endTime).diff(moment(channel.endTime), 'seconds') > 0) {\n item.list[item.list.length - 1].endTime = channel.endTime;\n }\n }\n const result = newChannels.find((citem) => citem.deviceId === item.deviceId && citem.channelNum === item.channelNum);\n if (result) {\n const isClose = newChannels[result.channelIndex].index === -1 &&\n newChannels[result.channelIndex].tagId === '';\n // 过滤跨天的数据\n item.list = (_g = (_f = item.list) === null || _f === void 0 ? void 0 : _f.filter) === null || _g === void 0 ? void 0 : _g.call(_f, (e) => e.beginTime.slice(0, 10) === e.endTime.slice(0, 10));\n const data = getChannelData(item, channel);\n console.log(data);\n newChannels[result.channelIndex] = Object.assign(Object.assign(Object.assign({}, newChannels[result.channelIndex]), { \n // 如果当前既没有播放列表 又没有播放标签 再 开始以第一个播放\n index: isClose ? 0 : newChannels[result.channelIndex].index, startTime: isClose\n ? ((_j = (_h = item.list) === null || _h === void 0 ? void 0 : _h[0]) === null || _j === void 0 ? void 0 : _j.beginTime) || channel.beginTime\n : newChannels[result.channelIndex].startTime, endTime: isClose\n ? ((_l = (_k = item.list) === null || _k === void 0 ? void 0 : _k[0]) === null || _l === void 0 ? void 0 : _l.beginTime) || channel.beginTime\n : newChannels[result.channelIndex].endTime }), data);\n }\n else {\n const channelIndex = (_o = (_m = newChannels.filter((item) => item.channelNum === '')) === null || _m === void 0 ? void 0 : _m[0]) === null || _o === void 0 ? void 0 : _o.channelIndex;\n if (typeof channelIndex == 'number') {\n // 过滤跨天的数据\n item.list = (_q = (_p = item.list) === null || _p === void 0 ? void 0 : _p.filter) === null || _q === void 0 ? void 0 : _q.call(_p, (e) => e.beginTime.slice(0, 10) === e.endTime.slice(0, 10));\n const data = getChannelData(item, channel);\n if (data.hkType === 'HK_CAR_CLOUD_V2') {\n fetchArr.push(GetHKV2Url({\n code: data.code,\n beginTime: data.startTime,\n endTime: data.endTime,\n deviceId: data.deviceId,\n channelNum: data.channelNum,\n tenantId: getUrlParam('tenantId'),\n }));\n fetchIndexArr.push(channelIndex);\n }\n newChannels[channelIndex] = Object.assign(Object.assign({}, newChannels[channelIndex]), data);\n }\n else {\n message.error('没有多余的播放位置');\n }\n }\n });\n console.log(newChannels);\n if (fetchArr.length) {\n Promise.all(fetchArr).then((data) => {\n data.forEach((e, index) => {\n newChannels[fetchIndexArr[index]] = Object.assign(Object.assign({}, newChannels[fetchIndexArr[index]]), { url: e.playbackUrl, player: (e === null || e === void 0 ? void 0 : e.player) || '' });\n });\n setChannels(newChannels);\n });\n }\n else {\n setChannels(newChannels);\n }\n }\n else {\n message.info('未查询到视频');\n }\n setLoading(false);\n });\n };\n useImperativeHandle(ref, () => {\n return {\n load: (channel) => {\n loadData(channel);\n },\n };\n });\n return (_jsx(_Fragment, { children: Array.isArray(realChannels) && realChannels.length > 0 ? (_jsxs(\"div\", Object.assign({ className: \"collapse-controls\" }, { children: [_jsx(\"div\", Object.assign({ className: \"action-bar\" }, getToggleProps({}), { children: _jsx(\"img\", { src: collapseBtnImg, alt: \"\", style: { transform: `rotate(${isExpanded ? 180 : 0}deg)` } }) })), _jsx(\"section\", Object.assign({ className: \"collapse-panel-container\" }, getCollapseProps(), { children: _jsxs(\"div\", Object.assign({ className: \"panels\" }, { children: [((_a = channels === null || channels === void 0 ? void 0 : channels[activeIndex]) === null || _a === void 0 ? void 0 : _a.player) !== 'bd' && (_jsxs(\"div\", Object.assign({ className: \"time-panel\" }, { children: [_jsxs(\"div\", Object.assign({ className: \"segments\", ref: segmentsRef }, { children: [_jsx(TimeVerticalLine, { getRef: getRef, history: channels === null || channels === void 0 ? void 0 : channels[activeIndex].segmentData, channelName: channels === null || channels === void 0 ? void 0 : channels[activeIndex].channelName, onClick: (index, startTime, endTime) => {\n const newChannels = [...channels];\n newChannels[activeIndex] = Object.assign(Object.assign({}, newChannels[activeIndex]), { index, startTime: moment(startTime).format(TimeFormat.params), endTime: moment(endTime).format(TimeFormat.params), tagId: '' });\n setChannels(newChannels);\n } }), getSegments(channels === null || channels === void 0 ? void 0 : channels[activeIndex].segmentData)] })), _jsxs(_Fragment, { children: [timeLinePosition >= 0 && (_jsx(TimePositionIcon, { className: \"time-line-icon\", style: {\n left: `${timeLinePosition}%`,\n } })), _jsx(TimeLine, {})] })] }))), _jsxs(\"div\", Object.assign({ style: { display: 'flex' } }, { children: [_jsxs(\"div\", Object.assign({ className: \"panels-left\" }, { children: [_jsxs(\"div\", Object.assign({ className: \"panels-left-title\" }, { children: [\"\\u89C6\\u9891\\u901A\\u9053(\", realChannels.length, \")\"] })), _jsx(\"div\", Object.assign({ className: \"panels-left-wrap\" }, { children: realChannels.map((item, index) => {\n return (_jsx(\"div\", Object.assign({ className: `${activeIndex == index\n ? 'panels-left-content-active'\n : ''} panels-left-content`, onClick: () => {\n setActiveIndex(item.channelIndex);\n // icc_ws直接播放\n if (item.player === 'icc_ws') {\n //\n }\n } }, { children: _jsx(Tooltip, Object.assign({ title: `${item.channelName}` }, { children: `${item.channelName}` })) }), `${item.deviceId}${item.channelNum}`));\n }) }))] })), _jsx(\"div\", Object.assign({ className: \"urls-panel\", style: { flex: 1, overflow: 'hidden', width: `100%` } }, { children: _jsx(Table, { className: \"history-url-table\", columns: columns, dataSource: (channels === null || channels === void 0 ? void 0 : channels[activeIndex].tableList) || [], scroll: { y: 100, x: 920 }, pagination: false, rowKey: () => {\n return guid();\n }, rowClassName: (_, index) => { var _a; return index === ((_a = channels === null || channels === void 0 ? void 0 : channels[activeIndex]) === null || _a === void 0 ? void 0 : _a.index) ? 'active' : ''; } }) }))] }))] })) }))] }))) : null }));\n});\nconst TimeLine = () => {\n const getSplitLines = () => {\n const result = [];\n const step = 100 / 24;\n for (let i = 0; i < 25; i++) {\n const element = (_jsx(\"div\", Object.assign({ className: \"line\", style: { left: `${step * i}%` } }, { children: _jsx(\"div\", Object.assign({ className: \"number\" }, { children: i >= 10 ? i : '0' + i })) }), i));\n result.push(element);\n }\n return result;\n };\n return (_jsxs(\"div\", Object.assign({ className: \"time-axis\" }, { children: [_jsx(\"div\", { className: \"axis\" }), _jsx(\"div\", Object.assign({ className: \"split-lines\" }, { children: getSplitLines() }))] })));\n};\nconst ONEDAY_MILL = 24 * 60 * 60 * 1000;\nconst TimeVerticalLine = ({ getRef, history, onClick, channelName, }) => {\n var _a;\n const mouse = useMouse(getRef());\n const { elementX, elementY, elementW, elementH } = mouse;\n const visible = elementX >= 0 && elementY >= 0 && elementX <= elementW && elementY <= elementH;\n // 计算elementX在整个宽度的占比,根据占比在一天中的比例算出具体时间,最后判断这个时间是否在某段视频中。在则显示提示时间。\n const percent = elementX / elementW;\n const time = moment(moment(history.start).valueOf() + percent * ONEDAY_MILL).format(TimeFormat.params);\n let flag = false, playStart = -1, playEnd = -1, index = -1;\n const now = moment(time).valueOf();\n for (let i = 0; i < ((_a = history.list) === null || _a === void 0 ? void 0 : _a.length); i++) {\n const begin = moment(history.list[i].beginTime).valueOf(), end = moment(history.list[i].endTime).valueOf();\n if (now >= begin && now <= end) {\n index = i;\n // url = history.list[i].playbackUrl;\n playStart = now;\n playEnd = end;\n flag = true;\n break;\n }\n }\n return visible ? (flag ? (_jsx(Tooltip, Object.assign({ title: `${channelName || ''} ${time}` }, { children: _jsx(\"div\", { className: \"timeline\", style: { left: elementX }, onClick: () => onClick(index, playStart, playEnd) }) }))) : (_jsx(\"div\", { className: \"timeline\", style: { left: elementX }, onClick: () => onClick(index, playStart, playEnd) }))) : (_jsx(_Fragment, {}));\n};\nconst getSegments = (props) => {\n const { list = [], start, end } = props;\n const startTime = moment(start);\n const endTime = moment(end);\n const total = endTime.diff(startTime, 'seconds'); // 总时间\n const result = list === null || list === void 0 ? void 0 : list.map((i, index) => {\n const itemStart = moment(i.beginTime).diff(startTime, 'seconds') > 0 ? moment(i.beginTime) : startTime;\n const itemEnd = moment(i.endTime);\n const itemTotal = itemEnd.diff(itemStart, 'seconds'); // 分段总时间\n const width = (itemTotal / total) * 100; // 分段时间占总时间百分比\n const left = (itemStart.diff(startTime, 'seconds') / total) * 100; // 分段其实时间\n return (_jsx(\"div\", { className: \"segment\", style: { width: `${width}%`, left: `${left < 0 ? 0 : left}%` } }, `${i.beginTime}_${index}`));\n });\n return result;\n};\nHistoryControlV2Panel.displayName = 'HistoryControlV2Panel';\nexport default HistoryControlV2Panel;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["HistoryControlV2Panel","forwardRef","props","ref","_a","useContext","historyControlV2Context","channels","setChannels","setLoading","activeIndex","setActiveIndex","timeLinePosition","realChannels","filter","item","channelNum","segmentsRef","useRef","getRef","current","onVideoClose","useCollapse","defaultExpanded","getCollapseProps","getToggleProps","isExpanded","useRequest","getHistoryUrls","manual","runAsync","getPlaybackUrlSingle","GetHKV2Url","columns","title","dataIndex","width","key","render","_","record","index","active","_jsx","Button","Object","assign","className","onClick","newChannels","startTime","endTime","deal","url","player","realUrl","beginTime","tagId","hkType","code","deviceId","tenantId","getUrlParam","then","data","playbackUrl","children","_jsxs","_Fragment","VideoCloseIcon","VideoPlayIcon","loadData","channel","deviceChannels","JSON","stringify","protocol","token","res","Array","isArray","length","message","info","newIds","map","includes","channelIndex","DEFAULT_PLAY_PARAMS","fetchArr","fetchIndexArr","_b","_c","_d","_e","_f","_g","_h","_j","_k","_l","_m","_o","_p","_q","findIndex","v","streamType","deviceCode","deviceIp","devicePort","list","moment","diff","result","find","citem","isClose","call","e","slice","getChannelData","console","log","push","error","Promise","all","forEach","useImperativeHandle","load","src","collapseBtnImg","alt","style","transform","TimeVerticalLine","history","segmentData","channelName","format","TimeFormat","params","getSegments","TimePositionIcon","left","TimeLine","display","Tooltip","flex","overflow","Table","dataSource","tableList","scroll","y","x","pagination","rowKey","guid","rowClassName","getSplitLines","step","i","element","ONEDAY_MILL","mouse","useMouse","elementX","elementY","elementW","elementH","visible","percent","time","start","valueOf","flag","playStart","playEnd","now","begin","end","total","itemStart","itemEnd","itemTotal","displayName"],"sources":["history-control-v2/components/panel/index.js"],"sourcesContent":["import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { forwardRef, useContext, useImperativeHandle, useRef } from 'react';\nimport useCollapse from 'react-collapsed';\nimport { getHistoryUrls, getPlaybackUrlSingle } from '../../../api';\nimport { TimePositionIcon, VideoCloseIcon, VideoPlayIcon } from '../../../icons';\nimport { TimeFormat, getUrlParam, guid } from '../../../utils';\nimport { historyControlV2Context } from '../../context';\nimport collapseBtnImg from '../../images/collapse.png';\nimport { DEFAULT_PLAY_PARAMS, getChannelData } from '../../utils';\nimport { useMouse, useRequest } from 'ahooks';\nimport Button from 'antd/lib/button';\nimport message from 'antd/lib/message';\nimport Table from 'antd/lib/table';\nimport Tooltip from 'antd/lib/tooltip';\nimport moment from 'moment';\nexport const HistoryControlV2Panel = forwardRef((props, ref) => {\n var _a;\n const { channels, setChannels, setLoading, activeIndex, setActiveIndex, timeLinePosition } = useContext(historyControlV2Context);\n const realChannels = channels.filter((item) => item.channelNum !== '');\n const segmentsRef = useRef(null);\n const getRef = () => {\n return segmentsRef.current;\n };\n const { onVideoClose } = props;\n const { getCollapseProps, getToggleProps, isExpanded } = useCollapse({\n defaultExpanded: true, // 默认展开\n });\n const { runAsync } = useRequest(getHistoryUrls, {\n manual: true,\n });\n const { runAsync: GetHKV2Url } = useRequest(getPlaybackUrlSingle, {\n manual: true,\n });\n const columns = [\n {\n title: '序号',\n dataIndex: 'index',\n width: 50,\n },\n {\n title: '播放视频',\n key: 'play',\n width: 90,\n render: (_, record, index) => {\n var _a;\n const active = ((_a = channels === null || channels === void 0 ? void 0 : channels[activeIndex]) === null || _a === void 0 ? void 0 : _a.index) === index;\n return (_jsx(Button, Object.assign({ className: `play-btn ${active ? 'active' : ''}`, onClick: () => {\n if (active) {\n const newChannels = [...channels];\n newChannels[activeIndex].index = -1;\n newChannels[activeIndex].startTime = '';\n newChannels[activeIndex].endTime = '';\n setActiveIndex(activeIndex - 1 > 0 ? activeIndex - 1 : 0);\n setChannels(newChannels);\n onVideoClose && onVideoClose(newChannels[activeIndex]);\n }\n else {\n // eslint-disable-next-line no-inner-declarations\n function deal(url, player) {\n const realUrl = url || record.url;\n const newChannels = [...channels];\n newChannels[activeIndex].index = index;\n newChannels[activeIndex].startTime = record.beginTime;\n newChannels[activeIndex].endTime = record.endTime;\n newChannels[activeIndex].tagId = '';\n newChannels[activeIndex].url = realUrl;\n newChannels[activeIndex].player = player || record.player;\n setChannels(newChannels);\n }\n if (record.hkType === 'HK_CAR_CLOUD_V2') {\n GetHKV2Url({\n code: record.code,\n beginTime: record.beginTime,\n endTime: record.endTime,\n deviceId: record.deviceId,\n channelNum: record.channelNum,\n tenantId: getUrlParam('tenantId'),\n }).then((data) => {\n deal(data.playbackUrl, (data === null || data === void 0 ? void 0 : data.player) || '');\n });\n }\n else {\n deal();\n }\n }\n } }, { children: active ? (_jsxs(_Fragment, { children: [_jsx(VideoCloseIcon, { active: true }), \"\\u5173\\u95ED\"] })) : (_jsxs(_Fragment, { children: [_jsx(VideoPlayIcon, {}), \"\\u64AD\\u653E\"] })) })));\n },\n },\n {\n title: '设备名称',\n dataIndex: 'deviceName',\n width: 200,\n },\n {\n title: '开始时间',\n dataIndex: 'beginTime',\n width: 160,\n },\n {\n title: '结束时间',\n dataIndex: 'endTime',\n width: 160,\n },\n {\n title: '持续时间',\n width: 130,\n dataIndex: 'duration',\n },\n {\n title: '视频大小',\n width: 110,\n dataIndex: 'size',\n },\n // {\n // title: '操作',\n // width: 60,\n // dataIndex: 'operation',\n // render: (_, record) => {\n // return (\n // <Button\n // onClick={() => {\n // console.log(record);\n // }}\n // >\n // 下载\n // </Button>\n // );\n // },\n // },\n ];\n const loadData = (channel) => {\n setLoading(true);\n runAsync({\n deviceChannels: JSON.stringify(channel.deviceChannels),\n protocol: channel.protocol,\n beginTime: channel.beginTime,\n endTime: channel.endTime,\n token: getUrlParam('token'),\n }).then((res) => {\n if (Array.isArray(res)) {\n if (res.length > 25) {\n message.info('最多播放25个视频通道');\n }\n const newIds = [...res].map((item) => {\n return `${item.deviceId}${item.channelNum}`;\n });\n const newChannels = [...channels];\n channels.map((item, index) => {\n if (!newIds.includes(`${item.deviceId}${item.channelNum}`)) {\n newChannels[index] = Object.assign({ channelIndex: index }, DEFAULT_PLAY_PARAMS);\n }\n });\n const fetchArr = [], fetchIndexArr = [];\n res.filter((item, index) => index < 25).map((item) => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;\n if (item.player === 'icc_ws') {\n const channelIndex = newChannels.findIndex((v) => !v.url);\n newChannels[channelIndex] = Object.assign(Object.assign({}, newChannels[channelIndex]), { url: 'icc_ws', startTime: channel.beginTime, endTime: channel.endTime, streamType: item.streamType, deviceCode: item.deviceCode, deviceId: item.deviceId, deviceIp: item.deviceIp, devicePort: item.devicePort, channelNum: item.channelNum, player: 'icc_ws' });\n return;\n }\n /**\n * 优化第一条数据的开始时间不要早于请求的开始时间\n * 最后一条的结束时间不要晚于请求的结束时间\n */\n if ((_a = item.list) === null || _a === void 0 ? void 0 : _a.length) {\n if (moment((_c = (_b = item.list) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.beginTime).diff(moment(channel.beginTime), 'seconds') < 0) {\n item.list[0].beginTime = channel.beginTime;\n }\n if (moment((_e = (_d = item.list) === null || _d === void 0 ? void 0 : _d[item.list.length - 1]) === null || _e === void 0 ? void 0 : _e.endTime).diff(moment(channel.endTime), 'seconds') > 0) {\n item.list[item.list.length - 1].endTime = channel.endTime;\n }\n }\n const result = newChannels.find((citem) => citem.deviceId === item.deviceId && citem.channelNum === item.channelNum);\n if (result) {\n const isClose = newChannels[result.channelIndex].index === -1 &&\n newChannels[result.channelIndex].tagId === '';\n // 过滤跨天的数据\n item.list = (_g = (_f = item.list) === null || _f === void 0 ? void 0 : _f.filter) === null || _g === void 0 ? void 0 : _g.call(_f, (e) => e.beginTime.slice(0, 10) === e.endTime.slice(0, 10));\n const data = getChannelData(item, channel);\n console.log(data);\n newChannels[result.channelIndex] = Object.assign(Object.assign(Object.assign({}, newChannels[result.channelIndex]), { \n // 如果当前既没有播放列表 又没有播放标签 再 开始以第一个播放\n index: isClose ? 0 : newChannels[result.channelIndex].index, startTime: isClose\n ? ((_j = (_h = item.list) === null || _h === void 0 ? void 0 : _h[0]) === null || _j === void 0 ? void 0 : _j.beginTime) || channel.beginTime\n : newChannels[result.channelIndex].startTime, endTime: isClose\n ? ((_l = (_k = item.list) === null || _k === void 0 ? void 0 : _k[0]) === null || _l === void 0 ? void 0 : _l.beginTime) || channel.beginTime\n : newChannels[result.channelIndex].endTime }), data);\n }\n else {\n const channelIndex = (_o = (_m = newChannels.filter((item) => item.channelNum === '')) === null || _m === void 0 ? void 0 : _m[0]) === null || _o === void 0 ? void 0 : _o.channelIndex;\n if (typeof channelIndex == 'number') {\n // 过滤跨天的数据\n item.list = (_q = (_p = item.list) === null || _p === void 0 ? void 0 : _p.filter) === null || _q === void 0 ? void 0 : _q.call(_p, (e) => e.beginTime.slice(0, 10) === e.endTime.slice(0, 10));\n const data = getChannelData(item, channel);\n if (data.hkType === 'HK_CAR_CLOUD_V2') {\n fetchArr.push(GetHKV2Url({\n code: data.code,\n beginTime: data.startTime,\n endTime: data.endTime,\n deviceId: data.deviceId,\n channelNum: data.channelNum,\n tenantId: getUrlParam('tenantId'),\n }));\n fetchIndexArr.push(channelIndex);\n }\n newChannels[channelIndex] = Object.assign(Object.assign({}, newChannels[channelIndex]), data);\n }\n else {\n message.error('没有多余的播放位置');\n }\n }\n });\n console.log(newChannels);\n if (fetchArr.length) {\n Promise.all(fetchArr).then((data) => {\n data.forEach((e, index) => {\n newChannels[fetchIndexArr[index]] = Object.assign(Object.assign({}, newChannels[fetchIndexArr[index]]), { url: e.playbackUrl, player: (e === null || e === void 0 ? void 0 : e.player) || '' });\n });\n setChannels(newChannels);\n });\n }\n else {\n setChannels(newChannels);\n }\n }\n else {\n message.info('未查询到视频');\n }\n setLoading(false);\n });\n };\n useImperativeHandle(ref, () => {\n return {\n load: (channel) => {\n loadData(channel);\n },\n };\n });\n return (_jsx(_Fragment, { children: Array.isArray(realChannels) && realChannels.length > 0 ? (_jsxs(\"div\", Object.assign({ className: \"collapse-controls\" }, { children: [_jsx(\"div\", Object.assign({ className: \"action-bar\" }, getToggleProps({}), { children: _jsx(\"img\", { src: collapseBtnImg, alt: \"\", style: { transform: `rotate(${isExpanded ? 180 : 0}deg)` } }) })), _jsx(\"section\", Object.assign({ className: \"collapse-panel-container\" }, getCollapseProps(), { children: _jsxs(\"div\", Object.assign({ className: \"panels\" }, { children: [((_a = channels === null || channels === void 0 ? void 0 : channels[activeIndex]) === null || _a === void 0 ? void 0 : _a.player) !== 'bd' && (_jsxs(\"div\", Object.assign({ className: \"time-panel\" }, { children: [_jsxs(\"div\", Object.assign({ className: \"segments\", ref: segmentsRef }, { children: [_jsx(TimeVerticalLine, { getRef: getRef, history: channels === null || channels === void 0 ? void 0 : channels[activeIndex].segmentData, channelName: channels === null || channels === void 0 ? void 0 : channels[activeIndex].channelName, onClick: (index, startTime, endTime) => {\n const newChannels = [...channels];\n newChannels[activeIndex] = Object.assign(Object.assign({}, newChannels[activeIndex]), { index, startTime: moment(startTime).format(TimeFormat.params), endTime: moment(endTime).format(TimeFormat.params), tagId: '' });\n setChannels(newChannels);\n } }), getSegments(channels === null || channels === void 0 ? void 0 : channels[activeIndex].segmentData)] })), _jsxs(_Fragment, { children: [timeLinePosition >= 0 && (_jsx(TimePositionIcon, { className: \"time-line-icon\", style: {\n left: `${timeLinePosition}%`,\n } })), _jsx(TimeLine, {})] })] }))), _jsxs(\"div\", Object.assign({ style: { display: 'flex' } }, { children: [_jsxs(\"div\", Object.assign({ className: \"panels-left\" }, { children: [_jsxs(\"div\", Object.assign({ className: \"panels-left-title\" }, { children: [\"\\u89C6\\u9891\\u901A\\u9053(\", realChannels.length, \")\"] })), _jsx(\"div\", Object.assign({ className: \"panels-left-wrap\" }, { children: realChannels.map((item, index) => {\n return (_jsx(\"div\", Object.assign({ className: `${activeIndex == index\n ? 'panels-left-content-active'\n : ''} panels-left-content`, onClick: () => {\n setActiveIndex(item.channelIndex);\n // icc_ws直接播放\n if (item.player === 'icc_ws') {\n //\n }\n } }, { children: _jsx(Tooltip, Object.assign({ title: `${item.channelName}` }, { children: `${item.channelName}` })) }), `${item.deviceId}${item.channelNum}`));\n }) }))] })), _jsx(\"div\", Object.assign({ className: \"urls-panel\", style: { flex: 1, overflow: 'hidden', width: `100%` } }, { children: _jsx(Table, { className: \"history-url-table\", columns: columns, dataSource: (channels === null || channels === void 0 ? void 0 : channels[activeIndex].tableList) || [], scroll: { y: 100, x: 920 }, pagination: false, rowKey: () => {\n return guid();\n }, rowClassName: (_, index) => { var _a; return index === ((_a = channels === null || channels === void 0 ? void 0 : channels[activeIndex]) === null || _a === void 0 ? void 0 : _a.index) ? 'active' : ''; } }) }))] }))] })) }))] }))) : null }));\n});\nconst TimeLine = () => {\n const getSplitLines = () => {\n const result = [];\n const step = 100 / 24;\n for (let i = 0; i < 25; i++) {\n const element = (_jsx(\"div\", Object.assign({ className: \"line\", style: { left: `${step * i}%` } }, { children: _jsx(\"div\", Object.assign({ className: \"number\" }, { children: i >= 10 ? i : '0' + i })) }), i));\n result.push(element);\n }\n return result;\n };\n return (_jsxs(\"div\", Object.assign({ className: \"time-axis\" }, { children: [_jsx(\"div\", { className: \"axis\" }), _jsx(\"div\", Object.assign({ className: \"split-lines\" }, { children: getSplitLines() }))] })));\n};\nconst ONEDAY_MILL = 24 * 60 * 60 * 1000;\nconst TimeVerticalLine = ({ getRef, history, onClick, channelName, }) => {\n var _a;\n const mouse = useMouse(getRef());\n const { elementX, elementY, elementW, elementH } = mouse;\n const visible = elementX >= 0 && elementY >= 0 && elementX <= elementW && elementY <= elementH;\n // 计算elementX在整个宽度的占比,根据占比在一天中的比例算出具体时间,最后判断这个时间是否在某段视频中。在则显示提示时间。\n const percent = elementX / elementW;\n const time = moment(moment(history.start).valueOf() + percent * ONEDAY_MILL).format(TimeFormat.params);\n let flag = false, playStart = -1, playEnd = -1, index = -1;\n const now = moment(time).valueOf();\n for (let i = 0; i < ((_a = history.list) === null || _a === void 0 ? void 0 : _a.length); i++) {\n const begin = moment(history.list[i].beginTime).valueOf(), end = moment(history.list[i].endTime).valueOf();\n if (now >= begin && now <= end) {\n index = i;\n // url = history.list[i].playbackUrl;\n playStart = now;\n playEnd = end;\n flag = true;\n break;\n }\n }\n return visible ? (flag ? (_jsx(Tooltip, Object.assign({ title: `${channelName || ''} ${time}` }, { children: _jsx(\"div\", { className: \"timeline\", style: { left: elementX }, onClick: () => onClick(index, playStart, playEnd) }) }))) : (_jsx(\"div\", { className: \"timeline\", style: { left: elementX }, onClick: () => onClick(index, playStart, playEnd) }))) : (_jsx(_Fragment, {}));\n};\nconst getSegments = (props) => {\n const { list = [], start, end } = props;\n const startTime = moment(start);\n const endTime = moment(end);\n const total = endTime.diff(startTime, 'seconds'); // 总时间\n const result = list === null || list === void 0 ? void 0 : list.map((i, index) => {\n const itemStart = moment(i.beginTime).diff(startTime, 'seconds') > 0 ? moment(i.beginTime) : startTime;\n const itemEnd = moment(i.endTime);\n const itemTotal = itemEnd.diff(itemStart, 'seconds'); // 分段总时间\n const width = (itemTotal / total) * 100; // 分段时间占总时间百分比\n const left = (itemStart.diff(startTime, 'seconds') / total) * 100; // 分段其实时间\n return (_jsx(\"div\", { className: \"segment\", style: { width: `${width}%`, left: `${left < 0 ? 0 : left}%` } }, `${i.beginTime}_${index}`));\n });\n return result;\n};\nHistoryControlV2Panel.displayName = 'HistoryControlV2Panel';\nexport default HistoryControlV2Panel;\n"],"mappings":"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"}
|
|
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.historyControlV2Context = void 0;
|
|
7
|
+
|
|
7
8
|
var _react = require("react");
|
|
9
|
+
|
|
8
10
|
var historyControlV2Context = /*#__PURE__*/(0, _react.createContext)({});
|
|
9
11
|
exports.historyControlV2Context = historyControlV2Context;
|
|
10
12
|
//# sourceMappingURL=context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","names":["
|
|
1
|
+
{"version":3,"file":"context.js","names":["historyControlV2Context","createContext"],"sources":["history-control-v2/context.js"],"sourcesContent":["import { createContext } from 'react';\nexport const historyControlV2Context = createContext({});\n"],"mappings":";;;;;;;AAAA;;AACO,IAAMA,uBAAuB,gBAAG,IAAAC,oBAAA,EAAc,EAAd,CAAhC"}
|