@vtx/player 1.2.7 → 1.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/lib/api/fetch.d.ts +2 -0
  2. package/lib/api/fetch.js +35 -18
  3. package/lib/api/fetch.js.map +1 -1
  4. package/lib/api/types.d.ts +16 -0
  5. package/lib/history-control/index.d.ts +4 -0
  6. package/lib/history-control/index.js +21 -3
  7. package/lib/history-control/index.js.map +1 -1
  8. package/lib/history-control-v2/components/grid-item/index.js +12 -0
  9. package/lib/history-control-v2/components/grid-item/index.js.map +1 -1
  10. package/lib/history-control-v2/components/panel/index.js +26 -5
  11. package/lib/history-control-v2/components/panel/index.js.map +1 -1
  12. package/lib/history-control-v2/interface.d.ts +6 -0
  13. package/lib/history-control-v2/utils.js +2 -0
  14. package/lib/history-control-v2/utils.js.map +1 -1
  15. package/lib/history-player/index.d.ts +12 -0
  16. package/lib/history-player/index.js +44 -13
  17. package/lib/history-player/index.js.map +1 -1
  18. package/lib/icc/PlayerManager.d.ts +89 -0
  19. package/lib/icc/PlayerManager.js +317 -0
  20. package/lib/icc/PlayerManager.js.map +1 -0
  21. package/lib/icc/api.d.ts +139 -0
  22. package/lib/icc/api.js +273 -0
  23. package/lib/icc/api.js.map +1 -0
  24. package/lib/live-control-v2/index.js +4 -0
  25. package/lib/live-control-v2/index.js.map +1 -1
  26. package/lib/live-player/index.d.ts +8 -4
  27. package/lib/live-player/index.js +109 -29
  28. package/lib/live-player/index.js.map +1 -1
  29. package/lib/live-player-image/index.js +1 -0
  30. package/lib/live-player-image/index.js.map +1 -1
  31. package/lib/player/index.d.ts +20 -2
  32. package/lib/player/index.js +92 -19
  33. package/lib/player/index.js.map +1 -1
  34. package/lib/typings/@vtx/utils/index.d.ts +1 -0
  35. package/lib/typings/wsplayer.d.ts +99 -0
  36. package/lib/utils/index.js +4 -0
  37. package/lib/utils/index.js.map +1 -1
  38. package/package.json +2 -2
@@ -3,6 +3,8 @@ interface VMFetchProps {
3
3
  data?: any;
4
4
  /** 请求头 */
5
5
  headersEx?: object;
6
+ /** 是否需要token */
7
+ needToken?: boolean;
6
8
  }
