@vtx/player 1.12.2 → 1.12.3

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 (49) hide show
  1. package/lib/bill-player/index.js +35 -27
  2. package/lib/bill-player/index.js.map +1 -1
  3. package/lib/history-control/index.d.ts +1 -1
  4. package/lib/history-control/index.js +10 -4
  5. package/lib/history-control/index.js.map +1 -1
  6. package/lib/history-control-v2/components/grid-item/index.d.ts +5 -4
  7. package/lib/history-control-v2/components/grid-item/index.js +9 -1
  8. package/lib/history-control-v2/components/grid-item/index.js.map +1 -1
  9. package/lib/history-control-v2/components/panel/VideoTable.js +1 -0
  10. package/lib/history-control-v2/components/panel/VideoTable.js.map +1 -1
  11. package/lib/history-control-v2/components/panel/index.js +119 -52
  12. package/lib/history-control-v2/components/panel/index.js.map +1 -1
  13. package/lib/history-control-v2/utils.d.ts +2 -0
  14. package/lib/history-control-v2/utils.js +18 -8
  15. package/lib/history-control-v2/utils.js.map +1 -1
  16. package/lib/live-control/index.d.ts +3 -1
  17. package/lib/live-control/index.js +25 -15
  18. package/lib/live-control/index.js.map +1 -1
  19. package/lib/live-control-v2/index.d.ts +2 -2
  20. package/lib/live-control-v2/index.js +78 -49
  21. package/lib/live-control-v2/index.js.map +1 -1
  22. package/lib/player/BdPlayer.d.ts +0 -1
  23. package/lib/player/FlvPlayer.d.ts +0 -1
  24. package/lib/player/H264Player.d.ts +0 -1
  25. package/lib/player/HkcarwsPlayer.d.ts +0 -1
  26. package/lib/player/HkwsPlayer.d.ts +0 -1
  27. package/lib/player/HkwsPlayer.js +1 -0
  28. package/lib/player/HkwsPlayer.js.map +1 -1
  29. package/lib/player/HlsPlayer.d.ts +0 -1
  30. package/lib/player/IccwsPlayer.d.ts +0 -1
  31. package/lib/player/IframePlayer.d.ts +0 -1
  32. package/lib/player/Mp4Player.d.ts +0 -1
  33. package/lib/player/RslPlayer.d.ts +0 -1
  34. package/lib/player/VtxHlsPlayer.d.ts +0 -1
  35. package/lib/player/VtxwhepPlayer.d.ts +0 -1
  36. package/lib/player/VtxwsPlayer.d.ts +0 -1
  37. package/lib/player/Web34Player.d.ts +0 -4
  38. package/lib/player/Web34Player.js +3 -6
  39. package/lib/player/Web34Player.js.map +1 -1
  40. package/lib/player/WebrtcPlayer.d.ts +0 -1
  41. package/lib/player/WfsPlayer.d.ts +0 -1
  42. package/lib/player/YsyPlayer.d.ts +0 -4
  43. package/lib/player/YsyPlayer.js +4 -4
  44. package/lib/player/YsyPlayer.js.map +1 -1
  45. package/lib/player/indexOld.d.ts +0 -1
  46. package/lib/utils/web34-iframe.d.ts +23 -0
  47. package/lib/utils/web34-iframe.js +61 -0
  48. package/lib/utils/web34-iframe.js.map +1 -0
  49. package/package.json +1 -1
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getVtxWsUrl = exports.getUrlTableData = exports.getChannelData = exports.DEFAULT_PLAY_PARAMS = exports.DEFAULT_GRID = exports.DEFAULT_CHANNELS = exports.DEFAULT_ACTIVE = void 0;
6
+ exports.parseHistoryTime = exports.getVtxWsUrl = exports.getUrlTableData = exports.getChannelData = exports.DEFAULT_PLAY_PARAMS = exports.DEFAULT_GRID = exports.DEFAULT_CHANNELS = exports.DEFAULT_ACTIVE = void 0;
7
7
  var _utils = require("../utils");
8
8
  var _utils2 = require("@vtx/utils");
9
9
  var _jsBase = require("js-base64");
@@ -15,6 +15,16 @@ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r)
15
15
  function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
16
16
  function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
17
17
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
18
+ var parseHistoryTime = exports.parseHistoryTime = function parseHistoryTime(time) {
19
+ var value = String(time || '');
20
+ if (/^\d{10}$/.test(value)) {
21
+ return _moment["default"].unix(Number(value));
22
+ }
23
+ if (/^\d{13}$/.test(value)) {
24
+ return (0, _moment["default"])(Number(value));
25
+ }
26
+ return (0, _moment["default"])(time);
27
+ };
18
28
  /** 默认播放器参数 */
