@vtx/player 0.0.30 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/index.d.ts +9 -0
- package/lib/api/index.js +51 -3
- package/lib/api/index.js.map +1 -1
- package/lib/api/types.d.ts +58 -4
- package/lib/components/set-tag-video/index.d.ts +9 -0
- package/lib/components/set-tag-video/index.js +196 -0
- package/lib/components/set-tag-video/index.js.map +1 -0
- package/lib/components/set-tag-video/style/css.js +4 -0
- package/lib/components/set-tag-video/style/css.js.map +1 -0
- package/lib/components/set-tag-video/style/index.css +104 -0
- package/lib/components/set-tag-video/style/index.d.ts +1 -0
- package/lib/components/set-tag-video/style/index.js +4 -0
- package/lib/components/set-tag-video/style/index.js.map +1 -0
- package/lib/components/set-tag-video/style/index.less +125 -0
- package/lib/components/split-screen/index.d.ts +11 -0
- package/lib/components/split-screen/index.js +203 -0
- package/lib/components/split-screen/index.js.map +1 -0
- package/lib/components/split-screen/style/css.js +4 -0
- package/lib/components/split-screen/style/css.js.map +1 -0
- package/lib/components/split-screen/style/index.css +21 -0
- package/lib/components/split-screen/style/index.d.ts +1 -0
- package/lib/components/split-screen/style/index.js +4 -0
- package/lib/components/split-screen/style/index.js.map +1 -0
- package/lib/components/split-screen/style/index.less +21 -0
- package/lib/components/tag-video/images/play.gif +0 -0
- package/lib/components/tag-video/index.d.ts +7 -0
- package/lib/components/tag-video/index.js +171 -0
- package/lib/components/tag-video/index.js.map +1 -0
- package/lib/components/tag-video/style/css.js +4 -0
- package/lib/components/tag-video/style/css.js.map +1 -0
- package/lib/components/tag-video/style/index.css +73 -0
- package/lib/components/tag-video/style/index.d.ts +1 -0
- package/lib/components/tag-video/style/index.js +4 -0
- package/lib/components/tag-video/style/index.js.map +1 -0
- package/lib/components/tag-video/style/index.less +69 -0
- package/lib/components/video-scale/index.d.ts +9 -0
- package/lib/components/video-scale/index.js +65 -0
- package/lib/components/video-scale/index.js.map +1 -0
- package/lib/components/video-scale/style/css.js +4 -0
- package/lib/components/video-scale/style/css.js.map +1 -0
- package/lib/components/video-scale/style/index.css +30 -0
- package/lib/components/video-scale/style/index.d.ts +1 -0
- package/lib/components/video-scale/style/index.js +4 -0
- package/lib/components/video-scale/style/index.js.map +1 -0
- package/lib/components/video-scale/style/index.less +31 -0
- package/lib/controls/index.d.ts +2 -0
- package/lib/controls/index.js +5 -3
- package/lib/controls/index.js.map +1 -1
- package/lib/controls/style/index.css +1 -0
- package/lib/controls/style/index.less +1 -0
- package/lib/history-control/index.js +5 -1
- package/lib/history-control/index.js.map +1 -1
- package/lib/history-control/style/index.css +1 -0
- package/lib/history-control/style/index.less +1 -0
- package/lib/history-control-v2/components/grid-item/index.d.ts +21 -0
- package/lib/history-control-v2/components/grid-item/index.js +207 -0
- package/lib/history-control-v2/components/grid-item/index.js.map +1 -0
- package/lib/history-control-v2/components/panel/index.d.ts +9 -0
- package/lib/history-control-v2/components/panel/index.js +533 -0
- package/lib/history-control-v2/components/panel/index.js.map +1 -0
- package/lib/history-control-v2/context.d.ts +17 -0
- package/lib/history-control-v2/context.js +12 -0
- package/lib/history-control-v2/context.js.map +1 -0
- package/lib/history-control-v2/images/collapse.png +0 -0
- package/lib/history-control-v2/images/empty.png +0 -0
- package/lib/history-control-v2/index.d.ts +11 -0
- package/lib/history-control-v2/index.js +418 -0
- package/lib/history-control-v2/index.js.map +1 -0
- package/lib/history-control-v2/interface.d.ts +140 -0
- package/lib/history-control-v2/style/css.js +24 -0
- package/lib/history-control-v2/style/css.js.map +1 -0
- package/lib/history-control-v2/style/index.css +435 -0
- package/lib/history-control-v2/style/index.d.ts +11 -0
- package/lib/history-control-v2/style/index.js +24 -0
- package/lib/history-control-v2/style/index.js.map +1 -0
- package/lib/history-control-v2/style/index.less +437 -0
- package/lib/history-control-v2/utils.d.ts +19 -0
- package/lib/history-control-v2/utils.js +136 -0
- package/lib/history-control-v2/utils.js.map +1 -0
- package/lib/history-player/index.d.ts +11 -3
- package/lib/history-player/index.js +99 -32
- package/lib/history-player/index.js.map +1 -1
- package/lib/icons/index.css +4 -0
- package/lib/icons/index.d.ts +29 -0
- package/lib/icons/index.js +1393 -19
- package/lib/icons/index.js.map +1 -1
- package/lib/icons/index.less +6 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +16 -0
- package/lib/index.js.map +1 -1
- package/lib/live-control/index.js +5 -2
- package/lib/live-control/index.js.map +1 -1
- package/lib/live-control-v2/images/empty.png +0 -0
- package/lib/live-control-v2/index.d.ts +55 -0
- package/lib/live-control-v2/index.js +529 -0
- package/lib/live-control-v2/index.js.map +1 -0
- package/lib/live-control-v2/style/css.js +18 -0
- package/lib/live-control-v2/style/css.js.map +1 -0
- package/lib/live-control-v2/style/index.css +217 -0
- package/lib/live-control-v2/style/index.d.ts +8 -0
- package/lib/live-control-v2/style/index.js +18 -0
- package/lib/live-control-v2/style/index.js.map +1 -0
- package/lib/live-control-v2/style/index.less +192 -0
- package/lib/live-player/index.d.ts +1 -1
- package/lib/live-player/index.js +7 -2
- package/lib/live-player/index.js.map +1 -1
- package/lib/player/index.js +14 -3
- package/lib/player/index.js.map +1 -1
- package/lib/typings/h5player.d.ts +10 -8
- package/lib/utils/index.d.ts +17 -0
- package/lib/utils/index.js +20 -1
- package/lib/utils/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { IChannel, IHistoryControlProps, IHistoryControlV2Handle, IGetHistoryUrlParams, IHistoryPlayInfoParams } from './interface';
|
|
3
|
+
export declare type HistoryControlV2Handle = IHistoryControlV2Handle;
|
|
4
|
+
export declare type HistoryPlayInfoParams = IHistoryPlayInfoParams;
|
|
5
|
+
export declare type GetHistoryUrlParams = IGetHistoryUrlParams;
|
|
6
|
+
export declare type Channel = IChannel;
|
|
7
|
+
/**
|
|
8
|
+
* 历史视频控制器
|
|
9
|
+
*/
|
|
10
|
+
export declare const HistoryControlV2: import("react").ForwardRefExoticComponent<IHistoryControlProps & import("react").RefAttributes<IHistoryControlV2Handle>>;
|
|
11
|
+
export default HistoryControlV2;
|
|
@@ -0,0 +1,418 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = exports.HistoryControlV2 = void 0;
|
|
9
|
+
|
|
10
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
+
|
|
12
|
+
var _react = require("react");
|
|
13
|
+
|
|
14
|
+
var _splitScreen = _interopRequireWildcard(require("../components/split-screen"));
|
|
15
|
+
|
|
16
|
+
var _videoScale = _interopRequireDefault(require("../components/video-scale"));
|
|
17
|
+
|
|
18
|
+
var _icons = require("../icons");
|
|
19
|
+
|
|
20
|
+
var _icons2 = require("@ant-design/icons");
|
|
21
|
+
|
|
22
|
+
var _ahooks = require("ahooks");
|
|
23
|
+
|
|
24
|
+
var _space = _interopRequireDefault(require("antd/lib/space"));
|
|
25
|
+
|
|
26
|
+
var _spin = _interopRequireDefault(require("antd/lib/spin"));
|
|
27
|
+
|
|
28
|
+
var _api = require("../api");
|
|
29
|
+
|
|
30
|
+
var _gridItem = _interopRequireDefault(require("./components/grid-item"));
|
|
31
|
+
|
|
32
|
+
var _panel = _interopRequireDefault(require("./components/panel"));
|
|
33
|
+
|
|
34
|
+
var _context2 = require("./context");
|
|
35
|
+
|
|
36
|
+
var _utils = require("./utils");
|
|
37
|
+
|
|
38
|
+
var _utils2 = require("../utils");
|
|
39
|
+
|
|
40
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
41
|
+
|
|
42
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
43
|
+
|
|
44
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
45
|
+
|
|
46
|
+
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return generator._invoke = function (innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; }(innerFn, self, context), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; this._invoke = function (method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); }; } function maybeInvokeDelegate(delegate, context) { var method = delegate.iterator[context.method]; if (undefined === method) { if (context.delegate = null, "throw" === context.method) { if (delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method)) return ContinueSentinel; context.method = "throw", context.arg = new TypeError("The iterator does not provide a 'throw' method"); } return ContinueSentinel; } var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) { if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; } return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, define(Gp, "constructor", GeneratorFunctionPrototype), define(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (object) { var keys = []; for (var key in object) { keys.push(key); } return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) { "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); } }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
|
|
47
|
+
|
|
48
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
49
|
+
|
|
50
|
+
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."); }
|
|
51
|
+
|
|
52
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
53
|
+
|
|
54
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
55
|
+
|
|
56
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
57
|
+
|
|
58
|
+
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."); }
|
|
59
|
+
|
|
60
|
+
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); }
|
|
61
|
+
|
|
62
|
+
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; }
|
|
63
|
+
|
|
64
|
+
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; }
|
|
65
|
+
|
|
66
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
67
|
+
|
|
68
|
+
var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
|
|
69
|
+
function adopt(value) {
|
|
70
|
+
return value instanceof P ? value : new P(function (resolve) {
|
|
71
|
+
resolve(value);
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
76
|
+
function fulfilled(value) {
|
|
77
|
+
try {
|
|
78
|
+
step(generator.next(value));
|
|
79
|
+
} catch (e) {
|
|
80
|
+
reject(e);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
function rejected(value) {
|
|
85
|
+
try {
|
|
86
|
+
step(generator["throw"](value));
|
|
87
|
+
} catch (e) {
|
|
88
|
+
reject(e);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
function step(result) {
|
|
93
|
+
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
97
|
+
});
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* 历史视频控制器
|
|
102
|
+
*/
|
|
103
|
+
var HistoryControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
104
|
+
var _props$width = props.width,
|
|
105
|
+
width = _props$width === void 0 ? '100%' : _props$width,
|
|
106
|
+
_props$height = props.height,
|
|
107
|
+
height = _props$height === void 0 ? '100%' : _props$height,
|
|
108
|
+
onExpandChange = props.onExpandChange,
|
|
109
|
+
onVideoClose = props.onVideoClose,
|
|
110
|
+
onScreenshot = props.onScreenshot,
|
|
111
|
+
onPlayingChannelChange = props.onPlayingChannelChange;
|
|
112
|
+
|
|
113
|
+
var _useSetState = (0, _ahooks.useSetState)({
|
|
114
|
+
expand: true,
|
|
115
|
+
grid: _utils.DEFAULT_GRID,
|
|
116
|
+
scale: '100%'
|
|
117
|
+
}),
|
|
118
|
+
_useSetState2 = _slicedToArray(_useSetState, 2),
|
|
119
|
+
state = _useSetState2[0],
|
|
120
|
+
setState = _useSetState2[1];
|
|
121
|
+
|
|
122
|
+
var _useState = (0, _react.useState)(_utils.DEFAULT_CHANNELS),
|
|
123
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
124
|
+
channels = _useState2[0],
|
|
125
|
+
setChannels = _useState2[1];
|
|
126
|
+
|
|
127
|
+
var _useState3 = (0, _react.useState)(false),
|
|
128
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
129
|
+
loading = _useState4[0],
|
|
130
|
+
setLoading = _useState4[1];
|
|
131
|
+
|
|
132
|
+
var _useState5 = (0, _react.useState)(_utils.DEFAULT_ACTIVE),
|
|
133
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
134
|
+
activeIndex = _useState6[0],
|
|
135
|
+
setActiveIndex = _useState6[1];
|
|
136
|
+
|
|
137
|
+
var _useState7 = (0, _react.useState)(-1),
|
|
138
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
139
|
+
timeLinePosition = _useState8[0],
|
|
140
|
+
setTimeLinePosition = _useState8[1];
|
|
141
|
+
|
|
142
|
+
var panelRef = (0, _react.useRef)(); // 全屏方法
|
|
143
|
+
|
|
144
|
+
var wrapRef = (0, _react.useRef)(null);
|
|
145
|
+
|
|
146
|
+
var _useFullscreen = (0, _ahooks.useFullscreen)(wrapRef),
|
|
147
|
+
_useFullscreen2 = _slicedToArray(_useFullscreen, 2),
|
|
148
|
+
isFullscreen = _useFullscreen2[0],
|
|
149
|
+
toggleFullscreen = _useFullscreen2[1].toggleFullscreen;
|
|
150
|
+
|
|
151
|
+
var _useRequest = (0, _ahooks.useRequest)(_api.getHistoryUrl, {
|
|
152
|
+
manual: true
|
|
153
|
+
}),
|
|
154
|
+
runAsync = _useRequest.runAsync;
|
|
155
|
+
|
|
156
|
+
var _useRequest2 = (0, _ahooks.useRequest)(_api.getVideoLabelById, {
|
|
157
|
+
manual: true
|
|
158
|
+
}),
|
|
159
|
+
getVideoLabelByIdAsync = _useRequest2.runAsync;
|
|
160
|
+
|
|
161
|
+
(0, _react.useImperativeHandle)(ref, function () {
|
|
162
|
+
return {
|
|
163
|
+
load: function load(channel) {
|
|
164
|
+
panelRef.current.load(channel);
|
|
165
|
+
},
|
|
166
|
+
start: function start(playInfo) {
|
|
167
|
+
return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
168
|
+
var _a, _b, _c, result, labelRes, res, newChannels, resultChannel, channelIndex;
|
|
169
|
+
|
|
170
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
171
|
+
while (1) {
|
|
172
|
+
switch (_context.prev = _context.next) {
|
|
173
|
+
case 0:
|
|
174
|
+
setLoading(true);
|
|
175
|
+
result = playInfo;
|
|
176
|
+
|
|
177
|
+
if (!playInfo.tagId) {
|
|
178
|
+
_context.next = 10;
|
|
179
|
+
break;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
_context.next = 5;
|
|
183
|
+
return getVideoLabelByIdAsync({
|
|
184
|
+
id: playInfo.tagId
|
|
185
|
+
});
|
|
186
|
+
|
|
187
|
+
case 5:
|
|
188
|
+
labelRes = _context.sent;
|
|
189
|
+
result.deviceId = labelRes.videoDeviceId || playInfo.deviceId;
|
|
190
|
+
result.channelNum = labelRes.videoChannelNum || playInfo.channelNum;
|
|
191
|
+
result.beginTime = labelRes.startTime || playInfo.beginTime;
|
|
192
|
+
result.endTime = labelRes.endTime || playInfo.endTime;
|
|
193
|
+
|
|
194
|
+
case 10:
|
|
195
|
+
_context.next = 12;
|
|
196
|
+
return runAsync({
|
|
197
|
+
deviceId: result.deviceId,
|
|
198
|
+
channelNum: result.channelNum,
|
|
199
|
+
beginTime: result.beginTime,
|
|
200
|
+
endTime: result.endTime,
|
|
201
|
+
protocol: result.protocol,
|
|
202
|
+
token: (0, _utils2.getUrlParam)('token')
|
|
203
|
+
});
|
|
204
|
+
|
|
205
|
+
case 12:
|
|
206
|
+
res = _context.sent;
|
|
207
|
+
newChannels = _toConsumableArray(channels);
|
|
208
|
+
resultChannel = (_a = newChannels.filter(function (citem) {
|
|
209
|
+
return citem.deviceId === res.deviceId && citem.channelNum === res.channelNum;
|
|
210
|
+
})) === null || _a === void 0 ? void 0 : _a[0]; // 如果当前通道已经再里面了,则直接替换当前通道
|
|
211
|
+
|
|
212
|
+
if (resultChannel) {
|
|
213
|
+
newChannels[resultChannel.channelIndex] = Object.assign(Object.assign({}, newChannels[resultChannel.channelIndex]), {
|
|
214
|
+
// 有tagId 则为-1 不然维持原有的
|
|
215
|
+
index: playInfo.tagId ? -1 : newChannels[resultChannel.channelIndex].index,
|
|
216
|
+
tagId: playInfo.tagId || '',
|
|
217
|
+
startTime: result.beginTime,
|
|
218
|
+
endTime: result.endTime
|
|
219
|
+
});
|
|
220
|
+
} else {
|
|
221
|
+
// 如果当前通道不在里面 则找到第一个channelNum为''的替换
|
|
222
|
+
channelIndex = (_c = (_b = newChannels.filter(function (item) {
|
|
223
|
+
return item.channelNum === '';
|
|
224
|
+
})) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.channelIndex;
|
|
225
|
+
|
|
226
|
+
if (typeof channelIndex == 'number') {
|
|
227
|
+
newChannels[channelIndex] = Object.assign(Object.assign({}, newChannels[channelIndex]), (0, _utils.getChannelData)(res, result));
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
setChannels(newChannels);
|
|
232
|
+
setLoading(false);
|
|
233
|
+
|
|
234
|
+
case 18:
|
|
235
|
+
case "end":
|
|
236
|
+
return _context.stop();
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
}, _callee);
|
|
240
|
+
}));
|
|
241
|
+
}
|
|
242
|
+
};
|
|
243
|
+
});
|
|
244
|
+
|
|
245
|
+
var handleExpand = function handleExpand() {
|
|
246
|
+
onExpandChange && onExpandChange(!state.expand);
|
|
247
|
+
setState({
|
|
248
|
+
expand: !state.expand
|
|
249
|
+
});
|
|
250
|
+
};
|
|
251
|
+
|
|
252
|
+
var handleCloseAll = function handleCloseAll() {
|
|
253
|
+
var realChannels = channels.filter(function (item) {
|
|
254
|
+
return item.channelNum !== '';
|
|
255
|
+
});
|
|
256
|
+
setChannels(_utils.DEFAULT_CHANNELS);
|
|
257
|
+
realChannels.map(function (item) {
|
|
258
|
+
onVideoClose(item);
|
|
259
|
+
});
|
|
260
|
+
};
|
|
261
|
+
|
|
262
|
+
var getGridItems = function getGridItems() {
|
|
263
|
+
var items = [];
|
|
264
|
+
|
|
265
|
+
var _loop = function _loop(i) {
|
|
266
|
+
var element = (0, _jsxRuntime.jsx)(_gridItem["default"], {
|
|
267
|
+
active: activeIndex === i,
|
|
268
|
+
palyIndex: i,
|
|
269
|
+
onClick: function onClick() {
|
|
270
|
+
return setActiveIndex(i);
|
|
271
|
+
},
|
|
272
|
+
channel: channels[i],
|
|
273
|
+
onClose: function onClose() {
|
|
274
|
+
var newChannels = _toConsumableArray(channels);
|
|
275
|
+
|
|
276
|
+
newChannels[i].index = -1;
|
|
277
|
+
newChannels[i].startTime = '';
|
|
278
|
+
newChannels[i].endTime = '';
|
|
279
|
+
newChannels[i].tagId = '';
|
|
280
|
+
setChannels(newChannels);
|
|
281
|
+
onVideoClose && onVideoClose(newChannels[i]);
|
|
282
|
+
},
|
|
283
|
+
scale: state.scale,
|
|
284
|
+
loading: true,
|
|
285
|
+
onScreenshot: onScreenshot
|
|
286
|
+
}, i);
|
|
287
|
+
items.push(element);
|
|
288
|
+
};
|
|
289
|
+
|
|
290
|
+
for (var i = 0; i < Number(state.grid); i++) {
|
|
291
|
+
_loop(i);
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
return items;
|
|
295
|
+
};
|
|
296
|
+
|
|
297
|
+
var store = {
|
|
298
|
+
channels: channels,
|
|
299
|
+
setChannels: setChannels,
|
|
300
|
+
loading: loading,
|
|
301
|
+
setLoading: setLoading,
|
|
302
|
+
activeIndex: activeIndex,
|
|
303
|
+
setActiveIndex: setActiveIndex,
|
|
304
|
+
timeLinePosition: timeLinePosition,
|
|
305
|
+
setTimeLinePosition: setTimeLinePosition
|
|
306
|
+
};
|
|
307
|
+
(0, _react.useEffect)(function () {
|
|
308
|
+
if ((0, _splitScreen.getRealGrid)(channels.filter(function (item) {
|
|
309
|
+
return item.channelNum !== '';
|
|
310
|
+
}).length) !== state.grid) {
|
|
311
|
+
setState({
|
|
312
|
+
grid: (0, _splitScreen.getRealGrid)(channels.filter(function (item) {
|
|
313
|
+
return item.channelNum !== '';
|
|
314
|
+
}).length) || 1
|
|
315
|
+
});
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
var realChannels = channels.filter(function (item) {
|
|
319
|
+
return item.channelNum !== '';
|
|
320
|
+
});
|
|
321
|
+
onPlayingChannelChange(realChannels);
|
|
322
|
+
}, [channels]);
|
|
323
|
+
return (0, _jsxRuntime.jsx)("div", Object.assign({
|
|
324
|
+
className: "vtx-history-control-v2",
|
|
325
|
+
style: {
|
|
326
|
+
width: width,
|
|
327
|
+
height: height
|
|
328
|
+
},
|
|
329
|
+
ref: wrapRef
|
|
330
|
+
}, {
|
|
331
|
+
children: (0, _jsxRuntime.jsxs)(_context2.historyControlV2Context.Provider, Object.assign({
|
|
332
|
+
value: store
|
|
333
|
+
}, {
|
|
334
|
+
children: [(0, _jsxRuntime.jsx)(_spin["default"], {
|
|
335
|
+
spinning: loading,
|
|
336
|
+
className: "vtx-spin",
|
|
337
|
+
size: "large"
|
|
338
|
+
}), (0, _jsxRuntime.jsx)("div", Object.assign({
|
|
339
|
+
className: "player-grid-container _".concat((0, _splitScreen.getRealGrid)(state.grid))
|
|
340
|
+
}, {
|
|
341
|
+
children: getGridItems()
|
|
342
|
+
})), (0, _jsxRuntime.jsx)(_panel["default"], {
|
|
343
|
+
onVideoClose: onVideoClose,
|
|
344
|
+
ref: panelRef
|
|
345
|
+
}), (0, _jsxRuntime.jsxs)("div", Object.assign({
|
|
346
|
+
className: "bottom-controls"
|
|
347
|
+
}, {
|
|
348
|
+
children: [(0, _jsxRuntime.jsx)(_space["default"], Object.assign({
|
|
349
|
+
className: "left",
|
|
350
|
+
size: 12,
|
|
351
|
+
align: "center"
|
|
352
|
+
}, {
|
|
353
|
+
children: onExpandChange && (0, _jsxRuntime.jsx)("div", Object.assign({
|
|
354
|
+
onClick: handleExpand,
|
|
355
|
+
style: {
|
|
356
|
+
display: 'flex'
|
|
357
|
+
}
|
|
358
|
+
}, {
|
|
359
|
+
children: state.expand ? (0, _jsxRuntime.jsx)(_icons.FoldIcon, {}) : (0, _jsxRuntime.jsx)(_icons.ExpandIcon, {})
|
|
360
|
+
}))
|
|
361
|
+
})), (0, _jsxRuntime.jsxs)(_space["default"], Object.assign({
|
|
362
|
+
className: "right",
|
|
363
|
+
size: 12,
|
|
364
|
+
align: "center"
|
|
365
|
+
}, {
|
|
366
|
+
children: [(0, _jsxRuntime.jsx)(_icons.CloseAllIcon, {
|
|
367
|
+
onClick: handleCloseAll
|
|
368
|
+
}), (0, _jsxRuntime.jsx)("div", {
|
|
369
|
+
className: 'split-line'
|
|
370
|
+
}), (0, _jsxRuntime.jsx)(_splitScreen["default"], Object.assign({
|
|
371
|
+
grid: state.grid,
|
|
372
|
+
setGrid: function setGrid(grid) {
|
|
373
|
+
return setState({
|
|
374
|
+
grid: grid
|
|
375
|
+
});
|
|
376
|
+
}
|
|
377
|
+
}, {
|
|
378
|
+
children: (0, _jsxRuntime.jsxs)("div", Object.assign({
|
|
379
|
+
className: 'controls-icon-hover'
|
|
380
|
+
}, {
|
|
381
|
+
children: [(0, _jsxRuntime.jsx)(_icons.GridIcon, {}), (0, _jsxRuntime.jsx)(_icons2.DownOutlined, {
|
|
382
|
+
className: "hover-hide"
|
|
383
|
+
}), (0, _jsxRuntime.jsx)(_icons2.UpOutlined, {
|
|
384
|
+
className: "hover-show"
|
|
385
|
+
})]
|
|
386
|
+
}))
|
|
387
|
+
})), (0, _jsxRuntime.jsx)(_videoScale["default"], Object.assign({
|
|
388
|
+
scale: state.scale,
|
|
389
|
+
setScale: function setScale(scale) {
|
|
390
|
+
return setState({
|
|
391
|
+
scale: scale
|
|
392
|
+
});
|
|
393
|
+
}
|
|
394
|
+
}, {
|
|
395
|
+
children: (0, _jsxRuntime.jsxs)("div", Object.assign({
|
|
396
|
+
className: 'controls-icon-hover'
|
|
397
|
+
}, {
|
|
398
|
+
children: [(0, _jsxRuntime.jsx)(_icons.OccupyingScreenIcon, {}), (0, _jsxRuntime.jsx)(_icons2.DownOutlined, {
|
|
399
|
+
className: "hover-hide"
|
|
400
|
+
}), (0, _jsxRuntime.jsx)(_icons2.UpOutlined, {
|
|
401
|
+
className: "hover-show"
|
|
402
|
+
})]
|
|
403
|
+
}))
|
|
404
|
+
})), isFullscreen ? (0, _jsxRuntime.jsx)(_icons.ExitFullScreenIcon, {
|
|
405
|
+
onClick: toggleFullscreen
|
|
406
|
+
}) : (0, _jsxRuntime.jsx)(_icons.FullScreenIcon, {
|
|
407
|
+
onClick: toggleFullscreen
|
|
408
|
+
})]
|
|
409
|
+
}))]
|
|
410
|
+
}))]
|
|
411
|
+
}))
|
|
412
|
+
}));
|
|
413
|
+
});
|
|
414
|
+
exports.HistoryControlV2 = HistoryControlV2;
|
|
415
|
+
HistoryControlV2.displayName = 'HistoryControlV2';
|
|
416
|
+
var _default = HistoryControlV2;
|
|
417
|
+
exports["default"] = _default;
|
|
418
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","HistoryControlV2","forwardRef","props","ref","width","height","onExpandChange","onVideoClose","onScreenshot","onPlayingChannelChange","useSetState","expand","grid","DEFAULT_GRID","scale","state","setState","useState","DEFAULT_CHANNELS","channels","setChannels","loading","setLoading","DEFAULT_ACTIVE","activeIndex","setActiveIndex","timeLinePosition","setTimeLinePosition","panelRef","useRef","wrapRef","useFullscreen","isFullscreen","toggleFullscreen","useRequest","getHistoryUrl","manual","runAsync","getVideoLabelById","getVideoLabelByIdAsync","useImperativeHandle","load","channel","current","start","playInfo","tagId","id","labelRes","deviceId","videoDeviceId","channelNum","videoChannelNum","beginTime","startTime","endTime","protocol","token","getUrlParam","res","newChannels","resultChannel","_a","filter","citem","channelIndex","Object","assign","index","_c","_b","item","getChannelData","handleExpand","handleCloseAll","realChannels","map","getGridItems","items","i","element","_jsx","GridItem","active","palyIndex","onClick","onClose","push","Number","store","useEffect","getRealGrid","length","className","style","children","_jsxs","historyControlV2Context","Provider","Spin","spinning","size","Panel","Space","align","display","FoldIcon","ExpandIcon","CloseAllIcon","SplitScreen","setGrid","GridIcon","DownOutlined","UpOutlined","VideoScale","setScale","OccupyingScreenIcon","ExitFullScreenIcon","FullScreenIcon","displayName"],"sources":["history-control-v2/index.js"],"sourcesContent":["var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef, useState } from 'react';\nimport SplitScreen, { getRealGrid } from '../components/split-screen';\nimport VideoScale from '../components/video-scale';\nimport { CloseAllIcon, ExitFullScreenIcon, ExpandIcon, FoldIcon, FullScreenIcon, GridIcon, OccupyingScreenIcon, } from '../icons';\nimport { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { useFullscreen, useSetState, useRequest } from 'ahooks';\nimport Space from 'antd/lib/space';\nimport Spin from 'antd/lib/spin';\nimport { getHistoryUrl, getVideoLabelById } from '../api';\nimport GridItem from './components/grid-item';\nimport Panel from './components/panel';\nimport { historyControlV2Context } from './context';\nimport { DEFAULT_ACTIVE, DEFAULT_CHANNELS, DEFAULT_GRID, getChannelData } from './utils';\nimport { getUrlParam } from '../utils';\n/**\n * 历史视频控制器\n */\nexport const HistoryControlV2 = forwardRef((props, ref) => {\n const { width = '100%', height = '100%', onExpandChange, onVideoClose, onScreenshot, onPlayingChannelChange, } = props;\n const [state, setState] = useSetState({\n expand: true,\n grid: DEFAULT_GRID,\n scale: '100%',\n });\n const [channels, setChannels] = useState(DEFAULT_CHANNELS);\n const [loading, setLoading] = useState(false);\n const [activeIndex, setActiveIndex] = useState(DEFAULT_ACTIVE);\n const [timeLinePosition, setTimeLinePosition] = useState(-1);\n const panelRef = useRef();\n // 全屏方法\n const wrapRef = useRef(null);\n const [isFullscreen, { toggleFullscreen }] = useFullscreen(wrapRef);\n const { runAsync } = useRequest(getHistoryUrl, {\n manual: true,\n });\n const { runAsync: getVideoLabelByIdAsync } = useRequest(getVideoLabelById, {\n manual: true,\n });\n useImperativeHandle(ref, () => {\n return {\n load: (channel) => {\n panelRef.current.load(channel);\n },\n start: (playInfo) => __awaiter(void 0, void 0, void 0, function* () {\n var _a, _b, _c;\n setLoading(true);\n const result = playInfo;\n if (playInfo.tagId) {\n /**\n * 如果传了tagId 则根据TagId 获取 deviceId,channelNum,beginTime,endTime\n * 如果没有传tagId 则根据 传入进来的 deviceId, channelNum,beginTime,endTime\n */\n const labelRes = yield getVideoLabelByIdAsync({\n id: playInfo.tagId,\n });\n result.deviceId = labelRes.videoDeviceId || playInfo.deviceId;\n result.channelNum = labelRes.videoChannelNum || playInfo.channelNum;\n result.beginTime = labelRes.startTime || playInfo.beginTime;\n result.endTime = labelRes.endTime || playInfo.endTime;\n }\n const res = yield runAsync({\n deviceId: result.deviceId,\n channelNum: result.channelNum,\n beginTime: result.beginTime,\n endTime: result.endTime,\n protocol: result.protocol,\n token: getUrlParam('token')\n });\n const newChannels = [...channels];\n const resultChannel = (_a = newChannels.filter((citem) => citem.deviceId === res.deviceId && citem.channelNum === res.channelNum)) === null || _a === void 0 ? void 0 : _a[0];\n // 如果当前通道已经再里面了,则直接替换当前通道\n if (resultChannel) {\n newChannels[resultChannel.channelIndex] = Object.assign(Object.assign({}, newChannels[resultChannel.channelIndex]), { \n // 有tagId 则为-1 不然维持原有的 \n index: playInfo.tagId ? -1 : newChannels[resultChannel.channelIndex].index, tagId: playInfo.tagId || '', startTime: result.beginTime, endTime: result.endTime });\n }\n else {\n // 如果当前通道不在里面 则找到第一个channelNum为''的替换 \n const channelIndex = (_c = (_b = newChannels.filter((item) => item.channelNum === '')) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.channelIndex;\n if (typeof channelIndex == 'number') {\n newChannels[channelIndex] = Object.assign(Object.assign({}, newChannels[channelIndex]), getChannelData(res, result));\n }\n }\n setChannels(newChannels);\n setLoading(false);\n }),\n };\n });\n const handleExpand = () => {\n onExpandChange && onExpandChange(!state.expand);\n setState({ expand: !state.expand });\n };\n const handleCloseAll = () => {\n const realChannels = channels.filter((item) => item.channelNum !== '');\n setChannels(DEFAULT_CHANNELS);\n realChannels.map((item) => {\n onVideoClose(item);\n });\n };\n const getGridItems = () => {\n const items = [];\n for (let i = 0; i < Number(state.grid); i++) {\n const element = (_jsx(GridItem, { active: activeIndex === i, palyIndex: i, onClick: () => setActiveIndex(i), channel: channels[i], onClose: () => {\n const newChannels = [...channels];\n newChannels[i].index = -1;\n newChannels[i].startTime = '';\n newChannels[i].endTime = '';\n newChannels[i].tagId = '';\n setChannels(newChannels);\n onVideoClose && onVideoClose(newChannels[i]);\n }, scale: state.scale, loading: true, onScreenshot: onScreenshot }, i));\n items.push(element);\n }\n return items;\n };\n const store = {\n channels,\n setChannels,\n loading,\n setLoading,\n activeIndex,\n setActiveIndex,\n timeLinePosition,\n setTimeLinePosition\n };\n useEffect(() => {\n if (getRealGrid(channels.filter(item => item.channelNum !== '').length) !== state.grid) {\n setState({\n grid: getRealGrid(channels.filter(item => item.channelNum !== '').length) || 1,\n });\n }\n const realChannels = channels.filter((item) => item.channelNum !== '');\n onPlayingChannelChange(realChannels);\n }, [channels]);\n return (_jsx(\"div\", Object.assign({ className: \"vtx-history-control-v2\", style: { width, height }, ref: wrapRef }, { children: _jsxs(historyControlV2Context.Provider, Object.assign({ value: store }, { children: [_jsx(Spin, { spinning: loading, className: \"vtx-spin\", size: \"large\" }), _jsx(\"div\", Object.assign({ className: `player-grid-container _${getRealGrid(state.grid)}` }, { children: getGridItems() })), _jsx(Panel, { onVideoClose: onVideoClose, ref: panelRef }), _jsxs(\"div\", Object.assign({ className: \"bottom-controls\" }, { children: [_jsx(Space, Object.assign({ className: \"left\", size: 12, align: \"center\" }, { children: onExpandChange && (_jsx(\"div\", Object.assign({ onClick: handleExpand, style: { display: 'flex' } }, { children: state.expand ? _jsx(FoldIcon, {}) : _jsx(ExpandIcon, {}) }))) })), _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [_jsx(CloseAllIcon, { onClick: handleCloseAll }), _jsx(\"div\", { className: 'split-line' }), _jsx(SplitScreen, Object.assign({ grid: state.grid, setGrid: (grid) => setState({ grid }) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(GridIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) })), _jsx(VideoScale, Object.assign({ scale: state.scale, setScale: (scale) => setState({ scale }) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(OccupyingScreenIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) })), isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: toggleFullscreen })) : (_jsx(FullScreenIcon, { onClick: toggleFullscreen }))] }))] }))] })) })));\n});\nHistoryControlV2.displayName = 'HistoryControlV2';\nexport default HistoryControlV2;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
// 组件ref暴露的方法
|
|
2
|
+
export type IHistoryControlV2Handle = {
|
|
3
|
+
load: (channel: IGetHistoryUrlParams) => void;
|
|
4
|
+
start: (playInfo: IHistoryPlayInfoParams) => void;
|
|
5
|
+
};
|
|
6
|
+
type IDeviceChannel = {
|
|
7
|
+
deviceId: string;
|
|
8
|
+
channelNums: string[];
|
|
9
|
+
};
|
|
10
|
+
export interface IGetHistoryUrlParams {
|
|
11
|
+
/** 频道号 */
|
|
12
|
+
channelNum?: string;
|
|
13
|
+
|
|
14
|
+
deviceChannels?:IDeviceChannel[];
|
|
15
|
+
/** 设备ID */
|
|
16
|
+
deviceId?: string;
|
|
17
|
+
/** 协议 */
|
|
18
|
+
protocol?: string;
|
|
19
|
+
/** 开始时间,格式:2022-06-01 00:00:00 */
|
|
20
|
+
beginTime?: string;
|
|
21
|
+
/** 结束时间,格式:2022-06-01 23:59:59 */
|
|
22
|
+
endTime?: string;
|
|
23
|
+
/** 是否展示信息 */
|
|
24
|
+
showInfo?: boolean | 'leftTop' | 'leftBottom' | 'rightTop' | 'rightBottom';
|
|
25
|
+
/** 信息 */
|
|
26
|
+
info?: Array<Array<string>>;
|
|
27
|
+
name?: string;
|
|
28
|
+
url?: string;
|
|
29
|
+
/** token */
|
|
30
|
+
token?: string;
|
|
31
|
+
|
|
32
|
+
}
|
|
33
|
+
export interface IHistoryPlayInfoParams {
|
|
34
|
+
/** 设备和端口数组 */
|
|
35
|
+
deviceId?: string;
|
|
36
|
+
/** 端口 */
|
|
37
|
+
channelNum?: string;
|
|
38
|
+
/** 标签的id */
|
|
39
|
+
tagId?: string;
|
|
40
|
+
/** 协议 */
|
|
41
|
+
protocol?: string;
|
|
42
|
+
/** 开始时间,格式:2022-06-01 00:00:00 */
|
|
43
|
+
beginTime?: string;
|
|
44
|
+
/** 结束时间,格式:2022-06-01 23:59:59 */
|
|
45
|
+
endTime?: string;
|
|
46
|
+
}
|
|
47
|
+
// 历史视频单个播放器
|
|
48
|
+
export interface IHistoryControlProps {
|
|
49
|
+
/** 宽度 */
|
|
50
|
+
width?: number;
|
|
51
|
+
/** 高度 */
|
|
52
|
+
height?: number;
|
|
53
|
+
/** 展开/收缩按钮回调 */
|
|
54
|
+
onExpandChange?: (expand: boolean) => void;
|
|
55
|
+
/** 播放器进度回调,time:YYYY-MM-DD HH:mm:ss */
|
|
56
|
+
onTimeChange?: (time: string, speed: number) => void;
|
|
57
|
+
/** 截图回调 */
|
|
58
|
+
onScreenshot?: (url: string) => void;
|
|
59
|
+
/** 播放关闭回调 */
|
|
60
|
+
onVideoClose?: (e: any) => void;
|
|
61
|
+
/** 单签播放 */
|
|
62
|
+
onPlayingChannelChange?: (e: any) => void;
|
|
63
|
+
/** 是否展示信息 */
|
|
64
|
+
showInfo?: boolean | 'leftTop' | 'leftBottom' | 'rightTop' | 'rightBottom';
|
|
65
|
+
/** 信息 */
|
|
66
|
+
info?: Array<Array<string>>;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export type IChannel = {
|
|
70
|
+
hkType?: string;
|
|
71
|
+
code?: string;
|
|
72
|
+
/** 当前的位置的位置 */
|
|
73
|
+
channelIndex?: number;
|
|
74
|
+
index: number;
|
|
75
|
+
//标签index
|
|
76
|
+
tagIndex?: number;
|
|
77
|
+
tagId?: string;
|
|
78
|
+
// 设备id
|
|
79
|
+
deviceId?: string;
|
|
80
|
+
// 设备名称
|
|
81
|
+
deviceName?: string;
|
|
82
|
+
// 通道号
|
|
83
|
+
channelNum?: string;
|
|
84
|
+
// 通道名称
|
|
85
|
+
channelName?: string;
|
|
86
|
+
// 通道id
|
|
87
|
+
videoChannelId?: string;
|
|
88
|
+
/** 协议 */
|
|
89
|
+
protocol?: string;
|
|
90
|
+
/** 是否展示信息 */
|
|
91
|
+
showInfo?: boolean | 'leftTop' | 'leftBottom' | 'rightTop' | 'rightBottom';
|
|
92
|
+
/** 信息 */
|
|
93
|
+
info?: Array<Array<string>>;
|
|
94
|
+
/** 播放地址 */
|
|
95
|
+
url: string;
|
|
96
|
+
/** 开始时间 */
|
|
97
|
+
startTime?: string;
|
|
98
|
+
/** 结束时间 */
|
|
99
|
+
endTime?: string;
|
|
100
|
+
/** 历史视频下面的列表 */
|
|
101
|
+
tableList?: IUrlsTableItemType[];
|
|
102
|
+
/** 分段数据 */
|
|
103
|
+
segmentData?: GetSegmentsProps;
|
|
104
|
+
hasLabel?: boolean;
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
/** 表格数据 */
|
|
108
|
+
export type IUrlsTableItemType = {
|
|
109
|
+
/** 序号 */
|
|
110
|
+
index: number;
|
|
111
|
+
/** 设备ID */
|
|
112
|
+
deviceId: string;
|
|
113
|
+
/** 设备名称 */
|
|
114
|
+
deviceName: string;
|
|
115
|
+
/** 通道名称 */
|
|
116
|
+
channelName: string;
|
|
117
|
+
/** 通道号 */
|
|
118
|
+
channelNum: string;
|
|
119
|
+
// 通道id
|
|
120
|
+
videoChannelId: string;
|
|
121
|
+
/** 开始时间 */
|
|
122
|
+
beginTime: string;
|
|
123
|
+
/** 结束时间 */
|
|
124
|
+
endTime: string;
|
|
125
|
+
/** 视频时长 */
|
|
126
|
+
duration: string;
|
|
127
|
+
/** 视频大小 */
|
|
128
|
+
size: string;
|
|
129
|
+
/** 地址 */
|
|
130
|
+
url: string;
|
|
131
|
+
hkType: string;
|
|
132
|
+
code: string;
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
/** 分段数据 */
|
|
136
|
+
export type GetSegmentsProps = {
|
|
137
|
+
list: HistoryUrlItem[];
|
|
138
|
+
start?: moment.Moment;
|
|
139
|
+
end?: moment.Moment;
|
|
140
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("antd/lib/button/style/css");
|
|
4
|
+
|
|
5
|
+
require("antd/lib/space/style/css");
|
|
6
|
+
|
|
7
|
+
require("antd/lib/table/style/css");
|
|
8
|
+
|
|
9
|
+
require("antd/lib/tooltip/style/css");
|
|
10
|
+
|
|
11
|
+
require("../../controls/style/css");
|
|
12
|
+
|
|
13
|
+
require("../../history-player/style/css");
|
|
14
|
+
|
|
15
|
+
require("../../components/split-screen/style/css");
|
|
16
|
+
|
|
17
|
+
require("../../components/video-scale/style/css");
|
|
18
|
+
|
|
19
|
+
require("../../components/tag-video/style/css");
|
|
20
|
+
|
|
21
|
+
require("../../components/set-tag-video/style/css");
|
|
22
|
+
|
|
23
|
+
require("./index.css");
|
|
24
|
+
//# sourceMappingURL=css.js.map
|