7
9
  /**
8
10
  * 数据fetch总入口
package/lib/api/fetch.js CHANGED
@@ -7,6 +7,10 @@ exports["default"] = void 0;
7
7
 
8
8
  var _utils = require("../utils");
9
9
 
10
+ var _qs = _interopRequireDefault(require("qs"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
+
10
14
  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); }
11
15
 
12
16
  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; }
@@ -51,20 +55,25 @@ var Fetch = function Fetch(url) {
51
55
  var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'GET';
52
56
  var params = arguments.length > 2 ? arguments[2] : undefined;
53
57
  return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
54
- var _ref, data, headersEx, token, headers, queryString, resp, json, error;
58
+ var _ref, data, headersEx, _ref$needToken, needToken, token, headers, queryString, postData, resp, json, error;
55
59
 
56
60
  return _regeneratorRuntime().wrap(function _callee$(_context) {
57
61
  while (1) {
58
62
  switch (_context.prev = _context.next) {
59
63
  case 0:
60
- _ref = params || {}, data = _ref.data, headersEx = _ref.headersEx;
64
+ _ref = params || {}, data = _ref.data, headersEx = _ref.headersEx, _ref$needToken = _ref.needToken, needToken = _ref$needToken === void 0 ? true : _ref$needToken;
61
65
  token = (0, _utils.getUrlParam)('token');
62
66
  _context.prev = 2;
63
67
  headers = {
64
- 'content-type': 'application/json',
65
- Authorization: token ? "Bearer ".concat(token) : ''
68
+ 'content-type': 'application/json'
66
69
  };
67
70
 
71
+ if (needToken) {
72
+ headers = Object.assign(Object.assign({}, headers), {
73
+ Authorization: token ? "Bearer ".concat(token) : ''
74
+ });
75
+ }
76
+
68
77
  if (headersEx) {
69
78
  headers = Object.assign(Object.assign({}, headers), headersEx);
70
79
  }
@@ -76,50 +85,58 @@ var Fetch = function Fetch(url) {
76
85
  url += '?' + queryString;
77
86
  }
78
87
 
79
- _context.next = 8;
88
+ if (type === 'POST') {
89
+ if (headers['content-type'].toLocaleLowerCase().includes('application/x-www-form-urlencoded')) {
90
+ postData = _qs["default"].stringify(data);
91
+ } else {
92
+ postData = JSON.stringify(data);
93
+ }
94
+ }
95
+
96
+ _context.next = 10;
80
97
  return fetch(encodeURI(url), {
81
- body: type === 'POST' ? JSON.stringify(data) : undefined,
98
+ body: type === 'POST' ? postData : undefined,
82
99
  headers: headers,
83
100
  method: type
84
101
  });
85
102
 
86
- case 8:
103
+ case 10:
87
104
  resp = _context.sent;
88
- _context.next = 11;
105
+ _context.next = 13;
89
106
  return resp.json();
90
107
 
91
- case 11:
108
+ case 13:
92
109
  json = _context.sent;
93
110
 
94
- if (!(json.result === 0)) {
95
- _context.next = 16;
111
+ if (!(json.result === 0 || json.success)) {
112
+ _context.next = 18;
96
113
  break;
97
114
  }
98
115
 
99
116
  return _context.abrupt("return", json.data);
100
117
 
101
- case 16:
118
+ case 18:
102
119
  error = {
103
120
  exception: json.exception,
104
121
  msg: json.msg
105
122
  };
106
123
  throw error;
107
124
 
108
- case 18:
109
- _context.next = 23;
125
+ case 20:
126
+ _context.next = 25;
110
127
  break;
111
128
 
112
- case 20:
113
- _context.prev = 20;
129
+ case 22:
130
+ _context.prev = 22;
114
131
  _context.t0 = _context["catch"](2);
115
132
  return _context.abrupt("return", Promise.reject(_context.t0));
116
133
 
117
- case 23:
134
+ case 25:
118
135
  case "end":
119
136
  return _context.stop();
120
137
  }
121
138
  }
122
- }, _callee, null, [[2, 20]]);
139
+ }, _callee, null, [[2, 22]]);
123
140
  }));
124
141
  };
125
142
 
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","Fetch","url","type","params","data","headersEx","token","getUrlParam","headers","Authorization","Object","assign","queryString","keys","map","key","join","fetch","encodeURI","body","JSON","stringify","undefined","method","resp","json","error","exception","msg"],"sources":["api/fetch.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 { getUrlParam } from '../utils';\n/**\n * 数据fetch总入口\n * @param props\n */\nconst Fetch = (url, type = 'GET', params) => __awaiter(void 0, void 0, void 0, function* () {\n const { data, headersEx } = params || {};\n const token = getUrlParam('token');\n try {\n let headers = {\n 'content-type': 'application/json',\n Authorization: token ? `Bearer ${token}` : '',\n };\n if (headersEx) {\n headers = Object.assign(Object.assign({}, headers), headersEx);\n }\n if (type === 'GET' && data) {\n const queryString = Object.keys(data)\n .map((key) => key + '=' + data[key])\n .join('&');\n url += '?' + queryString;\n }\n const resp = yield fetch(encodeURI(url), {\n body: type === 'POST' ? JSON.stringify(data) : undefined,\n headers,\n method: type,\n });\n const json = yield resp.json();\n if (json.result === 0)\n return json.data;\n else {\n const error = {\n exception: json.exception,\n msg: json.msg,\n };\n throw error;\n }\n }\n catch (e) {\n return Promise.reject(e);\n }\n});\nexport default Fetch;\n"],"mappings":"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"}
1
+ {"version":3,"file":"fetch.js","names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","Fetch","url","type","params","data","headersEx","needToken","token","getUrlParam","headers","Object","assign","Authorization","queryString","keys","map","key","join","toLocaleLowerCase","includes","postData","qs","stringify","JSON","fetch","encodeURI","body","undefined","method","resp","json","success","error","exception","msg"],"sources":["api/fetch.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 { getUrlParam } from '../utils';\nimport qs from 'qs';\n/**\n * 数据fetch总入口\n * @param props\n */\nconst Fetch = (url, type = 'GET', params) => __awaiter(void 0, void 0, void 0, function* () {\n const { data, headersEx, needToken = true } = params || {};\n const token = getUrlParam('token');\n try {\n let headers = {\n 'content-type': 'application/json',\n };\n if (needToken) {\n headers = Object.assign(Object.assign({}, headers), { Authorization: token ? `Bearer ${token}` : '' });\n }\n if (headersEx) {\n headers = Object.assign(Object.assign({}, headers), headersEx);\n }\n if (type === 'GET' && data) {\n const queryString = Object.keys(data)\n .map((key) => key + '=' + data[key])\n .join('&');\n url += '?' + queryString;\n }\n let postData;\n if (type === 'POST') {\n if (headers['content-type'].toLocaleLowerCase().includes('application/x-www-form-urlencoded')) {\n postData = qs.stringify(data);\n }\n else {\n postData = JSON.stringify(data);\n }\n }\n const resp = yield fetch(encodeURI(url), {\n body: type === 'POST' ? postData : undefined,\n headers,\n method: type,\n });\n const json = yield resp.json();\n if (json.result === 0 || json.success)\n return json.data;\n else {\n const error = {\n exception: json.exception,\n msg: json.msg,\n };\n throw error;\n }\n }\n catch (e) {\n return Promise.reject(e);\n }\n});\nexport default Fetch;\n"],"mappings":"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"}
@@ -1,5 +1,9 @@
1
1
  /** 获取预览地址Resp */
