@vtx/player 1.7.5 → 1.7.8

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.
@@ -105,6 +105,7 @@ var HistoryControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref)
105
105
  width = _props$width === void 0 ? '100%' : _props$width,
106
106
  _props$height = props.height,
107
107
  height = _props$height === void 0 ? '100%' : _props$height,
108
+ defaultGrid = props.defaultGrid,
108
109
  onExpandChange = props.onExpandChange,
109
110
  _onVideoClose = props.onVideoClose,
110
111
  onVideoCloseAll = props.onVideoCloseAll,
@@ -114,7 +115,7 @@ var HistoryControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref)
114
115
 
115
116
  var _useSetState = (0, _ahooks.useSetState)({
116
117
  expand: true,
117
- grid: _utils2.DEFAULT_GRID,
118
+ grid: defaultGrid || _utils2.DEFAULT_GRID,
118
119
  scale: '100%'
119
120
  }),
120
121
  _useSetState2 = _slicedToArray(_useSetState, 2),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","HistoryControlV2","forwardRef","props","ref","width","height","onExpandChange","onVideoClose","onVideoCloseAll","onScreenshot","onPlayingChannelChange","onTimeChange","useSetState","expand","grid","DEFAULT_GRID","scale","state","setState","useState","DEFAULT_CHANNELS","channels","setChannels","loading","setLoading","DEFAULT_ACTIVE","activeIndex","setActiveIndex","timeLinePosition","setTimeLinePosition","panelRef","useRef","wrapRef","useFullscreen","isFullscreen","toggleFullscreen","useRequest","getHistoryUrl","manual","runAsync","getVideoLabelById","getVideoLabelByIdAsync","useImperativeHandle","load","channel","current","start","playInfo","tagId","id","labelRes","deviceId","videoDeviceId","channelNum","videoChannelNum","beginTime","startTime","endTime","protocol","token","getUrlParam","res","newChannels","resultChannel","_a","filter","citem","channelIndex","Object","assign","index","_c","_b","item","getChannelData","unLoadAll","handleCloseAll","handleExpand","getGridItems","items","i","element","_jsx","GridItem","active","palyIndex","onClick","onClose","deviceName","channelName","url","tableList","aIndex","find","ele","push","Number","store","useEffect","getRealGrid","length","realChannels","className","style","children","_jsxs","historyControlV2Context","Provider","Spin","spinning","size","Panel","Space","align","display","FoldIcon","ExpandIcon","CloseAllIcon","SplitScreen","setGrid","GridIcon","DownOutlined","UpOutlined","VideoScale","setScale","OccupyingScreenIcon","ExitFullScreenIcon","FullScreenIcon","displayName"],"sources":["history-control-v2/index.js"],"sourcesContent":["var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef, useState } from 'react';\nimport { getHistoryUrl, getVideoLabelById } from '../api';\nimport SplitScreen, { getRealGrid } from '../components/split-screen';\nimport VideoScale from '../components/video-scale';\nimport { CloseAllIcon, ExitFullScreenIcon, ExpandIcon, FoldIcon, FullScreenIcon, GridIcon, OccupyingScreenIcon, } from '../icons';\nimport { getUrlParam } from '../utils';\nimport { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { useFullscreen, useRequest, useSetState } from 'ahooks';\nimport Space from 'antd/lib/space';\nimport Spin from 'antd/lib/spin';\nimport GridItem from './components/grid-item';\nimport Panel from './components/panel';\nimport { historyControlV2Context } from './context';\nimport { DEFAULT_ACTIVE, DEFAULT_CHANNELS, DEFAULT_GRID, getChannelData } from './utils';\n/**\n * 历史视频控制器\n */\nexport const HistoryControlV2 = forwardRef((props, ref) => {\n const { width = '100%', height = '100%', onExpandChange, onVideoClose, onVideoCloseAll, onScreenshot, onPlayingChannelChange, onTimeChange, } = props;\n const [state, setState] = useSetState({\n expand: true,\n grid: DEFAULT_GRID,\n scale: '100%',\n });\n const [channels, setChannels] = useState(DEFAULT_CHANNELS);\n const [loading, setLoading] = useState(false);\n const [activeIndex, setActiveIndex] = useState(DEFAULT_ACTIVE);\n const [timeLinePosition, setTimeLinePosition] = useState(-1);\n const panelRef = useRef();\n // 全屏方法\n const wrapRef = useRef(null);\n const [isFullscreen, { toggleFullscreen }] = useFullscreen(wrapRef);\n const { runAsync } = useRequest(getHistoryUrl, {\n manual: true,\n });\n const { runAsync: getVideoLabelByIdAsync } = useRequest(getVideoLabelById, {\n manual: true,\n });\n useImperativeHandle(ref, () => {\n return {\n load: (channel) => {\n panelRef.current.load(channel);\n },\n start: (playInfo) => __awaiter(void 0, void 0, void 0, function* () {\n var _a, _b, _c;\n setLoading(true);\n const result = playInfo;\n if (playInfo.tagId) {\n /**\n * 如果传了tagId 则根据TagId 获取 deviceId,channelNum,beginTime,endTime\n * 如果没有传tagId 则根据 传入进来的 deviceId, channelNum,beginTime,endTime\n */\n const labelRes = yield getVideoLabelByIdAsync({\n id: playInfo.tagId,\n });\n result.deviceId = labelRes.videoDeviceId || playInfo.deviceId;\n result.channelNum = labelRes.videoChannelNum || playInfo.channelNum;\n result.beginTime = labelRes.startTime || playInfo.beginTime;\n result.endTime = labelRes.endTime || playInfo.endTime;\n }\n const res = yield runAsync({\n deviceId: result.deviceId,\n channelNum: result.channelNum,\n beginTime: result.beginTime,\n endTime: result.endTime,\n protocol: result.protocol,\n token: getUrlParam('token'),\n });\n const newChannels = [...channels];\n const resultChannel = (_a = newChannels.filter((citem) => citem.deviceId === res.deviceId && citem.channelNum === res.channelNum)) === null || _a === void 0 ? void 0 : _a[0];\n // 如果当前通道已经再里面了,则直接替换当前通道\n if (resultChannel) {\n newChannels[resultChannel.channelIndex] = Object.assign(Object.assign({}, newChannels[resultChannel.channelIndex]), { \n // 有tagId 则为-1 不然维持原有的\n index: playInfo.tagId\n ? -1\n : newChannels[resultChannel.channelIndex].index, tagId: playInfo.tagId || '', startTime: result.beginTime, endTime: result.endTime });\n }\n else {\n // 如果当前通道不在里面 则找到第一个channelNum为''的替换\n const channelIndex = (_c = (_b = newChannels.filter((item) => item.channelNum === '')) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.channelIndex;\n if (typeof channelIndex == 'number') {\n newChannels[channelIndex] = Object.assign(Object.assign({}, newChannels[channelIndex]), getChannelData(res, result));\n }\n }\n setChannels(newChannels);\n setLoading(false);\n }),\n unLoadAll: handleCloseAll,\n };\n });\n const handleExpand = () => {\n onExpandChange && onExpandChange(!state.expand);\n setState({ expand: !state.expand });\n };\n const handleCloseAll = () => {\n // const realChannels = channels.filter((item) => item.channelNum !== '');\n // realChannels.map((item) => {\n // onVideoClose && onVideoClose(item);\n // });\n onVideoCloseAll();\n setChannels(DEFAULT_CHANNELS);\n };\n const getGridItems = () => {\n const items = [];\n for (let i = 0; i < Number(state.grid); i++) {\n const element = (_jsx(GridItem, { active: activeIndex === i, palyIndex: i, onTimeChange: onTimeChange, onClick: () => setActiveIndex(i), channel: channels[i], onClose: () => {\n var _a;\n const newChannels = [...channels];\n newChannels[i].index = -1;\n newChannels[i].deviceName = '';\n newChannels[i].deviceId = '';\n newChannels[i].startTime = '';\n newChannels[i].endTime = '';\n newChannels[i].tagId = '';\n newChannels[i].channelName = '';\n newChannels[i].channelNum = '';\n newChannels[i].url = '';\n newChannels[i].tableList = [];\n setChannels(newChannels);\n const aIndex = ((_a = newChannels.find((ele) => !!ele.channelNum)) === null || _a === void 0 ? void 0 : _a.channelIndex) || 0;\n setActiveIndex(aIndex);\n onVideoClose && onVideoClose(channels[i], newChannels);\n }, scale: state.scale, loading: true, onScreenshot: (url) => {\n onScreenshot && onScreenshot(url, i);\n } }, i));\n items.push(element);\n }\n return items;\n };\n const store = {\n channels,\n setChannels,\n loading,\n setLoading,\n activeIndex,\n setActiveIndex,\n timeLinePosition,\n setTimeLinePosition,\n };\n useEffect(() => {\n if (getRealGrid(channels.filter((item) => item.channelNum !== '').length) > state.grid) {\n setState({\n grid: getRealGrid(channels.filter((item) => item.channelNum !== '').length) || 1,\n });\n }\n const realChannels = channels.filter((item) => item.channelNum !== '');\n if (typeof onPlayingChannelChange === 'function') {\n onPlayingChannelChange(realChannels);\n }\n }, [channels]);\n return (_jsx(\"div\", Object.assign({ className: \"vtx-history-control-v2\", style: { width, height }, ref: wrapRef }, { children: _jsxs(historyControlV2Context.Provider, Object.assign({ value: store }, { children: [_jsx(Spin, { spinning: loading, className: \"vtx-spin\", size: \"large\" }), _jsx(\"div\", Object.assign({ className: `player-grid-container _${getRealGrid(state.grid)}` }, { children: getGridItems() })), _jsx(Panel, { onVideoClose: (channel) => {\n onVideoClose(channel, channels);\n }, ref: panelRef }), _jsxs(\"div\", Object.assign({ className: \"bottom-controls\" }, { children: [_jsx(Space, Object.assign({ className: \"left\", size: 12, align: \"center\" }, { children: onExpandChange && (_jsx(\"div\", Object.assign({ onClick: handleExpand, style: { display: 'flex' } }, { children: state.expand ? _jsx(FoldIcon, {}) : _jsx(ExpandIcon, {}) }))) })), _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [_jsx(CloseAllIcon, { onClick: handleCloseAll }), _jsx(\"div\", { className: \"split-line\" }), _jsx(SplitScreen, Object.assign({ grid: state.grid, setGrid: (grid) => setState({ grid }) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(GridIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) })), _jsx(VideoScale, Object.assign({ scale: state.scale, setScale: (scale) => setState({ scale }) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(OccupyingScreenIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) })), isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: toggleFullscreen })) : (_jsx(FullScreenIcon, { onClick: toggleFullscreen }))] }))] }))] })) })));\n});\nHistoryControlV2.displayName = 'HistoryControlV2';\nexport default HistoryControlV2;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","HistoryControlV2","forwardRef","props","ref","width","height","defaultGrid","onExpandChange","onVideoClose","onVideoCloseAll","onScreenshot","onPlayingChannelChange","onTimeChange","useSetState","expand","grid","DEFAULT_GRID","scale","state","setState","useState","DEFAULT_CHANNELS","channels","setChannels","loading","setLoading","DEFAULT_ACTIVE","activeIndex","setActiveIndex","timeLinePosition","setTimeLinePosition","panelRef","useRef","wrapRef","useFullscreen","isFullscreen","toggleFullscreen","useRequest","getHistoryUrl","manual","runAsync","getVideoLabelById","getVideoLabelByIdAsync","useImperativeHandle","load","channel","current","start","playInfo","tagId","id","labelRes","deviceId","videoDeviceId","channelNum","videoChannelNum","beginTime","startTime","endTime","protocol","token","getUrlParam","res","newChannels","resultChannel","_a","filter","citem","channelIndex","Object","assign","index","_c","_b","item","getChannelData","unLoadAll","handleCloseAll","handleExpand","getGridItems","items","i","element","_jsx","GridItem","active","palyIndex","onClick","onClose","deviceName","channelName","url","tableList","aIndex","find","ele","push","Number","store","useEffect","getRealGrid","length","realChannels","className","style","children","_jsxs","historyControlV2Context","Provider","Spin","spinning","size","Panel","Space","align","display","FoldIcon","ExpandIcon","CloseAllIcon","SplitScreen","setGrid","GridIcon","DownOutlined","UpOutlined","VideoScale","setScale","OccupyingScreenIcon","ExitFullScreenIcon","FullScreenIcon","displayName"],"sources":["history-control-v2/index.js"],"sourcesContent":["var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef, useState } from 'react';\nimport { getHistoryUrl, getVideoLabelById } from '../api';\nimport SplitScreen, { getRealGrid } from '../components/split-screen';\nimport VideoScale from '../components/video-scale';\nimport { CloseAllIcon, ExitFullScreenIcon, ExpandIcon, FoldIcon, FullScreenIcon, GridIcon, OccupyingScreenIcon, } from '../icons';\nimport { getUrlParam } from '../utils';\nimport { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { useFullscreen, useRequest, useSetState } from 'ahooks';\nimport Space from 'antd/lib/space';\nimport Spin from 'antd/lib/spin';\nimport GridItem from './components/grid-item';\nimport Panel from './components/panel';\nimport { historyControlV2Context } from './context';\nimport { DEFAULT_ACTIVE, DEFAULT_CHANNELS, DEFAULT_GRID, getChannelData } from './utils';\n/**\n * 历史视频控制器\n */\nexport const HistoryControlV2 = forwardRef((props, ref) => {\n const { width = '100%', height = '100%', defaultGrid, onExpandChange, onVideoClose, onVideoCloseAll, onScreenshot, onPlayingChannelChange, onTimeChange, } = props;\n const [state, setState] = useSetState({\n expand: true,\n grid: defaultGrid || DEFAULT_GRID,\n scale: '100%',\n });\n const [channels, setChannels] = useState(DEFAULT_CHANNELS);\n const [loading, setLoading] = useState(false);\n const [activeIndex, setActiveIndex] = useState(DEFAULT_ACTIVE);\n const [timeLinePosition, setTimeLinePosition] = useState(-1);\n const panelRef = useRef();\n // 全屏方法\n const wrapRef = useRef(null);\n const [isFullscreen, { toggleFullscreen }] = useFullscreen(wrapRef);\n const { runAsync } = useRequest(getHistoryUrl, {\n manual: true,\n });\n const { runAsync: getVideoLabelByIdAsync } = useRequest(getVideoLabelById, {\n manual: true,\n });\n useImperativeHandle(ref, () => {\n return {\n load: (channel) => {\n panelRef.current.load(channel);\n },\n start: (playInfo) => __awaiter(void 0, void 0, void 0, function* () {\n var _a, _b, _c;\n setLoading(true);\n const result = playInfo;\n if (playInfo.tagId) {\n /**\n * 如果传了tagId 则根据TagId 获取 deviceId,channelNum,beginTime,endTime\n * 如果没有传tagId 则根据 传入进来的 deviceId, channelNum,beginTime,endTime\n */\n const labelRes = yield getVideoLabelByIdAsync({\n id: playInfo.tagId,\n });\n result.deviceId = labelRes.videoDeviceId || playInfo.deviceId;\n result.channelNum = labelRes.videoChannelNum || playInfo.channelNum;\n result.beginTime = labelRes.startTime || playInfo.beginTime;\n result.endTime = labelRes.endTime || playInfo.endTime;\n }\n const res = yield runAsync({\n deviceId: result.deviceId,\n channelNum: result.channelNum,\n beginTime: result.beginTime,\n endTime: result.endTime,\n protocol: result.protocol,\n token: getUrlParam('token'),\n });\n const newChannels = [...channels];\n const resultChannel = (_a = newChannels.filter((citem) => citem.deviceId === res.deviceId && citem.channelNum === res.channelNum)) === null || _a === void 0 ? void 0 : _a[0];\n // 如果当前通道已经再里面了,则直接替换当前通道\n if (resultChannel) {\n newChannels[resultChannel.channelIndex] = Object.assign(Object.assign({}, newChannels[resultChannel.channelIndex]), { \n // 有tagId 则为-1 不然维持原有的\n index: playInfo.tagId\n ? -1\n : newChannels[resultChannel.channelIndex].index, tagId: playInfo.tagId || '', startTime: result.beginTime, endTime: result.endTime });\n }\n else {\n // 如果当前通道不在里面 则找到第一个channelNum为''的替换\n const channelIndex = (_c = (_b = newChannels.filter((item) => item.channelNum === '')) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.channelIndex;\n if (typeof channelIndex == 'number') {\n newChannels[channelIndex] = Object.assign(Object.assign({}, newChannels[channelIndex]), getChannelData(res, result));\n }\n }\n setChannels(newChannels);\n setLoading(false);\n }),\n unLoadAll: handleCloseAll,\n };\n });\n const handleExpand = () => {\n onExpandChange && onExpandChange(!state.expand);\n setState({ expand: !state.expand });\n };\n const handleCloseAll = () => {\n // const realChannels = channels.filter((item) => item.channelNum !== '');\n // realChannels.map((item) => {\n // onVideoClose && onVideoClose(item);\n // });\n onVideoCloseAll();\n setChannels(DEFAULT_CHANNELS);\n };\n const getGridItems = () => {\n const items = [];\n for (let i = 0; i < Number(state.grid); i++) {\n const element = (_jsx(GridItem, { active: activeIndex === i, palyIndex: i, onTimeChange: onTimeChange, onClick: () => setActiveIndex(i), channel: channels[i], onClose: () => {\n var _a;\n const newChannels = [...channels];\n newChannels[i].index = -1;\n newChannels[i].deviceName = '';\n newChannels[i].deviceId = '';\n newChannels[i].startTime = '';\n newChannels[i].endTime = '';\n newChannels[i].tagId = '';\n newChannels[i].channelName = '';\n newChannels[i].channelNum = '';\n newChannels[i].url = '';\n newChannels[i].tableList = [];\n setChannels(newChannels);\n const aIndex = ((_a = newChannels.find((ele) => !!ele.channelNum)) === null || _a === void 0 ? void 0 : _a.channelIndex) || 0;\n setActiveIndex(aIndex);\n onVideoClose && onVideoClose(channels[i], newChannels);\n }, scale: state.scale, loading: true, onScreenshot: (url) => {\n onScreenshot && onScreenshot(url, i);\n } }, i));\n items.push(element);\n }\n return items;\n };\n const store = {\n channels,\n setChannels,\n loading,\n setLoading,\n activeIndex,\n setActiveIndex,\n timeLinePosition,\n setTimeLinePosition,\n };\n useEffect(() => {\n if (getRealGrid(channels.filter((item) => item.channelNum !== '').length) > state.grid) {\n setState({\n grid: getRealGrid(channels.filter((item) => item.channelNum !== '').length) || 1,\n });\n }\n const realChannels = channels.filter((item) => item.channelNum !== '');\n if (typeof onPlayingChannelChange === 'function') {\n onPlayingChannelChange(realChannels);\n }\n }, [channels]);\n return (_jsx(\"div\", Object.assign({ className: \"vtx-history-control-v2\", style: { width, height }, ref: wrapRef }, { children: _jsxs(historyControlV2Context.Provider, Object.assign({ value: store }, { children: [_jsx(Spin, { spinning: loading, className: \"vtx-spin\", size: \"large\" }), _jsx(\"div\", Object.assign({ className: `player-grid-container _${getRealGrid(state.grid)}` }, { children: getGridItems() })), _jsx(Panel, { onVideoClose: (channel) => {\n onVideoClose(channel, channels);\n }, ref: panelRef }), _jsxs(\"div\", Object.assign({ className: \"bottom-controls\" }, { children: [_jsx(Space, Object.assign({ className: \"left\", size: 12, align: \"center\" }, { children: onExpandChange && (_jsx(\"div\", Object.assign({ onClick: handleExpand, style: { display: 'flex' } }, { children: state.expand ? _jsx(FoldIcon, {}) : _jsx(ExpandIcon, {}) }))) })), _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [_jsx(CloseAllIcon, { onClick: handleCloseAll }), _jsx(\"div\", { className: \"split-line\" }), _jsx(SplitScreen, Object.assign({ grid: state.grid, setGrid: (grid) => setState({ grid }) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(GridIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) })), _jsx(VideoScale, Object.assign({ scale: state.scale, setScale: (scale) => setState({ scale }) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(OccupyingScreenIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) })), isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: toggleFullscreen })) : (_jsx(FullScreenIcon, { onClick: toggleFullscreen }))] }))] }))] })) })));\n});\nHistoryControlV2.displayName = 'HistoryControlV2';\nexport default HistoryControlV2;\n"],"mappings":"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"}
@@ -67,6 +67,8 @@ export interface IHistoryControlProps {
67
67
  showInfo?: boolean | 'leftTop' | 'leftBottom' | 'rightTop' | 'rightBottom';
68
68
  /** 信息 */
69
69
  info?: Array<Array<string>>;
70
+ /** 默认分屏 */
71
+ defaultGrid?: ISplitScreenGrid;
70
72
  }
71
73
 
72
74
  export type IChannel = {
@@ -95,6 +95,9 @@
95
95
  font-size: 14px;
96
96
  color: rgba(255, 255, 255, 0.65);
97
97
  }
98
+ .vtx-history-player .error-container img {
99
+ cursor: pointer;
100
+ }
98
101
  .vtx-history-player .loading-container {
99
102
  position: absolute;
100
103
  top: 50%;
@@ -87,6 +87,10 @@
87
87
  font-size: 14px;
88
88
  color:rgba(255, 255 ,255 , .65);
89
89
  }
90
+
91
+ img {
92
+ cursor: pointer;
93
+ }
90
94
  }
91
95
 
92
96
  .loading-container {
@@ -106,7 +106,7 @@ var LiveControl = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
106
106
  return {
107
107
  load: function load(channel) {
108
108
  var index = state.channels.findIndex(function (c) {
109
- return c.channelId && channel.channelId && c.channelId === channel.channelId;
109
+ return c.channelId && channel.channelId && c.channelNum === channel.channelNum;
110
110
  });
111
111
 
112
112
  if (~index) {
@@ -117,8 +117,8 @@ var LiveControl = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
117
117
  // 播放该通道
118
118
  var newChannels = _toConsumableArray(state.channels);
119
119
 
120
- newChannels[state.activeIndex] = channel;
121
120
  var activeIndex = getActiveIndex(newChannels, state.grid, state.activeIndex);
121
+ newChannels[activeIndex] = channel;
122
122
  setState({
123
123
  channels: newChannels,
124
124
  activeIndex: activeIndex
@@ -142,9 +142,9 @@ var LiveControl = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
142
142
  channels: newChannels
143
143
  });
144
144
  },
145
- unLoad: function unLoad(channelId) {
145
+ unLoad: function unLoad(channelNum) {
146
146
  var index = state.channels.findIndex(function (c) {
147
- return c.channelId === channelId;
147
+ return c.channelNum === channelNum;
148
148
  });
149
149
 
150
150
  if (~index) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["DEFAULT_GRID","DEFAULT_ACTIVE","DEFAULT_CHANNELS","Array","fill","channelNum","LiveControl","forwardRef","props","ref","height","width","onExpandChange","onChannelChange","polling","isDark","useSetState","expand","grid","activeIndex","channels","state","setState","wrapRef","useRef","useFullscreen","isFullscreen","toggleFullscreen","channelRef","useInterval","hasVideo","some","item","timer","setTimeout","current","clearTimeout","useImperativeHandle","load","channel","index","findIndex","c","channelId","newChannels","getActiveIndex","multiLoad","length","i","push","unLoad","useEffect","filter","map","handleCloseAll","handleExpand","getGridItems","items","element","_jsx","GridItem","active","onClick","onClose","_jsxs","Object","assign","className","style","children","Space","size","align","Tooltip","title","display","FoldIcon","ExpandIcon","CloseAllIcon","Grid1x1Icon","Grid2x2Icon","Grid3x3Icon","ExitFullScreenIcon","FullScreenIcon","displayName","empty","useRequest","getPreviewUrl","ready","refreshDeps","data","name","deviceName","channelName","_Fragment","PlayerHeader","VtxLivePlayer","url","type","player","enableAgent","captureName","showInfo","info","currentIndex","currentChannels","slice"],"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 { 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 [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 if (~index) {\n setState({ activeIndex: index }); // 如果通道号已经存在,则设置激活索引为该通道\n }\n else {\n // 播放该通道\n const newChannels = [...state.channels];\n newChannels[state.activeIndex] = channel;\n const activeIndex = getActiveIndex(newChannels, state.grid, state.activeIndex);\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: (channelId) => {\n const index = state.channels.findIndex((c) => c.channelId === channelId);\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 ? '收起' : '展开' }, { 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: \"\\u5168\\u90E8\\u5173\\u95ED\" }, { children: _jsx(\"div\", { children: _jsx(CloseAllIcon, { onClick: handleCloseAll }) }) })), _jsx(Tooltip, Object.assign({ title: \"1\\u5206\\u5C4F\" }, { children: _jsx(\"div\", { children: _jsx(Grid1x1Icon, { active: state.grid === 1, onClick: () => setState({ grid: 1 }) }) }) })), _jsx(Tooltip, Object.assign({ title: \"4\\u5206\\u5C4F\" }, { children: _jsx(\"div\", { children: _jsx(Grid2x2Icon, { active: state.grid === 2, onClick: () => setState({ grid: 2 }) }) }) })), _jsx(Tooltip, Object.assign({ title: \"9\\u5206\\u5C4F\" }, { children: _jsx(\"div\", { children: _jsx(Grid3x3Icon, { active: state.grid === 3, onClick: () => setState({ grid: 3 }) }) }) })), _jsx(Tooltip, Object.assign({ title: \"\\u5168\\u5C4F\" }, { 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, type: (data === null || data === void 0 ? void 0 : data.player) || '', 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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"}
1
+ {"version":3,"file":"index.js","names":["DEFAULT_GRID","DEFAULT_ACTIVE","DEFAULT_CHANNELS","Array","fill","channelNum","LiveControl","forwardRef","props","ref","height","width","onExpandChange","onChannelChange","polling","isDark","useSetState","expand","grid","activeIndex","channels","state","setState","wrapRef","useRef","useFullscreen","isFullscreen","toggleFullscreen","channelRef","useInterval","hasVideo","some","item","timer","setTimeout","current","clearTimeout","useImperativeHandle","load","channel","index","findIndex","c","channelId","newChannels","getActiveIndex","multiLoad","length","i","push","unLoad","useEffect","filter","map","handleCloseAll","handleExpand","getGridItems","items","element","_jsx","GridItem","active","onClick","onClose","_jsxs","Object","assign","className","style","children","Space","size","align","Tooltip","title","display","FoldIcon","ExpandIcon","CloseAllIcon","Grid1x1Icon","Grid2x2Icon","Grid3x3Icon","ExitFullScreenIcon","FullScreenIcon","displayName","empty","useRequest","getPreviewUrl","ready","refreshDeps","data","name","deviceName","channelName","_Fragment","PlayerHeader","VtxLivePlayer","url","type","player","enableAgent","captureName","showInfo","info","currentIndex","currentChannels","slice"],"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 { 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 [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 ? '收起' : '展开' }, { 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: \"\\u5168\\u90E8\\u5173\\u95ED\" }, { children: _jsx(\"div\", { children: _jsx(CloseAllIcon, { onClick: handleCloseAll }) }) })), _jsx(Tooltip, Object.assign({ title: \"1\\u5206\\u5C4F\" }, { children: _jsx(\"div\", { children: _jsx(Grid1x1Icon, { active: state.grid === 1, onClick: () => setState({ grid: 1 }) }) }) })), _jsx(Tooltip, Object.assign({ title: \"4\\u5206\\u5C4F\" }, { children: _jsx(\"div\", { children: _jsx(Grid2x2Icon, { active: state.grid === 2, onClick: () => setState({ grid: 2 }) }) }) })), _jsx(Tooltip, Object.assign({ title: \"9\\u5206\\u5C4F\" }, { children: _jsx(\"div\", { children: _jsx(Grid3x3Icon, { active: state.grid === 3, onClick: () => setState({ grid: 3 }) }) }) })), _jsx(Tooltip, Object.assign({ title: \"\\u5168\\u5C4F\" }, { 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, type: (data === null || data === void 0 ? void 0 : data.player) || '', 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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"}
@@ -37,6 +37,7 @@ interface LiveControlV2Props {
37
37
  gridChange?: boolean;
38
38
  /** 底部操作栏额外元素 */
39
39
  extraDom?: ReactElement | undefined;
40
+ defaultGrid?: ISplitScreenGrid;
40
41
  }
41
42
  export declare type ChannelType = {
42
43
  /** 通道号 */
@@ -75,11 +75,12 @@ var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
75
75
  _props$gridChange = props.gridChange,
76
76
  gridChange = _props$gridChange === void 0 ? true : _props$gridChange,
77
77
  onScreenshot = props.onScreenshot,
78
- scale = props.scale;
78
+ scale = props.scale,
79
+ defaultGrid = props.defaultGrid;
79
80
 
80
81
  var _useSetState = (0, _ahooks.useSetState)({
81
82
  expand: true,
82
- grid: DEFAULT_GRID,
83
+ grid: defaultGrid || DEFAULT_GRID,
83
84
  activeIndex: DEFAULT_ACTIVE,
84
85
  channels: DEFAULT_CHANNELS,
85
86
  scale: scale || '100%'
@@ -90,7 +91,7 @@ var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
90
91
 
91
92
  var playRefs = (0, _react.useRef)({});
92
93
  var wrapRef = (0, _react.useRef)(null);
93
- var latestGrid = (0, _react.useRef)(DEFAULT_GRID);
94
+ var latestGrid = (0, _react.useRef)(defaultGrid || DEFAULT_GRID);
94
95
 
95
96
  var _useFullscreen = (0, _ahooks.useFullscreen)(wrapRef),
96
97
  _useFullscreen2 = _slicedToArray(_useFullscreen, 2),
@@ -576,6 +577,12 @@ var GridItem = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
576
577
  tenantId: (0, _utils.getUrlParam)('tenantId')
577
578
  },
578
579
  type: handlePtzType((actData === null || actData === void 0 ? void 0 : actData.ptzType) || 4)
580
+ },
581
+ reroad: function reroad() {
582
+ setActData({});
583
+ (0, _api.getPreviewUrl)(channel).then(function (res) {
584
+ setActData(res);
585
+ });
579
586
  }
580
587
  })
581
588
  }))
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["DEFAULT_GRID","DEFAULT_ACTIVE","DEFAULT_CHANNELS","Array","fill","channelNum","channelId","LiveControlV2","forwardRef","props","ref","height","width","onExpandChange","onPlayingChannelChange","onVideoClose","onVideoCloseAll","onCloseVideoInRotation","extraDom","gridChange","onScreenshot","scale","useSetState","expand","grid","activeIndex","channels","state","setState","playRefs","useRef","wrapRef","latestGrid","useFullscreen","isFullscreen","toggleFullscreen","channelRef","useImperativeHandle","setGrid","updateGrid","load","channel","index","current","findIndex","c","newChannels","getActiveIndex","multiLoad","init","adapt","getGrid","length","i","Number","push","channelLength","filter","v","map","item","_a","_b","isRepeat","find","unLoad","updateChannels","unLoadAll","handleCloseAll","useEffect","handleExpand","slice","resizeAll","updateScale","timer","setTimeout","Object","values","forEach","player","resize","clearTimeout","closeVideo","currChannels","getGridItems","items","element","_jsx","GridItem","active","onClick","onClose","_jsxs","assign","className","style","children","Space","size","align","display","FoldIcon","ExpandIcon","CloseAllIcon","SplitScreen","GridIcon","DownOutlined","UpOutlined","disabled","VideoScale","setScale","OccupyingScreenIcon","ExitFullScreenIcon","FullScreenIcon","displayName","empty","useState","actData","setActData","loading","getPreviewUrl","then","res","name","deviceName","channelName","gridItemRef","gridItemSize","useSize","handlePtzType","type","types","url","_Fragment","PlayerHeader","VtxLivePlayer","deviceIp","devicePort","captureName","deviceId","deviceCode","streamType","showInfo","info","screenshot","cloudParams","query","tenantId","getUrlParam","ptzType","currentIndex","currentChannels","grids","len"],"sources":["live-control-v2/index.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef, useState, } from 'react';\nimport { getPreviewUrl } from '../api';\nimport SplitScreen from '../components/split-screen';\nimport VideoScale from '../components/video-scale';\nimport { PlayerHeader } from '../controls';\nimport { CloseAllIcon, ExitFullScreenIcon, ExpandIcon, FoldIcon, FullScreenIcon, GridIcon, OccupyingScreenIcon, } from '../icons';\nimport VtxLivePlayer from '../live-player';\nimport { getUrlParam } from '../utils';\nimport { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { useFullscreen, useSetState, useSize } from 'ahooks';\nimport Space from 'antd/lib/space';\nconst DEFAULT_GRID = 4;\nconst DEFAULT_ACTIVE = 0;\nconst DEFAULT_CHANNELS = Array(25).fill({ channelNum: '', channelId: '' });\n/**\n * 实时分屏组件\n */\nconst LiveControlV2 = forwardRef((props, ref) => {\n const { height = '100%', width = '100%', onExpandChange, onPlayingChannelChange, onVideoClose, onVideoCloseAll, onCloseVideoInRotation, extraDom, gridChange = true, onScreenshot, scale, } = props;\n const [state, setState] = useSetState({\n expand: true,\n grid: DEFAULT_GRID,\n activeIndex: DEFAULT_ACTIVE,\n channels: DEFAULT_CHANNELS,\n scale: scale || '100%',\n });\n const playRefs = useRef({});\n const wrapRef = useRef(null);\n const latestGrid = useRef(DEFAULT_GRID);\n const [isFullscreen, { toggleFullscreen }] = useFullscreen(wrapRef);\n const channelRef = useRef(DEFAULT_CHANNELS);\n // 实时视频轮询\n // useInterval(() => {\n // // 是否有视频正在播放\n // const hasVideo = channelRef.current.some((item) => item.channelNum);\n // if (polling && hasVideo) {\n // updateChannels(DEFAULT_CHANNELS);\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 setGrid: (grid) => {\n updateGrid(grid);\n },\n load: (channel) => {\n const index = channelRef.current.findIndex((c) => c.channelId && channel.channelId && c.channelId === channel.channelId);\n if (~index) {\n setState({ activeIndex: index }); // 如果通道号已经存在,则设置激活索引为该通道\n }\n else {\n // 播放该通道\n const newChannels = [...channelRef.current];\n newChannels[state.activeIndex] = channel;\n const activeIndex = getActiveIndex(newChannels, latestGrid.current, state.activeIndex);\n channelRef.current = newChannels;\n setState({ channels: newChannels, activeIndex });\n }\n },\n multiLoad: (channels, init = true, adapt = false) => {\n let grid = latestGrid.current;\n let newChannels = [], activeIndex = state.activeIndex;\n // 每次清空已经在播放的视频\n if (init) {\n adapt && (grid = getGrid(channels.length));\n for (let i = 0; i < Number(grid); i++) {\n newChannels.push(channels[i] ? channels[i] : { channelNum: '', channelId: '' });\n }\n }\n else {\n // 不清空,找寻空闲窗口播放\n const channelLength = channelRef.current.filter((v) => v.channelNum || v.channelId).length +\n channels.length;\n adapt && (grid = getGrid(channelLength));\n newChannels = [...new Array(grid)].map((item, index) => {\n var _a, _b;\n if (((_a = channelRef.current[index]) === null || _a === void 0 ? void 0 : _a.channelNum) ||\n ((_b = channelRef.current[index]) === null || _b === void 0 ? void 0 : _b.channelId)) {\n return channelRef.current[index];\n }\n return { channelNum: '', channelId: '' };\n });\n for (let i = 0; i < channels.length; i++) {\n const isRepeat = newChannels.find((item) => {\n var _a, _b;\n return (item === null || item === void 0 ? void 0 : item.channelNum) === ((_a = channels[i]) === null || _a === void 0 ? void 0 : _a.channelNum) ||\n (item === null || item === void 0 ? void 0 : item.channelId) === ((_b = channels[i]) === null || _b === void 0 ? void 0 : _b.channelId);\n });\n // 如果之前在播放,则不需重复打开新窗口\n if (!isRepeat) {\n const index = getActiveIndex(newChannels, grid, activeIndex);\n // 如果相等,说明没有空闲窗口\n // if (index === activeIndex) {\n // break;\n // }\n if (activeIndex === grid)\n break;\n newChannels[index] = channels[i] || { channelNum: '', channelId: '' };\n activeIndex = index + 1;\n }\n }\n }\n latestGrid.current = grid;\n channelRef.current = newChannels;\n setState({ grid, channels: newChannels, activeIndex });\n },\n unLoad: (channelId) => {\n const index = channelRef.current.findIndex((c) => c.channelId === channelId);\n if (~index) {\n // 卸载通道\n const newChannels = [...channelRef.current];\n newChannels[index] = { channelNum: '', channelId: '' };\n updateChannels(newChannels);\n }\n },\n unLoadAll: handleCloseAll,\n };\n });\n useEffect(() => {\n if (onPlayingChannelChange) {\n onPlayingChannelChange(state.channels.filter((c) => !!c.channelNum || !!c.channelId));\n }\n }, [state.channels]);\n const handleCloseAll = () => {\n setState({\n activeIndex: DEFAULT_ACTIVE,\n });\n channelRef.current = DEFAULT_CHANNELS;\n updateChannels(DEFAULT_CHANNELS);\n onVideoCloseAll && onVideoCloseAll();\n };\n const handleExpand = () => {\n onExpandChange && onExpandChange(!state.expand);\n setState({ expand: !state.expand });\n };\n const updateGrid = (grid) => {\n let newChannels = [...channelRef.current];\n if (grid > newChannels.length) {\n newChannels = DEFAULT_CHANNELS.slice(0, grid).map((item, index) => {\n return newChannels[index] ? newChannels[index] : item;\n });\n }\n else {\n newChannels = newChannels.slice(0, grid);\n }\n latestGrid.current = grid;\n channelRef.current = newChannels;\n setState({ grid, channels: newChannels });\n // 重置视频大小\n resizeAll();\n };\n const updateScale = (scale) => {\n setState({ scale });\n // 重置视频大小\n resizeAll();\n };\n // 重置所有视频大小\n const resizeAll = () => {\n const timer = setTimeout(() => {\n Object.values(playRefs.current).forEach((player) => {\n player && player.resize();\n });\n clearTimeout(timer);\n }, 100);\n };\n const updateChannels = (channels) => {\n channelRef.current = channels;\n setState({ channels });\n };\n // 关闭视频\n const closeVideo = (i) => {\n const currChannels = [...channelRef.current];\n const newChannels = [...channelRef.current];\n newChannels[i] = { channelNum: '', channelId: '' };\n updateChannels(newChannels);\n onVideoClose && onVideoClose(currChannels[i], newChannels);\n };\n const getGridItems = () => {\n const items = [];\n for (let i = 0; i < Number(latestGrid.current); i++) {\n const element = (_jsx(GridItem, { ref: (ref) => {\n playRefs.current[i] = ref;\n }, active: state.activeIndex === i, onClick: () => setState({ activeIndex: i }), channel: channelRef.current[i] || { channelNum: '', channelId: '' }, onClose: () => {\n // 如果正在轮播\n if (onCloseVideoInRotation) {\n onCloseVideoInRotation(() => closeVideo(i));\n return;\n }\n closeVideo(i);\n }, scale: state.scale, onScreenshot: onScreenshot }, i));\n items.push(element);\n }\n return items;\n };\n return (_jsxs(\"div\", Object.assign({ className: \"vtx-live-control-v2\", ref: wrapRef, style: { height, width } }, { children: [_jsx(\"div\", Object.assign({ className: `player-grid-container _${state.grid}` }, { children: getGridItems() })), _jsxs(\"div\", Object.assign({ className: \"bottom-controls\" }, { children: [_jsxs(Space, Object.assign({ className: \"left\", size: 12, align: \"center\" }, { children: [onExpandChange && (_jsx(\"div\", Object.assign({ onClick: handleExpand, style: { display: 'flex' } }, { children: state.expand ? _jsx(FoldIcon, {}) : _jsx(ExpandIcon, {}) }))), extraDom ? extraDom : null] })), _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [_jsx(CloseAllIcon, { onClick: handleCloseAll }), _jsx(\"div\", { className: \"split-line\" }), gridChange ? (_jsx(SplitScreen, Object.assign({ grid: state.grid, setGrid: (grid) => updateGrid(grid) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(GridIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) }))) : (_jsxs(\"div\", Object.assign({ className: 'grid-change-disable' }, { children: [_jsx(GridIcon, { disabled: !gridChange }), _jsx(DownOutlined, { className: \"arrow\" })] }))), _jsx(VideoScale, Object.assign({ scale: state.scale, setScale: (scale) => updateScale(scale) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(OccupyingScreenIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) })), isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: toggleFullscreen })) : (_jsx(FullScreenIcon, { onClick: toggleFullscreen }))] }))] }))] })));\n});\nLiveControlV2.displayName = 'LiveControlV2';\nconst GridItem = forwardRef((props, ref) => {\n const { active, onClick, channel, onClose, onScreenshot, scale } = props;\n const empty = !channel.channelNum && !channel.channelId;\n const [actData, setActData] = useState({});\n const loading = false;\n // const { data, loading } = useRequest(() => getPreviewUrl(channel as Required<ChannelType>), {\n // ready: !!channel.channelNum || !!channel.channelId,\n // refreshDeps: [channel.channelNum, channel.channelId],\n // });\n useEffect(() => {\n if ((channel === null || channel === void 0 ? void 0 : channel.channelNum) || channel.channelId) {\n getPreviewUrl(channel).then((res) => {\n setActData(res);\n });\n }\n else {\n setActData({});\n }\n }, [channel === null || channel === void 0 ? void 0 : channel.channelNum, channel === null || channel === void 0 ? void 0 : channel.channelId]);\n const name = `${actData === null || actData === void 0 ? void 0 : actData.deviceName}-${actData === null || actData === void 0 ? void 0 : actData.channelName}`;\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 handlePtzType = (type) => {\n const types = {\n 1: 'all',\n 2: 'onlyFocus',\n 3: 'onlyRotate',\n 4: 'none',\n };\n return types[type];\n };\n return (_jsx(\"div\", Object.assign({ className: `grid-item-container ${active ? 'active' : ''} ${loading ? '' : 'emptyImg'}`, onClick: onClick, ref: gridItemRef }, { children: (actData === null || actData === void 0 ? void 0 : actData.url) && (_jsxs(_Fragment, { children: [!empty && _jsx(PlayerHeader, { name: name, onClose: onClose }), _jsx(\"div\", Object.assign({ className: \"content\" }, { children: _jsx(\"div\", Object.assign({ style: { width, height } }, { children: _jsx(VtxLivePlayer, { ref: ref, empty: empty, url: actData.url, type: actData === null || actData === void 0 ? void 0 : actData.player, deviceIp: actData.deviceIp, devicePort: actData.devicePort, captureName: name, deviceId: actData.deviceId, channelNum: actData.channelNum, deviceCode: actData.deviceCode, streamType: actData.streamType, showInfo: channel.showInfo, info: channel.info, screenshot: onScreenshot, cloudParams: {\n query: {\n channelNum: actData.channelNum,\n deviceId: actData.deviceId,\n tenantId: getUrlParam('tenantId'),\n },\n type: handlePtzType((actData === null || actData === void 0 ? void 0 : actData.ptzType) || 4),\n } }) })) }))] })) })));\n});\nGridItem.displayName = 'grid-item';\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, Number(grid));\n for (let i = currentIndex; i < currentChannels.length; i++) {\n if (!currentChannels[i].channelNum && !currentChannels[i].channelId)\n return i;\n }\n for (let i = 0; i < currentIndex; i++) {\n if (!currentChannels[i].channelNum && !currentChannels[i].channelId)\n return i;\n }\n return currentIndex;\n};\nconst grids = [1, 4, 6, 8, 9, 13, 17, 16, 22, 25];\n/**\n * 获取布局\n * @param len 通道数量\n */\nconst getGrid = (len) => {\n let grid;\n for (let i = 0; i < grids.length; i++) {\n if (grids[i] - len >= 0) {\n grid = grids[i];\n break;\n }\n }\n return grid > 25 ? 25 : grid;\n};\nexport default LiveControlV2;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["DEFAULT_GRID","DEFAULT_ACTIVE","DEFAULT_CHANNELS","Array","fill","channelNum","channelId","LiveControlV2","forwardRef","props","ref","height","width","onExpandChange","onPlayingChannelChange","onVideoClose","onVideoCloseAll","onCloseVideoInRotation","extraDom","gridChange","onScreenshot","scale","defaultGrid","useSetState","expand","grid","activeIndex","channels","state","setState","playRefs","useRef","wrapRef","latestGrid","useFullscreen","isFullscreen","toggleFullscreen","channelRef","useImperativeHandle","setGrid","updateGrid","load","channel","index","current","findIndex","c","newChannels","getActiveIndex","multiLoad","init","adapt","getGrid","length","i","Number","push","channelLength","filter","v","map","item","_a","_b","isRepeat","find","unLoad","updateChannels","unLoadAll","handleCloseAll","useEffect","handleExpand","slice","resizeAll","updateScale","timer","setTimeout","Object","values","forEach","player","resize","clearTimeout","closeVideo","currChannels","getGridItems","items","element","_jsx","GridItem","active","onClick","onClose","_jsxs","assign","className","style","children","Space","size","align","display","FoldIcon","ExpandIcon","CloseAllIcon","SplitScreen","GridIcon","DownOutlined","UpOutlined","disabled","VideoScale","setScale","OccupyingScreenIcon","ExitFullScreenIcon","FullScreenIcon","displayName","empty","useState","actData","setActData","loading","getPreviewUrl","then","res","name","deviceName","channelName","gridItemRef","gridItemSize","useSize","handlePtzType","type","types","url","_Fragment","PlayerHeader","VtxLivePlayer","deviceIp","devicePort","captureName","deviceId","deviceCode","streamType","showInfo","info","screenshot","cloudParams","query","tenantId","getUrlParam","ptzType","reroad","currentIndex","currentChannels","grids","len"],"sources":["live-control-v2/index.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef, useState, } from 'react';\nimport { getPreviewUrl } from '../api';\nimport SplitScreen from '../components/split-screen';\nimport VideoScale from '../components/video-scale';\nimport { PlayerHeader } from '../controls';\nimport { CloseAllIcon, ExitFullScreenIcon, ExpandIcon, FoldIcon, FullScreenIcon, GridIcon, OccupyingScreenIcon, } from '../icons';\nimport VtxLivePlayer from '../live-player';\nimport { getUrlParam } from '../utils';\nimport { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { useFullscreen, useSetState, useSize } from 'ahooks';\nimport Space from 'antd/lib/space';\nconst DEFAULT_GRID = 4;\nconst DEFAULT_ACTIVE = 0;\nconst DEFAULT_CHANNELS = Array(25).fill({ channelNum: '', channelId: '' });\n/**\n * 实时分屏组件\n */\nconst LiveControlV2 = forwardRef((props, ref) => {\n const { height = '100%', width = '100%', onExpandChange, onPlayingChannelChange, onVideoClose, onVideoCloseAll, onCloseVideoInRotation, extraDom, gridChange = true, onScreenshot, scale, defaultGrid, } = props;\n const [state, setState] = useSetState({\n expand: true,\n grid: defaultGrid || DEFAULT_GRID,\n activeIndex: DEFAULT_ACTIVE,\n channels: DEFAULT_CHANNELS,\n scale: scale || '100%',\n });\n const playRefs = useRef({});\n const wrapRef = useRef(null);\n const latestGrid = useRef(defaultGrid || DEFAULT_GRID);\n const [isFullscreen, { toggleFullscreen }] = useFullscreen(wrapRef);\n const channelRef = useRef(DEFAULT_CHANNELS);\n // 实时视频轮询\n // useInterval(() => {\n // // 是否有视频正在播放\n // const hasVideo = channelRef.current.some((item) => item.channelNum);\n // if (polling && hasVideo) {\n // updateChannels(DEFAULT_CHANNELS);\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 setGrid: (grid) => {\n updateGrid(grid);\n },\n load: (channel) => {\n const index = channelRef.current.findIndex((c) => c.channelId && channel.channelId && c.channelId === channel.channelId);\n if (~index) {\n setState({ activeIndex: index }); // 如果通道号已经存在,则设置激活索引为该通道\n }\n else {\n // 播放该通道\n const newChannels = [...channelRef.current];\n newChannels[state.activeIndex] = channel;\n const activeIndex = getActiveIndex(newChannels, latestGrid.current, state.activeIndex);\n channelRef.current = newChannels;\n setState({ channels: newChannels, activeIndex });\n }\n },\n multiLoad: (channels, init = true, adapt = false) => {\n let grid = latestGrid.current;\n let newChannels = [], activeIndex = state.activeIndex;\n // 每次清空已经在播放的视频\n if (init) {\n adapt && (grid = getGrid(channels.length));\n for (let i = 0; i < Number(grid); i++) {\n newChannels.push(channels[i] ? channels[i] : { channelNum: '', channelId: '' });\n }\n }\n else {\n // 不清空,找寻空闲窗口播放\n const channelLength = channelRef.current.filter((v) => v.channelNum || v.channelId).length +\n channels.length;\n adapt && (grid = getGrid(channelLength));\n newChannels = [...new Array(grid)].map((item, index) => {\n var _a, _b;\n if (((_a = channelRef.current[index]) === null || _a === void 0 ? void 0 : _a.channelNum) ||\n ((_b = channelRef.current[index]) === null || _b === void 0 ? void 0 : _b.channelId)) {\n return channelRef.current[index];\n }\n return { channelNum: '', channelId: '' };\n });\n for (let i = 0; i < channels.length; i++) {\n const isRepeat = newChannels.find((item) => {\n var _a, _b;\n return (item === null || item === void 0 ? void 0 : item.channelNum) === ((_a = channels[i]) === null || _a === void 0 ? void 0 : _a.channelNum) ||\n (item === null || item === void 0 ? void 0 : item.channelId) === ((_b = channels[i]) === null || _b === void 0 ? void 0 : _b.channelId);\n });\n // 如果之前在播放,则不需重复打开新窗口\n if (!isRepeat) {\n const index = getActiveIndex(newChannels, grid, activeIndex);\n // 如果相等,说明没有空闲窗口\n // if (index === activeIndex) {\n // break;\n // }\n if (activeIndex === grid)\n break;\n newChannels[index] = channels[i] || { channelNum: '', channelId: '' };\n activeIndex = index + 1;\n }\n }\n }\n latestGrid.current = grid;\n channelRef.current = newChannels;\n setState({ grid, channels: newChannels, activeIndex });\n },\n unLoad: (channelId) => {\n const index = channelRef.current.findIndex((c) => c.channelId === channelId);\n if (~index) {\n // 卸载通道\n const newChannels = [...channelRef.current];\n newChannels[index] = { channelNum: '', channelId: '' };\n updateChannels(newChannels);\n }\n },\n unLoadAll: handleCloseAll,\n };\n });\n useEffect(() => {\n if (onPlayingChannelChange) {\n onPlayingChannelChange(state.channels.filter((c) => !!c.channelNum || !!c.channelId));\n }\n }, [state.channels]);\n const handleCloseAll = () => {\n setState({\n activeIndex: DEFAULT_ACTIVE,\n });\n channelRef.current = DEFAULT_CHANNELS;\n updateChannels(DEFAULT_CHANNELS);\n onVideoCloseAll && onVideoCloseAll();\n };\n const handleExpand = () => {\n onExpandChange && onExpandChange(!state.expand);\n setState({ expand: !state.expand });\n };\n const updateGrid = (grid) => {\n let newChannels = [...channelRef.current];\n if (grid > newChannels.length) {\n newChannels = DEFAULT_CHANNELS.slice(0, grid).map((item, index) => {\n return newChannels[index] ? newChannels[index] : item;\n });\n }\n else {\n newChannels = newChannels.slice(0, grid);\n }\n latestGrid.current = grid;\n channelRef.current = newChannels;\n setState({ grid, channels: newChannels });\n // 重置视频大小\n resizeAll();\n };\n const updateScale = (scale) => {\n setState({ scale });\n // 重置视频大小\n resizeAll();\n };\n // 重置所有视频大小\n const resizeAll = () => {\n const timer = setTimeout(() => {\n Object.values(playRefs.current).forEach((player) => {\n player && player.resize();\n });\n clearTimeout(timer);\n }, 100);\n };\n const updateChannels = (channels) => {\n channelRef.current = channels;\n setState({ channels });\n };\n // 关闭视频\n const closeVideo = (i) => {\n const currChannels = [...channelRef.current];\n const newChannels = [...channelRef.current];\n newChannels[i] = { channelNum: '', channelId: '' };\n updateChannels(newChannels);\n onVideoClose && onVideoClose(currChannels[i], newChannels);\n };\n const getGridItems = () => {\n const items = [];\n for (let i = 0; i < Number(latestGrid.current); i++) {\n const element = (_jsx(GridItem, { ref: (ref) => {\n playRefs.current[i] = ref;\n }, active: state.activeIndex === i, onClick: () => setState({ activeIndex: i }), channel: channelRef.current[i] || { channelNum: '', channelId: '' }, onClose: () => {\n // 如果正在轮播\n if (onCloseVideoInRotation) {\n onCloseVideoInRotation(() => closeVideo(i));\n return;\n }\n closeVideo(i);\n }, scale: state.scale, onScreenshot: onScreenshot }, i));\n items.push(element);\n }\n return items;\n };\n return (_jsxs(\"div\", Object.assign({ className: \"vtx-live-control-v2\", ref: wrapRef, style: { height, width } }, { children: [_jsx(\"div\", Object.assign({ className: `player-grid-container _${state.grid}` }, { children: getGridItems() })), _jsxs(\"div\", Object.assign({ className: \"bottom-controls\" }, { children: [_jsxs(Space, Object.assign({ className: \"left\", size: 12, align: \"center\" }, { children: [onExpandChange && (_jsx(\"div\", Object.assign({ onClick: handleExpand, style: { display: 'flex' } }, { children: state.expand ? _jsx(FoldIcon, {}) : _jsx(ExpandIcon, {}) }))), extraDom ? extraDom : null] })), _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [_jsx(CloseAllIcon, { onClick: handleCloseAll }), _jsx(\"div\", { className: \"split-line\" }), gridChange ? (_jsx(SplitScreen, Object.assign({ grid: state.grid, setGrid: (grid) => updateGrid(grid) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(GridIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) }))) : (_jsxs(\"div\", Object.assign({ className: 'grid-change-disable' }, { children: [_jsx(GridIcon, { disabled: !gridChange }), _jsx(DownOutlined, { className: \"arrow\" })] }))), _jsx(VideoScale, Object.assign({ scale: state.scale, setScale: (scale) => updateScale(scale) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(OccupyingScreenIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) })), isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: toggleFullscreen })) : (_jsx(FullScreenIcon, { onClick: toggleFullscreen }))] }))] }))] })));\n});\nLiveControlV2.displayName = 'LiveControlV2';\nconst GridItem = forwardRef((props, ref) => {\n const { active, onClick, channel, onClose, onScreenshot, scale } = props;\n const empty = !channel.channelNum && !channel.channelId;\n const [actData, setActData] = useState({});\n const loading = false;\n // const { data, loading } = useRequest(() => getPreviewUrl(channel as Required<ChannelType>), {\n // ready: !!channel.channelNum || !!channel.channelId,\n // refreshDeps: [channel.channelNum, channel.channelId],\n // });\n useEffect(() => {\n if ((channel === null || channel === void 0 ? void 0 : channel.channelNum) || channel.channelId) {\n getPreviewUrl(channel).then((res) => {\n setActData(res);\n });\n }\n else {\n setActData({});\n }\n }, [channel === null || channel === void 0 ? void 0 : channel.channelNum, channel === null || channel === void 0 ? void 0 : channel.channelId]);\n const name = `${actData === null || actData === void 0 ? void 0 : actData.deviceName}-${actData === null || actData === void 0 ? void 0 : actData.channelName}`;\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 handlePtzType = (type) => {\n const types = {\n 1: 'all',\n 2: 'onlyFocus',\n 3: 'onlyRotate',\n 4: 'none',\n };\n return types[type];\n };\n return (_jsx(\"div\", Object.assign({ className: `grid-item-container ${active ? 'active' : ''} ${loading ? '' : 'emptyImg'}`, onClick: onClick, ref: gridItemRef }, { children: (actData === null || actData === void 0 ? void 0 : actData.url) && (_jsxs(_Fragment, { children: [!empty && _jsx(PlayerHeader, { name: name, onClose: onClose }), _jsx(\"div\", Object.assign({ className: \"content\" }, { children: _jsx(\"div\", Object.assign({ style: { width, height } }, { children: _jsx(VtxLivePlayer, { ref: ref, empty: empty, url: actData.url, type: actData === null || actData === void 0 ? void 0 : actData.player, deviceIp: actData.deviceIp, devicePort: actData.devicePort, captureName: name, deviceId: actData.deviceId, channelNum: actData.channelNum, deviceCode: actData.deviceCode, streamType: actData.streamType, showInfo: channel.showInfo, info: channel.info, screenshot: onScreenshot, cloudParams: {\n query: {\n channelNum: actData.channelNum,\n deviceId: actData.deviceId,\n tenantId: getUrlParam('tenantId'),\n },\n type: handlePtzType((actData === null || actData === void 0 ? void 0 : actData.ptzType) || 4),\n }, reroad: () => {\n setActData({});\n getPreviewUrl(channel).then((res) => {\n setActData(res);\n });\n } }) })) }))] })) })));\n});\nGridItem.displayName = 'grid-item';\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, Number(grid));\n for (let i = currentIndex; i < currentChannels.length; i++) {\n if (!currentChannels[i].channelNum && !currentChannels[i].channelId)\n return i;\n }\n for (let i = 0; i < currentIndex; i++) {\n if (!currentChannels[i].channelNum && !currentChannels[i].channelId)\n return i;\n }\n return currentIndex;\n};\nconst grids = [1, 4, 6, 8, 9, 13, 17, 16, 22, 25];\n/**\n * 获取布局\n * @param len 通道数量\n */\nconst getGrid = (len) => {\n let grid;\n for (let i = 0; i < grids.length; i++) {\n if (grids[i] - len >= 0) {\n grid = grids[i];\n break;\n }\n }\n return grid > 25 ? 25 : grid;\n};\nexport default LiveControlV2;\n"],"mappings":"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"}
@@ -43,6 +43,8 @@ interface VtxPlayerProps {
43
43
  resize?: () => void;
44
44
  /** 加载结束回调 */
45
45
  loaded?: () => void;
46
+ /** 加载失败重新调用接口 */
47
+ reroad?: () => void;
46
48
  }
47
49
  declare const _default: React.ForwardRefExoticComponent<VtxPlayerProps & React.RefAttributes<unknown>>;
48
50
  export default _default;
@@ -97,7 +97,8 @@ var LivePlayer = function LivePlayer(props, selfRef) {
97
97
  _props$info = props.info,
98
98
  info = _props$info === void 0 ? [] : _props$info,
99
99
  screenshot = props.screenshot,
100
- loaded = props.loaded;
100
+ loaded = props.loaded,
101
+ reroad = props.reroad;
101
102
  var ref = (0, _react.useRef)(null);
102
103
  var wrapRef = (0, _react.useRef)(null);
103
104
  var controlsRef = (0, _react.useRef)(null);
@@ -249,7 +250,9 @@ var LivePlayer = function LivePlayer(props, selfRef) {
249
250
  width: '100%'
250
251
  },
251
252
  id: state.id
252
- }), state.error && (0, _jsxRuntime.jsx)(_controls.ErrorState, {}), state.loading && (0, _jsxRuntime.jsx)(_controls.LoadingState, {}), state.showCloudPanel && cloudParams && (0, _jsxRuntime.jsx)(_controls.CloudControlPanel, Object.assign({}, cloudParams)), (0, _jsxRuntime.jsx)(_controls.InfoPanel, {
253
+ }), state.error && (0, _jsxRuntime.jsx)(_controls.ErrorState, {
254
+ onClick: reroad
255
+ }), state.loading && (0, _jsxRuntime.jsx)(_controls.LoadingState, {}), state.showCloudPanel && cloudParams && (0, _jsxRuntime.jsx)(_controls.CloudControlPanel, Object.assign({}, cloudParams)), (0, _jsxRuntime.jsx)(_controls.InfoPanel, {
253
256
  showInfo: showInfo,
254
257
  info: info
255
258
  }), (0, _jsxRuntime.jsx)("div", Object.assign({