19
29
  var DEFAULT_PLAY_PARAMS = exports.DEFAULT_PLAY_PARAMS = {
20
30
  channelNum: '',
@@ -65,7 +75,7 @@ var getChannelData = exports.getChannelData = function getChannelData(data, orig
65
75
  list: data.list || tableList,
66
76
  start: (0, _moment["default"])(origin === null || origin === void 0 ? void 0 : origin.beginTime).startOf('day'),
67
77
  end: (0, _moment["default"])(origin === null || origin === void 0 ? void 0 : origin.endTime).endOf('day'),
68
- originalUrl: data.url
78
+ originalUrl: data.url || data.totalTimeUrl
69
79
  };
70
80
  var result = {
71
81
  hkType: data.hkType,
@@ -78,8 +88,8 @@ var getChannelData = exports.getChannelData = function getChannelData(data, orig
78
88
  channelNum: data.channelNum,
79
89
  channelName: data.channelName,
80
90
  tagId: (origin === null || origin === void 0 ? void 0 : origin.tagId) || '',
81
- url: (firstRecord === null || firstRecord === void 0 ? void 0 : firstRecord.url) || data.url || data.totalTimeUrl,
82
- originalUrl: data.url,
91
+ url: data.totalTimeUrl || data.url || (firstRecord === null || firstRecord === void 0 ? void 0 : firstRecord.url) || '',
92
+ originalUrl: data.url || data.totalTimeUrl,
83
93
  player: (data === null || data === void 0 ? void 0 : data.player) || '',
84
94
  videoChannelId: data.videoChannelId,
85
95
  enableAgent: data.enableAgent,
@@ -87,8 +97,8 @@ var getChannelData = exports.getChannelData = function getChannelData(data, orig
87
97
  segmentData: segmentData,
88
98
  index: (origin === null || origin === void 0 ? void 0 : origin.tagId) ? -1 : 0,
89
99
  code: (firstRecord === null || firstRecord === void 0 ? void 0 : firstRecord.code) || data.code,
90
- startTime: (firstRecord === null || firstRecord === void 0 ? void 0 : firstRecord.beginTime) || data.beginTime || origin.beginTime,
91
- endTime: (firstRecord === null || firstRecord === void 0 ? void 0 : firstRecord.endTime) || data.endTime || origin.endTime,
100
+ startTime: origin.beginTime || data.beginTime || (firstRecord === null || firstRecord === void 0 ? void 0 : firstRecord.beginTime),
101
+ endTime: origin.endTime || data.endTime || (firstRecord === null || firstRecord === void 0 ? void 0 : firstRecord.endTime),
92
102
  recordSearchStartTime: (origin === null || origin === void 0 ? void 0 : origin.beginTime) || data.beginTime,
93
103
  recordSearchEndTime: (origin === null || origin === void 0 ? void 0 : origin.endTime) || data.endTime,
94
104
  hasLabel: data.hasLabel,
@@ -135,8 +145,8 @@ var getUrlTableData = exports.getUrlTableData = function getUrlTableData(data, o
135
145
  var result = (_g = (_f = data.list) === null || _f === void 0 ? void 0 : _f.filter(function (ele) {
136
146
  return !!ele.beginTime && !!ele.endTime;
137
147
  })) === null || _g === void 0 ? void 0 : _g.map(function (item, i) {
138
- var beginTime = (0, _moment["default"])(item.beginTime);
139
- var endTime = (0, _moment["default"])(item.endTime);
148
+ var beginTime = parseHistoryTime(item.beginTime);
149
+ var endTime = parseHistoryTime(item.endTime);
140
150
  var totalSeconds = (0, _moment["default"])(endTime).diff((0, _moment["default"])(beginTime), 'seconds');
141
151
  var url = totalTimeUrl ? "".concat(totalTimeUrl, "?beginTime=").concat(beginTime.valueOf(), "&endTime=").concat(endTime.valueOf()) : '';
142
152
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["_utils","require","_utils2","_jsBase","_moment","_interopRequireDefault","e","__esModule","_toConsumableArray","r","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","a","_arrayLikeToArray","t","toString","call","slice","constructor","name","Array","from","test","Symbol","iterator","isArray","length","n","DEFAULT_PLAY_PARAMS","exports","channelNum","hkType","videoChannelId","tagId","index","url","player","startTime","endTime","deviceId","deviceName","channelName","tableList","segmentData","list","originalUrl","extendedProperties","DEFAULT_GRID","DEFAULT_ACTIVE","DEFAULT_CHANNELS","map","item","channelIndex","getChannelData","data","origin","getUrlTableData","firstRecord","start","moment","beginTime","startOf","end","endOf","result","deviceCode","streamType","beenHasAudio","singleUrl","totalTimeUrl","enableAgent","code","recordSearchStartTime","recordSearchEndTime","hasLabel","_a","_b","_c","_d","_e","_f","_g","hasList","totalSeconds","isValid","diff","format","TimeFormat","params","size","duration","secondsToString","downloadUrl","playbackUrl","split","filter","ele","i","concat","valueOf","bytesToMegaBytes","downloadTaskUrl","getVtxWsUrl","oriBeg","getUrlParam","oriEnd","rtspUrl","replace","getVtxWSTimeString","Base64","encode"],"sources":["history-control-v2/utils.js"],"sourcesContent":["import { TimeFormat, bytesToMegaBytes, getVtxWSTimeString, secondsToString } from '../utils';\nimport { getUrlParam } from '@vtx/utils';\nimport { Base64 } from 'js-base64';\nimport moment from 'moment';\n/** 默认播放器参数 */\nexport const DEFAULT_PLAY_PARAMS = {\n channelNum: '',\n hkType: '',\n videoChannelId: '',\n tagId: '',\n index: -1,\n url: '',\n player: '',\n startTime: '',\n endTime: '',\n deviceId: '',\n deviceName: '',\n channelName: '',\n tableList: [],\n segmentData: {\n list: [],\n originalUrl: '',\n },\n extendedProperties: {},\n};\nexport const DEFAULT_GRID = 1;\nexport const DEFAULT_ACTIVE = 0;\nexport const DEFAULT_CHANNELS = [...Array(25)].map((item, index) => {\n return {\n channelIndex: index,\n // 通道号\n channelNum: '',\n // 用来判断在下面列表的位置\n index: -1,\n // 如果没有 就不播放\n url: '',\n segmentData: {\n list: [],\n originalUrl: '',\n },\n };\n});\n/**\n * 获取历史回放表格数据\n * @param data\n * @returns\n */\nexport const getChannelData = (data, origin) => {\n const tableList = getUrlTableData(data, origin);\n const firstRecord = tableList === null || tableList === void 0 ? void 0 : tableList[0];\n const segmentData = {\n list: data.list || tableList,\n start: moment(origin === null || origin === void 0 ? void 0 : origin.beginTime).startOf('day'),\n end: moment(origin === null || origin === void 0 ? void 0 : origin.endTime).endOf('day'),\n originalUrl: data.url,\n };\n const result = {\n hkType: data.hkType,\n deviceId: data.deviceId,\n deviceCode: data.deviceCode,\n streamType: data.streamType,\n beenHasAudio: data.beenHasAudio,\n deviceName: data.deviceName,\n singleUrl: data.singleUrl,\n channelNum: data.channelNum,\n channelName: data.channelName,\n tagId: (origin === null || origin === void 0 ? void 0 : origin.tagId) || '',\n url: (firstRecord === null || firstRecord === void 0 ? void 0 : firstRecord.url) || data.url || data.totalTimeUrl,\n originalUrl: data.url,\n player: (data === null || data === void 0 ? void 0 : data.player) || '',\n videoChannelId: data.videoChannelId,\n enableAgent: data.enableAgent,\n tableList,\n segmentData,\n index: (origin === null || origin === void 0 ? void 0 : origin.tagId) ? -1 : 0,\n code: (firstRecord === null || firstRecord === void 0 ? void 0 : firstRecord.code) || data.code,\n startTime: (firstRecord === null || firstRecord === void 0 ? void 0 : firstRecord.beginTime) || data.beginTime || origin.beginTime,\n endTime: (firstRecord === null || firstRecord === void 0 ? void 0 : firstRecord.endTime) || data.endTime || origin.endTime,\n recordSearchStartTime: (origin === null || origin === void 0 ? void 0 : origin.beginTime) || data.beginTime,\n recordSearchEndTime: (origin === null || origin === void 0 ? void 0 : origin.endTime) || data.endTime,\n hasLabel: data.hasLabel,\n extendedProperties: data.extendedProperties,\n };\n return result;\n};\n/**\n * 获取历史回放表格数据\n * @param data\n * @returns\n */\nexport const getUrlTableData = (data, origin) => {\n var _a, _b, _c, _d, _e, _f, _g;\n const hasList = Array.isArray(data.list) && data.list.length > 0;\n if (!hasList) {\n const url = data.url || data.totalTimeUrl;\n if (!url)\n return [];\n const beginTime = moment(origin === null || origin === void 0 ? void 0 : origin.beginTime).startOf('day');\n const endTime = moment(origin === null || origin === void 0 ? void 0 : origin.endTime).endOf('day');\n const totalSeconds = beginTime.isValid() && endTime.isValid() ? endTime.diff(beginTime, 'seconds') : 0;\n return [\n {\n index: 1,\n hkType: data.hkType,\n singleUrl: data.singleUrl,\n deviceId: data.deviceId,\n channelName: data.channelName,\n deviceName: data.deviceName,\n channelNum: data.channelNum,\n videoChannelId: data.videoChannelId,\n beginTime: beginTime.isValid()\n ? beginTime.format(TimeFormat.params)\n : data.beginTime,\n endTime: endTime.isValid() ? endTime.format(TimeFormat.params) : data.endTime,\n size: '',\n duration: totalSeconds > 0 ? secondsToString(totalSeconds) : '',\n downloadUrl: '',\n url,\n originalUrl: data.url,\n code: data.code,\n player: data.player,\n extendedProperties: data.extendedProperties,\n },\n ];\n }\n const totalTimeUrl = data.totalTimeUrl || ((_b = (_a = data === null || data === void 0 ? void 0 : data.list) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.playbackUrl)\n ? (_e = (data.totalTimeUrl || ((_d = (_c = data === null || data === void 0 ? void 0 : data.list) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.playbackUrl))) === null || _e === void 0 ? void 0 : _e.split('?')[0]\n : '';\n const result = (_g = (_f = data.list) === null || _f === void 0 ? void 0 : _f.filter((ele) => !!ele.beginTime && !!ele.endTime)) === null || _g === void 0 ? void 0 : _g.map((item, i) => {\n const beginTime = moment(item.beginTime);\n const endTime = moment(item.endTime);\n const totalSeconds = moment(endTime).diff(moment(beginTime), 'seconds');\n const url = totalTimeUrl\n ? `${totalTimeUrl}?beginTime=${beginTime.valueOf()}&endTime=${endTime.valueOf()}`\n : '';\n return {\n index: i + 1,\n hkType: data.hkType,\n singleUrl: data.singleUrl,\n deviceId: data.deviceId,\n channelName: data.channelName,\n deviceName: data.deviceName,\n channelNum: data.channelNum,\n videoChannelId: data.videoChannelId,\n beginTime: beginTime.format(TimeFormat.params),\n endTime: endTime.format(TimeFormat.params),\n size: bytesToMegaBytes(item.size),\n duration: secondsToString(totalSeconds),\n downloadUrl: item.downloadTaskUrl,\n url: item.playbackUrl || url,\n originalUrl: data.url,\n code: item.code,\n player: data.player,\n extendedProperties: data.extendedProperties,\n };\n });\n return result || [];\n};\nexport const getVtxWsUrl = (url, startTime, endTime) => {\n const oriBeg = getUrlParam('beginTime', url);\n const oriEnd = getUrlParam('endTime', url);\n let rtspUrl = url\n .replace(`beginTime=${oriBeg}`, `beginTime=${getVtxWSTimeString(startTime)}`)\n .replace(`endTime=${oriEnd}`, `endTime=${getVtxWSTimeString(endTime)}`);\n rtspUrl = Base64.encode(rtspUrl);\n return rtspUrl;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"utils.js","names":["_utils","require","_utils2","_jsBase","_moment","_interopRequireDefault","e","__esModule","_toConsumableArray","r","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","a","_arrayLikeToArray","t","toString","call","slice","constructor","name","Array","from","test","Symbol","iterator","isArray","length","n","parseHistoryTime","exports","time","value","String","moment","unix","Number","DEFAULT_PLAY_PARAMS","channelNum","hkType","videoChannelId","tagId","index","url","player","startTime","endTime","deviceId","deviceName","channelName","tableList","segmentData","list","originalUrl","extendedProperties","DEFAULT_GRID","DEFAULT_ACTIVE","DEFAULT_CHANNELS","map","item","channelIndex","getChannelData","data","origin","getUrlTableData","firstRecord","start","beginTime","startOf","end","endOf","totalTimeUrl","result","deviceCode","streamType","beenHasAudio","singleUrl","enableAgent","code","recordSearchStartTime","recordSearchEndTime","hasLabel","_a","_b","_c","_d","_e","_f","_g","hasList","totalSeconds","isValid","diff","format","TimeFormat","params","size","duration","secondsToString","downloadUrl","playbackUrl","split","filter","ele","i","concat","valueOf","bytesToMegaBytes","downloadTaskUrl","getVtxWsUrl","oriBeg","getUrlParam","oriEnd","rtspUrl","replace","getVtxWSTimeString","Base64","encode"],"sources":["history-control-v2/utils.js"],"sourcesContent":["import { TimeFormat, bytesToMegaBytes, getVtxWSTimeString, secondsToString } from '../utils';\nimport { getUrlParam } from '@vtx/utils';\nimport { Base64 } from 'js-base64';\nimport moment from 'moment';\nexport const parseHistoryTime = (time) => {\n const value = String(time || '');\n if (/^\\d{10}$/.test(value)) {\n return moment.unix(Number(value));\n }\n if (/^\\d{13}$/.test(value)) {\n return moment(Number(value));\n }\n return moment(time);\n};\n/** 默认播放器参数 */\nexport const DEFAULT_PLAY_PARAMS = {\n channelNum: '',\n hkType: '',\n videoChannelId: '',\n tagId: '',\n index: -1,\n url: '',\n player: '',\n startTime: '',\n endTime: '',\n deviceId: '',\n deviceName: '',\n channelName: '',\n tableList: [],\n segmentData: {\n list: [],\n originalUrl: '',\n },\n extendedProperties: {},\n};\nexport const DEFAULT_GRID = 1;\nexport const DEFAULT_ACTIVE = 0;\nexport const DEFAULT_CHANNELS = [...Array(25)].map((item, index) => {\n return {\n channelIndex: index,\n // 通道号\n channelNum: '',\n // 用来判断在下面列表的位置\n index: -1,\n // 如果没有 就不播放\n url: '',\n segmentData: {\n list: [],\n originalUrl: '',\n },\n };\n});\n/**\n * 获取历史回放表格数据\n * @param data\n * @returns\n */\nexport const getChannelData = (data, origin) => {\n const tableList = getUrlTableData(data, origin);\n const firstRecord = tableList === null || tableList === void 0 ? void 0 : tableList[0];\n const segmentData = {\n list: data.list || tableList,\n start: moment(origin === null || origin === void 0 ? void 0 : origin.beginTime).startOf('day'),\n end: moment(origin === null || origin === void 0 ? void 0 : origin.endTime).endOf('day'),\n originalUrl: data.url || data.totalTimeUrl,\n };\n const result = {\n hkType: data.hkType,\n deviceId: data.deviceId,\n deviceCode: data.deviceCode,\n streamType: data.streamType,\n beenHasAudio: data.beenHasAudio,\n deviceName: data.deviceName,\n singleUrl: data.singleUrl,\n channelNum: data.channelNum,\n channelName: data.channelName,\n tagId: (origin === null || origin === void 0 ? void 0 : origin.tagId) || '',\n url: data.totalTimeUrl || data.url || (firstRecord === null || firstRecord === void 0 ? void 0 : firstRecord.url) || '',\n originalUrl: data.url || data.totalTimeUrl,\n player: (data === null || data === void 0 ? void 0 : data.player) || '',\n videoChannelId: data.videoChannelId,\n enableAgent: data.enableAgent,\n tableList,\n segmentData,\n index: (origin === null || origin === void 0 ? void 0 : origin.tagId) ? -1 : 0,\n code: (firstRecord === null || firstRecord === void 0 ? void 0 : firstRecord.code) || data.code,\n startTime: origin.beginTime || data.beginTime || (firstRecord === null || firstRecord === void 0 ? void 0 : firstRecord.beginTime),\n endTime: origin.endTime || data.endTime || (firstRecord === null || firstRecord === void 0 ? void 0 : firstRecord.endTime),\n recordSearchStartTime: (origin === null || origin === void 0 ? void 0 : origin.beginTime) || data.beginTime,\n recordSearchEndTime: (origin === null || origin === void 0 ? void 0 : origin.endTime) || data.endTime,\n hasLabel: data.hasLabel,\n extendedProperties: data.extendedProperties,\n };\n return result;\n};\n/**\n * 获取历史回放表格数据\n * @param data\n * @returns\n */\nexport const getUrlTableData = (data, origin) => {\n var _a, _b, _c, _d, _e, _f, _g;\n const hasList = Array.isArray(data.list) && data.list.length > 0;\n if (!hasList) {\n const url = data.url || data.totalTimeUrl;\n if (!url)\n return [];\n const beginTime = moment(origin === null || origin === void 0 ? void 0 : origin.beginTime).startOf('day');\n const endTime = moment(origin === null || origin === void 0 ? void 0 : origin.endTime).endOf('day');\n const totalSeconds = beginTime.isValid() && endTime.isValid() ? endTime.diff(beginTime, 'seconds') : 0;\n return [\n {\n index: 1,\n hkType: data.hkType,\n singleUrl: data.singleUrl,\n deviceId: data.deviceId,\n channelName: data.channelName,\n deviceName: data.deviceName,\n channelNum: data.channelNum,\n videoChannelId: data.videoChannelId,\n beginTime: beginTime.isValid()\n ? beginTime.format(TimeFormat.params)\n : data.beginTime,\n endTime: endTime.isValid() ? endTime.format(TimeFormat.params) : data.endTime,\n size: '',\n duration: totalSeconds > 0 ? secondsToString(totalSeconds) : '',\n downloadUrl: '',\n url,\n originalUrl: data.url,\n code: data.code,\n player: data.player,\n extendedProperties: data.extendedProperties,\n },\n ];\n }\n const totalTimeUrl = data.totalTimeUrl || ((_b = (_a = data === null || data === void 0 ? void 0 : data.list) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.playbackUrl)\n ? (_e = (data.totalTimeUrl || ((_d = (_c = data === null || data === void 0 ? void 0 : data.list) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.playbackUrl))) === null || _e === void 0 ? void 0 : _e.split('?')[0]\n : '';\n const result = (_g = (_f = data.list) === null || _f === void 0 ? void 0 : _f.filter((ele) => !!ele.beginTime && !!ele.endTime)) === null || _g === void 0 ? void 0 : _g.map((item, i) => {\n const beginTime = parseHistoryTime(item.beginTime);\n const endTime = parseHistoryTime(item.endTime);\n const totalSeconds = moment(endTime).diff(moment(beginTime), 'seconds');\n const url = totalTimeUrl\n ? `${totalTimeUrl}?beginTime=${beginTime.valueOf()}&endTime=${endTime.valueOf()}`\n : '';\n return {\n index: i + 1,\n hkType: data.hkType,\n singleUrl: data.singleUrl,\n deviceId: data.deviceId,\n channelName: data.channelName,\n deviceName: data.deviceName,\n channelNum: data.channelNum,\n videoChannelId: data.videoChannelId,\n beginTime: beginTime.format(TimeFormat.params),\n endTime: endTime.format(TimeFormat.params),\n size: bytesToMegaBytes(item.size),\n duration: secondsToString(totalSeconds),\n downloadUrl: item.downloadTaskUrl,\n url: item.playbackUrl || url,\n originalUrl: data.url,\n code: item.code,\n player: data.player,\n extendedProperties: data.extendedProperties,\n };\n });\n return result || [];\n};\nexport const getVtxWsUrl = (url, startTime, endTime) => {\n const oriBeg = getUrlParam('beginTime', url);\n const oriEnd = getUrlParam('endTime', url);\n let rtspUrl = url\n .replace(`beginTime=${oriBeg}`, `beginTime=${getVtxWSTimeString(startTime)}`)\n .replace(`endTime=${oriEnd}`, `endTime=${getVtxWSTimeString(endTime)}`);\n rtspUrl = Base64.encode(rtspUrl);\n return rtspUrl;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,11 +1,13 @@
1
1
  import React from 'react';
2
2
  export type LiveControlHandle = {
3
3
  /** 加载视频 */
4
- load: (channel: ChannelType) => void;
4
+ load: (channel: ChannelType) => boolean;
5
5
  /** 卸载视频,参数为通道编号 */
6
6
  unLoad: (channelId: string) => void;
7
7
  /** 一次加载多个视频,适用于初始化 */
8
8
  multiLoad: (channels: ChannelType[]) => void;
9
+ /** 获取当前展示格子数量 */
10
+ getGridCount: () => number;
9
11
  };
10
12
  interface LiveControlProps {
11
13
  /** 展开/收缩按钮回调 */
@@ -11,6 +11,7 @@ var _controls = require("../controls");
11
11
  var _icons = require("../icons");
12
12
  var _livePlayer = _interopRequireDefault(require("../live-player"));
13
13
  var _locales = require("../locales");
14
+ var _web34Iframe = require("../utils/web34-iframe");
14
15
  var _ahooks = require("ahooks");
15
16
  var _space = _interopRequireDefault(require("antd/lib/space"));
16
17
  var _tooltip = _interopRequireDefault(require("antd/lib/tooltip"));
@@ -81,27 +82,30 @@ var LiveControl = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
81
82
  return {
82
83
  load: function load(channel) {
83
84
  var index = state.channels.findIndex(function (c) {
84
- return c.channelId && channel.channelId && c.channelNum === channel.channelNum;
85
+ return c.channelId && channel.channelId && c.channelId === channel.channelId || !channel.channelId && c.channelNum === channel.channelNum;
85
86
  });
86
87
  if (~index) {
87
88
  setState({
88
89
  activeIndex: index
89
90
  }); // 如果通道号已经存在,则设置激活索引为该通道
91
+ return true;
90
92
  } else {
91
93
  // 播放该通道
92
94
  var newChannels = _toConsumableArray(state.channels);
93
- var activeIndex = getActiveIndex(newChannels, state.grid, state.activeIndex);
95
+ var activeIndex = getActiveIndex(newChannels, state.grid);
96
+ if (activeIndex < 0) return false;
94
97
  newChannels[activeIndex] = channel;
95
98
  setState({
96
99
  channels: newChannels,
97
100
  activeIndex: activeIndex
98
101
  });
102
+ return true;
99
103
  }
100
104
  },
101
105
  multiLoad: function multiLoad(channels) {
102
106
  var grid = 1;
103
107
  if (channels.length > 1) grid = 2;
104
- // if (channels.length > 4) grid = 3;
108
+ if (channels.length > 4) grid = 3;
105
109
  var newChannels = [];
106
110
  for (var i = 0; i < 9; i++) {
107
111
  newChannels.push(channels[i] ? channels[i] : {
@@ -113,9 +117,9 @@ var LiveControl = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
113
117
  channels: newChannels
114
118
  });
115
119
  },
116
- unLoad: function unLoad(channelNum) {
120
+ unLoad: function unLoad(channelId) {
117
121
  var index = state.channels.findIndex(function (c) {
118
- return c.channelNum === channelNum;
122
+ return c.channelId === channelId || c.channelNum === channelId;
119
123
  });
120
124
  if (~index) {
121
125
  // 卸载通道
@@ -127,19 +131,22 @@ var LiveControl = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
127
131
  channels: newChannels
128
132
  });
129
133
  }
134
+ },
135
+ getGridCount: function getGridCount() {
136
+ return state.grid * state.grid;
130
137
  }
131
138
  };
132
139
  });
133
140
  (0, _react.useEffect)(function () {
134
141
  channelRef.current = state.channels;
135
142
  if (onChannelChange) {
136
- onChannelChange(state.channels.filter(function (c) {
143
+ onChannelChange(state.channels.slice(0, state.grid * state.grid).filter(function (c) {
137
144
  return !!c.channelNum;
138
145
  }).map(function (c) {
139
- return c.channelNum;
146
+ return c.channelId || c.channelNum;
140
147
  }));
141
148
  }
142
- }, [state.channels]);
149
+ }, [state.channels, state.grid]);
143
150
  var handleCloseAll = function handleCloseAll() {
144
151
  setState({
145
152
  channels: DEFAULT_CHANNELS
@@ -293,6 +300,7 @@ var GridItem = function GridItem(props) {
293
300
  }),
294
301
  data = _useRequest.data;
295
302
  var name = "".concat(data === null || data === void 0 ? void 0 : data.deviceName, "-").concat(data === null || data === void 0 ? void 0 : data.channelName);
303
+ var web34Playback = (0, _web34Iframe.isWeb34IframePlayer)(data === null || data === void 0 ? void 0 : data.player);
296
304
  return (0, _jsxRuntime.jsx)("div", Object.assign({
297
305
  className: "grid-item-container ".concat(active ? 'active' : ''),
298
306
  onClick: onClick
@@ -304,7 +312,12 @@ var GridItem = function GridItem(props) {
304
312
  }), (0, _jsxRuntime.jsx)("div", Object.assign({
305
313
  className: "content"
306
314
  }, {
307
- children: (0, _jsxRuntime.jsx)(_livePlayer["default"], {
315
+ children: web34Playback ? (0, _jsxRuntime.jsx)("iframe", {
316
+ title: name,
317
+ src: (0, _web34Iframe.getWeb34IframeUrl)(data),
318
+ style: _web34Iframe.WEB34_IFRAME_RESET_STYLE,
319
+ allow: "autoplay; fullscreen"
320
+ }) : (0, _jsxRuntime.jsx)(_livePlayer["default"], {
308
321
  url: data.url,
309
322
  beenHasVideo: data.beenHasVideo,
310
323
  type: (data === null || data === void 0 ? void 0 : data.player) || '',
@@ -333,15 +346,12 @@ var GridItem = function GridItem(props) {
333
346
  * @param currentIndex 当前索引
334
347
  * @returns
335
348
  */
336
- var getActiveIndex = function getActiveIndex(channels, grid, currentIndex) {
349
+ var getActiveIndex = function getActiveIndex(channels, grid) {
337
350
  var currentChannels = channels.slice(0, grid * grid);
338
- for (var i = currentIndex + 1; i < currentChannels.length; i++) {
351
+ for (var i = 0; i < currentChannels.length; i++) {
339
352
  if (!currentChannels[i].channelNum) return i;
340
353
  }
341
- for (var _i = 0; _i < currentIndex; _i++) {
342
- if (!currentChannels[_i].channelNum) return _i;
343
- }
344
- return currentIndex;
354
+ return -1;
345
355
  };
346
356
  var _default = exports["default"] = LiveControl;
347
357
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_jsxRuntime","require","_react","_api","_controls","_icons","_livePlayer","_interopRequireDefault","_locales","_ahooks","_space","_tooltip","e","__esModule","_toConsumableArray","r","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","Symbol","iterator","Array","from","isArray","_arrayLikeToArray","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","a","t","toString","call","slice","constructor","name","test","length","n","l","i","u","f","o","next","Object","done","push","value","DEFAULT_GRID","DEFAULT_ACTIVE","DEFAULT_CHANNELS","fill","channelNum","LiveControl","forwardRef","props","ref","_props$height","height","_props$width","width","onExpandChange","onChannelChange","polling","_props$isDark","isDark","messages","getLocaleMessages","_useSetState","useSetState","expand","grid","activeIndex","channels","_useSetState2","state","setState","wrapRef","useRef","_useFullscreen","useFullscreen","_useFullscreen2","isFullscreen","toggleFullscreen","channelRef","useInterval","hasVideo","some","item","timer","setTimeout","current","clearTimeout","useImperativeHandle","load","channel","index","findIndex","c","channelId","newChannels","getActiveIndex","multiLoad","unLoad","useEffect","filter","map","handleCloseAll","handleExpand","getGridItems","items","_loop","element","_jsx","GridItem","active","onClick","onClose","_jsxs","assign","className","concat","style","children","Space","size","align","Tooltip","title","common","collapse","display","FoldIcon","ExpandIcon","closeAll","CloseAllIcon","liveControl","split1","Grid1x1Icon","split4","Grid2x2Icon","split9","Grid3x3Icon","fullscreen","ExitFullScreenIcon","FullScreenIcon","displayName","empty","_useRequest","useRequest","getPreviewUrl","ready","refreshDeps","data","deviceName","channelName","_Fragment","PlayerHeader","VtxLivePlayer","url","beenHasVideo","type","player","hkType","userName","password","deviceIp","devicePort","deviceId","deviceCode","streamType","enableAgent","captureName","showInfo","info","currentIndex","currentChannels","_default","exports"],"sources":["live-control/index.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';\nimport { getPreviewUrl } from '../api';\nimport { PlayerHeader } from '../controls';\nimport { CloseAllIcon, ExitFullScreenIcon, ExpandIcon, FoldIcon, FullScreenIcon, Grid1x1Icon, Grid2x2Icon, Grid3x3Icon, } from '../icons';\nimport VtxLivePlayer from '../live-player';\nimport { getLocaleMessages } from '../locales';\nimport { useFullscreen, useInterval, useRequest, useSetState } from 'ahooks';\nimport Space from 'antd/lib/space';\n// import { Space, Tooltip } from 'antd';\nimport Tooltip from 'antd/lib/tooltip';\nconst DEFAULT_GRID = 2;\nconst DEFAULT_ACTIVE = 0;\nconst DEFAULT_CHANNELS = Array(9).fill({ channelNum: '' });\n/**\n * 实时分屏组件\n */\nconst LiveControl = forwardRef((props, ref) => {\n const { height = '100%', width = '100%', onExpandChange, onChannelChange, polling, isDark = false, } = props;\n const messages = getLocaleMessages();\n const [state, setState] = useSetState({\n expand: true,\n grid: DEFAULT_GRID,\n activeIndex: DEFAULT_ACTIVE,\n channels: DEFAULT_CHANNELS,\n });\n const wrapRef = useRef(null);\n const [isFullscreen, { toggleFullscreen }] = useFullscreen(wrapRef);\n const channelRef = useRef(DEFAULT_CHANNELS);\n // 实时视频轮询\n useInterval(() => {\n // 是否有视频正在播放\n const hasVideo = state.channels.some((item) => item.channelNum);\n if (polling && hasVideo) {\n setState({\n channels: DEFAULT_CHANNELS,\n });\n const timer = setTimeout(() => {\n setState({\n channels: channelRef.current,\n });\n clearTimeout(timer);\n }, 0);\n }\n }, polling);\n useImperativeHandle(ref, () => {\n return {\n load: (channel) => {\n const index = state.channels.findIndex((c) => c.channelId && channel.channelId && c.channelNum === channel.channelNum);\n if (~index) {\n setState({ activeIndex: index }); // 如果通道号已经存在,则设置激活索引为该通道\n }\n else {\n // 播放该通道\n const newChannels = [...state.channels];\n const activeIndex = getActiveIndex(newChannels, state.grid, state.activeIndex);\n newChannels[activeIndex] = channel;\n setState({ channels: newChannels, activeIndex });\n }\n },\n multiLoad: (channels) => {\n let grid = 1;\n if (channels.length > 1)\n grid = 2;\n // if (channels.length > 4) grid = 3;\n const newChannels = [];\n for (let i = 0; i < 9; i++) {\n newChannels.push(channels[i] ? channels[i] : { channelNum: '' });\n }\n setState({ grid, channels: newChannels });\n },\n unLoad: (channelNum) => {\n const index = state.channels.findIndex((c) => c.channelNum === channelNum);\n if (~index) {\n // 卸载通道\n const newChannels = [...state.channels];\n newChannels[index] = { channelNum: '' };\n setState({ channels: newChannels });\n }\n },\n };\n });\n useEffect(() => {\n channelRef.current = state.channels;\n if (onChannelChange) {\n onChannelChange(state.channels.filter((c) => !!c.channelNum).map((c) => c.channelNum));\n }\n }, [state.channels]);\n const handleCloseAll = () => {\n setState({ channels: DEFAULT_CHANNELS });\n };\n const handleExpand = () => {\n onExpandChange && onExpandChange(!state.expand);\n setState({ expand: !state.expand });\n };\n const getGridItems = () => {\n const items = [];\n for (let i = 0; i < state.grid * state.grid; i++) {\n const element = (_jsx(GridItem, { active: state.activeIndex === i, onClick: () => setState({ activeIndex: i }), channel: state.channels[i], onClose: () => {\n const newChannels = [...state.channels];\n newChannels[i] = { channelNum: '' };\n setState({ channels: newChannels });\n } }, i));\n items.push(element);\n }\n return items;\n };\n return (_jsxs(\"div\", Object.assign({ className: `vtx-live-control${isDark ? ' live-dark' : ''}`, ref: wrapRef, style: { height, width } }, { children: [_jsx(\"div\", Object.assign({ className: `player-grid-container _${state.grid}` }, { children: getGridItems() })), _jsxs(\"div\", Object.assign({ className: \"controls\" }, { children: [_jsx(Space, Object.assign({ className: \"left\", size: 12, align: \"center\" }, { children: onExpandChange && (_jsx(Tooltip, Object.assign({ title: state.expand ? messages.common.collapse : messages.common.expand }, { children: _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(Tooltip, Object.assign({ title: messages.common.closeAll }, { children: _jsx(\"div\", { children: _jsx(CloseAllIcon, { onClick: handleCloseAll }) }) })), _jsx(Tooltip, Object.assign({ title: messages.liveControl.split1 }, { children: _jsx(\"div\", { children: _jsx(Grid1x1Icon, { active: state.grid === 1, onClick: () => setState({ grid: 1 }) }) }) })), _jsx(Tooltip, Object.assign({ title: messages.liveControl.split4 }, { children: _jsx(\"div\", { children: _jsx(Grid2x2Icon, { active: state.grid === 2, onClick: () => setState({ grid: 2 }) }) }) })), _jsx(Tooltip, Object.assign({ title: messages.liveControl.split9 }, { children: _jsx(\"div\", { children: _jsx(Grid3x3Icon, { active: state.grid === 3, onClick: () => setState({ grid: 3 }) }) }) })), _jsx(Tooltip, Object.assign({ title: messages.common.fullscreen }, { children: _jsx(\"div\", { children: isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: toggleFullscreen })) : (_jsx(FullScreenIcon, { onClick: toggleFullscreen })) }) }))] }))] }))] })));\n});\nLiveControl.displayName = 'LiveControl';\nconst GridItem = (props) => {\n const { active, onClick, channel, onClose } = props;\n const empty = !channel.channelNum;\n const { data } = useRequest(() => getPreviewUrl(channel), {\n ready: !!channel.channelNum,\n refreshDeps: [channel.channelNum],\n });\n const name = `${data === null || data === void 0 ? void 0 : data.deviceName}-${data === null || data === void 0 ? void 0 : data.channelName}`;\n return (_jsx(\"div\", Object.assign({ className: `grid-item-container ${active ? 'active' : ''}`, onClick: onClick }, { children: data && !empty && (_jsxs(_Fragment, { children: [_jsx(PlayerHeader, { name: name, onClose: onClose }), _jsx(\"div\", Object.assign({ className: \"content\" }, { children: _jsx(VtxLivePlayer, { url: data.url, beenHasVideo: data.beenHasVideo, type: (data === null || data === void 0 ? void 0 : data.player) || '', hkType: data === null || data === void 0 ? void 0 : data.hkType, userName: data === null || data === void 0 ? void 0 : data.userName, password: data === null || data === void 0 ? void 0 : data.password, deviceIp: data === null || data === void 0 ? void 0 : data.deviceIp, devicePort: data === null || data === void 0 ? void 0 : data.devicePort, deviceId: data === null || data === void 0 ? void 0 : data.deviceId, channelNum: data === null || data === void 0 ? void 0 : data.channelNum, deviceCode: data === null || data === void 0 ? void 0 : data.deviceCode, streamType: data === null || data === void 0 ? void 0 : data.streamType, enableAgent: (data === null || data === void 0 ? void 0 : data.enableAgent) || false, captureName: name, showInfo: channel.showInfo, info: channel.info }) }))] })) })));\n};\n/**\n * 获取当前激活的网格\n * @param channels 现有通道数组\n * @param grid 当前网格状态\n * @param currentIndex 当前索引\n * @returns\n */\nconst getActiveIndex = (channels, grid, currentIndex) => {\n const currentChannels = channels.slice(0, grid * grid);\n for (let i = currentIndex + 1; i < currentChannels.length; i++) {\n if (!currentChannels[i].channelNum)\n return i;\n }\n for (let i = 0; i < currentIndex; i++) {\n if (!currentChannels[i].channelNum)\n return i;\n }\n return currentIndex;\n};\nexport default LiveControl;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_jsxRuntime","require","_react","_api","_controls","_icons","_livePlayer","_interopRequireDefault","_locales","_web34Iframe","_ahooks","_space","_tooltip","e","__esModule","_toConsumableArray","r","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","Symbol","iterator","Array","from","isArray","_arrayLikeToArray","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","a","t","toString","call","slice","constructor","name","test","length","n","l","i","u","f","o","next","Object","done","push","value","DEFAULT_GRID","DEFAULT_ACTIVE","DEFAULT_CHANNELS","fill","channelNum","LiveControl","forwardRef","props","ref","_props$height","height","_props$width","width","onExpandChange","onChannelChange","polling","_props$isDark","isDark","messages","getLocaleMessages","_useSetState","useSetState","expand","grid","activeIndex","channels","_useSetState2","state","setState","wrapRef","useRef","_useFullscreen","useFullscreen","_useFullscreen2","isFullscreen","toggleFullscreen","channelRef","useInterval","hasVideo","some","item","timer","setTimeout","current","clearTimeout","useImperativeHandle","load","channel","index","findIndex","c","channelId","newChannels","getActiveIndex","multiLoad","unLoad","getGridCount","useEffect","filter","map","handleCloseAll","handleExpand","getGridItems","items","_loop","element","_jsx","GridItem","active","onClick","onClose","_jsxs","assign","className","concat","style","children","Space","size","align","Tooltip","title","common","collapse","display","FoldIcon","ExpandIcon","closeAll","CloseAllIcon","liveControl","split1","Grid1x1Icon","split4","Grid2x2Icon","split9","Grid3x3Icon","fullscreen","ExitFullScreenIcon","FullScreenIcon","displayName","empty","_useRequest","useRequest","getPreviewUrl","ready","refreshDeps","data","deviceName","channelName","web34Playback","isWeb34IframePlayer","player","_Fragment","PlayerHeader","src","getWeb34IframeUrl","WEB34_IFRAME_RESET_STYLE","allow","VtxLivePlayer","url","beenHasVideo","type","hkType","userName","password","deviceIp","devicePort","deviceId","deviceCode","streamType","enableAgent","captureName","showInfo","info","currentChannels","_default","exports"],"sources":["live-control/index.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';\nimport { getPreviewUrl } from '../api';\nimport { PlayerHeader } from '../controls';\nimport { CloseAllIcon, ExitFullScreenIcon, ExpandIcon, FoldIcon, FullScreenIcon, Grid1x1Icon, Grid2x2Icon, Grid3x3Icon, } from '../icons';\nimport VtxLivePlayer from '../live-player';\nimport { getLocaleMessages } from '../locales';\nimport { WEB34_IFRAME_RESET_STYLE, getWeb34IframeUrl, isWeb34IframePlayer, } from '../utils/web34-iframe';\nimport { useFullscreen, useInterval, useRequest, useSetState } from 'ahooks';\nimport Space from 'antd/lib/space';\n// import { Space, Tooltip } from 'antd';\nimport Tooltip from 'antd/lib/tooltip';\nconst DEFAULT_GRID = 2;\nconst DEFAULT_ACTIVE = 0;\nconst DEFAULT_CHANNELS = Array(9).fill({ channelNum: '' });\n/**\n * 实时分屏组件\n */\nconst LiveControl = forwardRef((props, ref) => {\n const { height = '100%', width = '100%', onExpandChange, onChannelChange, polling, isDark = false, } = props;\n const messages = getLocaleMessages();\n const [state, setState] = useSetState({\n expand: true,\n grid: DEFAULT_GRID,\n activeIndex: DEFAULT_ACTIVE,\n channels: DEFAULT_CHANNELS,\n });\n const wrapRef = useRef(null);\n const [isFullscreen, { toggleFullscreen }] = useFullscreen(wrapRef);\n const channelRef = useRef(DEFAULT_CHANNELS);\n // 实时视频轮询\n useInterval(() => {\n // 是否有视频正在播放\n const hasVideo = state.channels.some((item) => item.channelNum);\n if (polling && hasVideo) {\n setState({\n channels: DEFAULT_CHANNELS,\n });\n const timer = setTimeout(() => {\n setState({\n channels: channelRef.current,\n });\n clearTimeout(timer);\n }, 0);\n }\n }, polling);\n useImperativeHandle(ref, () => {\n return {\n load: (channel) => {\n const index = state.channels.findIndex((c) => (c.channelId && channel.channelId && c.channelId === channel.channelId) ||\n (!channel.channelId && c.channelNum === channel.channelNum));\n if (~index) {\n setState({ activeIndex: index }); // 如果通道号已经存在,则设置激活索引为该通道\n return true;\n }\n else {\n // 播放该通道\n const newChannels = [...state.channels];\n const activeIndex = getActiveIndex(newChannels, state.grid);\n if (activeIndex < 0)\n return false;\n newChannels[activeIndex] = channel;\n setState({ channels: newChannels, activeIndex });\n return true;\n }\n },\n multiLoad: (channels) => {\n let grid = 1;\n if (channels.length > 1)\n grid = 2;\n if (channels.length > 4)\n grid = 3;\n const newChannels = [];\n for (let i = 0; i < 9; i++) {\n newChannels.push(channels[i] ? channels[i] : { channelNum: '' });\n }\n setState({ grid, channels: newChannels });\n },\n unLoad: (channelId) => {\n const index = state.channels.findIndex((c) => c.channelId === channelId || c.channelNum === channelId);\n if (~index) {\n // 卸载通道\n const newChannels = [...state.channels];\n newChannels[index] = { channelNum: '' };\n setState({ channels: newChannels });\n }\n },\n getGridCount: () => state.grid * state.grid,\n };\n });\n useEffect(() => {\n channelRef.current = state.channels;\n if (onChannelChange) {\n onChannelChange(state.channels\n .slice(0, state.grid * state.grid)\n .filter((c) => !!c.channelNum)\n .map((c) => c.channelId || c.channelNum));\n }\n }, [state.channels, state.grid]);\n const handleCloseAll = () => {\n setState({ channels: DEFAULT_CHANNELS });\n };\n const handleExpand = () => {\n onExpandChange && onExpandChange(!state.expand);\n setState({ expand: !state.expand });\n };\n const getGridItems = () => {\n const items = [];\n for (let i = 0; i < state.grid * state.grid; i++) {\n const element = (_jsx(GridItem, { active: state.activeIndex === i, onClick: () => setState({ activeIndex: i }), channel: state.channels[i], onClose: () => {\n const newChannels = [...state.channels];\n newChannels[i] = { channelNum: '' };\n setState({ channels: newChannels });\n } }, i));\n items.push(element);\n }\n return items;\n };\n return (_jsxs(\"div\", Object.assign({ className: `vtx-live-control${isDark ? ' live-dark' : ''}`, ref: wrapRef, style: { height, width } }, { children: [_jsx(\"div\", Object.assign({ className: `player-grid-container _${state.grid}` }, { children: getGridItems() })), _jsxs(\"div\", Object.assign({ className: \"controls\" }, { children: [_jsx(Space, Object.assign({ className: \"left\", size: 12, align: \"center\" }, { children: onExpandChange && (_jsx(Tooltip, Object.assign({ title: state.expand ? messages.common.collapse : messages.common.expand }, { children: _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(Tooltip, Object.assign({ title: messages.common.closeAll }, { children: _jsx(\"div\", { children: _jsx(CloseAllIcon, { onClick: handleCloseAll }) }) })), _jsx(Tooltip, Object.assign({ title: messages.liveControl.split1 }, { children: _jsx(\"div\", { children: _jsx(Grid1x1Icon, { active: state.grid === 1, onClick: () => setState({ grid: 1 }) }) }) })), _jsx(Tooltip, Object.assign({ title: messages.liveControl.split4 }, { children: _jsx(\"div\", { children: _jsx(Grid2x2Icon, { active: state.grid === 2, onClick: () => setState({ grid: 2 }) }) }) })), _jsx(Tooltip, Object.assign({ title: messages.liveControl.split9 }, { children: _jsx(\"div\", { children: _jsx(Grid3x3Icon, { active: state.grid === 3, onClick: () => setState({ grid: 3 }) }) }) })), _jsx(Tooltip, Object.assign({ title: messages.common.fullscreen }, { children: _jsx(\"div\", { children: isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: toggleFullscreen })) : (_jsx(FullScreenIcon, { onClick: toggleFullscreen })) }) }))] }))] }))] })));\n});\nLiveControl.displayName = 'LiveControl';\nconst GridItem = (props) => {\n const { active, onClick, channel, onClose } = props;\n const empty = !channel.channelNum;\n const { data } = useRequest(() => getPreviewUrl(channel), {\n ready: !!channel.channelNum,\n refreshDeps: [channel.channelNum],\n });\n const name = `${data === null || data === void 0 ? void 0 : data.deviceName}-${data === null || data === void 0 ? void 0 : data.channelName}`;\n const web34Playback = isWeb34IframePlayer(data === null || data === void 0 ? void 0 : data.player);\n return (_jsx(\"div\", Object.assign({ className: `grid-item-container ${active ? 'active' : ''}`, onClick: onClick }, { children: data && !empty && (_jsxs(_Fragment, { children: [_jsx(PlayerHeader, { name: name, onClose: onClose }), _jsx(\"div\", Object.assign({ className: \"content\" }, { children: web34Playback ? (_jsx(\"iframe\", { title: name, src: getWeb34IframeUrl(data), style: WEB34_IFRAME_RESET_STYLE, allow: \"autoplay; fullscreen\" })) : (_jsx(VtxLivePlayer, { url: data.url, beenHasVideo: data.beenHasVideo, type: (data === null || data === void 0 ? void 0 : data.player) || '', hkType: data === null || data === void 0 ? void 0 : data.hkType, userName: data === null || data === void 0 ? void 0 : data.userName, password: data === null || data === void 0 ? void 0 : data.password, deviceIp: data === null || data === void 0 ? void 0 : data.deviceIp, devicePort: data === null || data === void 0 ? void 0 : data.devicePort, deviceId: data === null || data === void 0 ? void 0 : data.deviceId, channelNum: data === null || data === void 0 ? void 0 : data.channelNum, deviceCode: data === null || data === void 0 ? void 0 : data.deviceCode, streamType: data === null || data === void 0 ? void 0 : data.streamType, enableAgent: (data === null || data === void 0 ? void 0 : data.enableAgent) || false, captureName: name, showInfo: channel.showInfo, info: channel.info })) }))] })) })));\n};\n/**\n * 获取当前激活的网格\n * @param channels 现有通道数组\n * @param grid 当前网格状态\n * @param currentIndex 当前索引\n * @returns\n */\nconst getActiveIndex = (channels, grid) => {\n const currentChannels = channels.slice(0, grid * grid);\n for (let i = 0; i < currentChannels.length; i++) {\n if (!currentChannels[i].channelNum)\n return i;\n }\n return -1;\n};\nexport default LiveControl;\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import React, { ReactElement } from 'react';
1
+ import { ReactElement } from 'react';
2
2
  import { ISplitScreenGrid } from '../components/split-screen';
3
3
  import { IVideoScaleValue } from '../components/video-scale';
4
4
  export type LiveControlV2Handle = {
@@ -63,6 +63,6 @@ export type ChannelType = {
63
63
  /**
64
64
  * 实时分屏组件
65
65
  */
66
- declare const LiveControlV2: React.ForwardRefExoticComponent<LiveControlV2Props & React.RefAttributes<LiveControlV2Handle>>;
66
+ declare const LiveControlV2: import("react").ForwardRefExoticComponent<LiveControlV2Props & import("react").RefAttributes<LiveControlV2Handle>>;
67
67
  export type CloudControlType = 'all' | 'onlyFocus' | 'onlyRotate' | 'none';
68
68
  export default LiveControlV2;
@@ -12,6 +12,7 @@ var _videoScale = _interopRequireDefault(require("../components/video-scale"));
12
12
  var _controls = require("../controls");
13
13
  var _icons = require("../icons");
14
14
  var _livePlayer = _interopRequireDefault(require("../live-player"));
15
+ var _web34Iframe = require("../utils/web34-iframe");
15
16
  var _icons2 = require("@ant-design/icons");
16
17
  var _utils = require("@vtx/utils");
17
18
  var _ahooks = require("ahooks");
@@ -34,6 +35,14 @@ var DEFAULT_CHANNELS = Array(25).fill({
34
35
  channelNum: '',
35
36
  channelId: ''
36
37
  });
38
+ var EMPTY_PLAYER_HANDLE = {
39
+ resize: function resize() {
40
+ return undefined;
41
+ },
42
+ saveRecordFetch: function saveRecordFetch() {
43
+ return undefined;
44
+ }
45
+ };
37
46
  /**
38
47
  * 实时分屏组件
39
48
  */
@@ -438,6 +447,15 @@ var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
438
447
  }));
439
448
  });
440
449
  LiveControlV2.displayName = 'LiveControlV2';
450
+ var getPtzControlType = function getPtzControlType(type) {
451
+ var types = {
452
+ 1: 'all',
453
+ 2: 'onlyFocus',
454
+ 3: 'onlyRotate',
455
+ 4: 'none'
456
+ };
457
+ return types[type] || 'none';
458
+ };
441
459
  var GridItem = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
442
460
  var active = props.active,
443
461
  onClick = props.onClick,
@@ -451,16 +469,20 @@ var GridItem = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
451
469
  _useState2 = _slicedToArray(_useState, 2),
452
470
  actData = _useState2[0],
453
471
  setActData = _useState2[1];
472
+ var requestSeqRef = (0, _react.useRef)(0);
454
473
  var loading = false;
455
474
  (0, _react.useEffect)(function () {
475
+ var requestSeq = ++requestSeqRef.current;
456
476
  if ((channel === null || channel === void 0 ? void 0 : channel.channelNum) || channel.channelId) {
477
+ setActData({});
457
478
  (0, _api.getPreviewUrl)(channel).then(function (res) {
479
+ if (requestSeq !== requestSeqRef.current) return;
458
480
  setActData(res);
459
481
  });
460
482
  } else {
461
483
  setActData({});
462
484
  }
463
- }, [channel === null || channel === void 0 ? void 0 : channel.channelNum, channel === null || channel === void 0 ? void 0 : channel.channelId]);
485
+ }, [channel === null || channel === void 0 ? void 0 : channel.channelNum, channel === null || channel === void 0 ? void 0 : channel.channelId, channel === null || channel === void 0 ? void 0 : channel.deviceId, channel === null || channel === void 0 ? void 0 : channel.protocol]);
464
486
  var name = "".concat(actData === null || actData === void 0 ? void 0 : actData.deviceName, "-").concat(actData === null || actData === void 0 ? void 0 : actData.channelName);
465
487
  var _useSetState3 = (0, _ahooks.useSetState)({
466
488
  width: '100%',
@@ -511,15 +533,54 @@ var GridItem = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
511
533
  }
512
534
  }
513
535
  }, [gridItemSize, scale]);
514
- var handlePtzType = function handlePtzType(type) {
515
- var types = {
516
- 1: 'all',
517
- 2: 'onlyFocus',
518
- 3: 'onlyRotate',
519
- 4: 'none'
520
- };
521
- return types[type];
536
+ var livePlayerRef = (0, _react.useRef)(EMPTY_PLAYER_HANDLE);
537
+ var web34Playback = (0, _web34Iframe.isWeb34IframePlayer)(actData === null || actData === void 0 ? void 0 : actData.player);
538
+ (0, _react.useImperativeHandle)(ref, function () {
539
+ return web34Playback ? EMPTY_PLAYER_HANDLE : livePlayerRef.current || EMPTY_PLAYER_HANDLE;
540
+ });
541
+ var reloadPreview = function reloadPreview() {
542
+ setActData({
543
+ url: ''
544
+ });
545
+ (0, _api.getPreviewUrl)(channel).then(function (res) {
546
+ setActData(res);
547
+ });
548
+ };
549
+ var cloudControlType = hasCloudControl ? getPtzControlType((actData === null || actData === void 0 ? void 0 : actData.ptzType) || 4) : 'none';
550
+ var cloudParams = {
551
+ query: {
552
+ channelNum: actData.channelNum || '',
553
+ deviceId: actData.deviceId || '',
554
+ tenantId: (0, _utils.getVtxToken)('tenantId')
555
+ },
556
+ type: cloudControlType
522
557
  };
558
+ var iframeUrl = (0, _web34Iframe.getWeb34IframeUrl)(actData);
559
+ var iframeKey = "".concat((actData === null || actData === void 0 ? void 0 : actData.deviceId) || '', "_").concat((actData === null || actData === void 0 ? void 0 : actData.channelNum) || '', "_").concat((actData === null || actData === void 0 ? void 0 : actData.url) || '', "_").concat((actData === null || actData === void 0 ? void 0 : actData.player) || '');
560
+ var livePlayerProps = actData.url ? {
561
+ empty: empty,
562
+ beenHasVideo: actData.beenHasVideo,
563
+ beenHasAudio: actData.beenHasAudio,
564
+ url: actData.url,
565
+ type: actData === null || actData === void 0 ? void 0 : actData.player,
566
+ hkType: actData === null || actData === void 0 ? void 0 : actData.hkType,
567
+ userName: actData === null || actData === void 0 ? void 0 : actData.userName,
568
+ password: actData === null || actData === void 0 ? void 0 : actData.password,
569
+ deviceIp: actData.deviceIp,
570
+ devicePort: actData.devicePort,
571
+ captureName: name,
572
+ deviceId: actData.deviceId,
573
+ channelNum: actData.channelNum,
574
+ enableAgent: actData.enableAgent,
575
+ deviceCode: actData.deviceCode,
576
+ streamType: actData.streamType,
577
+ showInfo: channel.showInfo,
578
+ info: channel.info,
579
+ screenshot: onScreenshot,
580
+ cloudParams: cloudParams,
581
+ reload: reloadPreview,
582
+ onClose: onClose
583
+ } : null;
523
584
  return (0, _jsxRuntime.jsx)("div", Object.assign({
524
585
  className: "grid-item-container ".concat(active ? 'active' : '', " ").concat(loading ? '' : 'emptyImg'),
525
586
  onClick: onClick,
@@ -539,46 +600,14 @@ var GridItem = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
539
600
  height: height
540
601
  }
541
602
  }, {
542
- children: (0, _jsxRuntime.jsx)(_livePlayer["default"], {
543
- ref: ref,
544
- empty: empty,
545
- beenHasVideo: actData.beenHasVideo,
546
- beenHasAudio: actData.beenHasAudio,
547
- url: actData.url,
548
- type: actData === null || actData === void 0 ? void 0 : actData.player,
549
- hkType: actData === null || actData === void 0 ? void 0 : actData.hkType,
550
- userName: actData === null || actData === void 0 ? void 0 : actData.userName,
551
- password: actData === null || actData === void 0 ? void 0 : actData.password,
552
- deviceIp: actData.deviceIp,
553
- devicePort: actData.devicePort,
554
- captureName: name,
555
- deviceId: actData.deviceId,
556
- channelId: channel.channelId,
557
- channelNum: actData.channelNum,
558
- enableAgent: actData.enableAgent,
559
- deviceCode: actData.deviceCode,
560
- streamType: actData.streamType,
561
- showInfo: channel.showInfo,
562
- info: channel.info,
563
- screenshot: onScreenshot,
564
- cloudParams: {
565
- query: {
566
- channelNum: actData.channelNum,
567
- deviceId: actData.deviceId,
568
- tenantId: (0, _utils.getVtxToken)('tenantId')
569
- },
570
- type: hasCloudControl ? handlePtzType((actData === null || actData === void 0 ? void 0 : actData.ptzType) || 4) : 'none'
571
- },
572
- reload: function reload() {
573
- setActData({
574
- url: ''
575
- });
576
- (0, _api.getPreviewUrl)(channel).then(function (res) {
577
- setActData(res);
578
- });
579
- },
580
- onClose: onClose
581
- })
603
+ children: web34Playback ? (0, _jsxRuntime.jsx)("iframe", {
604
+ title: name,
605
+ src: iframeUrl,
606
+ style: _web34Iframe.WEB34_IFRAME_RESET_STYLE,
607
+ allow: "autoplay; fullscreen"
608
+ }, iframeKey) : livePlayerProps && (0, _jsxRuntime.jsx)(_livePlayer["default"], Object.assign({
609
+ ref: livePlayerRef
610
+ }, livePlayerProps))
582
611
  }))
583
612
  }))]
584
613
  })