2
2
  export interface GetPreviewUrlResp {
3
+ /** 服务器地址 */
4
+ deviceIp?: string;
5
+ /** 服务器端口 */
6
+ devicePort?: string;
3
7
  /** 对讲地址 */
4
8
  apiUrl: string;
5
9
  /** 地址 */
@@ -10,10 +14,14 @@ export interface GetPreviewUrlResp {
10
14
  deviceName: string;
11
15
  /** 设备ID */
12
16
  deviceId: string;
17
+ /** 设备Code */
18
+ deviceCode: string;
13
19
  /** 通道名称 */
14
20
  channelName: string;
15
21
  /** 通道编号 */
16
22
  channelNum: string;
23
+ /** 主/子码流 */
24
+ streamType: '0' | '1';
17
25
  /** 播放器 */
18
26
  player: string | null | undefined | 'flv' | 'hls' | 'hk_ws' | 'hkcar_ws';
19
27
  /** 是否可以对讲,1为可以,0为不可以 */
@@ -58,10 +66,16 @@ export interface HistoryUrlItem {
58
66
  /** 获取历史地址Resp */
59
67
  export interface GetHistoryUrlResp {
60
68
  hkType: string;
69
+ /** 设备Code */
70
+ deviceCode: string;
61
71
  /** 设备ID */
62
72
  deviceId: string;
63
73
  /** 设备名称 */
64
74
  deviceName: string;
75
+ /** 服务器地址 */
76
+ deviceIp?: string;
77
+ /** 服务器端口 */
78
+ devicePort?: string;
65
79
  /** 是否代理播放地址 */
66
80
  enableAgent: boolean;
67
81
  /** 频道号 */
@@ -76,6 +90,8 @@ export interface GetHistoryUrlResp {
76
90
  player: string | null;
77
91
  /** 全时播放地址 */
78
92
  totalTimeUrl: string;
93
+ /** 主/子码流 */
94
+ streamType: '0' | '1';
79
95
  /** 地址 */
80
96
  url: string;
81
97
  /** 是否有label */
@@ -47,6 +47,10 @@ export declare type UrlsTableItemType = {
47
47
  code: string;
48
48
  hkType: string;
49
49
  deviceId: string;
50
+ deviceCode: string;
51
+ deviceIp: string;
52
+ devicePort: string;
53
+ streamType: '0' | '1';
50
54
  channelNum: string;
51
55
  };
52
56
  export default HistoryControl;
@@ -59,7 +59,13 @@ var DEFAULT_PLAY_PARAMS = {
59
59
  url: '',
60
60
  enableAgent: false,
61
61
  startTime: '',
62
- endTime: ''
62
+ endTime: '',
63
+ channelNum: '',
64
+ deviceId: '',
65
+ deviceCode: '',
66
+ deviceIp: '',
67
+ devicePort: '',
68
+ streamType: '0'
63
69
  };
64
70
  /**
65
71
  * 历史视频控制器
@@ -163,7 +169,13 @@ var HistoryControl = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
163
169
  enableAgent: (result === null || result === void 0 ? void 0 : result.enableAgent) || false,
164
170
  url: result.totalTimeUrl,
165
171
  startTime: ((_c = state.channel) === null || _c === void 0 ? void 0 : _c.beginTime) || '',
166
- endTime: ((_d = state.channel) === null || _d === void 0 ? void 0 : _d.endTime) || ''
172
+ endTime: ((_d = state.channel) === null || _d === void 0 ? void 0 : _d.endTime) || '',
173
+ channelNum: result.channelNum,
174
+ deviceCode: result.deviceCode,
175
+ deviceIp: result.deviceIp,
176
+ deviceId: result.deviceId,
177
+ devicePort: result.devicePort,
178
+ streamType: result.streamType
167
179
  }
168
180
  };
169
181
 
@@ -249,7 +261,13 @@ var HistoryControl = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
249
261
  url: url,
250
262
  enableAgent: record.enableAgent || false,
251
263
  startTime: record.beginTime,
252
- endTime: record.endTime
264
+ endTime: record.endTime,
265
+ channelNum: record.channelNum,
266
+ deviceCode: record.deviceCode,
267
+ streamType: record.streamType,
268
+ deviceIp: record.deviceIp,
269
+ devicePort: record.devicePort,
270
+ deviceId: record.deviceId
253
271
  };
254
272
 
255
273
  if (record.hkType === 'HK_CAR_CLOUD_V2') {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["DEFAULT_PLAY_PARAMS","index","url","enableAgent","startTime","endTime","HistoryControl","forwardRef","props","ref","width","height","onExpandChange","onTimeChange","showInfo","onVideoClose","info","isDark","segmentsRef","useRef","useRequest","getHistoryUrl","manual","runAsync","loading","getPlaybackUrlSingle","GetHKV2Url","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","map","item","Object","assign","deviceName","channelName","totalTimeUrl","params","hkType","code","deviceId","channelNum","tenantId","getUrlParam","data","playbackUrl","message","handleExpand","handleClose","undefined","columns","title","dataIndex","key","render","_","record","active","_jsx","Button","className","onClick","children","_jsxs","_Fragment","VideoCloseIcon","VideoPlayIcon","handleTimeChange","time","speed","progress","diff","getRef","current","console","log","style","backgroundColor","PlayerHeader","onClose","Spin","spinning","size","HistoryPlayer","controlBottom","length","src","collapseBtnImg","alt","transform","TimeVerticalLine","history","getSegments","TimePositionIcon","left","TimeLine","Table","dataSource","scroll","y","pagination","rowClassName","Space","align","Tooltip","FoldIcon","ExpandIcon","displayName","getSplitLines","step","i","element","push","total","itemStart","itemEnd","itemTotal","ONEDAY_MILL","mouse","useMouse","elementX","elementY","elementW","elementH","visible","percent","valueOf","format","TimeFormat","flag","playStart","playEnd","now","begin","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 { getHistoryUrl, getPlaybackUrlSingle } from '../api';\nimport { PlayerHeader } from '../controls';\nimport HistoryPlayer from '../history-player';\nimport { ExpandIcon, FoldIcon, TimePositionIcon, VideoCloseIcon, VideoPlayIcon } from '../icons';\nimport { TimeFormat, getUrlTableData, getUrlParam } from '../utils';\nimport { useMouse, useRequest, useSetState } from 'ahooks';\n// import { Button, Space, Table, Tooltip } from 'antd';\nimport Button from 'antd/lib/button';\nimport message from 'antd/lib/message';\nimport Space from 'antd/lib/space';\nimport Spin from 'antd/lib/spin';\nimport Table from 'antd/lib/table';\nimport Tooltip from 'antd/lib/tooltip';\nimport moment from 'moment';\nimport collapseBtnImg from './images/collapse.png';\n/** 默认播放器参数 */\nconst DEFAULT_PLAY_PARAMS = {\n index: -1,\n url: '',\n enableAgent: false,\n startTime: '',\n endTime: '',\n};\n/**\n * 历史视频控制器\n */\nexport const HistoryControl = forwardRef((props, ref) => {\n const { width = '100%', height = '100%', onExpandChange, onTimeChange, showInfo = false, onVideoClose, info = [], isDark = false } = props;\n const segmentsRef = useRef(null);\n const { runAsync, loading } = useRequest(getHistoryUrl, {\n manual: true,\n });\n const { runAsync: GetHKV2Url } = useRequest(getPlaybackUrlSingle, {\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 === null || result === void 0 ? void 0 : 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: tableData.map(item => (Object.assign(Object.assign({}, item), { enableAgent: result.enableAgent || false }))),\n segmentData,\n name: `${result.deviceName}-${result.channelName}`,\n totalUrl: result.totalTimeUrl,\n });\n }\n else if (result.totalTimeUrl) {\n const params = {\n tableData: [],\n segmentData: { list: [] },\n name: `${result.deviceName}-${result.channelName}`,\n totalUrl: result.totalTimeUrl,\n playParams: {\n index: 0,\n enableAgent: (result === null || result === void 0 ? void 0 : result.enableAgent) || false,\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 if (result.hkType === 'HK_CAR_CLOUD_V2') {\n GetHKV2Url({\n code: result.code,\n beginTime: result.beginTime,\n endTime: result.endTime,\n deviceId: result.deviceId,\n channelNum: result.channelNum,\n tenantId: getUrlParam('tenantId'),\n }).then((data) => {\n params.playParams.url = data.playbackUrl;\n setState(params);\n });\n }\n else {\n setState(params);\n }\n }\n else {\n message.info('未查询到视频');\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 onVideoClose && onVideoClose();\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 onVideoClose && onVideoClose();\n }\n else {\n const url = record.url || state.totalUrl;\n const params = {\n index,\n url,\n enableAgent: record.enableAgent || false,\n startTime: record.beginTime,\n endTime: record.endTime,\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 setState({\n playParams: Object.assign(Object.assign({}, params), { url: data.playbackUrl })\n });\n });\n }\n else {\n setState({\n playParams: params\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, speed) => {\n var _a;\n onTimeChange && onTimeChange(time, speed);\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 console.log('state.playParams,', state.playParams);\n console.log('isExpanded', isExpanded);\n console.log('showInfo', showInfo);\n console.log('info', info);\n return (_jsxs(\"div\", Object.assign({ className: `vtx-history-control${isDark ? ' history-dark' : ''}`, style: { width, height, backgroundColor: isDark ? 'rgba(0,59,64,0.3)' : '#2b3d51' } }, { children: [state.name && _jsx(PlayerHeader, { name: state.name, onClose: handleClose }), _jsx(Spin, { spinning: loading, className: \"vtx-spin\", size: \"large\" }), _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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"}
1
+ {"version":3,"file":"index.js","names":["DEFAULT_PLAY_PARAMS","index","url","enableAgent","startTime","endTime","channelNum","deviceId","deviceCode","deviceIp","devicePort","streamType","HistoryControl","forwardRef","props","ref","width","height","onExpandChange","onTimeChange","showInfo","onVideoClose","info","isDark","segmentsRef","useRef","useRequest","getHistoryUrl","manual","runAsync","loading","getPlaybackUrlSingle","GetHKV2Url","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","map","item","Object","assign","deviceName","channelName","totalTimeUrl","params","hkType","code","tenantId","getUrlParam","data","playbackUrl","message","handleExpand","handleClose","undefined","columns","title","dataIndex","key","render","_","record","active","_jsx","Button","className","onClick","children","_jsxs","_Fragment","VideoCloseIcon","VideoPlayIcon","handleTimeChange","time","speed","progress","diff","getRef","current","console","log","style","backgroundColor","PlayerHeader","onClose","Spin","spinning","size","HistoryPlayer","controlBottom","length","src","collapseBtnImg","alt","transform","TimeVerticalLine","history","getSegments","TimePositionIcon","left","TimeLine","Table","dataSource","scroll","y","pagination","rowClassName","Space","align","Tooltip","FoldIcon","ExpandIcon","displayName","getSplitLines","step","i","element","push","total","itemStart","itemEnd","itemTotal","ONEDAY_MILL","mouse","useMouse","elementX","elementY","elementW","elementH","visible","percent","valueOf","format","TimeFormat","flag","playStart","playEnd","now","begin","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 { getHistoryUrl, getPlaybackUrlSingle } from '../api';\nimport { PlayerHeader } from '../controls';\nimport HistoryPlayer from '../history-player';\nimport { ExpandIcon, FoldIcon, TimePositionIcon, VideoCloseIcon, VideoPlayIcon } from '../icons';\nimport { TimeFormat, getUrlTableData, getUrlParam } from '../utils';\nimport { useMouse, useRequest, useSetState } from 'ahooks';\n// import { Button, Space, Table, Tooltip } from 'antd';\nimport Button from 'antd/lib/button';\nimport message from 'antd/lib/message';\nimport Space from 'antd/lib/space';\nimport Spin from 'antd/lib/spin';\nimport Table from 'antd/lib/table';\nimport Tooltip from 'antd/lib/tooltip';\nimport moment from 'moment';\nimport collapseBtnImg from './images/collapse.png';\n/** 默认播放器参数 */\nconst DEFAULT_PLAY_PARAMS = {\n index: -1,\n url: '',\n enableAgent: false,\n startTime: '',\n endTime: '',\n channelNum: '',\n deviceId: '',\n deviceCode: '',\n deviceIp: '',\n devicePort: '',\n streamType: '0'\n};\n/**\n * 历史视频控制器\n */\nexport const HistoryControl = forwardRef((props, ref) => {\n const { width = '100%', height = '100%', onExpandChange, onTimeChange, showInfo = false, onVideoClose, info = [], isDark = false } = props;\n const segmentsRef = useRef(null);\n const { runAsync, loading } = useRequest(getHistoryUrl, {\n manual: true,\n });\n const { runAsync: GetHKV2Url } = useRequest(getPlaybackUrlSingle, {\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 === null || result === void 0 ? void 0 : 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: tableData.map(item => (Object.assign(Object.assign({}, item), { enableAgent: result.enableAgent || false }))),\n segmentData,\n name: `${result.deviceName}-${result.channelName}`,\n totalUrl: result.totalTimeUrl,\n });\n }\n else if (result.totalTimeUrl) {\n const params = {\n tableData: [],\n segmentData: { list: [] },\n name: `${result.deviceName}-${result.channelName}`,\n totalUrl: result.totalTimeUrl,\n playParams: {\n index: 0,\n enableAgent: (result === null || result === void 0 ? void 0 : result.enableAgent) || false,\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 channelNum: result.channelNum,\n deviceCode: result.deviceCode,\n deviceIp: result.deviceIp,\n deviceId: result.deviceId,\n devicePort: result.devicePort,\n streamType: result.streamType\n },\n };\n if (result.hkType === 'HK_CAR_CLOUD_V2') {\n GetHKV2Url({\n code: result.code,\n beginTime: result.beginTime,\n endTime: result.endTime,\n deviceId: result.deviceId,\n channelNum: result.channelNum,\n tenantId: getUrlParam('tenantId'),\n }).then((data) => {\n params.playParams.url = data.playbackUrl;\n setState(params);\n });\n }\n else {\n setState(params);\n }\n }\n else {\n message.info('未查询到视频');\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 onVideoClose && onVideoClose();\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 onVideoClose && onVideoClose();\n }\n else {\n const url = record.url || state.totalUrl;\n const params = {\n index,\n url,\n enableAgent: record.enableAgent || false,\n startTime: record.beginTime,\n endTime: record.endTime,\n channelNum: record.channelNum,\n deviceCode: record.deviceCode,\n streamType: record.streamType,\n deviceIp: record.deviceIp,\n devicePort: record.devicePort,\n deviceId: record.deviceId\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 setState({\n playParams: Object.assign(Object.assign({}, params), { url: data.playbackUrl })\n });\n });\n }\n else {\n setState({\n playParams: params\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, speed) => {\n var _a;\n onTimeChange && onTimeChange(time, speed);\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 console.log('state.playParams,', state.playParams);\n console.log('isExpanded', isExpanded);\n console.log('showInfo', showInfo);\n console.log('info', info);\n return (_jsxs(\"div\", Object.assign({ className: `vtx-history-control${isDark ? ' history-dark' : ''}`, style: { width, height, backgroundColor: isDark ? 'rgba(0,59,64,0.3)' : '#2b3d51' } }, { children: [state.name && _jsx(PlayerHeader, { name: state.name, onClose: handleClose }), _jsx(Spin, { spinning: loading, className: \"vtx-spin\", size: \"large\" }), _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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"}
@@ -78,6 +78,12 @@ var GridItem = function GridItem(props) {
78
78
  startTime = channel.startTime,
79
79
  endTime = channel.endTime,
80
80
  channelName = channel.channelName,
81
+ channelNum = channel.channelNum,
82
+ deviceId = channel.deviceId,
83
+ deviceCode = channel.deviceCode,
84
+ deviceIp = channel.deviceIp,
85
+ devicePort = channel.devicePort,
86
+ streamType = channel.streamType,
81
87
  deviceName = channel.deviceName,
82
88
  hasLabel = channel.hasLabel;
83
89
 
@@ -187,6 +193,12 @@ var GridItem = function GridItem(props) {
187
193
  }
188
194
  }, {
189
195
  children: (0, _jsxRuntime.jsx)(_historyPlayer["default"], Object.assign({}, historyPlayerProps, {
196
+ channelNum: channelNum,
197
+ deviceId: deviceId,
198
+ deviceCode: deviceCode,
199
+ devicePort: devicePort,
200
+ deviceIp: deviceIp,
201
+ streamType: streamType,
190
202
  controlBottom: isExpanded ? 235 : 0,
191
203
  onTimeChange: _lodash["default"].throttle(handleTimeChange, 999),
192
204
  showInfo: showInfo,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["GridItem","props","useContext","historyControlV2Context","loading","channels","setChannels","activeIndex","setTimeLinePosition","active","onTimeChange","onClick","onClose","onScreenshot","scale","palyIndex","channel","DEFAULT_PLAY_PARAMS","useState","tagSetShow","setTagSetShow","url","startTime","endTime","channelName","deviceName","hasLabel","useSetState","width","height","setState","gridItemRef","useRef","gridItemSize","useSize","useEffect","historyPlayerProps","type","player","isExpanded","showInfo","info","handleTimeChange","time","speed","tagId","index","moment","diff","newChannels","length","tableList","beginTime","progress","startOf","_jsx","Object","assign","className","ref","children","channelNum","_jsxs","_Fragment","PlayerHeader","name","extraButton","TagVideo","style","HistoryPlayer","controlBottom","_","throttle","controlVisible","SetTagVideo","screenshot"],"sources":["history-control-v2/components/grid-item/index.js"],"sourcesContent":["import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useContext, useEffect, useRef, useState } from 'react';\nimport SetTagVideo from '../../../components/set-tag-video';\nimport TagVideo from '../../../components/tag-video';\nimport { PlayerHeader } from '../../../controls';\nimport HistoryPlayer from '../../../history-player';\nimport { historyControlV2Context } from '../../context';\nimport { DEFAULT_PLAY_PARAMS } from '../../utils';\nimport { useSetState, useSize } from 'ahooks';\nimport _ from 'lodash';\nimport moment from 'moment';\nconst GridItem = (props) => {\n const { loading, channels, setChannels, activeIndex, setTimeLinePosition } = useContext(historyControlV2Context); // setTimeLinePosition\n const { active, onTimeChange, onClick, onClose, onScreenshot, scale, palyIndex = 0, channel = DEFAULT_PLAY_PARAMS, } = props;\n const [tagSetShow, setTagSetShow] = useState(false);\n const { url, startTime, endTime, channelName, deviceName, hasLabel } = channel;\n const [{ width, height }, setState] = useSetState({\n width: '100%',\n height: '100%',\n });\n const gridItemRef = useRef(null);\n const gridItemSize = useSize(gridItemRef);\n useEffect(() => {\n if ((gridItemSize === null || gridItemSize === void 0 ? void 0 : gridItemSize.width) && (gridItemSize === null || gridItemSize === void 0 ? void 0 : gridItemSize.height)) {\n switch (scale) {\n case '100%':\n setState({\n width: '100%',\n height: gridItemSize.height - 26,\n });\n break;\n case '4*3':\n if (gridItemSize.width / 4 < (gridItemSize.height - 26) / 3) {\n setState({\n width: '100%',\n height: (gridItemSize.width / 4) * 3,\n });\n }\n else {\n setState({\n width: ((gridItemSize.height - 26) / 3) * 4,\n height: '100%',\n });\n }\n break;\n case '16*9':\n if (gridItemSize.width / 16 < (gridItemSize.height - 26) / 9) {\n setState({\n width: '100%',\n height: (gridItemSize.width / 16) * 9,\n });\n }\n else {\n setState({\n width: ((gridItemSize.height - 26) / 9) * 16,\n height: '100%',\n });\n }\n break;\n }\n }\n }, [gridItemSize, scale]);\n const historyPlayerProps = {\n url,\n startTime,\n endTime,\n type: channel === null || channel === void 0 ? void 0 : channel.player,\n };\n const isExpanded = false;\n const showInfo = false;\n const info = [];\n const handleTimeChange = (time, speed) => {\n if (time !== '' &&\n channels[palyIndex].tagId == '' &&\n channels[palyIndex].index != -1 &&\n moment(time).diff(moment(channels[palyIndex].endTime), 'seconds') >= 0) {\n const newChannels = [...channels];\n const length = channels[palyIndex].tableList.length;\n const index = channels[palyIndex].index + (1 % length);\n newChannels[palyIndex].index = index;\n newChannels[palyIndex].startTime = channels[palyIndex].tableList[index].beginTime;\n newChannels[palyIndex].endTime = channels[palyIndex].tableList[index].endTime;\n newChannels[palyIndex].player = channels[palyIndex].player;\n setChannels(newChannels);\n }\n if (palyIndex === activeIndex) {\n const progress = (moment(time).diff(moment(startTime).startOf('day'), 'seconds') / (24 * 60 * 60)) *\n 100;\n setTimeLinePosition(progress);\n onTimeChange && onTimeChange(time, speed);\n }\n };\n return (_jsx(\"div\", Object.assign({ className: `grid-item-container ${active ? 'active' : ''} ${loading ? '' : 'emptyImg'}`, onClick: onClick, ref: gridItemRef }, { children: channel.channelNum && (_jsxs(_Fragment, { children: [_jsx(PlayerHeader, { name: `${deviceName}-${channelName}`, onClose: onClose, extraButton: hasLabel ? _jsx(TagVideo, { channel: channel }) : null }), _jsx(\"div\", Object.assign({ className: \"player-container\" }, { children: historyPlayerProps.url &&\n historyPlayerProps.startTime &&\n historyPlayerProps.endTime && (_jsx(\"div\", Object.assign({ style: { width, height } }, { children: _jsx(HistoryPlayer, Object.assign({}, historyPlayerProps, { controlBottom: isExpanded ? 235 : 0, onTimeChange: _.throttle(handleTimeChange, 999), showInfo: showInfo, info: info, controlVisible: tagSetShow, activeIndex: palyIndex, extraButton: _jsx(SetTagVideo, { tagSetShow: tagSetShow, setTagSetShow: setTagSetShow, channel: channel }), screenshot: onScreenshot })) }))) }))] })) })));\n};\nexport default GridItem;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["GridItem","props","useContext","historyControlV2Context","loading","channels","setChannels","activeIndex","setTimeLinePosition","active","onTimeChange","onClick","onClose","onScreenshot","scale","palyIndex","channel","DEFAULT_PLAY_PARAMS","useState","tagSetShow","setTagSetShow","url","startTime","endTime","channelName","channelNum","deviceId","deviceCode","deviceIp","devicePort","streamType","deviceName","hasLabel","useSetState","width","height","setState","gridItemRef","useRef","gridItemSize","useSize","useEffect","historyPlayerProps","type","player","isExpanded","showInfo","info","handleTimeChange","time","speed","tagId","index","moment","diff","newChannels","length","tableList","beginTime","progress","startOf","_jsx","Object","assign","className","ref","children","_jsxs","_Fragment","PlayerHeader","name","extraButton","TagVideo","style","HistoryPlayer","controlBottom","_","throttle","controlVisible","SetTagVideo","screenshot"],"sources":["history-control-v2/components/grid-item/index.js"],"sourcesContent":["import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useContext, useEffect, useRef, useState } from 'react';\nimport SetTagVideo from '../../../components/set-tag-video';\nimport TagVideo from '../../../components/tag-video';\nimport { PlayerHeader } from '../../../controls';\nimport HistoryPlayer from '../../../history-player';\nimport { historyControlV2Context } from '../../context';\nimport { DEFAULT_PLAY_PARAMS } from '../../utils';\nimport { useSetState, useSize } from 'ahooks';\nimport _ from 'lodash';\nimport moment from 'moment';\nconst GridItem = (props) => {\n const { loading, channels, setChannels, activeIndex, setTimeLinePosition } = useContext(historyControlV2Context); // setTimeLinePosition\n const { active, onTimeChange, onClick, onClose, onScreenshot, scale, palyIndex = 0, channel = DEFAULT_PLAY_PARAMS, } = props;\n const [tagSetShow, setTagSetShow] = useState(false);\n const { url, startTime, endTime, channelName, channelNum, deviceId, deviceCode, deviceIp, devicePort, streamType, deviceName, hasLabel } = channel;\n const [{ width, height }, setState] = useSetState({\n width: '100%',\n height: '100%',\n });\n const gridItemRef = useRef(null);\n const gridItemSize = useSize(gridItemRef);\n useEffect(() => {\n if ((gridItemSize === null || gridItemSize === void 0 ? void 0 : gridItemSize.width) && (gridItemSize === null || gridItemSize === void 0 ? void 0 : gridItemSize.height)) {\n switch (scale) {\n case '100%':\n setState({\n width: '100%',\n height: gridItemSize.height - 26,\n });\n break;\n case '4*3':\n if (gridItemSize.width / 4 < (gridItemSize.height - 26) / 3) {\n setState({\n width: '100%',\n height: (gridItemSize.width / 4) * 3,\n });\n }\n else {\n setState({\n width: ((gridItemSize.height - 26) / 3) * 4,\n height: '100%',\n });\n }\n break;\n case '16*9':\n if (gridItemSize.width / 16 < (gridItemSize.height - 26) / 9) {\n setState({\n width: '100%',\n height: (gridItemSize.width / 16) * 9,\n });\n }\n else {\n setState({\n width: ((gridItemSize.height - 26) / 9) * 16,\n height: '100%',\n });\n }\n break;\n }\n }\n }, [gridItemSize, scale]);\n const historyPlayerProps = {\n url,\n startTime,\n endTime,\n type: channel === null || channel === void 0 ? void 0 : channel.player,\n };\n const isExpanded = false;\n const showInfo = false;\n const info = [];\n const handleTimeChange = (time, speed) => {\n if (time !== '' &&\n channels[palyIndex].tagId == '' &&\n channels[palyIndex].index != -1 &&\n moment(time).diff(moment(channels[palyIndex].endTime), 'seconds') >= 0) {\n const newChannels = [...channels];\n const length = channels[palyIndex].tableList.length;\n const index = channels[palyIndex].index + (1 % length);\n newChannels[palyIndex].index = index;\n newChannels[palyIndex].startTime = channels[palyIndex].tableList[index].beginTime;\n newChannels[palyIndex].endTime = channels[palyIndex].tableList[index].endTime;\n newChannels[palyIndex].player = channels[palyIndex].player;\n setChannels(newChannels);\n }\n if (palyIndex === activeIndex) {\n const progress = (moment(time).diff(moment(startTime).startOf('day'), 'seconds') / (24 * 60 * 60)) *\n 100;\n setTimeLinePosition(progress);\n onTimeChange && onTimeChange(time, speed);\n }\n };\n return (_jsx(\"div\", Object.assign({ className: `grid-item-container ${active ? 'active' : ''} ${loading ? '' : 'emptyImg'}`, onClick: onClick, ref: gridItemRef }, { children: channel.channelNum && (_jsxs(_Fragment, { children: [_jsx(PlayerHeader, { name: `${deviceName}-${channelName}`, onClose: onClose, extraButton: hasLabel ? _jsx(TagVideo, { channel: channel }) : null }), _jsx(\"div\", Object.assign({ className: \"player-container\" }, { children: historyPlayerProps.url &&\n historyPlayerProps.startTime &&\n historyPlayerProps.endTime && (_jsx(\"div\", Object.assign({ style: { width, height } }, { children: _jsx(HistoryPlayer, Object.assign({}, historyPlayerProps, { channelNum: channelNum, deviceId: deviceId, deviceCode: deviceCode, devicePort: devicePort, deviceIp: deviceIp, streamType: streamType, controlBottom: isExpanded ? 235 : 0, onTimeChange: _.throttle(handleTimeChange, 999), showInfo: showInfo, info: info, controlVisible: tagSetShow, activeIndex: palyIndex, extraButton: _jsx(SetTagVideo, { tagSetShow: tagSetShow, setTagSetShow: setTagSetShow, channel: channel }), screenshot: onScreenshot })) }))) }))] })) })));\n};\nexport default GridItem;\n"],"mappings":"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"}
@@ -205,6 +205,25 @@ var HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props,
205
205
  return index < 25;
206
206
  }).map(function (item) {
207
207
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
208
+
209
+ if (item.player === 'icc_ws') {
210
+ var channelIndex = newChannels.findIndex(function (v) {
211
+ return !v.url;
212
+ });
213
+ newChannels[channelIndex] = Object.assign(Object.assign({}, newChannels[channelIndex]), {
214
+ url: 'icc_ws',
215
+ startTime: channel.beginTime,
216
+ endTime: channel.endTime,
217
+ streamType: item.streamType,
218
+ deviceCode: item.deviceCode,
219
+ deviceId: item.deviceId,
220
+ deviceIp: item.deviceIp,
221
+ devicePort: item.devicePort,
222
+ channelNum: item.channelNum,
223
+ player: 'icc_ws'
224
+ });
225
+ return;
226
+ }
208
227
  /**
209
228
  * 优化第一条数据的开始时间不要早于请求的开始时间
210
229
  * 最后一条的结束时间不要晚于请求的结束时间
@@ -234,11 +253,11 @@ var HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props,
234
253
  endTime: isClose ? ((_h = (_g = item.list) === null || _g === void 0 ? void 0 : _g[0]) === null || _h === void 0 ? void 0 : _h.beginTime) || channel.beginTime : newChannels[result.channelIndex].endTime
235
254
  });
236
255
  } else {
237
- var channelIndex = (_k = (_j = newChannels.filter(function (item) {
256
+ var _channelIndex = (_k = (_j = newChannels.filter(function (item) {
238
257
  return item.channelNum === '';
239
258
  })) === null || _j === void 0 ? void 0 : _j[0]) === null || _k === void 0 ? void 0 : _k.channelIndex;
240
259
 
241
- if (typeof channelIndex == 'number') {
260
+ if (typeof _channelIndex == 'number') {
242
261
  // 过滤跨天的数据
243
262
  item.list = item.list.filter(function (e) {
244
263
  return e.beginTime.slice(0, 10) === e.endTime.slice(0, 10);
@@ -254,10 +273,10 @@ var HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props,
254
273
  channelNum: data.channelNum,
255
274
  tenantId: (0, _utils.getUrlParam)('tenantId')
256
275
  }));
257
- fetchIndexArr.push(channelIndex);
276
+ fetchIndexArr.push(_channelIndex);
258
277
  }
259
278
 
260
- newChannels[channelIndex] = Object.assign(Object.assign({}, newChannels[channelIndex]), data);
279
+ newChannels[_channelIndex] = Object.assign(Object.assign({}, newChannels[_channelIndex]), data);
261
280
  } else {
262
281
  _message["default"].error('没有多余的播放位置');
263
282
  }
@@ -360,7 +379,9 @@ var HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props,
360
379
  return (0, _jsxRuntime.jsx)("div", Object.assign({
361
380
  className: "".concat(activeIndex == index ? 'panels-left-content-active' : '', " panels-left-content"),
362
381
  onClick: function onClick() {
363
- setActiveIndex(item.channelIndex);
382
+ setActiveIndex(item.channelIndex); // icc_ws直接播放
383
+
384
+ if (item.player === 'icc_ws') {}
364
385
  }
365
386
  }, {
366
387
  children: (0, _jsxRuntime.jsx)(_tooltip["default"], Object.assign({