@vtx/player 0.0.10 → 0.0.13
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/{dist/types → lib}/api/fetch.d.ts +0 -0
- package/lib/api/fetch.js +128 -0
- package/lib/api/fetch.js.map +1 -0
- package/{dist/types → lib}/api/index.d.ts +0 -0
- package/lib/api/index.js +124 -0
- package/lib/api/index.js.map +1 -0
- package/{dist/types → lib}/api/types.d.ts +0 -0
- package/lib/api/types.js +6 -0
- package/lib/api/types.js.map +1 -0
- package/{dist/types/components → lib}/bill-player/index.d.ts +0 -2
- package/lib/bill-player/index.js +410 -0
- package/lib/bill-player/index.js.map +1 -0
- package/lib/bill-player/style/css.js +22 -0
- package/lib/bill-player/style/css.js.map +1 -0
- package/lib/bill-player/style/index.css +55 -0
- package/lib/bill-player/style/index.d.ts +10 -0
- package/lib/bill-player/style/index.js +22 -0
- package/lib/bill-player/style/index.js.map +1 -0
- package/lib/bill-player/style/index.less +58 -0
- package/lib/components/live-control/images/empty.png +0 -0
- package/{dist/types → lib}/context/index.d.ts +0 -0
- package/lib/context/index.js +20 -0
- package/lib/context/index.js.map +1 -0
- package/lib/controls/images/arrow.png +0 -0
- package/lib/controls/images/error.png +0 -0
- package/{dist/types/components → lib}/controls/index.d.ts +8 -2
- package/lib/controls/index.js +474 -0
- package/lib/controls/index.js.map +1 -0
- package/lib/controls/style/css.js +4 -0
- package/lib/controls/style/css.js.map +1 -0
- package/lib/controls/style/index.css +185 -0
- package/lib/controls/style/index.d.ts +1 -0
- package/lib/controls/style/index.js +4 -0
- package/lib/controls/style/index.js.map +1 -0
- package/lib/controls/style/index.less +187 -0
- package/lib/history-control/images/collapse.png +0 -0
- package/lib/history-control/images/empty.png +0 -0
- package/{dist/types/components → lib}/history-control/index.d.ts +4 -1
- package/lib/history-control/index.js +506 -0
- package/lib/history-control/index.js.map +1 -0
- package/lib/history-control/style/css.js +6 -0
- package/lib/history-control/style/css.js.map +1 -0
- package/lib/history-control/style/index.css +195 -0
- package/lib/history-control/style/index.d.ts +2 -0
- package/lib/history-control/style/index.js +6 -0
- package/lib/history-control/style/index.js.map +1 -0
- package/lib/history-control/style/index.less +219 -0
- package/{dist/types/components → lib}/history-player/index.d.ts +7 -4
- package/lib/history-player/index.js +276 -0
- package/lib/history-player/index.js.map +1 -0
- package/lib/history-player/style/css.js +6 -0
- package/lib/history-player/style/css.js.map +1 -0
- package/lib/history-player/style/index.css +105 -0
- package/lib/history-player/style/index.d.ts +2 -0
- package/lib/history-player/style/index.js +6 -0
- package/lib/history-player/style/index.js.map +1 -0
- package/lib/history-player/style/index.less +98 -0
- package/{dist/types → lib}/hooks/useSettings.d.ts +0 -0
- package/lib/hooks/useSettings.js +28 -0
- package/lib/hooks/useSettings.js.map +1 -0
- package/lib/icons/index.css +28 -0
- package/{dist/types → lib}/icons/index.d.ts +0 -0
- package/lib/icons/index.js +788 -0
- package/lib/icons/index.js.map +1 -0
- package/lib/icons/index.less +27 -0
- package/lib/index.d.ts +7 -0
- package/lib/index.js +64 -0
- package/lib/index.js.map +1 -0
- package/{dist/types/components → lib}/live-channel-player/index.d.ts +1 -2
- package/lib/live-channel-player/index.js +164 -0
- package/lib/live-channel-player/index.js.map +1 -0
- package/lib/live-channel-player/style/css.js +6 -0
- package/lib/live-channel-player/style/css.js.map +1 -0
- package/lib/live-channel-player/style/index.d.ts +2 -0
- package/lib/live-channel-player/style/index.js +6 -0
- package/lib/live-channel-player/style/index.js.map +1 -0
- package/lib/live-control/images/empty.png +0 -0
- package/{dist/types/components → lib}/live-control/index.d.ts +6 -3
- package/lib/live-control/index.js +381 -0
- package/lib/live-control/index.js.map +1 -0
- package/lib/live-control/style/css.js +6 -0
- package/lib/live-control/style/css.js.map +1 -0
- package/lib/live-control/style/index.css +73 -0
- package/lib/live-control/style/index.d.ts +2 -0
- package/lib/live-control/style/index.js +6 -0
- package/lib/live-control/style/index.js.map +1 -0
- package/lib/live-control/style/index.less +65 -0
- package/{dist/types/components → lib}/live-player/index.d.ts +6 -4
- package/lib/live-player/index.js +178 -0
- package/lib/live-player/index.js.map +1 -0
- package/lib/live-player/style/css.js +6 -0
- package/lib/live-player/style/css.js.map +1 -0
- package/lib/live-player/style/index.css +83 -0
- package/lib/live-player/style/index.d.ts +2 -0
- package/lib/live-player/style/index.js +6 -0
- package/lib/live-player/style/index.js.map +1 -0
- package/lib/live-player/style/index.less +70 -0
- package/{dist/types/components → lib}/player/index.d.ts +5 -0
- package/lib/player/index.js +476 -0
- package/lib/player/index.js.map +1 -0
- package/lib/player/style/css.js +2 -0
- package/lib/player/style/css.js.map +1 -0
- package/lib/player/style/index.d.ts +1 -0
- package/lib/player/style/index.js +2 -0
- package/lib/player/style/index.js.map +1 -0
- package/lib/typings/@vtx/utils/index.d.ts +27 -0
- package/lib/typings/h5player.d.ts +131 -0
- package/{dist/types → lib}/utils/index.d.ts +3 -3
- package/lib/utils/index.js +265 -0
- package/lib/utils/index.js.map +1 -0
- package/lib/vite-env.d.ts +1 -0
- package/package.json +30 -10
- package/dist/index.d.ts +0 -221
- package/dist/index.es.js +0 -533
- package/dist/index.es.js.map +0 -1
- package/dist/index.umd.js +0 -533
- package/dist/index.umd.js.map +0 -1
- package/dist/types/main.d.ts +0 -8
|
@@ -0,0 +1,506 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = exports.HistoryControl = void 0;
|
|
7
|
+
|
|
8
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
9
|
+
|
|
10
|
+
var _react = require("react");
|
|
11
|
+
|
|
12
|
+
var _reactCollapsed = _interopRequireDefault(require("react-collapsed"));
|
|
13
|
+
|
|
14
|
+
var _historyPlayer = _interopRequireDefault(require("../history-player"));
|
|
15
|
+
|
|
16
|
+
var _ahooks = require("ahooks");
|
|
17
|
+
|
|
18
|
+
var _button = _interopRequireDefault(require("antd/lib/button"));
|
|
19
|
+
|
|
20
|
+
var _space = _interopRequireDefault(require("antd/lib/space"));
|
|
21
|
+
|
|
22
|
+
var _table = _interopRequireDefault(require("antd/lib/table"));
|
|
23
|
+
|
|
24
|
+
var _tooltip = _interopRequireDefault(require("antd/lib/tooltip"));
|
|
25
|
+
|
|
26
|
+
var _moment = _interopRequireDefault(require("moment"));
|
|
27
|
+
|
|
28
|
+
var _api = require("@/api");
|
|
29
|
+
|
|
30
|
+
var _controls = require("@/controls");
|
|
31
|
+
|
|
32
|
+
var _icons = require("@/icons");
|
|
33
|
+
|
|
34
|
+
var _utils = require("@/utils");
|
|
35
|
+
|
|
36
|
+
var _collapse = _interopRequireDefault(require("./images/collapse.png"));
|
|
37
|
+
|
|
38
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
39
|
+
|
|
40
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
41
|
+
|
|
42
|
+
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."); }
|
|
43
|
+
|
|
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
|
+
|
|
46
|
+
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; }
|
|
47
|
+
|
|
48
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
49
|
+
|
|
50
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
51
|
+
|
|
52
|
+
/** 默认播放器参数 */
|
|
53
|
+
var DEFAULT_PLAY_PARAMS = {
|
|
54
|
+
index: -1,
|
|
55
|
+
url: '',
|
|
56
|
+
startTime: '',
|
|
57
|
+
endTime: ''
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* 历史视频控制器
|
|
61
|
+
*/
|
|
62
|
+
|
|
63
|
+
var HistoryControl = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
64
|
+
var _props$width = props.width,
|
|
65
|
+
width = _props$width === void 0 ? '100%' : _props$width,
|
|
66
|
+
_props$height = props.height,
|
|
67
|
+
height = _props$height === void 0 ? '100%' : _props$height,
|
|
68
|
+
onExpandChange = props.onExpandChange,
|
|
69
|
+
onTimeChange = props.onTimeChange,
|
|
70
|
+
_props$showInfo = props.showInfo,
|
|
71
|
+
showInfo = _props$showInfo === void 0 ? false : _props$showInfo,
|
|
72
|
+
_props$info = props.info,
|
|
73
|
+
info = _props$info === void 0 ? [] : _props$info;
|
|
74
|
+
var segmentsRef = (0, _react.useRef)(null);
|
|
75
|
+
|
|
76
|
+
var _useRequest = (0, _ahooks.useRequest)(_api.getHistoryUrl, {
|
|
77
|
+
manual: true
|
|
78
|
+
}),
|
|
79
|
+
runAsync = _useRequest.runAsync;
|
|
80
|
+
|
|
81
|
+
var _useCollapse = (0, _reactCollapsed["default"])({
|
|
82
|
+
defaultExpanded: true // 默认展开
|
|
83
|
+
|
|
84
|
+
}),
|
|
85
|
+
getCollapseProps = _useCollapse.getCollapseProps,
|
|
86
|
+
getToggleProps = _useCollapse.getToggleProps,
|
|
87
|
+
isExpanded = _useCollapse.isExpanded;
|
|
88
|
+
|
|
89
|
+
var _useSetState = (0, _ahooks.useSetState)({
|
|
90
|
+
expand: true,
|
|
91
|
+
name: '',
|
|
92
|
+
tableData: [],
|
|
93
|
+
segmentData: {
|
|
94
|
+
list: []
|
|
95
|
+
},
|
|
96
|
+
totalUrl: '',
|
|
97
|
+
timeLinePosition: -1,
|
|
98
|
+
playParams: DEFAULT_PLAY_PARAMS
|
|
99
|
+
}),
|
|
100
|
+
_useSetState2 = _slicedToArray(_useSetState, 2),
|
|
101
|
+
state = _useSetState2[0],
|
|
102
|
+
setState = _useSetState2[1];
|
|
103
|
+
|
|
104
|
+
(0, _react.useImperativeHandle)(ref, function () {
|
|
105
|
+
return {
|
|
106
|
+
load: function load(channel) {
|
|
107
|
+
if (JSON.stringify(channel) !== JSON.stringify(state.channel)) {
|
|
108
|
+
setState({
|
|
109
|
+
channel: channel,
|
|
110
|
+
timeLinePosition: -1
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
});
|
|
116
|
+
(0, _react.useEffect)(function () {
|
|
117
|
+
if (state.channel) {
|
|
118
|
+
runAsync(state.channel).then(function (result) {
|
|
119
|
+
var _a, _b, _c, _d; // 如果没有list,只有url,则直接播放url
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
if (Array.isArray(result.list)) {
|
|
123
|
+
var tableData = (0, _utils.getUrlTableData)(result);
|
|
124
|
+
var segmentData = {
|
|
125
|
+
list: result.list,
|
|
126
|
+
start: (0, _moment["default"])((_a = state.channel) === null || _a === void 0 ? void 0 : _a.beginTime).startOf('day'),
|
|
127
|
+
end: (0, _moment["default"])((_b = state.channel) === null || _b === void 0 ? void 0 : _b.endTime).endOf('day')
|
|
128
|
+
};
|
|
129
|
+
setState({
|
|
130
|
+
tableData: tableData,
|
|
131
|
+
segmentData: segmentData,
|
|
132
|
+
name: "".concat(result.deviceName, "-").concat(result.channelName),
|
|
133
|
+
totalUrl: result.totalTimeUrl
|
|
134
|
+
});
|
|
135
|
+
} else if (result.totalTimeUrl) {
|
|
136
|
+
setState({
|
|
137
|
+
tableData: [],
|
|
138
|
+
segmentData: {
|
|
139
|
+
list: []
|
|
140
|
+
},
|
|
141
|
+
name: "".concat(result.deviceName, "-").concat(result.channelName),
|
|
142
|
+
totalUrl: result.totalTimeUrl,
|
|
143
|
+
playParams: {
|
|
144
|
+
index: 0,
|
|
145
|
+
url: result.totalTimeUrl,
|
|
146
|
+
startTime: ((_c = state.channel) === null || _c === void 0 ? void 0 : _c.beginTime) || '',
|
|
147
|
+
endTime: ((_d = state.channel) === null || _d === void 0 ? void 0 : _d.endTime) || ''
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
} else {
|
|
151
|
+
setState({
|
|
152
|
+
tableData: [],
|
|
153
|
+
segmentData: {
|
|
154
|
+
list: []
|
|
155
|
+
},
|
|
156
|
+
name: "",
|
|
157
|
+
playParams: DEFAULT_PLAY_PARAMS
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
return function () {
|
|
162
|
+
setState({
|
|
163
|
+
tableData: [],
|
|
164
|
+
segmentData: {
|
|
165
|
+
list: []
|
|
166
|
+
},
|
|
167
|
+
name: "",
|
|
168
|
+
playParams: DEFAULT_PLAY_PARAMS
|
|
169
|
+
});
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
}, [state.channel]);
|
|
173
|
+
|
|
174
|
+
var handleExpand = function handleExpand() {
|
|
175
|
+
onExpandChange && onExpandChange(!state.expand);
|
|
176
|
+
setState({
|
|
177
|
+
expand: !state.expand
|
|
178
|
+
});
|
|
179
|
+
};
|
|
180
|
+
|
|
181
|
+
var handleClose = function handleClose() {
|
|
182
|
+
setState({
|
|
183
|
+
channel: undefined,
|
|
184
|
+
timeLinePosition: -1
|
|
185
|
+
});
|
|
186
|
+
};
|
|
187
|
+
|
|
188
|
+
var columns = [{
|
|
189
|
+
title: '序号',
|
|
190
|
+
dataIndex: 'index',
|
|
191
|
+
width: 60
|
|
192
|
+
}, {
|
|
193
|
+
title: '播放视频',
|
|
194
|
+
key: 'play',
|
|
195
|
+
width: 90,
|
|
196
|
+
render: function render(_, record, index) {
|
|
197
|
+
var active = state.playParams.index === index;
|
|
198
|
+
return (0, _jsxRuntime.jsx)(_button["default"], Object.assign({
|
|
199
|
+
className: "play-btn ".concat(active ? 'active' : ''),
|
|
200
|
+
onClick: function onClick() {
|
|
201
|
+
if (active) {
|
|
202
|
+
setState({
|
|
203
|
+
playParams: DEFAULT_PLAY_PARAMS,
|
|
204
|
+
timeLinePosition: -1
|
|
205
|
+
});
|
|
206
|
+
} else {
|
|
207
|
+
var url = record.url || state.totalUrl;
|
|
208
|
+
setState({
|
|
209
|
+
playParams: {
|
|
210
|
+
index: index,
|
|
211
|
+
url: url,
|
|
212
|
+
startTime: record.beginTime,
|
|
213
|
+
endTime: record.endTime
|
|
214
|
+
}
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}, {
|
|
219
|
+
children: active ? (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
220
|
+
children: [(0, _jsxRuntime.jsx)(_icons.VideoCloseIcon, {
|
|
221
|
+
active: true
|
|
222
|
+
}), "\u5173\u95ED"]
|
|
223
|
+
}) : (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
224
|
+
children: [(0, _jsxRuntime.jsx)(_icons.VideoPlayIcon, {}), "\u64AD\u653E"]
|
|
225
|
+
})
|
|
226
|
+
}));
|
|
227
|
+
}
|
|
228
|
+
}, // {
|
|
229
|
+
// title: '设备名称',
|
|
230
|
+
// dataIndex: 'deviceName',
|
|
231
|
+
// },
|
|
232
|
+
// {
|
|
233
|
+
// title: '通道名称',
|
|
234
|
+
// dataIndex: 'channelName',
|
|
235
|
+
// },
|
|
236
|
+
{
|
|
237
|
+
title: '开始时间',
|
|
238
|
+
dataIndex: 'beginTime',
|
|
239
|
+
width: 170
|
|
240
|
+
}, {
|
|
241
|
+
title: '结束时间',
|
|
242
|
+
dataIndex: 'endTime',
|
|
243
|
+
width: 170
|
|
244
|
+
}, {
|
|
245
|
+
title: '持续时间',
|
|
246
|
+
width: 120,
|
|
247
|
+
dataIndex: 'duration'
|
|
248
|
+
}, {
|
|
249
|
+
title: '视频大小',
|
|
250
|
+
width: 100,
|
|
251
|
+
dataIndex: 'size'
|
|
252
|
+
}];
|
|
253
|
+
|
|
254
|
+
var handleTimeChange = function handleTimeChange(time) {
|
|
255
|
+
var _a;
|
|
256
|
+
|
|
257
|
+
onTimeChange && onTimeChange(time); // 计算播放时间占起始时间当日的百分比
|
|
258
|
+
|
|
259
|
+
var progress = (0, _moment["default"])(time).diff((0, _moment["default"])((_a = state.channel) === null || _a === void 0 ? void 0 : _a.beginTime).startOf('day'), 'seconds') / (24 * 60 * 60) * 100;
|
|
260
|
+
setState({
|
|
261
|
+
timeLinePosition: progress
|
|
262
|
+
});
|
|
263
|
+
};
|
|
264
|
+
|
|
265
|
+
var getRef = function getRef() {
|
|
266
|
+
return segmentsRef.current;
|
|
267
|
+
};
|
|
268
|
+
|
|
269
|
+
return (0, _jsxRuntime.jsxs)("div", Object.assign({
|
|
270
|
+
className: "vtx-history-control",
|
|
271
|
+
style: {
|
|
272
|
+
width: width,
|
|
273
|
+
height: height
|
|
274
|
+
}
|
|
275
|
+
}, {
|
|
276
|
+
children: [state.name && (0, _jsxRuntime.jsx)(_controls.PlayerHeader, {
|
|
277
|
+
name: state.name,
|
|
278
|
+
onClose: handleClose
|
|
279
|
+
}), (0, _jsxRuntime.jsx)("div", Object.assign({
|
|
280
|
+
className: "player-container"
|
|
281
|
+
}, {
|
|
282
|
+
children: state.playParams.url && (0, _jsxRuntime.jsx)(_historyPlayer["default"], Object.assign({}, state.playParams, {
|
|
283
|
+
controlBottom: isExpanded ? 235 : 0,
|
|
284
|
+
onTimeChange: handleTimeChange,
|
|
285
|
+
showInfo: showInfo,
|
|
286
|
+
info: info
|
|
287
|
+
}))
|
|
288
|
+
})), state.tableData && state.tableData.length > 0 && (0, _jsxRuntime.jsxs)("div", Object.assign({
|
|
289
|
+
className: "collapse-controls"
|
|
290
|
+
}, {
|
|
291
|
+
children: [(0, _jsxRuntime.jsx)("div", Object.assign({
|
|
292
|
+
className: "action-bar"
|
|
293
|
+
}, getToggleProps({}), {
|
|
294
|
+
children: (0, _jsxRuntime.jsx)("img", {
|
|
295
|
+
src: _collapse["default"],
|
|
296
|
+
alt: "",
|
|
297
|
+
style: {
|
|
298
|
+
transform: "rotate(".concat(isExpanded ? 180 : 0, "deg)")
|
|
299
|
+
}
|
|
300
|
+
})
|
|
301
|
+
})), (0, _jsxRuntime.jsx)("section", Object.assign({
|
|
302
|
+
className: "collapse-panel-container"
|
|
303
|
+
}, getCollapseProps(), {
|
|
304
|
+
children: (0, _jsxRuntime.jsxs)("div", Object.assign({
|
|
305
|
+
className: "panels"
|
|
306
|
+
}, {
|
|
307
|
+
children: [(0, _jsxRuntime.jsxs)("div", Object.assign({
|
|
308
|
+
className: "time-panel"
|
|
309
|
+
}, {
|
|
310
|
+
children: [(0, _jsxRuntime.jsxs)("div", Object.assign({
|
|
311
|
+
className: "segments",
|
|
312
|
+
ref: segmentsRef
|
|
313
|
+
}, {
|
|
314
|
+
children: [(0, _jsxRuntime.jsx)(TimeVerticalLine, {
|
|
315
|
+
getRef: getRef,
|
|
316
|
+
history: state.segmentData,
|
|
317
|
+
totalUrl: state.totalUrl,
|
|
318
|
+
setState: setState
|
|
319
|
+
}), getSegments(state.segmentData)]
|
|
320
|
+
})), state.timeLinePosition >= 0 && (0, _jsxRuntime.jsx)(_icons.TimePositionIcon, {
|
|
321
|
+
className: "time-line-icon",
|
|
322
|
+
style: {
|
|
323
|
+
left: "".concat(state.timeLinePosition, "%")
|
|
324
|
+
}
|
|
325
|
+
}), (0, _jsxRuntime.jsx)(TimeLine, {})]
|
|
326
|
+
})), (0, _jsxRuntime.jsx)("div", Object.assign({
|
|
327
|
+
className: "urls-panel"
|
|
328
|
+
}, {
|
|
329
|
+
children: (0, _jsxRuntime.jsx)(_table["default"], {
|
|
330
|
+
className: "history-url-table",
|
|
331
|
+
columns: columns,
|
|
332
|
+
dataSource: state.tableData,
|
|
333
|
+
scroll: {
|
|
334
|
+
y: 100
|
|
335
|
+
},
|
|
336
|
+
pagination: false,
|
|
337
|
+
rowClassName: function rowClassName(_, index) {
|
|
338
|
+
return index === state.playParams.index ? 'active' : '';
|
|
339
|
+
}
|
|
340
|
+
})
|
|
341
|
+
}))]
|
|
342
|
+
}))
|
|
343
|
+
}))]
|
|
344
|
+
})), (0, _jsxRuntime.jsx)("div", Object.assign({
|
|
345
|
+
className: "bottom-controls"
|
|
346
|
+
}, {
|
|
347
|
+
children: (0, _jsxRuntime.jsx)(_space["default"], Object.assign({
|
|
348
|
+
className: "left",
|
|
349
|
+
size: 12,
|
|
350
|
+
align: "center"
|
|
351
|
+
}, {
|
|
352
|
+
children: onExpandChange && (0, _jsxRuntime.jsx)(_tooltip["default"], Object.assign({
|
|
353
|
+
title: state.expand ? '收起' : '展开'
|
|
354
|
+
}, {
|
|
355
|
+
children: (0, _jsxRuntime.jsx)("div", Object.assign({
|
|
356
|
+
onClick: handleExpand
|
|
357
|
+
}, {
|
|
358
|
+
children: state.expand ? (0, _jsxRuntime.jsx)(_icons.FoldIcon, {}) : (0, _jsxRuntime.jsx)(_icons.ExpandIcon, {})
|
|
359
|
+
}))
|
|
360
|
+
}))
|
|
361
|
+
}))
|
|
362
|
+
}))]
|
|
363
|
+
}));
|
|
364
|
+
});
|
|
365
|
+
exports.HistoryControl = HistoryControl;
|
|
366
|
+
HistoryControl.displayName = 'HistoryControl';
|
|
367
|
+
|
|
368
|
+
var TimeLine = function TimeLine() {
|
|
369
|
+
var getSplitLines = function getSplitLines() {
|
|
370
|
+
var result = [];
|
|
371
|
+
var step = 100 / 24;
|
|
372
|
+
|
|
373
|
+
for (var i = 0; i < 25; i++) {
|
|
374
|
+
var element = (0, _jsxRuntime.jsx)("div", Object.assign({
|
|
375
|
+
className: "line",
|
|
376
|
+
style: {
|
|
377
|
+
left: "".concat(step * i, "%")
|
|
378
|
+
}
|
|
379
|
+
}, {
|
|
380
|
+
children: (0, _jsxRuntime.jsx)("div", Object.assign({
|
|
381
|
+
className: "number"
|
|
382
|
+
}, {
|
|
383
|
+
children: i >= 10 ? i : '0' + i
|
|
384
|
+
}))
|
|
385
|
+
}), i);
|
|
386
|
+
result.push(element);
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
return result;
|
|
390
|
+
};
|
|
391
|
+
|
|
392
|
+
return (0, _jsxRuntime.jsxs)("div", Object.assign({
|
|
393
|
+
className: "time-axis"
|
|
394
|
+
}, {
|
|
395
|
+
children: [(0, _jsxRuntime.jsx)("div", {
|
|
396
|
+
className: "axis"
|
|
397
|
+
}), (0, _jsxRuntime.jsx)("div", Object.assign({
|
|
398
|
+
className: "split-lines"
|
|
399
|
+
}, {
|
|
400
|
+
children: getSplitLines()
|
|
401
|
+
}))]
|
|
402
|
+
}));
|
|
403
|
+
};
|
|
404
|
+
|
|
405
|
+
var getSegments = function getSegments(props) {
|
|
406
|
+
var list = props.list,
|
|
407
|
+
start = props.start,
|
|
408
|
+
end = props.end;
|
|
409
|
+
var startTime = (0, _moment["default"])(start);
|
|
410
|
+
var endTime = (0, _moment["default"])(end);
|
|
411
|
+
var total = endTime.diff(startTime, 'seconds'); // 总时间
|
|
412
|
+
|
|
413
|
+
var result = list.map(function (i) {
|
|
414
|
+
var itemStart = (0, _moment["default"])(i.beginTime).diff(startTime, 'seconds') > 0 ? (0, _moment["default"])(i.beginTime) : startTime;
|
|
415
|
+
var itemEnd = (0, _moment["default"])(i.endTime);
|
|
416
|
+
var itemTotal = itemEnd.diff(itemStart, 'seconds'); // 分段总时间
|
|
417
|
+
|
|
418
|
+
var width = itemTotal / total * 100; // 分段时间占总时间百分比
|
|
419
|
+
|
|
420
|
+
var left = itemStart.diff(startTime, 'seconds') / total * 100; // 分段其实时间
|
|
421
|
+
|
|
422
|
+
return (0, _jsxRuntime.jsx)("div", {
|
|
423
|
+
className: "segment",
|
|
424
|
+
style: {
|
|
425
|
+
width: "".concat(width, "%"),
|
|
426
|
+
left: "".concat(left < 0 ? 0 : left, "%")
|
|
427
|
+
}
|
|
428
|
+
}, i.beginTime);
|
|
429
|
+
});
|
|
430
|
+
return result;
|
|
431
|
+
};
|
|
432
|
+
|
|
433
|
+
var ONEDAY_MILL = 24 * 60 * 60 * 1000;
|
|
434
|
+
|
|
435
|
+
var TimeVerticalLine = function TimeVerticalLine(_ref) {
|
|
436
|
+
var getRef = _ref.getRef,
|
|
437
|
+
history = _ref.history,
|
|
438
|
+
totalUrl = _ref.totalUrl,
|
|
439
|
+
setState = _ref.setState;
|
|
440
|
+
|
|
441
|
+
var _a;
|
|
442
|
+
|
|
443
|
+
var mouse = (0, _ahooks.useMouse)(getRef());
|
|
444
|
+
var elementX = mouse.elementX,
|
|
445
|
+
elementY = mouse.elementY,
|
|
446
|
+
elementW = mouse.elementW,
|
|
447
|
+
elementH = mouse.elementH;
|
|
448
|
+
var visible = elementX >= 0 && elementY >= 0 && elementX <= elementW && elementY <= elementH; // 计算elementX在整个宽度的占比,根据占比在一天中的比例算出具体时间,最后判断这个时间是否在某段视频中。在则显示提示时间。
|
|
449
|
+
|
|
450
|
+
var percent = elementX / elementW;
|
|
451
|
+
var time = (0, _moment["default"])((0, _moment["default"])(history.start).valueOf() + percent * ONEDAY_MILL).format(_utils.TimeFormat.params);
|
|
452
|
+
var flag = false,
|
|
453
|
+
url,
|
|
454
|
+
playStart = -1,
|
|
455
|
+
playEnd = -1,
|
|
456
|
+
index = -1;
|
|
457
|
+
var now = (0, _moment["default"])(time).valueOf();
|
|
458
|
+
|
|
459
|
+
for (var i = 0; i < ((_a = history.list) === null || _a === void 0 ? void 0 : _a.length); i++) {
|
|
460
|
+
var begin = (0, _moment["default"])(history.list[i].beginTime).valueOf(),
|
|
461
|
+
end = (0, _moment["default"])(history.list[i].endTime).valueOf();
|
|
462
|
+
|
|
463
|
+
if (now >= begin && now <= end) {
|
|
464
|
+
index = i;
|
|
465
|
+
url = history.list[i].playbackUrl;
|
|
466
|
+
playStart = now;
|
|
467
|
+
playEnd = end;
|
|
468
|
+
flag = true;
|
|
469
|
+
break;
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
var onClick = function onClick() {
|
|
474
|
+
var playUrl = url || totalUrl;
|
|
475
|
+
setState({
|
|
476
|
+
playParams: {
|
|
477
|
+
index: index,
|
|
478
|
+
url: playUrl,
|
|
479
|
+
startTime: playStart,
|
|
480
|
+
endTime: playEnd
|
|
481
|
+
}
|
|
482
|
+
});
|
|
483
|
+
};
|
|
484
|
+
|
|
485
|
+
return visible ? flag ? (0, _jsxRuntime.jsx)(_tooltip["default"], Object.assign({
|
|
486
|
+
title: time
|
|
487
|
+
}, {
|
|
488
|
+
children: (0, _jsxRuntime.jsx)("div", {
|
|
489
|
+
className: "timeline",
|
|
490
|
+
style: {
|
|
491
|
+
left: elementX
|
|
492
|
+
},
|
|
493
|
+
onClick: onClick
|
|
494
|
+
})
|
|
495
|
+
})) : (0, _jsxRuntime.jsx)("div", {
|
|
496
|
+
className: "timeline",
|
|
497
|
+
style: {
|
|
498
|
+
left: elementX
|
|
499
|
+
},
|
|
500
|
+
onClick: onClick
|
|
501
|
+
}) : (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {});
|
|
502
|
+
};
|
|
503
|
+
|
|
504
|
+
var _default = HistoryControl;
|
|
505
|
+
exports["default"] = _default;
|
|
506
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["DEFAULT_PLAY_PARAMS","index","url","startTime","endTime","HistoryControl","forwardRef","props","ref","width","height","onExpandChange","onTimeChange","showInfo","info","segmentsRef","useRef","useRequest","getHistoryUrl","manual","runAsync","useCollapse","defaultExpanded","getCollapseProps","getToggleProps","isExpanded","useSetState","expand","name","tableData","segmentData","list","totalUrl","timeLinePosition","playParams","state","setState","useImperativeHandle","load","channel","JSON","stringify","useEffect","then","result","_a","_b","_c","_d","Array","isArray","getUrlTableData","start","moment","beginTime","startOf","end","endOf","deviceName","channelName","totalTimeUrl","handleExpand","handleClose","undefined","columns","title","dataIndex","key","render","_","record","active","_jsx","Button","Object","assign","className","onClick","children","_jsxs","_Fragment","VideoCloseIcon","VideoPlayIcon","handleTimeChange","time","progress","diff","getRef","current","style","PlayerHeader","onClose","HistoryPlayer","controlBottom","length","src","collapseBtnImg","alt","transform","TimeVerticalLine","history","getSegments","TimePositionIcon","left","TimeLine","Table","dataSource","scroll","y","pagination","rowClassName","Space","size","align","Tooltip","FoldIcon","ExpandIcon","displayName","getSplitLines","step","i","element","push","total","map","itemStart","itemEnd","itemTotal","ONEDAY_MILL","mouse","useMouse","elementX","elementY","elementW","elementH","visible","percent","valueOf","format","TimeFormat","params","flag","playStart","playEnd","now","begin","playbackUrl","playUrl"],"sources":["history-control/index.js"],"sourcesContent":["import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';\nimport useCollapse from 'react-collapsed';\nimport HistoryPlayer from '../history-player';\nimport { useMouse, useRequest, useSetState } from 'ahooks';\n// import { Button, Space, Table, Tooltip } from 'antd';\nimport Button from 'antd/lib/button';\nimport Space from 'antd/lib/space';\nimport Table from 'antd/lib/table';\nimport Tooltip from 'antd/lib/tooltip';\nimport moment from 'moment';\nimport { getHistoryUrl } from '@/api';\nimport { PlayerHeader } from '@/controls';\nimport { ExpandIcon, FoldIcon, TimePositionIcon, VideoCloseIcon, VideoPlayIcon } from '@/icons';\nimport { TimeFormat, getUrlTableData } from '@/utils';\nimport collapseBtnImg from './images/collapse.png';\n/** 默认播放器参数 */\nconst DEFAULT_PLAY_PARAMS = {\n index: -1,\n url: '',\n startTime: '',\n endTime: '',\n};\n/**\n * 历史视频控制器\n */\nexport const HistoryControl = forwardRef((props, ref) => {\n const { width = '100%', height = '100%', onExpandChange, onTimeChange, showInfo = false, info = [], } = props;\n const segmentsRef = useRef(null);\n const { runAsync } = useRequest(getHistoryUrl, {\n manual: true,\n });\n const { getCollapseProps, getToggleProps, isExpanded } = useCollapse({\n defaultExpanded: true, // 默认展开\n });\n const [state, setState] = useSetState({\n expand: true,\n name: '',\n tableData: [],\n segmentData: { list: [] },\n totalUrl: '',\n timeLinePosition: -1,\n playParams: DEFAULT_PLAY_PARAMS,\n });\n useImperativeHandle(ref, () => {\n return {\n load: (channel) => {\n if (JSON.stringify(channel) !== JSON.stringify(state.channel)) {\n setState({ channel, timeLinePosition: -1 });\n }\n },\n };\n });\n useEffect(() => {\n if (state.channel) {\n runAsync(state.channel).then((result) => {\n var _a, _b, _c, _d;\n // 如果没有list,只有url,则直接播放url\n if (Array.isArray(result.list)) {\n const tableData = getUrlTableData(result);\n const segmentData = {\n list: result.list,\n start: moment((_a = state.channel) === null || _a === void 0 ? void 0 : _a.beginTime).startOf('day'),\n end: moment((_b = state.channel) === null || _b === void 0 ? void 0 : _b.endTime).endOf('day'),\n };\n setState({\n tableData,\n segmentData,\n name: `${result.deviceName}-${result.channelName}`,\n totalUrl: result.totalTimeUrl,\n });\n }\n else if (result.totalTimeUrl) {\n setState({\n tableData: [],\n segmentData: { list: [] },\n name: `${result.deviceName}-${result.channelName}`,\n totalUrl: result.totalTimeUrl,\n playParams: {\n index: 0,\n url: result.totalTimeUrl,\n startTime: ((_c = state.channel) === null || _c === void 0 ? void 0 : _c.beginTime) || '',\n endTime: ((_d = state.channel) === null || _d === void 0 ? void 0 : _d.endTime) || '',\n },\n });\n }\n else {\n setState({\n tableData: [],\n segmentData: { list: [] },\n name: ``,\n playParams: DEFAULT_PLAY_PARAMS,\n });\n }\n });\n return () => {\n setState({\n tableData: [],\n segmentData: { list: [] },\n name: ``,\n playParams: DEFAULT_PLAY_PARAMS,\n });\n };\n }\n }, [state.channel]);\n const handleExpand = () => {\n onExpandChange && onExpandChange(!state.expand);\n setState({ expand: !state.expand });\n };\n const handleClose = () => {\n setState({ channel: undefined, timeLinePosition: -1 });\n };\n const columns = [\n {\n title: '序号',\n dataIndex: 'index',\n width: 60,\n },\n {\n title: '播放视频',\n key: 'play',\n width: 90,\n render: (_, record, index) => {\n const active = state.playParams.index === index;\n return (_jsx(Button, Object.assign({ className: `play-btn ${active ? 'active' : ''}`, onClick: () => {\n if (active) {\n setState({\n playParams: DEFAULT_PLAY_PARAMS,\n timeLinePosition: -1,\n });\n }\n else {\n const url = record.url || state.totalUrl;\n setState({\n playParams: {\n index,\n url,\n startTime: record.beginTime,\n endTime: record.endTime,\n },\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 // },\n // {\n // title: '通道名称',\n // dataIndex: 'channelName',\n // },\n {\n title: '开始时间',\n dataIndex: 'beginTime',\n width: 170,\n },\n {\n title: '结束时间',\n dataIndex: 'endTime',\n width: 170,\n },\n {\n title: '持续时间',\n width: 120,\n dataIndex: 'duration',\n },\n {\n title: '视频大小',\n width: 100,\n dataIndex: 'size',\n },\n ];\n const handleTimeChange = (time) => {\n var _a;\n onTimeChange && onTimeChange(time);\n // 计算播放时间占起始时间当日的百分比\n const progress = (moment(time).diff(moment((_a = state.channel) === null || _a === void 0 ? void 0 : _a.beginTime).startOf('day'), 'seconds') /\n (24 * 60 * 60)) *\n 100;\n setState({ timeLinePosition: progress });\n };\n const getRef = () => {\n return segmentsRef.current;\n };\n return (_jsxs(\"div\", Object.assign({ className: \"vtx-history-control\", style: { width, height } }, { children: [state.name && _jsx(PlayerHeader, { name: state.name, onClose: handleClose }), _jsx(\"div\", Object.assign({ className: \"player-container\" }, { children: state.playParams.url && (_jsx(HistoryPlayer, Object.assign({}, state.playParams, { controlBottom: isExpanded ? 235 : 0, onTimeChange: handleTimeChange, showInfo: showInfo, info: info }))) })), state.tableData && state.tableData.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: [_jsxs(\"div\", Object.assign({ className: \"time-panel\" }, { children: [_jsxs(\"div\", Object.assign({ className: \"segments\", ref: segmentsRef }, { children: [_jsx(TimeVerticalLine, { getRef: getRef, history: state.segmentData, totalUrl: state.totalUrl, setState: setState }), getSegments(state.segmentData)] })), state.timeLinePosition >= 0 && (_jsx(TimePositionIcon, { className: \"time-line-icon\", style: { left: `${state.timeLinePosition}%` } })), _jsx(TimeLine, {})] })), _jsx(\"div\", Object.assign({ className: \"urls-panel\" }, { children: _jsx(Table, { className: \"history-url-table\", columns: columns, dataSource: state.tableData, scroll: { y: 100 }, pagination: false, rowClassName: (_, index) => index === state.playParams.index ? 'active' : '' }) }))] })) }))] }))), _jsx(\"div\", Object.assign({ className: \"bottom-controls\" }, { children: _jsx(Space, Object.assign({ className: \"left\", size: 12, align: \"center\" }, { children: onExpandChange && (_jsx(Tooltip, Object.assign({ title: state.expand ? '收起' : '展开' }, { children: _jsx(\"div\", Object.assign({ onClick: handleExpand }, { children: state.expand ? _jsx(FoldIcon, {}) : _jsx(ExpandIcon, {}) })) }))) })) }))] })));\n});\nHistoryControl.displayName = 'HistoryControl';\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 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.map((i) => {\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));\n });\n return result;\n};\nconst ONEDAY_MILL = 24 * 60 * 60 * 1000;\nconst TimeVerticalLine = ({ getRef, history, totalUrl, setState, }) => {\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, url, 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 const onClick = () => {\n const playUrl = url || totalUrl;\n setState({\n playParams: {\n index,\n url: playUrl,\n startTime: playStart,\n endTime: playEnd,\n },\n });\n };\n return visible ? (flag ? (_jsx(Tooltip, Object.assign({ title: time }, { children: _jsx(\"div\", { className: \"timeline\", style: { left: elementX }, onClick: onClick }) }))) : (_jsx(\"div\", { className: \"timeline\", style: { left: elementX }, onClick: onClick }))) : (_jsx(_Fragment, {}));\n};\nexport default HistoryControl;\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"css.js","names":[],"sources":["history-control/style/index.js"],"sourcesContent":["import '../../controls/style';\nimport './index.less';\n"],"mappings":";;AAAA;;AACA"}
|