@vtx/player 1.10.5 → 1.10.7

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_jsxRuntime","require","_react","_api","_controls","_utils","_api2","_interopRequireDefault","_icons","_index","_utils2","_utils3","_ahooks","_slider","_space","_moment","e","__esModule","_regenerator","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","w","m","defineProperty","_regeneratorDefine","enumerable","configurable","writable","_invoke","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","next","push","isArray","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","Promise","reject","fulfilled","step","rejected","result","then","apply","HistoryPlayer","exports","forwardRef","props","ref","url","originalUrl","deviceId","deviceIp","devicePort","channelNum","deviceCode","streamType","type","enableAgent","_props$width","width","_props$height","height","captureName","_props$controlBottom","controlBottom","startTime","endTime","onTimeChange","handleUrlChange","screenshot","reload","_props$showInfo","showInfo","_props$info","info","extraButton","_props$controlVisible","controlVisible","undefined","_props$timelineCurren","timelineCurrentTime","vRef","useRef","totalTime","moment","diff","containerRef","wrapRef","controlsRef","playerRef","bdPlayerRef","_useFullscreen","useFullscreen","_useFullscreen2","isFullscreen","toggleFullscreen","_useSetState","useSetState","currUrl","play","error","loading","id","guidGenerator","volume","currentTime","progress","progress2","controls","progressVisible","speedVisible","reloadFlag","_useSetState2","state","setState","_useRequest","useRequest","getPlaybackUrlVtxWs","manual","GetVtxWsUrl","runAsync","useImperativeHandle","seekTo","useEffect","container","current","clearInterval","playerParams","getPlayerParams","transType","player","_callee","token","PLAYER","_t","_context","setTimeout","API","getToken","localStorage","setItem","FlvPlayer","HlsPlayer","VtxHlsPlayer","VtxwhepPlayer","HkwsPlayer","HkcarwsPlayer","VtxwsPlayer","IccwsPlayer","WebrtcPlayer","WfsPlayer","H264Player","BdPlayer","Mp4Player","IframePlayer","RslPlayer","live","includes","playBack","res","format","TimeFormat","params","handleBDPlay","setInterval","add","unix","Math","floor","onTimeUpdate","_currentTime","speed","ct","destroy","endProgress","useDebounce","wait","handleCapture","capture","stopPropagation","handleFullScreen","resize","handleSlider","st","handleVtxWsPlay","time","handlePause","pause","handleResume","resume","rtspUrl","getVtxWsUrl","getVtxWSTimeString","getVtxToken","data","getPlayTime","_jsxs","assign","className","style","children","_jsx","LoadingState","InfoPanel","bottom","opacity","PauseIcon","onClick","PlayIcon","_Fragment","Slider","disabled","tipFormatter","onChange","Space","size","align","VolumeControl","defaultValue","SpeedControl","CaptureIcon","ExitFullScreenIcon","FullScreenIcon","_default"],"sources":["history-player/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, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';\nimport { getPlaybackUrlVtxWs } from '../api';\nimport { InfoPanel, LoadingState, SpeedControl, VolumeControl } from '../controls';\nimport { getVtxWsUrl } from '../history-control-v2/utils';\nimport API from '../icc/api';\nimport { CaptureIcon, ExitFullScreenIcon, FullScreenIcon, PauseIcon, PlayIcon } from '../icons';\nimport { BdPlayer, FlvPlayer, H264Player, HkcarwsPlayer, HkwsPlayer, HlsPlayer, IccwsPlayer, IframePlayer, Mp4Player, RslPlayer, VtxHlsPlayer, VtxwhepPlayer, VtxwsPlayer, WebrtcPlayer, WfsPlayer, } from '../player/index';\nimport { TimeFormat, getPlayerParams, getVtxWSTimeString, guidGenerator } from '../utils';\nimport { getVtxToken } from '@vtx/utils';\nimport { useDebounce, useFullscreen, useRequest, useSetState } from 'ahooks';\nimport Slider from 'antd/lib/slider';\nimport Space from 'antd/lib/space';\nimport moment from 'moment';\nexport const HistoryPlayer = forwardRef((props, ref) => {\n const { url, originalUrl, deviceId, deviceIp, devicePort, channelNum, deviceCode, streamType, type, enableAgent, width = '100%', height = '100%', captureName, controlBottom = 0, startTime, endTime, onTimeChange, handleUrlChange, screenshot, reload, showInfo = false, info = [], extraButton, controlVisible = undefined, timelineCurrentTime = '', } = props;\n const vRef = useRef(null);\n const totalTime = moment(endTime).diff(moment(startTime), 'seconds');\n const containerRef = useRef(null);\n const wrapRef = useRef(null);\n const controlsRef = useRef(null);\n const playerRef = useRef();\n const bdPlayerRef = useRef();\n const [isFullscreen, { toggleFullscreen }] = useFullscreen(wrapRef);\n const [state, setState] = useSetState({\n currUrl: '',\n play: false,\n error: false,\n loading: false,\n id: 'vtx_hk_player_' + guidGenerator(),\n volume: 0,\n currentTime: '',\n progress: 0,\n progress2: 0,\n controls: {\n progress: true,\n },\n progressVisible: true,\n speedVisible: true,\n reloadFlag: 0,\n });\n const { runAsync: GetVtxWsUrl } = useRequest(getPlaybackUrlVtxWs, {\n manual: true,\n });\n useImperativeHandle(ref, () => {\n return {\n seekTo: seekTo,\n };\n });\n useEffect(() => {\n if (timelineCurrentTime) {\n seekTo(timelineCurrentTime);\n }\n }, [timelineCurrentTime]);\n useEffect(() => {\n const container = containerRef.current;\n if (vRef.current) {\n clearInterval(vRef.current);\n vRef.current = null;\n }\n if (!url || !container)\n return;\n const playerParams = getPlayerParams(type, url, enableAgent, true);\n const transType = type || playerParams.type;\n let player = null;\n playerRef.current = null;\n (() => __awaiter(void 0, void 0, void 0, function* () {\n if (transType === 'bd') {\n yield new Promise((resolve) => {\n setTimeout(() => resolve(''), 2000);\n });\n }\n // 如果是icc_ws类型,需要获取token\n if (type === 'icc_ws') {\n const token = yield API.getToken({\n deviceId,\n });\n localStorage.setItem('accessToken', token);\n }\n let PLAYER = null;\n switch (transType) {\n case 'flv':\n PLAYER = FlvPlayer;\n break;\n case 'hls':\n PLAYER = HlsPlayer;\n break;\n case 'vtxhls':\n PLAYER = VtxHlsPlayer;\n break;\n case 'vtxwhep':\n PLAYER = VtxwhepPlayer;\n break;\n case 'hk_ws':\n PLAYER = HkwsPlayer;\n break;\n case 'hkcar_ws':\n PLAYER = HkcarwsPlayer;\n break;\n case 'vtx_ws':\n PLAYER = VtxwsPlayer;\n break;\n case 'icc_ws':\n PLAYER = IccwsPlayer;\n break;\n case 'webrtc':\n PLAYER = WebrtcPlayer;\n break;\n case 'wfs':\n PLAYER = WfsPlayer;\n break;\n case 'h264':\n PLAYER = H264Player;\n break;\n case 'bd':\n PLAYER = BdPlayer;\n break;\n case 'mp4':\n PLAYER = Mp4Player;\n break;\n case 'iframe':\n PLAYER = IframePlayer;\n break;\n case 'rsl':\n PLAYER = RslPlayer;\n break;\n default:\n break;\n }\n player = yield new PLAYER({\n url,\n originalUrl,\n devicePort,\n deviceIp,\n channelNum,\n deviceCode,\n deviceId,\n streamType,\n enableAgent,\n container,\n live: false,\n startTime,\n endTime,\n type,\n reload: () => {\n if (typeof reload === 'function') {\n reload();\n }\n },\n });\n playerRef.current = player;\n yield setState({\n loading: true,\n error: false,\n progress: 0,\n controls: { progress: ['hk_ws', 'hkcar_ws', 'bd', 'vtx_ws'].includes(player.type) },\n progressVisible: true,\n speedVisible: player.type !== 'bd',\n });\n player\n .playBack()\n .then((res) => {\n setState({\n play: true,\n currentTime: moment(startTime).format(TimeFormat.params),\n loading: false,\n });\n let i = 1;\n if (type === 'bd') {\n bdPlayerRef.current = res;\n handleBDPlay(res);\n }\n else if (type !== 'vtx_ws') {\n vRef.current = setInterval(() => {\n // 当时间大于等于结束时间时重置\n if (moment(startTime).add(i, 's').unix() >= moment(endTime).unix()) {\n clearInterval(vRef.current);\n vRef.current = null;\n setState({\n currentTime: '',\n progress: 0,\n });\n }\n else {\n i++;\n if (!state.loading) {\n setState({\n currentTime: moment(startTime)\n .add(i, 's')\n .format(TimeFormat.params),\n progress: Math.floor((i * 100) / totalTime),\n });\n }\n }\n }, 1000);\n }\n })\n .catch(() => setState({ error: true, loading: false }))\n .finally(() => setState({ loading: false }));\n player.onTimeUpdate((_currentTime, speed) => {\n if (!state.loading) {\n const ct = state.currUrl\n ? moment(state.currentTime).diff(startTime, 'seconds') + _currentTime\n : _currentTime;\n setState({\n progress: Math.floor((ct / totalTime) * 100),\n currentTime: moment(state.currUrl ? state.currentTime : startTime)\n .add(Math.floor(_currentTime), 'seconds')\n .format(TimeFormat.params),\n speed,\n });\n }\n });\n }))();\n return () => {\n player && player.destroy();\n setState({ error: false, loading: false, play: false });\n if (vRef.current) {\n clearInterval(vRef.current);\n vRef.current = null;\n }\n };\n }, [url, startTime, endTime]);\n useEffect(() => {\n if (!state.loading) {\n onTimeChange &&\n onTimeChange(state.currentTime ? moment(state.currentTime).format(TimeFormat.params) : '', state.speed);\n }\n }, [state.currentTime, state.speed]);\n useEffect(() => {\n if (state.currUrl) {\n handleUrlChange &&\n handleUrlChange(state.currentTime ? moment(state.currentTime).format(TimeFormat.params) : '', state.currUrl);\n }\n }, [state.currUrl]);\n const endProgress = useDebounce(state.progress2, { wait: 500 });\n useEffect(() => {\n const currentTime = Math.floor((totalTime * endProgress) / 100);\n const player = playerRef.current;\n player === null || player === void 0 ? void 0 : player.seekTo(currentTime);\n setState({\n progress: endProgress,\n });\n }, [endProgress]);\n /** 截图方法 */\n const handleCapture = (e) => {\n const player = playerRef.current;\n player && player.capture(captureName, screenshot);\n e.stopPropagation();\n };\n /** 全屏方法 */\n const handleFullScreen = (e) => {\n toggleFullscreen();\n const player = playerRef.current;\n player && player.resize();\n e.stopPropagation();\n };\n useEffect(() => {\n const player = playerRef.current;\n player && player.resize();\n }, [width, height]);\n /** 进度条控制器 */\n const handleSlider = (value) => {\n if (vRef.current) {\n clearInterval(vRef.current);\n vRef.current = null;\n }\n const currentTime = Math.floor((totalTime * value) / 100);\n const st = moment(state.currentTime).add(currentTime, 'seconds').format(TimeFormat.params);\n if (type === 'vtx_ws') {\n handleVtxWsPlay(st, value);\n return;\n }\n setState({\n progress2: value,\n currentTime: st,\n });\n if (type === 'bd') {\n const res = bdPlayerRef.current;\n handleBDPlay(res);\n return;\n }\n let i = 1;\n vRef.current = setInterval(() => {\n if (moment(startTime).unix() + i + currentTime >= moment(endTime).unix()) {\n clearInterval(vRef.current);\n vRef.current = null;\n setState({\n currentTime: '',\n progress: 0,\n });\n }\n else if (!state.loading) {\n setState({\n currentTime: moment(startTime)\n .add(i + currentTime, 's')\n .format(TimeFormat.params),\n progress: Math.floor(((i + currentTime) / totalTime) * 100),\n });\n i++;\n }\n }, 1000);\n };\n // 点击分段panel播放该段视频并定位到时间点播放\n const seekTo = (time) => {\n const player = playerRef.current;\n if (player) {\n const currentTime = moment(time).diff(moment(startTime), 'seconds');\n return player.seekTo(currentTime);\n }\n else {\n return Promise.reject();\n }\n };\n /** 暂停方法 */\n const handlePause = () => {\n const player = playerRef.current;\n player === null || player === void 0 ? void 0 : player.pause(() => {\n setState({ play: false });\n });\n if (vRef.current) {\n clearInterval(vRef.current);\n vRef.current = null;\n }\n };\n /** 恢复播放方法 */\n const handleResume = () => {\n const player = playerRef.current;\n player === null || player === void 0 ? void 0 : player.resume(() => {\n setState({ play: true });\n });\n if (vRef.current) {\n clearInterval(vRef.current);\n vRef.current = null;\n }\n if (type === 'vtx_ws') {\n handleVtxWsPlay(state.currentTime, state.progress);\n }\n if (type === 'bd') {\n player === null || player === void 0 ? void 0 : player.resume(() => {\n const res = bdPlayerRef.current;\n handleBDPlay(res);\n });\n return;\n }\n let i = 2;\n vRef.current = setInterval(() => {\n if (moment(state.currentTime).unix() + i >= moment(endTime).unix()) {\n clearInterval(vRef.current);\n vRef.current = null;\n setState({\n currentTime: '',\n progress: 0,\n });\n }\n if (!state.loading) {\n setState({\n currentTime: moment(state.currentTime).add(i, 's').format(TimeFormat.params),\n progress: Math.floor(((i + moment(state.currentTime).unix()) / totalTime) * 100),\n });\n i++;\n }\n }, 1000);\n };\n const handleVtxWsPlay = (st, value) => {\n setState({\n loading: true,\n });\n const rtspUrl = getVtxWsUrl(originalUrl, getVtxWSTimeString(st), getVtxWSTimeString(endTime));\n //vtx_ws 重新获取url\n GetVtxWsUrl({\n rtspUrl,\n token: getVtxToken('token'),\n }).then((data) => {\n playerRef.current.destroy();\n setState({\n progress2: value,\n currentTime: st,\n currUrl: data,\n loading: false,\n });\n });\n };\n const handleBDPlay = (res) => {\n // 北斗视频通过cmsv6实例获取播放器时间\n if ((res === null || res === void 0 ? void 0 : res.getPlayTime()) >= 0) {\n vRef.current && clearInterval(vRef.current);\n vRef.current = setInterval(() => {\n if (moment(startTime)\n .add(res.getPlayTime() + 1, 's')\n .unix() >= moment(endTime).unix()) {\n clearInterval(vRef.current);\n vRef.current = null;\n setState({\n currentTime: '',\n progress: 0,\n });\n }\n else {\n if (!state.loading && res.getPlayTime() > 0) {\n setState({\n currentTime: moment(startTime)\n .add(res.getPlayTime(), 's')\n .format(TimeFormat.params),\n progress: Math.floor(((res.getPlayTime() + 1 || 0) / totalTime) * 100),\n });\n }\n }\n }, 1000);\n }\n };\n return (_jsxs(\"div\", Object.assign({ className: \"vtx-history-player\", ref: wrapRef, style: { width, height } }, { children: [_jsx(\"div\", { ref: containerRef, style: { height: '100%', width: '100%' }, id: state.id }), state.loading && _jsx(LoadingState, {}), _jsx(InfoPanel, { showInfo: showInfo, info: info }), _jsxs(\"div\", Object.assign({ className: \"controls\", ref: controlsRef, style: { bottom: controlBottom, opacity: controlVisible ? 1 : undefined } }, { children: [state.play ? (_jsx(PauseIcon, { onClick: handlePause })) : (_jsx(PlayIcon, { onClick: handleResume })), state.progressVisible && (_jsxs(_Fragment, { children: [_jsxs(\"div\", Object.assign({ className: \"time\" }, { children: [_jsx(\"span\", Object.assign({ className: \"current\" }, { children: state.currentTime\n ? moment(state.currentTime).format('HH:mm:ss')\n : '-' })), _jsxs(\"span\", Object.assign({ className: \"total\" }, { children: [\"/\", moment(endTime).format('HH:mm:ss')] }))] })), _jsx(\"div\", Object.assign({ className: \"slider\" }, { children: _jsx(Slider, { disabled: !state.controls.progress, tipFormatter: null, onChange: handleSlider, value: state.progress }) }))] })), _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [_jsx(VolumeControl, { player: playerRef.current, defaultValue: 0, container: controlsRef.current }), state.speedVisible && type !== 'vtx_ws' && (_jsx(SpeedControl, { player: playerRef.current, container: controlsRef.current })), !!screenshot && _jsx(CaptureIcon, { onClick: handleCapture }), extraButton ? extraButton : null, isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: handleFullScreen })) : (_jsx(FullScreenIcon, { onClick: handleFullScreen }))] }))] }))] })));\n});\nHistoryPlayer.displayName = 'HistoryPlayer';\nexport default HistoryPlayer;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_jsxRuntime","require","_react","_api","_controls","_utils","_api2","_interopRequireDefault","_icons","_index","_utils2","_utils3","_ahooks","_slider","_space","_moment","e","__esModule","_regenerator","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","w","m","defineProperty","_regeneratorDefine","enumerable","configurable","writable","_invoke","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","next","push","isArray","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","Promise","reject","fulfilled","step","rejected","result","then","apply","HistoryPlayer","exports","forwardRef","props","ref","url","originalUrl","deviceId","deviceIp","devicePort","channelNum","channelId","channelName","deviceCode","deviceName","streamType","type","enableAgent","hkType","_props$width","width","_props$height","height","captureName","_props$controlBottom","controlBottom","startTime","endTime","onTimeChange","handleUrlChange","screenshot","reload","_props$showInfo","showInfo","_props$info","info","extraButton","_props$controlVisible","controlVisible","undefined","_props$timelineCurren","timelineCurrentTime","vRef","useRef","totalTime","moment","diff","containerRef","wrapRef","controlsRef","playerRef","bdPlayerRef","_useFullscreen","useFullscreen","_useFullscreen2","isFullscreen","toggleFullscreen","_useSetState","useSetState","currUrl","play","error","loading","id","guidGenerator","volume","currentTime","progress","progress2","controls","progressVisible","speedVisible","reloadFlag","playRecordId","_useSetState2","state","setState","_useRequest","useRequest","getPlaybackUrlVtxWs","manual","GetVtxWsUrl","runAsync","useImperativeHandle","seekTo","saveRecordFetch","bdPlayer","current","useEffect","container","clearInterval","playerParams","getPlayerParams","transType","player","_callee","token","PLAYER","_t","_context","setTimeout","API","getToken","localStorage","setItem","FlvPlayer","HlsPlayer","VtxHlsPlayer","VtxwhepPlayer","HkwsPlayer","HkcarwsPlayer","VtxwsPlayer","IccwsPlayer","WebrtcPlayer","WfsPlayer","H264Player","BdPlayer","Mp4Player","IframePlayer","RslPlayer","live","includes","playBack","res","format","TimeFormat","params","handleBDPlay","setInterval","add","unix","Math","floor","onTimeUpdate","_currentTime","speed","ct","destroy","saveRecord","recordType","endProgress","useDebounce","wait","handleCapture","capture","stopPropagation","handleFullScreen","resize","handleSlider","st","handleVtxWsPlay","time","handlePause","pause","handleResume","resume","rtspUrl","getVtxWsUrl","getVtxWSTimeString","getVtxToken","data","getPlayTime","_jsxs","assign","className","style","children","_jsx","LoadingState","InfoPanel","bottom","opacity","PauseIcon","onClick","PlayIcon","_Fragment","Slider","disabled","tipFormatter","onChange","Space","size","align","VolumeControl","defaultValue","SpeedControl","CaptureIcon","ExitFullScreenIcon","FullScreenIcon","_default"],"sources":["history-player/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, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';\nimport { getPlaybackUrlVtxWs } from '../api';\nimport { saveRecord } from '../api';\nimport { InfoPanel, LoadingState, SpeedControl, VolumeControl } from '../controls';\nimport { getVtxWsUrl } from '../history-control-v2/utils';\nimport API from '../icc/api';\nimport { CaptureIcon, ExitFullScreenIcon, FullScreenIcon, PauseIcon, PlayIcon } from '../icons';\nimport { BdPlayer, FlvPlayer, H264Player, HkcarwsPlayer, HkwsPlayer, HlsPlayer, IccwsPlayer, IframePlayer, Mp4Player, RslPlayer, VtxHlsPlayer, VtxwhepPlayer, VtxwsPlayer, WebrtcPlayer, WfsPlayer, } from '../player/index';\nimport { TimeFormat, getPlayerParams, getVtxWSTimeString, guidGenerator } from '../utils';\nimport { getVtxToken } from '@vtx/utils';\nimport { useDebounce, useFullscreen, useRequest, useSetState } from 'ahooks';\nimport Slider from 'antd/lib/slider';\nimport Space from 'antd/lib/space';\nimport moment from 'moment';\nexport const HistoryPlayer = forwardRef((props, ref) => {\n const { url, originalUrl, deviceId, deviceIp, devicePort, channelNum, channelId, channelName, deviceCode, deviceName, streamType, type, enableAgent, hkType, width = '100%', height = '100%', captureName, controlBottom = 0, startTime, endTime, onTimeChange, handleUrlChange, screenshot, reload, showInfo = false, info = [], extraButton, controlVisible = undefined, timelineCurrentTime = '', } = props;\n const vRef = useRef(null);\n const totalTime = moment(endTime).diff(moment(startTime), 'seconds');\n const containerRef = useRef(null);\n const wrapRef = useRef(null);\n const controlsRef = useRef(null);\n const playerRef = useRef();\n const bdPlayerRef = useRef();\n const [isFullscreen, { toggleFullscreen }] = useFullscreen(wrapRef);\n const [state, setState] = useSetState({\n currUrl: '',\n play: false,\n error: false,\n loading: false,\n id: 'vtx_hk_player_' + guidGenerator(),\n volume: 0,\n currentTime: '',\n progress: 0,\n progress2: 0,\n controls: {\n progress: true,\n },\n progressVisible: true,\n speedVisible: true,\n reloadFlag: 0,\n playRecordId: '',\n });\n const { runAsync: GetVtxWsUrl } = useRequest(getPlaybackUrlVtxWs, {\n manual: true,\n });\n useImperativeHandle(ref, () => {\n return {\n seekTo: seekTo,\n saveRecordFetch: saveRecordFetch,\n bdPlayer: bdPlayerRef.current,\n };\n });\n useEffect(() => {\n if (timelineCurrentTime) {\n seekTo(timelineCurrentTime);\n }\n }, [timelineCurrentTime]);\n useEffect(() => {\n const container = containerRef.current;\n if (vRef.current) {\n clearInterval(vRef.current);\n vRef.current = null;\n }\n if (!url || !container)\n return;\n const playerParams = getPlayerParams(type, url, enableAgent, true);\n const transType = type || playerParams.type;\n let player = null;\n playerRef.current = null;\n (() => __awaiter(void 0, void 0, void 0, function* () {\n if (transType === 'bd') {\n yield new Promise((resolve) => {\n setTimeout(() => resolve(''), 2000);\n });\n }\n // 如果是icc_ws类型,需要获取token\n if (type === 'icc_ws') {\n const token = yield API.getToken({\n deviceId,\n });\n localStorage.setItem('accessToken', token);\n }\n let PLAYER = null;\n switch (transType) {\n case 'flv':\n PLAYER = FlvPlayer;\n break;\n case 'hls':\n PLAYER = HlsPlayer;\n break;\n case 'vtxhls':\n PLAYER = VtxHlsPlayer;\n break;\n case 'vtxwhep':\n PLAYER = VtxwhepPlayer;\n break;\n case 'hk_ws':\n PLAYER = HkwsPlayer;\n break;\n case 'hkcar_ws':\n PLAYER = HkcarwsPlayer;\n break;\n case 'vtx_ws':\n PLAYER = VtxwsPlayer;\n break;\n case 'icc_ws':\n PLAYER = IccwsPlayer;\n break;\n case 'webrtc':\n PLAYER = WebrtcPlayer;\n break;\n case 'wfs':\n PLAYER = WfsPlayer;\n break;\n case 'h264':\n PLAYER = H264Player;\n break;\n case 'bd':\n PLAYER = BdPlayer;\n break;\n case 'mp4':\n PLAYER = Mp4Player;\n break;\n case 'iframe':\n PLAYER = IframePlayer;\n break;\n case 'rsl':\n PLAYER = RslPlayer;\n break;\n default:\n break;\n }\n player = yield new PLAYER({\n url,\n originalUrl,\n devicePort,\n deviceIp,\n channelNum,\n deviceCode,\n deviceId,\n streamType,\n enableAgent,\n container,\n live: false,\n startTime,\n endTime,\n type,\n reload: () => {\n if (typeof reload === 'function') {\n reload();\n }\n },\n });\n playerRef.current = player;\n yield setState({\n loading: true,\n error: false,\n progress: 0,\n controls: {\n progress: ['hk_ws', 'hkcar_ws', 'bd'].includes(transType) ||\n (transType === 'vtx_ws' && hkType === 'ISC'),\n },\n progressVisible: transType === 'vtx_ws' ? hkType === 'ISC' : true,\n speedVisible: transType !== 'bd',\n });\n player\n .playBack()\n .then((res) => {\n setState({\n play: true,\n currentTime: moment(startTime).format(TimeFormat.params),\n loading: false,\n });\n saveRecordFetch();\n let i = 1;\n if (type === 'bd') {\n bdPlayerRef.current = res;\n handleBDPlay(res);\n }\n else if (type !== 'vtx_ws') {\n vRef.current = setInterval(() => {\n // 当时间大于等于结束时间时重置\n if (moment(startTime).add(i, 's').unix() >= moment(endTime).unix()) {\n clearInterval(vRef.current);\n vRef.current = null;\n setState({\n currentTime: '',\n progress: 0,\n });\n }\n else {\n i++;\n if (!state.loading) {\n setState({\n currentTime: moment(startTime)\n .add(i, 's')\n .format(TimeFormat.params),\n progress: Math.floor((i * 100) / totalTime),\n });\n }\n }\n }, 1000);\n }\n })\n .catch(() => setState({ error: true, loading: false }))\n .finally(() => setState({ loading: false }));\n player.onTimeUpdate((_currentTime, speed) => {\n if (!state.loading) {\n const ct = state.currUrl\n ? moment(state.currentTime).diff(startTime, 'seconds') + _currentTime\n : _currentTime;\n setState({\n progress: Math.floor((ct / totalTime) * 100),\n currentTime: moment(state.currUrl ? state.currentTime : startTime)\n .add(Math.floor(_currentTime), 'seconds')\n .format(TimeFormat.params),\n speed,\n });\n }\n });\n }))();\n return () => {\n player && player.destroy();\n saveRecordFetch();\n setState({ error: false, loading: false, play: false });\n if (vRef.current) {\n clearInterval(vRef.current);\n vRef.current = null;\n }\n };\n }, [url, startTime, endTime]);\n // 保存播放记录\n const saveRecordFetch = () => {\n saveRecord({\n id: state.playRecordId,\n channelId,\n channelName,\n deviceId,\n deviceName,\n recordType: 'HISTORY',\n startTime: moment().format('YYYY-MM-DD HH:mm:ss'),\n endTime: state.playRecordId ? moment().format('YYYY-MM-DD HH:mm:ss') : '',\n }).then((res) => {\n setState({\n playRecordId: res === null || res === void 0 ? void 0 : res.id,\n });\n });\n };\n useEffect(() => {\n if (!state.loading) {\n onTimeChange &&\n onTimeChange(state.currentTime ? moment(state.currentTime).format(TimeFormat.params) : '', state.speed);\n }\n }, [state.currentTime, state.speed]);\n useEffect(() => {\n if (state.currUrl) {\n handleUrlChange &&\n handleUrlChange(state.currentTime ? moment(state.currentTime).format(TimeFormat.params) : '', state.currUrl);\n }\n }, [state.currUrl]);\n const endProgress = useDebounce(state.progress2, { wait: 500 });\n useEffect(() => {\n const currentTime = Math.floor((totalTime * endProgress) / 100);\n const player = playerRef.current;\n player === null || player === void 0 ? void 0 : player.seekTo(currentTime);\n setState({\n progress: endProgress,\n });\n }, [endProgress]);\n /** 截图方法 */\n const handleCapture = (e) => {\n const player = playerRef.current;\n player && player.capture(captureName, screenshot);\n e.stopPropagation();\n };\n /** 全屏方法 */\n const handleFullScreen = (e) => {\n toggleFullscreen();\n const player = playerRef.current;\n player && player.resize();\n e.stopPropagation();\n };\n useEffect(() => {\n const player = playerRef.current;\n player && player.resize();\n }, [width, height]);\n /** 进度条控制器 */\n const handleSlider = (value) => {\n if (vRef.current) {\n clearInterval(vRef.current);\n vRef.current = null;\n }\n const currentTime = Math.floor((totalTime * value) / 100);\n const st = moment(startTime).add(currentTime, 'seconds').format(TimeFormat.params);\n if (type === 'vtx_ws') {\n handleVtxWsPlay(st, value);\n return;\n }\n setState({\n progress2: value,\n currentTime: st,\n });\n if (type === 'bd') {\n const res = bdPlayerRef.current;\n handleBDPlay(res);\n return;\n }\n let i = 1;\n vRef.current = setInterval(() => {\n if (moment(startTime).unix() + i + currentTime >= moment(endTime).unix()) {\n clearInterval(vRef.current);\n vRef.current = null;\n setState({\n currentTime: '',\n progress: 0,\n });\n }\n else if (!state.loading) {\n setState({\n currentTime: moment(startTime)\n .add(i + currentTime, 's')\n .format(TimeFormat.params),\n progress: Math.floor(((i + currentTime) / totalTime) * 100),\n });\n i++;\n }\n }, 1000);\n };\n // 点击分段panel播放该段视频并定位到时间点播放\n const seekTo = (time) => {\n const player = playerRef.current;\n if (player) {\n const currentTime = moment(time).diff(moment(startTime), 'seconds');\n return player.seekTo(currentTime);\n }\n else {\n return Promise.reject();\n }\n };\n /** 暂停方法 */\n const handlePause = () => {\n const player = playerRef.current;\n player === null || player === void 0 ? void 0 : player.pause(() => {\n setState({ play: false });\n });\n if (vRef.current) {\n clearInterval(vRef.current);\n vRef.current = null;\n }\n };\n /** 恢复播放方法 */\n const handleResume = () => {\n const player = playerRef.current;\n player === null || player === void 0 ? void 0 : player.resume(() => {\n setState({ play: true });\n });\n if (vRef.current) {\n clearInterval(vRef.current);\n vRef.current = null;\n }\n if (type === 'vtx_ws') {\n handleVtxWsPlay(state.currentTime, state.progress);\n }\n if (type === 'bd') {\n player === null || player === void 0 ? void 0 : player.resume(() => {\n const res = bdPlayerRef.current;\n handleBDPlay(res);\n });\n return;\n }\n let i = 2;\n vRef.current = setInterval(() => {\n if (moment(state.currentTime).unix() + i >= moment(endTime).unix()) {\n clearInterval(vRef.current);\n vRef.current = null;\n setState({\n currentTime: '',\n progress: 0,\n });\n }\n if (!state.loading) {\n setState({\n currentTime: moment(state.currentTime).add(i, 's').format(TimeFormat.params),\n progress: Math.floor(((i + moment(state.currentTime).unix()) / totalTime) * 100),\n });\n i++;\n }\n }, 1000);\n };\n const handleVtxWsPlay = (st, value) => {\n setState({\n loading: true,\n });\n const rtspUrl = getVtxWsUrl(originalUrl, getVtxWSTimeString(st), getVtxWSTimeString(endTime));\n //vtx_ws 重新获取url\n GetVtxWsUrl({\n rtspUrl,\n token: getVtxToken('token'),\n }).then((data) => {\n playerRef.current.destroy();\n setState({\n progress2: value,\n currentTime: st,\n currUrl: data,\n loading: false,\n });\n });\n };\n const handleBDPlay = (res) => {\n // 北斗视频通过cmsv6实例获取播放器时间\n if ((res === null || res === void 0 ? void 0 : res.getPlayTime()) >= 0) {\n vRef.current && clearInterval(vRef.current);\n vRef.current = setInterval(() => {\n if (moment(startTime)\n .add(res.getPlayTime() + 1, 's')\n .unix() >= moment(endTime).unix()) {\n clearInterval(vRef.current);\n vRef.current = null;\n setState({\n currentTime: '',\n progress: 0,\n });\n }\n else {\n if (!state.loading && res.getPlayTime() > 0) {\n setState({\n currentTime: moment(startTime)\n .add(res.getPlayTime(), 's')\n .format(TimeFormat.params),\n progress: Math.floor(((res.getPlayTime() + 1 || 0) / totalTime) * 100),\n });\n }\n }\n }, 1000);\n }\n };\n return (_jsxs(\"div\", Object.assign({ className: \"vtx-history-player\", ref: wrapRef, style: { width, height } }, { children: [_jsx(\"div\", { ref: containerRef, style: { height: '100%', width: '100%' }, id: state.id }), state.loading && _jsx(LoadingState, {}), _jsx(InfoPanel, { showInfo: showInfo, info: info }), _jsxs(\"div\", Object.assign({ className: \"controls\", ref: controlsRef, style: { bottom: controlBottom, opacity: controlVisible ? 1 : undefined } }, { children: [state.play ? (_jsx(PauseIcon, { onClick: handlePause })) : (_jsx(PlayIcon, { onClick: handleResume })), state.progressVisible && (_jsxs(_Fragment, { children: [_jsxs(\"div\", Object.assign({ className: \"time\" }, { children: [_jsx(\"span\", Object.assign({ className: \"current\" }, { children: state.currentTime\n ? moment(state.currentTime).format('HH:mm:ss')\n : '-' })), _jsxs(\"span\", Object.assign({ className: \"total\" }, { children: [\"/\", moment(endTime).format('HH:mm:ss')] }))] })), _jsx(\"div\", Object.assign({ className: \"slider\" }, { children: _jsx(Slider, { disabled: !state.controls.progress, tipFormatter: null, onChange: handleSlider, value: state.progress }) }))] })), _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [_jsx(VolumeControl, { player: playerRef.current, defaultValue: 0, container: controlsRef.current }), state.speedVisible && type !== 'vtx_ws' && (_jsx(SpeedControl, { player: playerRef.current, container: controlsRef.current })), !!screenshot && _jsx(CaptureIcon, { onClick: handleCapture }), extraButton ? extraButton : null, isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: handleFullScreen })) : (_jsx(FullScreenIcon, { onClick: handleFullScreen }))] }))] }))] })));\n});\nHistoryPlayer.displayName = 'HistoryPlayer';\nexport default HistoryPlayer;\n"],"mappings":"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","ignoreList":[]}
@@ -16,6 +16,7 @@ var _icons2 = require("@ant-design/icons");
16
16
  var _utils = require("@vtx/utils");
17
17
  var _ahooks = require("ahooks");
18
18
  var _space = _interopRequireDefault(require("antd/lib/space"));
19
+ var _moment = _interopRequireDefault(require("moment"));
19
20
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
20
21
  function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
21
22
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -198,6 +199,9 @@ var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
198
199
  }
199
200
  }, [state.channels]);
200
201
  var handleCloseAll = function handleCloseAll() {
202
+ Object.values(playRefs.current).forEach(function (player) {
203
+ player && player.saveRecordFetch();
204
+ });
201
205
  setState({
202
206
  activeIndex: DEFAULT_ACTIVE
203
207
  });
@@ -280,6 +284,7 @@ var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
280
284
  channelId: ''
281
285
  },
282
286
  onClose: function onClose() {
287
+ var _a;
283
288
  // 如果正在轮播
284
289
  if (onCloseVideoInRotation) {
285
290
  onCloseVideoInRotation(function () {
@@ -287,6 +292,7 @@ var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
287
292
  });
288
293
  return;
289
294
  }
295
+ (_a = playRefs.current[i]) === null || _a === void 0 ? void 0 : _a.saveRecordFetch((0, _moment["default"])().format('YYYY-MM-DD HH:mm:ss'));
290
296
  closeVideo(i);
291
297
  },
292
298
  scale: state.scale,
@@ -442,10 +448,6 @@ var GridItem = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
442
448
  actData = _useState2[0],
443
449
  setActData = _useState2[1];
444
450
  var loading = false;
445
- // const { data, loading } = useRequest(() => getPreviewUrl(channel as Required<ChannelType>), {
446
- // ready: !!channel.channelNum || !!channel.channelId,
447
- // refreshDeps: [channel.channelNum, channel.channelId],
448
- // });
449
451
  (0, _react.useEffect)(function () {
450
452
  if ((channel === null || channel === void 0 ? void 0 : channel.channelNum) || channel.channelId) {
451
453
  (0, _api.getPreviewUrl)(channel).then(function (res) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_jsxRuntime","require","_react","_api","_splitScreen","_interopRequireDefault","_videoScale","_controls","_icons","_livePlayer","_icons2","_utils","_ahooks","_space","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","channelId","LiveControlV2","forwardRef","props","ref","_props$height","height","_props$width","width","onExpandChange","onPlayingChannelChange","onVideoClose","onVideoCloseAll","onCloseVideoInRotation","extraDom","_props$gridChange","gridChange","onScreenshot","scale","defaultGrid","_useSetState","useSetState","expand","grid","activeIndex","channels","_useSetState2","state","setState","dragRef","useRef","playRefs","wrapRef","latestGrid","_useFullscreen","useFullscreen","_useFullscreen2","isFullscreen","toggleFullscreen","channelRef","useImperativeHandle","setGrid","updateGrid","load","channel","index","current","findIndex","c","newChannels","getActiveIndex","multiLoad","init","arguments","undefined","adapt","getGrid","Number","channelLength","filter","v","map","item","_a","_b","_loop","_i","isRepeat","find","unLoad","updateChannels","unLoadAll","handleCloseAll","useEffect","handleExpand","resizeAll","updateScale","timer","setTimeout","values","forEach","player","resize","clearTimeout","closeVideo","currChannels","getGridItems","items","_loop2","element","_jsx","GridItem","active","onClick","onClose","_index","el","parentNode","previousElementSibling","findParent","className","indexOf","_jsxs","assign","style","children","concat","onDragStart","target","onDragOver","indexDraging","indexTarget","insertBefore","nextSibling","Space","size","align","display","FoldIcon","ExpandIcon","CloseAllIcon","SplitScreen","GridIcon","DownOutlined","UpOutlined","disabled","VideoScale","setScale","OccupyingScreenIcon","ExitFullScreenIcon","FullScreenIcon","displayName","empty","_useState","useState","_useState2","actData","setActData","loading","getPreviewUrl","then","res","deviceName","channelName","_useSetState3","_useSetState4","_useSetState4$","gridItemRef","gridItemSize","useSize","handlePtzType","type","types","draggable","url","_Fragment","PlayerHeader","VtxLivePlayer","beenHasVideo","deviceIp","devicePort","captureName","deviceId","enableAgent","deviceCode","streamType","showInfo","info","screenshot","cloudParams","query","tenantId","getVtxToken","ptzType","reload","currentIndex","currentChannels","grids","len","_default","exports"],"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 { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { getVtxToken } from '@vtx/utils';\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 dragRef = useRef(null);\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 function _index(el) {\n let index = 0;\n if (!el || !el.parentNode) {\n return -1;\n }\n // previousElementSibling:上一个兄弟元素\n while (el && (el = el.previousElementSibling)) {\n index++;\n }\n return index;\n }\n function findParent(el, className) {\n if (el.className &&\n typeof el.className == 'string' &&\n el.className.indexOf(className) > -1) {\n return el;\n }\n return findParent(el.parentNode, className);\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}`, onDragStart: (e) => {\n dragRef.current = e.target;\n }, onDragOver: (e) => {\n if (!e.target) {\n return;\n }\n let target = e.target;\n if (target == null) {\n return;\n }\n target = findParent(target, 'grid-item-container');\n const indexDraging = _index(dragRef.current), indexTarget = _index(target);\n try {\n if (indexDraging < indexTarget) {\n // 目标比元素大,插到其后面\n // extSibling下一个兄弟元素\n target.parentNode.insertBefore(dragRef.current, target.nextSibling);\n }\n else if (indexDraging > indexTarget) {\n // 目标比元素小,插到其前面\n target.parentNode.insertBefore(dragRef.current, target);\n }\n resizeAll();\n }\n catch (e) {\n //\n }\n } }, { 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, draggable: true }, { 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, beenHasVideo: actData.beenHasVideo, url: actData.url, type: actData === null || actData === void 0 ? void 0 : actData.player, deviceIp: actData.deviceIp, devicePort: actData.devicePort, captureName: name, deviceId: actData.deviceId, channelId: channel.channelId, channelNum: actData.channelNum, enableAgent: actData.enableAgent, 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: getVtxToken('tenantId'),\n },\n type: handlePtzType((actData === null || actData === void 0 ? void 0 : actData.ptzType) || 4),\n }, reload: () => {\n setActData({ url: '' });\n getPreviewUrl(channel).then((res) => {\n setActData(res);\n });\n }, onClose: onClose }) })) }))] })) })));\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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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_jsxRuntime","require","_react","_api","_splitScreen","_interopRequireDefault","_videoScale","_controls","_icons","_livePlayer","_icons2","_utils","_ahooks","_space","_moment","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","channelId","LiveControlV2","forwardRef","props","ref","_props$height","height","_props$width","width","onExpandChange","onPlayingChannelChange","onVideoClose","onVideoCloseAll","onCloseVideoInRotation","extraDom","_props$gridChange","gridChange","onScreenshot","scale","defaultGrid","_useSetState","useSetState","expand","grid","activeIndex","channels","_useSetState2","state","setState","dragRef","useRef","playRefs","wrapRef","latestGrid","_useFullscreen","useFullscreen","_useFullscreen2","isFullscreen","toggleFullscreen","channelRef","useImperativeHandle","setGrid","updateGrid","load","channel","index","current","findIndex","c","newChannels","getActiveIndex","multiLoad","init","arguments","undefined","adapt","getGrid","Number","channelLength","filter","v","map","item","_a","_b","_loop","_i","isRepeat","find","unLoad","updateChannels","unLoadAll","handleCloseAll","useEffect","values","forEach","player","saveRecordFetch","handleExpand","resizeAll","updateScale","timer","setTimeout","resize","clearTimeout","closeVideo","currChannels","getGridItems","items","_loop2","element","_jsx","GridItem","active","onClick","onClose","moment","format","_index","el","parentNode","previousElementSibling","findParent","className","indexOf","_jsxs","assign","style","children","concat","onDragStart","target","onDragOver","indexDraging","indexTarget","insertBefore","nextSibling","Space","size","align","display","FoldIcon","ExpandIcon","CloseAllIcon","SplitScreen","GridIcon","DownOutlined","UpOutlined","disabled","VideoScale","setScale","OccupyingScreenIcon","ExitFullScreenIcon","FullScreenIcon","displayName","empty","_useState","useState","_useState2","actData","setActData","loading","getPreviewUrl","then","res","deviceName","channelName","_useSetState3","_useSetState4","_useSetState4$","gridItemRef","gridItemSize","useSize","handlePtzType","type","types","draggable","url","_Fragment","PlayerHeader","VtxLivePlayer","beenHasVideo","deviceIp","devicePort","captureName","deviceId","enableAgent","deviceCode","streamType","showInfo","info","screenshot","cloudParams","query","tenantId","getVtxToken","ptzType","reload","currentIndex","currentChannels","grids","len","_default","exports"],"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 { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { getVtxToken } from '@vtx/utils';\nimport { useFullscreen, useSetState, useSize } from 'ahooks';\nimport Space from 'antd/lib/space';\nimport moment from 'moment';\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 dragRef = useRef(null);\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 Object.values(playRefs.current).forEach((player) => {\n player && player.saveRecordFetch();\n });\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 var _a;\n // 如果正在轮播\n if (onCloseVideoInRotation) {\n onCloseVideoInRotation(() => closeVideo(i));\n return;\n }\n (_a = playRefs.current[i]) === null || _a === void 0 ? void 0 : _a.saveRecordFetch(moment().format('YYYY-MM-DD HH:mm:ss'));\n closeVideo(i);\n }, scale: state.scale, onScreenshot: onScreenshot }, i));\n items.push(element);\n }\n return items;\n };\n function _index(el) {\n let index = 0;\n if (!el || !el.parentNode) {\n return -1;\n }\n // previousElementSibling:上一个兄弟元素\n while (el && (el = el.previousElementSibling)) {\n index++;\n }\n return index;\n }\n function findParent(el, className) {\n if (el.className &&\n typeof el.className == 'string' &&\n el.className.indexOf(className) > -1) {\n return el;\n }\n return findParent(el.parentNode, className);\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}`, onDragStart: (e) => {\n dragRef.current = e.target;\n }, onDragOver: (e) => {\n if (!e.target) {\n return;\n }\n let target = e.target;\n if (target == null) {\n return;\n }\n target = findParent(target, 'grid-item-container');\n const indexDraging = _index(dragRef.current), indexTarget = _index(target);\n try {\n if (indexDraging < indexTarget) {\n // 目标比元素大,插到其后面\n // extSibling下一个兄弟元素\n target.parentNode.insertBefore(dragRef.current, target.nextSibling);\n }\n else if (indexDraging > indexTarget) {\n // 目标比元素小,插到其前面\n target.parentNode.insertBefore(dragRef.current, target);\n }\n resizeAll();\n }\n catch (e) {\n //\n }\n } }, { 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 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, draggable: true }, { 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, beenHasVideo: actData.beenHasVideo, url: actData.url, type: actData === null || actData === void 0 ? void 0 : actData.player, deviceIp: actData.deviceIp, devicePort: actData.devicePort, captureName: name, deviceId: actData.deviceId, channelId: channel.channelId, channelNum: actData.channelNum, enableAgent: actData.enableAgent, 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: getVtxToken('tenantId'),\n },\n type: handlePtzType((actData === null || actData === void 0 ? void 0 : actData.ptzType) || 4),\n }, reload: () => {\n setActData({ url: '' });\n getPreviewUrl(channel).then((res) => {\n setActData(res);\n });\n }, onClose: onClose }) })) }))] })) })));\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":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,IAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAD,sBAAA,CAAAJ,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,WAAA,GAAAJ,sBAAA,CAAAJ,OAAA;AACA,IAAAS,OAAA,GAAAT,OAAA;AACA,IAAAU,MAAA,GAAAV,OAAA;AACA,IAAAW,OAAA,GAAAX,OAAA;AACA,IAAAY,MAAA,GAAAR,sBAAA,CAAAJ,OAAA;AACA,IAAAa,OAAA,GAAAT,sBAAA,CAAAJ,OAAA;AAA4B,SAAAI,uBAAAU,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,gBAAAA,CAAA;AAAA,SAAAE,mBAAAC,CAAA,WAAAC,kBAAA,CAAAD,CAAA,KAAAE,gBAAA,CAAAF,CAAA,KAAAG,2BAAA,CAAAH,CAAA,KAAAI,kBAAA;AAAA,SAAAA,mBAAA,cAAAC,SAAA;AAAA,SAAAH,iBAAAF,CAAA,8BAAAM,MAAA,YAAAN,CAAA,CAAAM,MAAA,CAAAC,QAAA,aAAAP,CAAA,uBAAAQ,KAAA,CAAAC,IAAA,CAAAT,CAAA;AAAA,SAAAC,mBAAAD,CAAA,QAAAQ,KAAA,CAAAE,OAAA,CAAAV,CAAA,UAAAW,iBAAA,CAAAX,CAAA;AAAA,SAAAY,eAAAZ,CAAA,EAAAH,CAAA,WAAAgB,eAAA,CAAAb,CAAA,KAAAc,qBAAA,CAAAd,CAAA,EAAAH,CAAA,KAAAM,2BAAA,CAAAH,CAAA,EAAAH,CAAA,KAAAkB,gBAAA;AAAA,SAAAA,iBAAA,cAAAV,SAAA;AAAA,SAAAF,4BAAAH,CAAA,EAAAgB,CAAA,QAAAhB,CAAA,2BAAAA,CAAA,SAAAW,iBAAA,CAAAX,CAAA,EAAAgB,CAAA,OAAAC,CAAA,MAAAC,QAAA,CAAAC,IAAA,CAAAnB,CAAA,EAAAoB,KAAA,6BAAAH,CAAA,IAAAjB,CAAA,CAAAqB,WAAA,KAAAJ,CAAA,GAAAjB,CAAA,CAAAqB,WAAA,CAAAC,IAAA,aAAAL,CAAA,cAAAA,CAAA,GAAAT,KAAA,CAAAC,IAAA,CAAAT,CAAA,oBAAAiB,CAAA,+CAAAM,IAAA,CAAAN,CAAA,IAAAN,iBAAA,CAAAX,CAAA,EAAAgB,CAAA;AAAA,SAAAL,kBAAAX,CAAA,EAAAgB,CAAA,aAAAA,CAAA,IAAAA,CAAA,GAAAhB,CAAA,CAAAwB,MAAA,MAAAR,CAAA,GAAAhB,CAAA,CAAAwB,MAAA,YAAA3B,CAAA,MAAA4B,CAAA,GAAAjB,KAAA,CAAAQ,CAAA,GAAAnB,CAAA,GAAAmB,CAAA,EAAAnB,CAAA,IAAA4B,CAAA,CAAA5B,CAAA,IAAAG,CAAA,CAAAH,CAAA,UAAA4B,CAAA;AAAA,SAAAX,sBAAAd,CAAA,EAAA0B,CAAA,QAAAT,CAAA,WAAAjB,CAAA,gCAAAM,MAAA,IAAAN,CAAA,CAAAM,MAAA,CAAAC,QAAA,KAAAP,CAAA,4BAAAiB,CAAA,QAAApB,CAAA,EAAA4B,CAAA,EAAAE,CAAA,EAAAC,CAAA,EAAAZ,CAAA,OAAAa,CAAA,OAAAC,CAAA,iBAAAH,CAAA,IAAAV,CAAA,GAAAA,CAAA,CAAAE,IAAA,CAAAnB,CAAA,GAAA+B,IAAA,QAAAL,CAAA,QAAAM,MAAA,CAAAf,CAAA,MAAAA,CAAA,UAAAY,CAAA,uBAAAA,CAAA,IAAAhC,CAAA,GAAA8B,CAAA,CAAAR,IAAA,CAAAF,CAAA,GAAAgB,IAAA,MAAAjB,CAAA,CAAAkB,IAAA,CAAArC,CAAA,CAAAsC,KAAA,GAAAnB,CAAA,CAAAQ,MAAA,KAAAE,CAAA,GAAAG,CAAA,iBAAA7B,CAAA,IAAA8B,CAAA,OAAAL,CAAA,GAAAzB,CAAA,yBAAA6B,CAAA,YAAAZ,CAAA,eAAAW,CAAA,GAAAX,CAAA,cAAAe,MAAA,CAAAJ,CAAA,MAAAA,CAAA,2BAAAE,CAAA,QAAAL,CAAA,aAAAT,CAAA;AAAA,SAAAH,gBAAAb,CAAA,QAAAQ,KAAA,CAAAE,OAAA,CAAAV,CAAA,UAAAA,CAAA;AAC5B,IAAMoC,YAAY,GAAG,CAAC;AACtB,IAAMC,cAAc,GAAG,CAAC;AACxB,IAAMC,gBAAgB,GAAG9B,KAAK,CAAC,EAAE,CAAC,CAAC+B,IAAI,CAAC;EAAEC,UAAU,EAAE,EAAE;EAAEC,SAAS,EAAE;AAAG,CAAC,CAAC;AAC1E;AACA;AACA;AACA,IAAMC,aAAa,gBAAG,IAAAC,iBAAU,EAAC,UAACC,KAAK,EAAEC,GAAG,EAAK;EAC7C,IAAAC,aAAA,GAA2MF,KAAK,CAAxMG,MAAM;IAANA,MAAM,GAAAD,aAAA,cAAG,MAAM,GAAAA,aAAA;IAAAE,YAAA,GAAoLJ,KAAK,CAAvLK,KAAK;IAALA,KAAK,GAAAD,YAAA,cAAG,MAAM,GAAAA,YAAA;IAAEE,cAAc,GAAoJN,KAAK,CAAvKM,cAAc;IAAEC,sBAAsB,GAA4HP,KAAK,CAAvJO,sBAAsB;IAAEC,YAAY,GAA8GR,KAAK,CAA/HQ,YAAY;IAAEC,eAAe,GAA6FT,KAAK,CAAjHS,eAAe;IAAEC,sBAAsB,GAAqEV,KAAK,CAAhGU,sBAAsB;IAAEC,QAAQ,GAA2DX,KAAK,CAAxEW,QAAQ;IAAAC,iBAAA,GAA2DZ,KAAK,CAA9Da,UAAU;IAAVA,UAAU,GAAAD,iBAAA,cAAG,IAAI,GAAAA,iBAAA;IAAEE,YAAY,GAA0Bd,KAAK,CAA3Cc,YAAY;IAAEC,KAAK,GAAmBf,KAAK,CAA7Be,KAAK;IAAEC,WAAW,GAAMhB,KAAK,CAAtBgB,WAAW;EACrM,IAAAC,YAAA,GAA0B,IAAAC,mBAAW,EAAC;MAClCC,MAAM,EAAE,IAAI;MACZC,IAAI,EAAEJ,WAAW,IAAIxB,YAAY;MACjC6B,WAAW,EAAE5B,cAAc;MAC3B6B,QAAQ,EAAE5B,gBAAgB;MAC1BqB,KAAK,EAAEA,KAAK,IAAI;IACpB,CAAC,CAAC;IAAAQ,aAAA,GAAAvD,cAAA,CAAAiD,YAAA;IANKO,KAAK,GAAAD,aAAA;IAAEE,QAAQ,GAAAF,aAAA;EAOtB,IAAMG,OAAO,GAAG,IAAAC,aAAM,EAAC,IAAI,CAAC;EAC5B,IAAMC,QAAQ,GAAG,IAAAD,aAAM,EAAC,CAAC,CAAC,CAAC;EAC3B,IAAME,OAAO,GAAG,IAAAF,aAAM,EAAC,IAAI,CAAC;EAC5B,IAAMG,UAAU,GAAG,IAAAH,aAAM,EAACX,WAAW,IAAIxB,YAAY,CAAC;EACtD,IAAAuC,cAAA,GAA6C,IAAAC,qBAAa,EAACH,OAAO,CAAC;IAAAI,eAAA,GAAAjE,cAAA,CAAA+D,cAAA;IAA5DG,YAAY,GAAAD,eAAA;IAAIE,gBAAgB,GAAAF,eAAA,IAAhBE,gBAAgB;EACvC,IAAMC,UAAU,GAAG,IAAAT,aAAM,EAACjC,gBAAgB,CAAC;EAC3C;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAA2C,0BAAmB,EAACpC,GAAG,EAAE,YAAM;IAC3B,OAAO;MACHqC,OAAO,EAAE,SAATA,OAAOA,CAAGlB,IAAI,EAAK;QACfmB,UAAU,CAACnB,IAAI,CAAC;MACpB,CAAC;MACDoB,IAAI,EAAE,SAANA,IAAIA,CAAGC,OAAO,EAAK;QACf,IAAMC,KAAK,GAAGN,UAAU,CAACO,OAAO,CAACC,SAAS,CAAC,UAACC,CAAC;UAAA,OAAKA,CAAC,CAAChD,SAAS,IAAI4C,OAAO,CAAC5C,SAAS,IAAIgD,CAAC,CAAChD,SAAS,KAAK4C,OAAO,CAAC5C,SAAS;QAAA,EAAC;QACxH,IAAI,CAAC6C,KAAK,EAAE;UACRjB,QAAQ,CAAC;YAAEJ,WAAW,EAAEqB;UAAM,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC,MACI;UACD;UACA,IAAMI,WAAW,GAAA3F,kBAAA,CAAOiF,UAAU,CAACO,OAAO,CAAC;UAC3CG,WAAW,CAACtB,KAAK,CAACH,WAAW,CAAC,GAAGoB,OAAO;UACxC,IAAMpB,WAAW,GAAG0B,cAAc,CAACD,WAAW,EAAEhB,UAAU,CAACa,OAAO,EAAEnB,KAAK,CAACH,WAAW,CAAC;UACtFe,UAAU,CAACO,OAAO,GAAGG,WAAW;UAChCrB,QAAQ,CAAC;YAAEH,QAAQ,EAAEwB,WAAW;YAAEzB,WAAW,EAAXA;UAAY,CAAC,CAAC;QACpD;MACJ,CAAC;MACD2B,SAAS,EAAE,SAAXA,SAASA,CAAG1B,QAAQ,EAAiC;QAAA,IAA/B2B,IAAI,GAAAC,SAAA,CAAAtE,MAAA,QAAAsE,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,IAAI;QAAA,IAAEE,KAAK,GAAAF,SAAA,CAAAtE,MAAA,QAAAsE,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,KAAK;QAC5C,IAAI9B,IAAI,GAAGU,UAAU,CAACa,OAAO;QAC7B,IAAIG,WAAW,GAAG,EAAE;UAAEzB,WAAW,GAAGG,KAAK,CAACH,WAAW;QACrD;QACA,IAAI4B,IAAI,EAAE;UACNG,KAAK,KAAKhC,IAAI,GAAGiC,OAAO,CAAC/B,QAAQ,CAAC1C,MAAM,CAAC,CAAC;UAC1C,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGuE,MAAM,CAAClC,IAAI,CAAC,EAAErC,CAAC,EAAE,EAAE;YACnC+D,WAAW,CAACxD,IAAI,CAACgC,QAAQ,CAACvC,CAAC,CAAC,GAAGuC,QAAQ,CAACvC,CAAC,CAAC,GAAG;cAAEa,UAAU,EAAE,EAAE;cAAEC,SAAS,EAAE;YAAG,CAAC,CAAC;UACnF;QACJ,CAAC,MACI;UACD;UACA,IAAM0D,aAAa,GAAGnB,UAAU,CAACO,OAAO,CAACa,MAAM,CAAC,UAACC,CAAC;YAAA,OAAKA,CAAC,CAAC7D,UAAU,IAAI6D,CAAC,CAAC5D,SAAS;UAAA,EAAC,CAACjB,MAAM,GACtF0C,QAAQ,CAAC1C,MAAM;UACnBwE,KAAK,KAAKhC,IAAI,GAAGiC,OAAO,CAACE,aAAa,CAAC,CAAC;UACxCT,WAAW,GAAG3F,kBAAA,CAAI,IAAIS,KAAK,CAACwD,IAAI,CAAC,EAAEsC,GAAG,CAAC,UAACC,IAAI,EAAEjB,KAAK,EAAK;YACpD,IAAIkB,EAAE,EAAEC,EAAE;YACV,IAAI,CAAC,CAACD,EAAE,GAAGxB,UAAU,CAACO,OAAO,CAACD,KAAK,CAAC,MAAM,IAAI,IAAIkB,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAAChE,UAAU,MACnF,CAACiE,EAAE,GAAGzB,UAAU,CAACO,OAAO,CAACD,KAAK,CAAC,MAAM,IAAI,IAAImB,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAAChE,SAAS,CAAC,EAAE;cACtF,OAAOuC,UAAU,CAACO,OAAO,CAACD,KAAK,CAAC;YACpC;YACA,OAAO;cAAE9C,UAAU,EAAE,EAAE;cAAEC,SAAS,EAAE;YAAG,CAAC;UAC5C,CAAC,CAAC;UAAC,IAAAiE,KAAA,YAAAA,MAAAC,EAAA,EACuC;YACtC,IAAMC,QAAQ,GAAGlB,WAAW,CAACmB,IAAI,CAAC,UAACN,IAAI,EAAK;cACxC,IAAIC,EAAE,EAAEC,EAAE;cACV,OAAO,CAACF,IAAI,KAAK,IAAI,IAAIA,IAAI,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,IAAI,CAAC/D,UAAU,OAAO,CAACgE,EAAE,GAAGtC,QAAQ,CAACvC,EAAC,CAAC,MAAM,IAAI,IAAI6E,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAAChE,UAAU,CAAC,IAC5I,CAAC+D,IAAI,KAAK,IAAI,IAAIA,IAAI,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,IAAI,CAAC9D,SAAS,OAAO,CAACgE,EAAE,GAAGvC,QAAQ,CAACvC,EAAC,CAAC,MAAM,IAAI,IAAI8E,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAAChE,SAAS,CAAC;YAC/I,CAAC,CAAC;YACF;YACA,IAAI,CAACmE,QAAQ,EAAE;cACX,IAAMtB,KAAK,GAAGK,cAAc,CAACD,WAAW,EAAE1B,IAAI,EAAEC,WAAW,CAAC;cAC5D;cACA;cACA;cACA;cACA,IAAIA,WAAW,KAAKD,IAAI;cAExB0B,WAAW,CAACJ,KAAK,CAAC,GAAGpB,QAAQ,CAACvC,EAAC,CAAC,IAAI;gBAAEa,UAAU,EAAE,EAAE;gBAAEC,SAAS,EAAE;cAAG,CAAC;cACrEwB,WAAW,GAAGqB,KAAK,GAAG,CAAC;YAC3B;UACJ,CAAC;UAlBD,KAAK,IAAI3D,EAAC,GAAG,CAAC,EAAEA,EAAC,GAAGuC,QAAQ,CAAC1C,MAAM,EAAEG,EAAC,EAAE;YAAA,IAAA+E,KAAA,CAAAC,EAAA,GAc5B;UAAM;QAKtB;QACAjC,UAAU,CAACa,OAAO,GAAGvB,IAAI;QACzBgB,UAAU,CAACO,OAAO,GAAGG,WAAW;QAChCrB,QAAQ,CAAC;UAAEL,IAAI,EAAJA,IAAI;UAAEE,QAAQ,EAAEwB,WAAW;UAAEzB,WAAW,EAAXA;QAAY,CAAC,CAAC;MAC1D,CAAC;MACD6C,MAAM,EAAE,SAARA,MAAMA,CAAGrE,SAAS,EAAK;QACnB,IAAM6C,KAAK,GAAGN,UAAU,CAACO,OAAO,CAACC,SAAS,CAAC,UAACC,CAAC;UAAA,OAAKA,CAAC,CAAChD,SAAS,KAAKA,SAAS;QAAA,EAAC;QAC5E,IAAI,CAAC6C,KAAK,EAAE;UACR;UACA,IAAMI,WAAW,GAAA3F,kBAAA,CAAOiF,UAAU,CAACO,OAAO,CAAC;UAC3CG,WAAW,CAACJ,KAAK,CAAC,GAAG;YAAE9C,UAAU,EAAE,EAAE;YAAEC,SAAS,EAAE;UAAG,CAAC;UACtDsE,cAAc,CAACrB,WAAW,CAAC;QAC/B;MACJ,CAAC;MACDsB,SAAS,EAAEC;IACf,CAAC;EACL,CAAC,CAAC;EACF,IAAAC,gBAAS,EAAC,YAAM;IACZ,IAAI/D,sBAAsB,EAAE;MACxBA,sBAAsB,CAACiB,KAAK,CAACF,QAAQ,CAACkC,MAAM,CAAC,UAACX,CAAC;QAAA,OAAK,CAAC,CAACA,CAAC,CAACjD,UAAU,IAAI,CAAC,CAACiD,CAAC,CAAChD,SAAS;MAAA,EAAC,CAAC;IACzF;EACJ,CAAC,EAAE,CAAC2B,KAAK,CAACF,QAAQ,CAAC,CAAC;EACpB,IAAM+C,cAAc,GAAG,SAAjBA,cAAcA,CAAA,EAAS;IACzBjF,MAAM,CAACmF,MAAM,CAAC3C,QAAQ,CAACe,OAAO,CAAC,CAAC6B,OAAO,CAAC,UAACC,MAAM,EAAK;MAChDA,MAAM,IAAIA,MAAM,CAACC,eAAe,CAAC,CAAC;IACtC,CAAC,CAAC;IACFjD,QAAQ,CAAC;MACLJ,WAAW,EAAE5B;IACjB,CAAC,CAAC;IACF2C,UAAU,CAACO,OAAO,GAAGjD,gBAAgB;IACrCyE,cAAc,CAACzE,gBAAgB,CAAC;IAChCe,eAAe,IAAIA,eAAe,CAAC,CAAC;EACxC,CAAC;EACD,IAAMkE,YAAY,GAAG,SAAfA,YAAYA,CAAA,EAAS;IACvBrE,cAAc,IAAIA,cAAc,CAAC,CAACkB,KAAK,CAACL,MAAM,CAAC;IAC/CM,QAAQ,CAAC;MAAEN,MAAM,EAAE,CAACK,KAAK,CAACL;IAAO,CAAC,CAAC;EACvC,CAAC;EACD,IAAMoB,UAAU,GAAG,SAAbA,UAAUA,CAAInB,IAAI,EAAK;IACzB,IAAI0B,WAAW,GAAA3F,kBAAA,CAAOiF,UAAU,CAACO,OAAO,CAAC;IACzC,IAAIvB,IAAI,GAAG0B,WAAW,CAAClE,MAAM,EAAE;MAC3BkE,WAAW,GAAGpD,gBAAgB,CAAClB,KAAK,CAAC,CAAC,EAAE4C,IAAI,CAAC,CAACsC,GAAG,CAAC,UAACC,IAAI,EAAEjB,KAAK,EAAK;QAC/D,OAAOI,WAAW,CAACJ,KAAK,CAAC,GAAGI,WAAW,CAACJ,KAAK,CAAC,GAAGiB,IAAI;MACzD,CAAC,CAAC;IACN,CAAC,MACI;MACDb,WAAW,GAAGA,WAAW,CAACtE,KAAK,CAAC,CAAC,EAAE4C,IAAI,CAAC;IAC5C;IACAU,UAAU,CAACa,OAAO,GAAGvB,IAAI;IACzBgB,UAAU,CAACO,OAAO,GAAGG,WAAW;IAChCrB,QAAQ,CAAC;MAAEL,IAAI,EAAJA,IAAI;MAAEE,QAAQ,EAAEwB;IAAY,CAAC,CAAC;IACzC;IACA8B,SAAS,CAAC,CAAC;EACf,CAAC;EACD,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAI9D,KAAK,EAAK;IAC3BU,QAAQ,CAAC;MAAEV,KAAK,EAALA;IAAM,CAAC,CAAC;IACnB;IACA6D,SAAS,CAAC,CAAC;EACf,CAAC;EACD;EACA,IAAMA,SAAS,GAAG,SAAZA,SAASA,CAAA,EAAS;IACpB,IAAME,KAAK,GAAGC,UAAU,CAAC,YAAM;MAC3B3F,MAAM,CAACmF,MAAM,CAAC3C,QAAQ,CAACe,OAAO,CAAC,CAAC6B,OAAO,CAAC,UAACC,MAAM,EAAK;QAChDA,MAAM,IAAIA,MAAM,CAACO,MAAM,CAAC,CAAC;MAC7B,CAAC,CAAC;MACFC,YAAY,CAACH,KAAK,CAAC;IACvB,CAAC,EAAE,GAAG,CAAC;EACX,CAAC;EACD,IAAMX,cAAc,GAAG,SAAjBA,cAAcA,CAAI7C,QAAQ,EAAK;IACjCc,UAAU,CAACO,OAAO,GAAGrB,QAAQ;IAC7BG,QAAQ,CAAC;MAAEH,QAAQ,EAARA;IAAS,CAAC,CAAC;EAC1B,CAAC;EACD;EACA,IAAM4D,UAAU,GAAG,SAAbA,UAAUA,CAAInG,CAAC,EAAK;IACtB,IAAMoG,YAAY,GAAAhI,kBAAA,CAAOiF,UAAU,CAACO,OAAO,CAAC;IAC5C,IAAMG,WAAW,GAAA3F,kBAAA,CAAOiF,UAAU,CAACO,OAAO,CAAC;IAC3CG,WAAW,CAAC/D,CAAC,CAAC,GAAG;MAAEa,UAAU,EAAE,EAAE;MAAEC,SAAS,EAAE;IAAG,CAAC;IAClDsE,cAAc,CAACrB,WAAW,CAAC;IAC3BtC,YAAY,IAAIA,YAAY,CAAC2E,YAAY,CAACpG,CAAC,CAAC,EAAE+D,WAAW,CAAC;EAC9D,CAAC;EACD,IAAMsC,YAAY,GAAG,SAAfA,YAAYA,CAAA,EAAS;IACvB,IAAMC,KAAK,GAAG,EAAE;IAAC,IAAAC,MAAA,YAAAA,OAAAvG,CAAA,EACoC;MACjD,IAAMwG,OAAO,GAAI,IAAAC,eAAI,EAACC,QAAQ,EAAE;QAAExF,GAAG,EAAE,SAALA,GAAGA,CAAGA,IAAG,EAAK;UACxC2B,QAAQ,CAACe,OAAO,CAAC5D,CAAC,CAAC,GAAGkB,IAAG;QAC7B,CAAC;QAAEyF,MAAM,EAAElE,KAAK,CAACH,WAAW,KAAKtC,CAAC;QAAE4G,OAAO,EAAE,SAATA,OAAOA,CAAA;UAAA,OAAQlE,QAAQ,CAAC;YAAEJ,WAAW,EAAEtC;UAAE,CAAC,CAAC;QAAA;QAAE0D,OAAO,EAAEL,UAAU,CAACO,OAAO,CAAC5D,CAAC,CAAC,IAAI;UAAEa,UAAU,EAAE,EAAE;UAAEC,SAAS,EAAE;QAAG,CAAC;QAAE+F,OAAO,EAAE,SAATA,OAAOA,CAAA,EAAQ;UACjK,IAAIhC,EAAE;UACN;UACA,IAAIlD,sBAAsB,EAAE;YACxBA,sBAAsB,CAAC;cAAA,OAAMwE,UAAU,CAACnG,CAAC,CAAC;YAAA,EAAC;YAC3C;UACJ;UACA,CAAC6E,EAAE,GAAGhC,QAAQ,CAACe,OAAO,CAAC5D,CAAC,CAAC,MAAM,IAAI,IAAI6E,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAACc,eAAe,CAAC,IAAAmB,kBAAM,EAAC,CAAC,CAACC,MAAM,CAAC,qBAAqB,CAAC,CAAC;UAC1HZ,UAAU,CAACnG,CAAC,CAAC;QACjB,CAAC;QAAEgC,KAAK,EAAES,KAAK,CAACT,KAAK;QAAED,YAAY,EAAEA;MAAa,CAAC,EAAE/B,CAAC,CAAE;MAC5DsG,KAAK,CAAC/F,IAAI,CAACiG,OAAO,CAAC;IACvB,CAAC;IAdD,KAAK,IAAIxG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGuE,MAAM,CAACxB,UAAU,CAACa,OAAO,CAAC,EAAE5D,CAAC,EAAE;MAAAuG,MAAA,CAAAvG,CAAA;IAAA;IAenD,OAAOsG,KAAK;EAChB,CAAC;EACD,SAASU,MAAMA,CAACC,EAAE,EAAE;IAChB,IAAItD,KAAK,GAAG,CAAC;IACb,IAAI,CAACsD,EAAE,IAAI,CAACA,EAAE,CAACC,UAAU,EAAE;MACvB,OAAO,CAAC,CAAC;IACb;IACA;IACA,OAAOD,EAAE,KAAKA,EAAE,GAAGA,EAAE,CAACE,sBAAsB,CAAC,EAAE;MAC3CxD,KAAK,EAAE;IACX;IACA,OAAOA,KAAK;EAChB;EACA,SAASyD,UAAUA,CAACH,EAAE,EAAEI,SAAS,EAAE;IAC/B,IAAIJ,EAAE,CAACI,SAAS,IACZ,OAAOJ,EAAE,CAACI,SAAS,IAAI,QAAQ,IAC/BJ,EAAE,CAACI,SAAS,CAACC,OAAO,CAACD,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;MACtC,OAAOJ,EAAE;IACb;IACA,OAAOG,UAAU,CAACH,EAAE,CAACC,UAAU,EAAEG,SAAS,CAAC;EAC/C;EACA,OAAQ,IAAAE,gBAAK,EAAC,KAAK,EAAElH,MAAM,CAACmH,MAAM,CAAC;IAAEH,SAAS,EAAE,qBAAqB;IAAEnG,GAAG,EAAE4B,OAAO;IAAE2E,KAAK,EAAE;MAAErG,MAAM,EAANA,MAAM;MAAEE,KAAK,EAALA;IAAM;EAAE,CAAC,EAAE;IAAEoG,QAAQ,EAAE,CAAC,IAAAjB,eAAI,EAAC,KAAK,EAAEpG,MAAM,CAACmH,MAAM,CAAC;MAAEH,SAAS,4BAAAM,MAAA,CAA4BlF,KAAK,CAACJ,IAAI,CAAE;MAAEuF,WAAW,EAAE,SAAbA,WAAWA,CAAG1J,CAAC,EAAK;QACjNyE,OAAO,CAACiB,OAAO,GAAG1F,CAAC,CAAC2J,MAAM;MAC9B,CAAC;MAAEC,UAAU,EAAE,SAAZA,UAAUA,CAAG5J,CAAC,EAAK;QAClB,IAAI,CAACA,CAAC,CAAC2J,MAAM,EAAE;UACX;QACJ;QACA,IAAIA,MAAM,GAAG3J,CAAC,CAAC2J,MAAM;QACrB,IAAIA,MAAM,IAAI,IAAI,EAAE;UAChB;QACJ;QACAA,MAAM,GAAGT,UAAU,CAACS,MAAM,EAAE,qBAAqB,CAAC;QAClD,IAAME,YAAY,GAAGf,MAAM,CAACrE,OAAO,CAACiB,OAAO,CAAC;UAAEoE,WAAW,GAAGhB,MAAM,CAACa,MAAM,CAAC;QAC1E,IAAI;UACA,IAAIE,YAAY,GAAGC,WAAW,EAAE;YAC5B;YACA;YACAH,MAAM,CAACX,UAAU,CAACe,YAAY,CAACtF,OAAO,CAACiB,OAAO,EAAEiE,MAAM,CAACK,WAAW,CAAC;UACvE,CAAC,MACI,IAAIH,YAAY,GAAGC,WAAW,EAAE;YACjC;YACAH,MAAM,CAACX,UAAU,CAACe,YAAY,CAACtF,OAAO,CAACiB,OAAO,EAAEiE,MAAM,CAAC;UAC3D;UACAhC,SAAS,CAAC,CAAC;QACf,CAAC,CACD,OAAO3H,CAAC,EAAE;UACN;QAAA;MAER;IAAE,CAAC,EAAE;MAAEwJ,QAAQ,EAAErB,YAAY,CAAC;IAAE,CAAC,CAAC,CAAC,EAAE,IAAAkB,gBAAK,EAAC,KAAK,EAAElH,MAAM,CAACmH,MAAM,CAAC;MAAEH,SAAS,EAAE;IAAkB,CAAC,EAAE;MAAEK,QAAQ,EAAE,CAAC,IAAAH,gBAAK,EAACY,iBAAK,EAAE9H,MAAM,CAACmH,MAAM,CAAC;QAAEH,SAAS,EAAE,MAAM;QAAEe,IAAI,EAAE,EAAE;QAAEC,KAAK,EAAE;MAAS,CAAC,EAAE;QAAEX,QAAQ,EAAE,CAACnG,cAAc,IAAK,IAAAkF,eAAI,EAAC,KAAK,EAAEpG,MAAM,CAACmH,MAAM,CAAC;UAAEZ,OAAO,EAAEhB,YAAY;UAAE6B,KAAK,EAAE;YAAEa,OAAO,EAAE;UAAO;QAAE,CAAC,EAAE;UAAEZ,QAAQ,EAAEjF,KAAK,CAACL,MAAM,GAAG,IAAAqE,eAAI,EAAC8B,eAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,IAAA9B,eAAI,EAAC+B,iBAAU,EAAE,CAAC,CAAC;QAAE,CAAC,CAAC,CAAE,EAAE5G,QAAQ,GAAGA,QAAQ,GAAG,IAAI;MAAE,CAAC,CAAC,CAAC,EAAE,IAAA2F,gBAAK,EAACY,iBAAK,EAAE9H,MAAM,CAACmH,MAAM,CAAC;QAAEH,SAAS,EAAE,OAAO;QAAEe,IAAI,EAAE,EAAE;QAAEC,KAAK,EAAE;MAAS,CAAC,EAAE;QAAEX,QAAQ,EAAE,CAAC,IAAAjB,eAAI,EAACgC,mBAAY,EAAE;UAAE7B,OAAO,EAAEtB;QAAe,CAAC,CAAC,EAAE,IAAAmB,eAAI,EAAC,KAAK,EAAE;UAAEY,SAAS,EAAE;QAAa,CAAC,CAAC,EAAEvF,UAAU,GAAI,IAAA2E,eAAI,EAACiC,uBAAW,EAAErI,MAAM,CAACmH,MAAM,CAAC;UAAEnF,IAAI,EAAEI,KAAK,CAACJ,IAAI;UAAEkB,OAAO,EAAE,SAATA,OAAOA,CAAGlB,IAAI;YAAA,OAAKmB,UAAU,CAACnB,IAAI,CAAC;UAAA;QAAC,CAAC,EAAE;UAAEqF,QAAQ,EAAE,IAAAH,gBAAK,EAAC,KAAK,EAAElH,MAAM,CAACmH,MAAM,CAAC;YAAEH,SAAS,EAAE;UAAsB,CAAC,EAAE;YAAEK,QAAQ,EAAE,CAAC,IAAAjB,eAAI,EAACkC,eAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAAlC,eAAI,EAACmC,oBAAY,EAAE;cAAEvB,SAAS,EAAE;YAAa,CAAC,CAAC,EAAE,IAAAZ,eAAI,EAACoC,kBAAU,EAAE;cAAExB,SAAS,EAAE;YAAa,CAAC,CAAC;UAAE,CAAC,CAAC;QAAE,CAAC,CAAC,CAAC,GAAK,IAAAE,gBAAK,EAAC,KAAK,EAAElH,MAAM,CAACmH,MAAM,CAAC;UAAEH,SAAS,EAAE;QAAsB,CAAC,EAAE;UAAEK,QAAQ,EAAE,CAAC,IAAAjB,eAAI,EAACkC,eAAQ,EAAE;YAAEG,QAAQ,EAAE,CAAChH;UAAW,CAAC,CAAC,EAAE,IAAA2E,eAAI,EAACmC,oBAAY,EAAE;YAAEvB,SAAS,EAAE;UAAQ,CAAC,CAAC;QAAE,CAAC,CAAC,CAAE,EAAE,IAAAZ,eAAI,EAACsC,sBAAU,EAAE1I,MAAM,CAACmH,MAAM,CAAC;UAAExF,KAAK,EAAES,KAAK,CAACT,KAAK;UAAEgH,QAAQ,EAAE,SAAVA,QAAQA,CAAGhH,KAAK;YAAA,OAAK8D,WAAW,CAAC9D,KAAK,CAAC;UAAA;QAAC,CAAC,EAAE;UAAE0F,QAAQ,EAAE,IAAAH,gBAAK,EAAC,KAAK,EAAElH,MAAM,CAACmH,MAAM,CAAC;YAAEH,SAAS,EAAE;UAAsB,CAAC,EAAE;YAAEK,QAAQ,EAAE,CAAC,IAAAjB,eAAI,EAACwC,0BAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,IAAAxC,eAAI,EAACmC,oBAAY,EAAE;cAAEvB,SAAS,EAAE;YAAa,CAAC,CAAC,EAAE,IAAAZ,eAAI,EAACoC,kBAAU,EAAE;cAAExB,SAAS,EAAE;YAAa,CAAC,CAAC;UAAE,CAAC,CAAC;QAAE,CAAC,CAAC,CAAC,EAAElE,YAAY,GAAI,IAAAsD,eAAI,EAACyC,yBAAkB,EAAE;UAAEtC,OAAO,EAAExD;QAAiB,CAAC,CAAC,GAAK,IAAAqD,eAAI,EAAC0C,qBAAc,EAAE;UAAEvC,OAAO,EAAExD;QAAiB,CAAC,CAAE;MAAE,CAAC,CAAC,CAAC;IAAE,CAAC,CAAC,CAAC;EAAE,CAAC,CAAC,CAAC;AAC9hD,CAAC,CAAC;AACFrC,aAAa,CAACqI,WAAW,GAAG,eAAe;AAC3C,IAAM1C,QAAQ,gBAAG,IAAA1F,iBAAU,EAAC,UAACC,KAAK,EAAEC,GAAG,EAAK;EACxC,IAAQyF,MAAM,GAAqD1F,KAAK,CAAhE0F,MAAM;IAAEC,OAAO,GAA4C3F,KAAK,CAAxD2F,OAAO;IAAElD,OAAO,GAAmCzC,KAAK,CAA/CyC,OAAO;IAAEmD,OAAO,GAA0B5F,KAAK,CAAtC4F,OAAO;IAAE9E,YAAY,GAAYd,KAAK,CAA7Bc,YAAY;IAAEC,KAAK,GAAKf,KAAK,CAAfe,KAAK;EAC9D,IAAMqH,KAAK,GAAG,CAAC3F,OAAO,CAAC7C,UAAU,IAAI,CAAC6C,OAAO,CAAC5C,SAAS;EACvD,IAAAwI,SAAA,GAA8B,IAAAC,eAAQ,EAAC,CAAC,CAAC,CAAC;IAAAC,UAAA,GAAAvK,cAAA,CAAAqK,SAAA;IAAnCG,OAAO,GAAAD,UAAA;IAAEE,UAAU,GAAAF,UAAA;EAC1B,IAAMG,OAAO,GAAG,KAAK;EACrB,IAAApE,gBAAS,EAAC,YAAM;IACZ,IAAI,CAAC7B,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,OAAO,CAAC7C,UAAU,KAAK6C,OAAO,CAAC5C,SAAS,EAAE;MAC7F,IAAA8I,kBAAa,EAAClG,OAAO,CAAC,CAACmG,IAAI,CAAC,UAACC,GAAG,EAAK;QACjCJ,UAAU,CAACI,GAAG,CAAC;MACnB,CAAC,CAAC;IACN,CAAC,MACI;MACDJ,UAAU,CAAC,CAAC,CAAC,CAAC;IAClB;EACJ,CAAC,EAAE,CAAChG,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,OAAO,CAAC7C,UAAU,EAAE6C,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,OAAO,CAAC5C,SAAS,CAAC,CAAC;EAC/I,IAAMnB,IAAI,MAAAgI,MAAA,CAAM8B,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,OAAO,CAACM,UAAU,OAAApC,MAAA,CAAI8B,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,OAAO,CAACO,WAAW,CAAE;EAC/J,IAAAC,aAAA,GAAsC,IAAA9H,mBAAW,EAAC;MAC9Cb,KAAK,EAAE,MAAM;MACbF,MAAM,EAAE;IACZ,CAAC,CAAC;IAAA8I,aAAA,GAAAjL,cAAA,CAAAgL,aAAA;IAAAE,cAAA,GAAAD,aAAA;IAHO5I,KAAK,GAAA6I,cAAA,CAAL7I,KAAK;IAAEF,MAAM,GAAA+I,cAAA,CAAN/I,MAAM;IAAIsB,QAAQ,GAAAwH,aAAA;EAIlC,IAAME,WAAW,GAAG,IAAAxH,aAAM,EAAC,IAAI,CAAC;EAChC,IAAMyH,YAAY,GAAG,IAAAC,eAAO,EAACF,WAAW,CAAC;EACzC,IAAA7E,gBAAS,EAAC,YAAM;IACZ,IAAI,CAAC8E,YAAY,KAAK,IAAI,IAAIA,YAAY,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,YAAY,CAAC/I,KAAK,MAAM+I,YAAY,KAAK,IAAI,IAAIA,YAAY,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,YAAY,CAACjJ,MAAM,CAAC,EAAE;MACvK,QAAQY,KAAK;QACT,KAAK,MAAM;UACPU,QAAQ,CAAC;YACLpB,KAAK,EAAE,MAAM;YACbF,MAAM,EAAEiJ,YAAY,CAACjJ,MAAM,GAAG;UAClC,CAAC,CAAC;UACF;QACJ,KAAK,KAAK;UACN,IAAIiJ,YAAY,CAAC/I,KAAK,GAAG,CAAC,GAAG,CAAC+I,YAAY,CAACjJ,MAAM,GAAG,EAAE,IAAI,CAAC,EAAE;YACzDsB,QAAQ,CAAC;cACLpB,KAAK,EAAE,MAAM;cACbF,MAAM,EAAGiJ,YAAY,CAAC/I,KAAK,GAAG,CAAC,GAAI;YACvC,CAAC,CAAC;UACN,CAAC,MACI;YACDoB,QAAQ,CAAC;cACLpB,KAAK,EAAG,CAAC+I,YAAY,CAACjJ,MAAM,GAAG,EAAE,IAAI,CAAC,GAAI,CAAC;cAC3CA,MAAM,EAAE;YACZ,CAAC,CAAC;UACN;UACA;QACJ,KAAK,MAAM;UACP,IAAIiJ,YAAY,CAAC/I,KAAK,GAAG,EAAE,GAAG,CAAC+I,YAAY,CAACjJ,MAAM,GAAG,EAAE,IAAI,CAAC,EAAE;YAC1DsB,QAAQ,CAAC;cACLpB,KAAK,EAAE,MAAM;cACbF,MAAM,EAAGiJ,YAAY,CAAC/I,KAAK,GAAG,EAAE,GAAI;YACxC,CAAC,CAAC;UACN,CAAC,MACI;YACDoB,QAAQ,CAAC;cACLpB,KAAK,EAAG,CAAC+I,YAAY,CAACjJ,MAAM,GAAG,EAAE,IAAI,CAAC,GAAI,EAAE;cAC5CA,MAAM,EAAE;YACZ,CAAC,CAAC;UACN;UACA;MACR;IACJ;EACJ,CAAC,EAAE,CAACiJ,YAAY,EAAErI,KAAK,CAAC,CAAC;EACzB,IAAMuI,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,IAAI,EAAK;IAC5B,IAAMC,KAAK,GAAG;MACV,CAAC,EAAE,KAAK;MACR,CAAC,EAAE,WAAW;MACd,CAAC,EAAE,YAAY;MACf,CAAC,EAAE;IACP,CAAC;IACD,OAAOA,KAAK,CAACD,IAAI,CAAC;EACtB,CAAC;EACD,OAAQ,IAAA/D,eAAI,EAAC,KAAK,EAAEpG,MAAM,CAACmH,MAAM,CAAC;IAAEH,SAAS,yBAAAM,MAAA,CAAyBhB,MAAM,GAAG,QAAQ,GAAG,EAAE,OAAAgB,MAAA,CAAIgC,OAAO,GAAG,EAAE,GAAG,UAAU,CAAE;IAAE/C,OAAO,EAAEA,OAAO;IAAE1F,GAAG,EAAEkJ,WAAW;IAAEM,SAAS,EAAE;EAAK,CAAC,EAAE;IAAEhD,QAAQ,EAAE,CAAC+B,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,OAAO,CAACkB,GAAG,KAAM,IAAApD,gBAAK,EAACqD,oBAAS,EAAE;MAAElD,QAAQ,EAAE,CAAC,CAAC2B,KAAK,IAAI,IAAA5C,eAAI,EAACoE,sBAAY,EAAE;QAAElL,IAAI,EAAEA,IAAI;QAAEkH,OAAO,EAAEA;MAAQ,CAAC,CAAC,EAAE,IAAAJ,eAAI,EAAC,KAAK,EAAEpG,MAAM,CAACmH,MAAM,CAAC;QAAEH,SAAS,EAAE;MAAU,CAAC,EAAE;QAAEK,QAAQ,EAAE,IAAAjB,eAAI,EAAC,KAAK,EAAEpG,MAAM,CAACmH,MAAM,CAAC;UAAEC,KAAK,EAAE;YAAEnG,KAAK,EAALA,KAAK;YAAEF,MAAM,EAANA;UAAO;QAAE,CAAC,EAAE;UAAEsG,QAAQ,EAAE,IAAAjB,eAAI,EAACqE,sBAAa,EAAE;YAAE5J,GAAG,EAAEA,GAAG;YAAEmI,KAAK,EAAEA,KAAK;YAAE0B,YAAY,EAAEtB,OAAO,CAACsB,YAAY;YAAEJ,GAAG,EAAElB,OAAO,CAACkB,GAAG;YAAEH,IAAI,EAAEf,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,OAAO,CAAC/D,MAAM;YAAEsF,QAAQ,EAAEvB,OAAO,CAACuB,QAAQ;YAAEC,UAAU,EAAExB,OAAO,CAACwB,UAAU;YAAEC,WAAW,EAAEvL,IAAI;YAAEwL,QAAQ,EAAE1B,OAAO,CAAC0B,QAAQ;YAAErK,SAAS,EAAE4C,OAAO,CAAC5C,SAAS;YAAED,UAAU,EAAE4I,OAAO,CAAC5I,UAAU;YAAEuK,WAAW,EAAE3B,OAAO,CAAC2B,WAAW;YAAEC,UAAU,EAAE5B,OAAO,CAAC4B,UAAU;YAAEC,UAAU,EAAE7B,OAAO,CAAC6B,UAAU;YAAEC,QAAQ,EAAE7H,OAAO,CAAC6H,QAAQ;YAAEC,IAAI,EAAE9H,OAAO,CAAC8H,IAAI;YAAEC,UAAU,EAAE1J,YAAY;YAAE2J,WAAW,EAAE;cACx9BC,KAAK,EAAE;gBACH9K,UAAU,EAAE4I,OAAO,CAAC5I,UAAU;gBAC9BsK,QAAQ,EAAE1B,OAAO,CAAC0B,QAAQ;gBAC1BS,QAAQ,EAAE,IAAAC,kBAAW,EAAC,UAAU;cACpC,CAAC;cACDrB,IAAI,EAAED,aAAa,CAAC,CAACd,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,OAAO,CAACqC,OAAO,KAAK,CAAC;YAChG,CAAC;YAAEC,MAAM,EAAE,SAARA,MAAMA,CAAA,EAAQ;cACbrC,UAAU,CAAC;gBAAEiB,GAAG,EAAE;cAAG,CAAC,CAAC;cACvB,IAAAf,kBAAa,EAAClG,OAAO,CAAC,CAACmG,IAAI,CAAC,UAACC,GAAG,EAAK;gBACjCJ,UAAU,CAACI,GAAG,CAAC;cACnB,CAAC,CAAC;YACN,CAAC;YAAEjD,OAAO,EAAEA;UAAQ,CAAC;QAAE,CAAC,CAAC;MAAE,CAAC,CAAC,CAAC;IAAE,CAAC;EAAG,CAAC,CAAC,CAAC;AACnE,CAAC,CAAC;AACFH,QAAQ,CAAC0C,WAAW,GAAG,WAAW;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMpF,cAAc,GAAG,SAAjBA,cAAcA,CAAIzB,QAAQ,EAAEF,IAAI,EAAE2J,YAAY,EAAK;EACrD,IAAMC,eAAe,GAAG1J,QAAQ,CAAC9C,KAAK,CAAC,CAAC,EAAE8E,MAAM,CAAClC,IAAI,CAAC,CAAC;EACvD,KAAK,IAAIrC,CAAC,GAAGgM,YAAY,EAAEhM,CAAC,GAAGiM,eAAe,CAACpM,MAAM,EAAEG,CAAC,EAAE,EAAE;IACxD,IAAI,CAACiM,eAAe,CAACjM,CAAC,CAAC,CAACa,UAAU,IAAI,CAACoL,eAAe,CAACjM,CAAC,CAAC,CAACc,SAAS,EAC/D,OAAOd,CAAC;EAChB;EACA,KAAK,IAAIA,GAAC,GAAG,CAAC,EAAEA,GAAC,GAAGgM,YAAY,EAAEhM,GAAC,EAAE,EAAE;IACnC,IAAI,CAACiM,eAAe,CAACjM,GAAC,CAAC,CAACa,UAAU,IAAI,CAACoL,eAAe,CAACjM,GAAC,CAAC,CAACc,SAAS,EAC/D,OAAOd,GAAC;EAChB;EACA,OAAOgM,YAAY;AACvB,CAAC;AACD,IAAME,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACjD;AACA;AACA;AACA;AACA,IAAM5H,OAAO,GAAG,SAAVA,OAAOA,CAAI6H,GAAG,EAAK;EACrB,IAAI9J,IAAI;EACR,KAAK,IAAIrC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGkM,KAAK,CAACrM,MAAM,EAAEG,CAAC,EAAE,EAAE;IACnC,IAAIkM,KAAK,CAAClM,CAAC,CAAC,GAAGmM,GAAG,IAAI,CAAC,EAAE;MACrB9J,IAAI,GAAG6J,KAAK,CAAClM,CAAC,CAAC;MACf;IACJ;EACJ;EACA,OAAOqC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAGA,IAAI;AAChC,CAAC;AAAC,IAAA+J,QAAA,GAAAC,OAAA,cACatL,aAAa","ignoreList":[]}
@@ -28,8 +28,10 @@ interface VtxPlayerProps {
28
28
  channelId?: string;
29
29
  /** 通道号 */
30
30
  channelNum?: string;
31
+ channelName?: string;
31
32
  /** 设备id */
32
33
  deviceId?: string;
34
+ deviceName?: string;
33
35
  /** 设备Code */
34
36
  deviceCode?: string;
35
37
  /** 主/子码流 */