@vtx/player 1.9.0 → 1.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/lib/api/fetch.js +67 -69
- package/lib/api/fetch.js.map +1 -1
- package/lib/api/index.js +34 -47
- package/lib/api/index.js.map +1 -1
- package/lib/api/types.d.ts +5 -5
- package/lib/api/types.js +0 -1
- package/lib/api/types.js.map +1 -1
- package/lib/bd/PlayerManager.js +8 -7
- package/lib/bd/PlayerManager.js.map +1 -1
- package/lib/bill-player/index.d.ts +1 -1
- package/lib/bill-player/index.js +9 -11
- package/lib/bill-player/index.js.map +1 -1
- package/lib/bill-player/style/index.less +320 -320
- package/lib/components/set-tag-video/index.js +7 -8
- package/lib/components/set-tag-video/index.js.map +1 -1
- package/lib/components/set-tag-video/style/index.less +125 -125
- package/lib/components/split-screen/index.d.ts +1 -1
- package/lib/components/split-screen/index.js +3 -5
- package/lib/components/split-screen/index.js.map +1 -1
- package/lib/components/tag-video/index.js +10 -11
- package/lib/components/tag-video/index.js.map +1 -1
- package/lib/components/tag-video/style/index.less +69 -69
- package/lib/components/video-scale/index.d.ts +1 -1
- package/lib/components/video-scale/index.js +2 -3
- package/lib/components/video-scale/index.js.map +1 -1
- package/lib/config.js +1 -2
- package/lib/config.js.map +1 -1
- package/lib/context/index.js +3 -5
- package/lib/context/index.js.map +1 -1
- package/lib/controls/index.d.ts +11 -11
- package/lib/controls/index.js +14 -22
- package/lib/controls/index.js.map +1 -1
- package/lib/controls/style/index.less +192 -192
- package/lib/h264/PlayerManager.js +8 -7
- package/lib/h264/PlayerManager.js.map +1 -1
- package/lib/history-control/index.d.ts +2 -2
- package/lib/history-control/index.js +8 -10
- package/lib/history-control/index.js.map +1 -1
- package/lib/history-control/style/index.less +252 -252
- package/lib/history-control-v2/components/grid-item/index.js +10 -11
- package/lib/history-control-v2/components/grid-item/index.js.map +1 -1
- package/lib/history-control-v2/components/panel/VideoTable.d.ts +1 -1
- package/lib/history-control-v2/components/panel/VideoTable.js +51 -54
- package/lib/history-control-v2/components/panel/VideoTable.js.map +1 -1
- package/lib/history-control-v2/components/panel/index.js +23 -28
- package/lib/history-control-v2/components/panel/index.js.map +1 -1
- package/lib/history-control-v2/context.js +1 -2
- package/lib/history-control-v2/context.js.map +1 -1
- package/lib/history-control-v2/index.d.ts +4 -4
- package/lib/history-control-v2/index.js +71 -75
- package/lib/history-control-v2/index.js.map +1 -1
- package/lib/history-control-v2/style/index.less +437 -437
- package/lib/history-control-v2/utils.js +13 -18
- package/lib/history-control-v2/utils.js.map +1 -1
- package/lib/history-player/index.d.ts +1 -1
- package/lib/history-player/index.js +107 -110
- package/lib/history-player/index.js.map +1 -1
- package/lib/history-player/style/index.less +102 -102
- package/lib/hooks/useSettings.js +1 -2
- package/lib/hooks/useSettings.js.map +1 -1
- package/lib/icc/PlayerManager.js +9 -8
- package/lib/icc/PlayerManager.js.map +1 -1
- package/lib/icc/api.d.ts +0 -68
- package/lib/icc/api.js +2 -3
- package/lib/icc/api.js.map +1 -1
- package/lib/icons/index.d.ts +36 -36
- package/lib/icons/index.js +37 -73
- package/lib/icons/index.js.map +1 -1
- package/lib/icons/index.less +32 -32
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/live-channel-player/index.d.ts +1 -1
- package/lib/live-channel-player/index.js +29 -32
- package/lib/live-channel-player/index.js.map +1 -1
- package/lib/live-control/index.d.ts +2 -2
- package/lib/live-control/index.js +12 -13
- package/lib/live-control/index.js.map +1 -1
- package/lib/live-control/style/index.less +99 -99
- package/lib/live-control-v2/index.d.ts +3 -3
- package/lib/live-control-v2/index.js +18 -20
- package/lib/live-control-v2/index.js.map +1 -1
- package/lib/live-control-v2/style/index.less +192 -192
- package/lib/live-player/index.js +65 -67
- package/lib/live-player/index.js.map +1 -1
- package/lib/live-player/style/index.less +75 -75
- package/lib/mpegts/PlayerManager.js +8 -7
- package/lib/mpegts/PlayerManager.js.map +1 -1
- package/lib/player/index.d.ts +1 -1
- package/lib/player/index.js +50 -51
- package/lib/player/index.js.map +1 -1
- package/lib/rsl/PlayerManager.d.ts +1 -1
- package/lib/rsl/PlayerManager.js +8 -7
- package/lib/rsl/PlayerManager.js.map +1 -1
- package/lib/typings/@vtx/utils/index.d.ts +28 -28
- package/lib/typings/h5player.d.ts +150 -150
- package/lib/typings/mpegts.d.ts +7 -7
- package/lib/typings/webrtcplayer.d.ts +56 -56
- package/lib/typings/wfsplayer.d.ts +56 -56
- package/lib/typings/wsplayer.d.ts +99 -99
- package/lib/utils/index.d.ts +1 -1
- package/lib/utils/index.js +14 -23
- package/lib/utils/index.js.map +1 -1
- package/lib/vite-env.d.ts +1 -1
- package/lib/vtxHls/PlayerManager.js +8 -7
- package/lib/vtxHls/PlayerManager.js.map +1 -1
- package/lib/vtxHls/WhepManager.js +11 -10
- package/lib/vtxHls/WhepManager.js.map +1 -1
- package/lib/webrtc/PlayerManager.js +8 -7
- package/lib/webrtc/PlayerManager.js.map +1 -1
- package/lib/wfs/PlayerManager.js +8 -7
- package/lib/wfs/PlayerManager.js.map +1 -1
- package/package.json +125 -125
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_jsxRuntime","require","_react","_reactCollapsed","_interopRequireDefault","_api","_icons","_utils","_context","_collapse","_utils2","_utils3","_ahooks","_message","_tooltip","_moment","_VideoTable","obj","__esModule","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","iter","Symbol","iterator","isArray","len","length","i","arr2","HistoryControlV2Panel","forwardRef","props","ref","_a","_b","_c","_d","_useContext","useContext","historyControlV2Context","channels","setChannels","setLoading","activeIndex","setActiveIndex","timeLinePosition","realChannels","filter","item","channelNum","segmentsRef","useRef","getRef","current","onVideoClose","_props$bottomDefaultE","bottomDefaultExpand","_useCollapse","useCollapse","defaultExpanded","getCollapseProps","getToggleProps","isExpanded","_useRequest","useRequest","getHistoryUrls","manual","runAsync","_useRequest2","getPlaybackUrlSingle","GetHKV2Url","loadData","channel","deviceChannels","JSON","stringify","protocol","beginTime","endTime","token","getVtxToken","then","res","message","info","newIds","map","concat","deviceId","newChannels","index","includes","assign","channelIndex","DEFAULT_PLAY_PARAMS","fetchArr","fetchIndexArr","_e","_f","_g","_h","_j","_k","_l","_m","_o","_p","_q","player","findIndex","v","url","startTime","streamType","deviceCode","deviceIp","devicePort","list","moment","diff","result","find","citem","isClose","tagId","e","data","getChannelData","hkType","singleUrl","code","tenantId","push","playbackUrl","error","forEach","useImperativeHandle","load","onPlay","useMemoizedFn","active","record","deal","realUrl","_jsx","_Fragment","children","_jsxs","className","src","collapseBtnImg","alt","style","transform","TimeVerticalLine","history","segmentData","channelName","onClick","format","TimeFormat","params","getSegments","TimePositionIcon","left","TimeLine","display","Tooltip","title","flex","overflow","width","VideoTable","tableList","currentIndex","exports","getSplitLines","step","element","ONEDAY_MILL","_ref","mouse","useMouse","elementX","elementY","elementW","elementH","visible","percent","time","start","valueOf","flag","playStart","playEnd","now","begin","end","_props$list","total","itemStart","itemEnd","itemTotal","displayName","_default","memo"],"sources":["history-control-v2/components/panel/index.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { forwardRef, memo, useContext, useImperativeHandle, useRef } from 'react';\nimport useCollapse from 'react-collapsed';\nimport { getHistoryUrls, getPlaybackUrlSingle } from '../../../api';\nimport { TimePositionIcon } from '../../../icons';\nimport { TimeFormat } from '../../../utils';\nimport { historyControlV2Context } from '../../context';\nimport collapseBtnImg from '../../images/collapse.png';\nimport { DEFAULT_PLAY_PARAMS, getChannelData } from '../../utils';\nimport { getVtxToken } from '@vtx/utils';\nimport { useMemoizedFn, useMouse, useRequest } from 'ahooks';\nimport message from 'antd/lib/message';\nimport Tooltip from 'antd/lib/tooltip';\nimport moment from 'moment';\nimport VideoTable from './VideoTable';\nexport const HistoryControlV2Panel = forwardRef((props, ref) => {\n var _a, _b, _c, _d;\n const { channels, setChannels, setLoading, activeIndex, setActiveIndex, timeLinePosition } = useContext(historyControlV2Context);\n const realChannels = channels.filter((item) => item.channelNum !== '');\n const segmentsRef = useRef(null);\n const getRef = () => {\n return segmentsRef.current;\n };\n const { onVideoClose, bottomDefaultExpand = true } = props;\n const { getCollapseProps, getToggleProps, isExpanded } = useCollapse({\n defaultExpanded: bottomDefaultExpand, // 默认展开\n });\n const { runAsync } = useRequest(getHistoryUrls, {\n manual: true,\n });\n const { runAsync: GetHKV2Url } = useRequest(getPlaybackUrlSingle, {\n manual: true,\n });\n const loadData = (channel) => {\n setLoading(true);\n runAsync({\n deviceChannels: JSON.stringify(channel.deviceChannels),\n protocol: channel.protocol,\n beginTime: channel.beginTime,\n endTime: channel.endTime,\n token: getVtxToken('token'),\n }).then((res) => {\n if (Array.isArray(res)) {\n if (res.length > 25) {\n message.info('最多播放25个视频通道');\n }\n const newIds = [...res].map((item) => {\n return `${item.deviceId}${item.channelNum}`;\n });\n const newChannels = [...channels];\n channels.map((item, index) => {\n if (!newIds.includes(`${item.deviceId}${item.channelNum}`)) {\n newChannels[index] = Object.assign({ channelIndex: index }, DEFAULT_PLAY_PARAMS);\n }\n });\n const fetchArr = [], fetchIndexArr = [];\n res.filter((item, index) => index < 25).map((item) => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;\n if (item.player === 'icc_ws') {\n const channelIndex = newChannels.findIndex((v) => !v.url);\n newChannels[channelIndex] = Object.assign(Object.assign({}, newChannels[channelIndex]), { url: 'icc_ws', startTime: channel.beginTime, endTime: channel.endTime, streamType: item.streamType, deviceCode: item.deviceCode, deviceId: item.deviceId, deviceIp: item.deviceIp, devicePort: item.devicePort, channelNum: item.channelNum, player: 'icc_ws' });\n return;\n }\n /**\n * 优化第一条数据的开始时间不要早于请求的开始时间\n * 最后一条的结束时间不要晚于请求的结束时间\n */\n if ((_a = item.list) === null || _a === void 0 ? void 0 : _a.length) {\n if (moment((_c = (_b = item.list) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.beginTime).diff(moment(channel.beginTime), 'seconds') < 0) {\n item.list[0].beginTime = channel.beginTime;\n }\n if (moment((_e = (_d = item.list) === null || _d === void 0 ? void 0 : _d[item.list.length - 1]) === null || _e === void 0 ? void 0 : _e.endTime).diff(moment(channel.endTime), 'seconds') > 0) {\n item.list[item.list.length - 1].endTime = channel.endTime;\n }\n }\n const result = newChannels.find((citem) => citem.deviceId === item.deviceId && citem.channelNum === item.channelNum);\n if (result) {\n const isClose = newChannels[result.channelIndex].index === -1 &&\n newChannels[result.channelIndex].tagId === '';\n // 过滤跨天的数据\n item.list = (_g = (_f = item.list) === null || _f === void 0 ? void 0 : _f.filter) === null || _g === void 0 ? void 0 : _g.call(_f, (e) => e.beginTime.slice(0, 10) === e.endTime.slice(0, 10));\n const data = getChannelData(item, channel);\n newChannels[result.channelIndex] = Object.assign(Object.assign(Object.assign({}, newChannels[result.channelIndex]), { \n // 如果当前既没有播放列表 又没有播放标签 再 开始以第一个播放\n index: isClose ? 0 : newChannels[result.channelIndex].index, startTime: isClose\n ? ((_j = (_h = item.list) === null || _h === void 0 ? void 0 : _h[0]) === null || _j === void 0 ? void 0 : _j.beginTime) || channel.beginTime\n : newChannels[result.channelIndex].startTime, endTime: isClose\n ? ((_l = (_k = item.list) === null || _k === void 0 ? void 0 : _k[0]) === null || _l === void 0 ? void 0 : _l.beginTime) || channel.beginTime\n : newChannels[result.channelIndex].endTime }), data);\n }\n else {\n const channelIndex = (_o = (_m = newChannels.filter((item) => item.channelNum === '')) === null || _m === void 0 ? void 0 : _m[0]) === null || _o === void 0 ? void 0 : _o.channelIndex;\n if (typeof channelIndex == 'number') {\n // 过滤跨天的数据\n item.list = (_q = (_p = item.list) === null || _p === void 0 ? void 0 : _p.filter) === null || _q === void 0 ? void 0 : _q.call(_p, (e) => e.beginTime.slice(0, 10) === e.endTime.slice(0, 10));\n const data = getChannelData(item, channel);\n if (['HK_CAR_CLOUD_V2', 'YS'].includes(data.hkType) || data.singleUrl) {\n GetHKV2Url({\n code: data.code,\n beginTime: data.startTime,\n endTime: data.endTime,\n deviceId: data.deviceId,\n channelNum: data.channelNum,\n tenantId: getVtxToken('tenantId'),\n }).then((res) => {\n fetchArr.push({\n playbackUrl: res.playbackUrl,\n player: res.player,\n });\n });\n fetchIndexArr.push(channelIndex);\n }\n newChannels[channelIndex] = Object.assign(Object.assign({}, newChannels[channelIndex]), data);\n }\n else {\n message.error('没有多余的播放位置');\n }\n }\n });\n if (fetchArr.length) {\n fetchArr.forEach((e, index) => {\n newChannels[fetchIndexArr[index]] = Object.assign(Object.assign({}, newChannels[fetchIndexArr[index]]), { url: e.playbackUrl, player: (e === null || e === void 0 ? void 0 : e.player) || '' });\n });\n setChannels(newChannels);\n }\n else {\n setChannels(newChannels);\n }\n }\n else {\n message.info('未查询到视频');\n }\n setLoading(false);\n });\n };\n useImperativeHandle(ref, () => {\n return {\n load: (channel) => {\n loadData(channel);\n },\n };\n });\n const onPlay = useMemoizedFn((active, record, index) => {\n if (active) {\n const newChannels = [...channels];\n newChannels[activeIndex].index = -1;\n newChannels[activeIndex].startTime = '';\n newChannels[activeIndex].endTime = '';\n setActiveIndex(activeIndex - 1 > 0 ? activeIndex - 1 : 0);\n setChannels(newChannels);\n onVideoClose && onVideoClose(newChannels[activeIndex]);\n }\n else {\n // eslint-disable-next-line no-inner-declarations\n function deal(url, player) {\n const realUrl = url || record.url;\n const newChannels = [...channels];\n newChannels[activeIndex].index = index;\n newChannels[activeIndex].startTime = record.beginTime;\n newChannels[activeIndex].endTime = record.endTime;\n newChannels[activeIndex].tagId = '';\n newChannels[activeIndex].url = realUrl;\n newChannels[activeIndex].player = player || record.player;\n setChannels(newChannels);\n }\n if (['HK_CAR_CLOUD_V2', 'DHICC', 'YS'].includes(record.hkType) || record.singleUrl) {\n GetHKV2Url({\n code: record.code,\n beginTime: record.beginTime,\n endTime: record.endTime,\n deviceId: record.deviceId,\n channelNum: record.channelNum,\n tenantId: getVtxToken('tenantId'),\n }).then((data) => {\n deal(data.playbackUrl, (data === null || data === void 0 ? void 0 : data.player) || '');\n });\n }\n else {\n deal();\n }\n }\n });\n return (_jsx(_Fragment, { children: Array.isArray(realChannels) && realChannels.length > 0 ? (_jsxs(\"div\", Object.assign({ className: \"collapse-controls\" }, { children: [_jsx(\"div\", Object.assign({ className: \"action-bar\" }, getToggleProps({}), { children: _jsx(\"img\", { src: collapseBtnImg, alt: \"\", style: { transform: `rotate(${isExpanded ? 180 : 0}deg)` } }) })), _jsx(\"section\", Object.assign({ className: \"collapse-panel-container\" }, getCollapseProps(), { children: _jsxs(\"div\", Object.assign({ className: \"panels\" }, { children: [((_a = channels === null || channels === void 0 ? void 0 : channels[activeIndex]) === null || _a === void 0 ? void 0 : _a.player) !== 'bd' && (_jsxs(\"div\", Object.assign({ className: \"time-panel\" }, { children: [_jsxs(\"div\", Object.assign({ className: \"segments\", ref: segmentsRef }, { children: [_jsx(TimeVerticalLine, { getRef: getRef, history: channels === null || channels === void 0 ? void 0 : channels[activeIndex].segmentData, channelName: channels === null || channels === void 0 ? void 0 : channels[activeIndex].channelName, onClick: (index, startTime, endTime) => {\n const newChannels = [...channels];\n newChannels[activeIndex] = Object.assign(Object.assign({}, newChannels[activeIndex]), { index, startTime: moment(startTime).format(TimeFormat.params), endTime: moment(endTime).format(TimeFormat.params), tagId: '' });\n setChannels(newChannels);\n } }), getSegments(channels === null || channels === void 0 ? void 0 : channels[activeIndex].segmentData)] })), _jsxs(_Fragment, { children: [timeLinePosition >= 0 && (_jsx(TimePositionIcon, { className: \"time-line-icon\", style: {\n left: `${timeLinePosition}%`,\n } })), _jsx(TimeLine, {})] })] }))), _jsxs(\"div\", Object.assign({ style: { display: 'flex' } }, { children: [_jsxs(\"div\", Object.assign({ className: \"panels-left\" }, { children: [_jsxs(\"div\", Object.assign({ className: \"panels-left-title\" }, { children: [\"\\u89C6\\u9891\\u901A\\u9053(\", realChannels.length, \")\"] })), _jsx(\"div\", Object.assign({ className: \"panels-left-wrap\" }, { children: realChannels.map((item, index) => {\n return (_jsx(\"div\", Object.assign({ className: `${activeIndex == index\n ? 'panels-left-content-active'\n : ''} panels-left-content`, onClick: () => {\n setActiveIndex(item.channelIndex);\n // icc_ws直接播放\n if (item.player === 'icc_ws') {\n //\n }\n } }, { children: _jsx(Tooltip, Object.assign({ title: `${item.channelName}` }, { children: `${item.channelName}` })) }), `${item.deviceId}${item.channelNum}`));\n }) }))] })), _jsx(\"div\", Object.assign({ className: \"urls-panel\", style: { flex: 1, overflow: 'hidden', width: `100%` } }, { children: _jsx(VideoTable, { tableList: ((_b = channels === null || channels === void 0 ? void 0 : channels[activeIndex]) === null || _b === void 0 ? void 0 : _b.player) === 'vtx_ws'\n ? []\n : (channels === null || channels === void 0 ? void 0 : channels[activeIndex].tableList) || [], currentIndex: (_c = channels === null || channels === void 0 ? void 0 : channels[activeIndex]) === null || _c === void 0 ? void 0 : _c.index, hkType: (_d = channels === null || channels === void 0 ? void 0 : channels[activeIndex]) === null || _d === void 0 ? void 0 : _d.hkType, onPlay: onPlay }) }))] }))] })) }))] }))) : null }));\n});\nconst TimeLine = () => {\n const getSplitLines = () => {\n const result = [];\n const step = 100 / 24;\n for (let i = 0; i < 25; i++) {\n const element = (_jsx(\"div\", Object.assign({ className: \"line\", style: { left: `${step * i}%` } }, { children: _jsx(\"div\", Object.assign({ className: \"number\" }, { children: i >= 10 ? i : '0' + i })) }), i));\n result.push(element);\n }\n return result;\n };\n return (_jsxs(\"div\", Object.assign({ className: \"time-axis\" }, { children: [_jsx(\"div\", { className: \"axis\" }), _jsx(\"div\", Object.assign({ className: \"split-lines\" }, { children: getSplitLines() }))] })));\n};\nconst ONEDAY_MILL = 24 * 60 * 60 * 1000;\nconst TimeVerticalLine = ({ getRef, history, onClick, channelName, }) => {\n var _a;\n const mouse = useMouse(getRef());\n const { elementX, elementY, elementW, elementH } = mouse;\n const visible = elementX >= 0 && elementY >= 0 && elementX <= elementW && elementY <= elementH;\n // 计算elementX在整个宽度的占比,根据占比在一天中的比例算出具体时间,最后判断这个时间是否在某段视频中。在则显示提示时间。\n const percent = elementX / elementW;\n const time = moment(moment(history.start).valueOf() + percent * ONEDAY_MILL).format(TimeFormat.params);\n let flag = false, playStart = -1, playEnd = -1, index = -1;\n const now = moment(time).valueOf();\n for (let i = 0; i < ((_a = history.list) === null || _a === void 0 ? void 0 : _a.length); i++) {\n const begin = moment(history.list[i].beginTime).valueOf(), end = moment(history.list[i].endTime).valueOf();\n if (now >= begin && now <= end) {\n index = i;\n // url = history.list[i].playbackUrl;\n playStart = now;\n playEnd = end;\n flag = true;\n break;\n }\n }\n return visible ? (flag ? (_jsx(Tooltip, Object.assign({ title: `${channelName || ''} ${time}` }, { children: _jsx(\"div\", { className: \"timeline\", style: { left: elementX }, onClick: () => onClick(index, playStart, playEnd) }) }))) : (_jsx(\"div\", { className: \"timeline\", style: { left: elementX }, onClick: () => onClick(index, playStart, playEnd) }))) : (_jsx(_Fragment, {}));\n};\nconst getSegments = (props) => {\n const { list = [], start, end } = props;\n const startTime = moment(start);\n const endTime = moment(end);\n const total = endTime.diff(startTime, 'seconds'); // 总时间\n const result = list === null || list === void 0 ? void 0 : list.map((i, index) => {\n const itemStart = moment(i.beginTime).diff(startTime, 'seconds') > 0 ? moment(i.beginTime) : startTime;\n const itemEnd = moment(i.endTime);\n const itemTotal = itemEnd.diff(itemStart, 'seconds'); // 分段总时间\n const width = (itemTotal / total) * 100; // 分段时间占总时间百分比\n const left = (itemStart.diff(startTime, 'seconds') / total) * 100; // 分段其实时间\n return (_jsx(\"div\", { className: \"segment\", style: { width: `${width}%`, left: `${left < 0 ? 0 : left}%` } }, `${i.beginTime}_${index}`));\n });\n return result;\n};\nHistoryControlV2Panel.displayName = 'HistoryControlV2Panel';\nexport default memo(HistoryControlV2Panel);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_jsxRuntime","require","_react","_reactCollapsed","_interopRequireDefault","_api","_icons","_utils","_context","_collapse","_utils2","_utils3","_ahooks","_message","_tooltip","_moment","_VideoTable","e","__esModule","_toConsumableArray","r","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","a","_arrayLikeToArray","t","toString","call","slice","constructor","name","Array","from","test","Symbol","iterator","isArray","length","n","HistoryControlV2Panel","exports","forwardRef","props","ref","_a","_b","_c","_d","_e","_useContext","useContext","historyControlV2Context","channels","setChannels","setLoading","activeIndex","setActiveIndex","timeLinePosition","realChannels","filter","item","channelNum","segmentsRef","useRef","getRef","current","onVideoClose","_props$bottomDefaultE","bottomDefaultExpand","_useCollapse","useCollapse","defaultExpanded","getCollapseProps","getToggleProps","isExpanded","_useRequest","useRequest","getHistoryUrls","manual","runAsync","_useRequest2","getPlaybackUrlSingle","GetHKV2Url","loadData","channel","deviceChannels","JSON","stringify","protocol","beginTime","endTime","token","getVtxToken","then","res","message","info","newIds","map","concat","deviceId","newChannels","index","includes","Object","assign","channelIndex","DEFAULT_PLAY_PARAMS","fetchArr","fetchIndexArr","_f","_g","_h","_j","_k","_l","_m","_o","_p","_q","player","findIndex","v","url","startTime","streamType","deviceCode","deviceIp","devicePort","list","moment","diff","result","find","citem","isClose","tagId","data","getChannelData","hkType","singleUrl","push","code","tenantId","error","Promise","all","forEach","playbackUrl","useImperativeHandle","load","onPlay","useMemoizedFn","active","record","deal","realUrl","_jsx","_Fragment","children","_jsxs","className","src","collapseBtnImg","alt","style","transform","TimeVerticalLine","history","segmentData","channelName","onClick","format","TimeFormat","params","getSegments","TimePositionIcon","left","TimeLine","display","Tooltip","title","flex","overflow","width","VideoTable","tableList","currentIndex","getSplitLines","step","i","element","ONEDAY_MILL","_ref","mouse","useMouse","elementX","elementY","elementW","elementH","visible","percent","time","start","valueOf","flag","playStart","playEnd","now","begin","end","_props$list","total","itemStart","itemEnd","itemTotal","displayName","_default","memo"],"sources":["history-control-v2/components/panel/index.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { forwardRef, memo, useContext, useImperativeHandle, useRef } from 'react';\nimport useCollapse from 'react-collapsed';\nimport { getHistoryUrls, getPlaybackUrlSingle } from '../../../api';\nimport { TimePositionIcon } from '../../../icons';\nimport { TimeFormat } from '../../../utils';\nimport { historyControlV2Context } from '../../context';\nimport collapseBtnImg from '../../images/collapse.png';\nimport { DEFAULT_PLAY_PARAMS, getChannelData } from '../../utils';\nimport { getVtxToken } from '@vtx/utils';\nimport { useMemoizedFn, useMouse, useRequest } from 'ahooks';\nimport message from 'antd/lib/message';\nimport Tooltip from 'antd/lib/tooltip';\nimport moment from 'moment';\nimport VideoTable from './VideoTable';\nexport const HistoryControlV2Panel = forwardRef((props, ref) => {\n var _a, _b, _c, _d, _e;\n const { channels, setChannels, setLoading, activeIndex, setActiveIndex, timeLinePosition } = useContext(historyControlV2Context);\n const realChannels = channels.filter((item) => item.channelNum !== '');\n const segmentsRef = useRef(null);\n const getRef = () => {\n return segmentsRef.current;\n };\n const { onVideoClose, bottomDefaultExpand = true } = props;\n const { getCollapseProps, getToggleProps, isExpanded } = useCollapse({\n defaultExpanded: bottomDefaultExpand, // 默认展开\n });\n const { runAsync } = useRequest(getHistoryUrls, {\n manual: true,\n });\n const { runAsync: GetHKV2Url } = useRequest(getPlaybackUrlSingle, {\n manual: true,\n });\n const loadData = (channel) => {\n setLoading(true);\n runAsync({\n deviceChannels: JSON.stringify(channel.deviceChannels),\n protocol: channel.protocol,\n beginTime: channel.beginTime,\n endTime: channel.endTime,\n token: getVtxToken('token'),\n }).then((res) => {\n if (Array.isArray(res)) {\n if (res.length > 25) {\n message.info('最多播放25个视频通道');\n }\n const newIds = [...res].map((item) => {\n return `${item.deviceId}${item.channelNum}`;\n });\n const newChannels = [...channels];\n channels.map((item, index) => {\n if (!newIds.includes(`${item.deviceId}${item.channelNum}`)) {\n newChannels[index] = Object.assign({ channelIndex: index }, DEFAULT_PLAY_PARAMS);\n }\n });\n const fetchArr = [], fetchIndexArr = [];\n res.filter((item, index) => index < 25).map((item) => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;\n if (item.player === 'icc_ws') {\n const channelIndex = newChannels.findIndex((v) => !v.url);\n newChannels[channelIndex] = Object.assign(Object.assign({}, newChannels[channelIndex]), { url: 'icc_ws', startTime: channel.beginTime, endTime: channel.endTime, streamType: item.streamType, deviceCode: item.deviceCode, deviceId: item.deviceId, deviceIp: item.deviceIp, devicePort: item.devicePort, channelNum: item.channelNum, player: 'icc_ws' });\n return;\n }\n /**\n * 优化第一条数据的开始时间不要早于请求的开始时间\n * 最后一条的结束时间不要晚于请求的结束时间\n */\n if ((_a = item.list) === null || _a === void 0 ? void 0 : _a.length) {\n if (moment((_c = (_b = item.list) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.beginTime).diff(moment(channel.beginTime), 'seconds') < 0) {\n item.list[0].beginTime = channel.beginTime;\n }\n if (moment((_e = (_d = item.list) === null || _d === void 0 ? void 0 : _d[item.list.length - 1]) === null || _e === void 0 ? void 0 : _e.endTime).diff(moment(channel.endTime), 'seconds') > 0) {\n item.list[item.list.length - 1].endTime = channel.endTime;\n }\n }\n const result = newChannels.find((citem) => citem.deviceId === item.deviceId && citem.channelNum === item.channelNum);\n if (result) {\n const isClose = newChannels[result.channelIndex].index === -1 &&\n newChannels[result.channelIndex].tagId === '';\n // 过滤跨天的数据\n item.list = (_g = (_f = item.list) === null || _f === void 0 ? void 0 : _f.filter) === null || _g === void 0 ? void 0 : _g.call(_f, (e) => e.beginTime.slice(0, 10) === e.endTime.slice(0, 10));\n const data = getChannelData(item, channel);\n newChannels[result.channelIndex] = Object.assign(Object.assign(Object.assign({}, newChannels[result.channelIndex]), { \n // 如果当前既没有播放列表 又没有播放标签 再 开始以第一个播放\n index: isClose ? 0 : newChannels[result.channelIndex].index, startTime: isClose\n ? ((_j = (_h = item.list) === null || _h === void 0 ? void 0 : _h[0]) === null || _j === void 0 ? void 0 : _j.beginTime) || channel.beginTime\n : newChannels[result.channelIndex].startTime, endTime: isClose\n ? ((_l = (_k = item.list) === null || _k === void 0 ? void 0 : _k[0]) === null || _l === void 0 ? void 0 : _l.beginTime) || channel.beginTime\n : newChannels[result.channelIndex].endTime }), data);\n }\n else {\n const channelIndex = (_o = (_m = newChannels.filter((item) => item.channelNum === '')) === null || _m === void 0 ? void 0 : _m[0]) === null || _o === void 0 ? void 0 : _o.channelIndex;\n if (typeof channelIndex == 'number') {\n // 过滤跨天的数据\n item.list = (_q = (_p = item.list) === null || _p === void 0 ? void 0 : _p.filter) === null || _q === void 0 ? void 0 : _q.call(_p, (e) => e.beginTime.slice(0, 10) === e.endTime.slice(0, 10));\n const data = getChannelData(item, channel);\n if (['HK_CAR_CLOUD_V2', 'YS', 'DHICC'].includes(data.hkType) || data.singleUrl) {\n fetchArr.push(GetHKV2Url({\n code: data.code,\n beginTime: data.startTime,\n endTime: data.endTime,\n deviceId: data.deviceId,\n channelNum: data.channelNum,\n tenantId: getVtxToken('tenantId'),\n }));\n fetchIndexArr.push(channelIndex);\n }\n newChannels[channelIndex] = Object.assign(Object.assign({}, newChannels[channelIndex]), data);\n }\n else {\n message.error('没有多余的播放位置');\n }\n }\n });\n if (fetchArr.length) {\n Promise.all(fetchArr).then((data) => {\n data.forEach((e, index) => {\n newChannels[fetchIndexArr[index]] = Object.assign(Object.assign({}, newChannels[fetchIndexArr[index]]), { url: e.playbackUrl, player: (e === null || e === void 0 ? void 0 : e.player) || '' });\n });\n setChannels(newChannels);\n });\n }\n else {\n setChannels(newChannels);\n }\n }\n else {\n message.info('未查询到视频');\n }\n setLoading(false);\n });\n };\n useImperativeHandle(ref, () => {\n return {\n load: (channel) => {\n loadData(channel);\n },\n };\n });\n const onPlay = useMemoizedFn((active, record, index) => {\n if (active) {\n const newChannels = [...channels];\n newChannels[activeIndex].index = -1;\n newChannels[activeIndex].startTime = '';\n newChannels[activeIndex].endTime = '';\n setActiveIndex(activeIndex - 1 > 0 ? activeIndex - 1 : 0);\n setChannels(newChannels);\n onVideoClose && onVideoClose(newChannels[activeIndex]);\n }\n else {\n // eslint-disable-next-line no-inner-declarations\n function deal(url, player) {\n const realUrl = url || record.url;\n const newChannels = [...channels];\n newChannels[activeIndex].index = index;\n newChannels[activeIndex].startTime = record.beginTime;\n newChannels[activeIndex].endTime = record.endTime;\n newChannels[activeIndex].tagId = '';\n newChannels[activeIndex].url = realUrl;\n newChannels[activeIndex].player = player || record.player;\n setChannels(newChannels);\n }\n if (['HK_CAR_CLOUD_V2', 'DHICC', 'YS'].includes(record.hkType) || record.singleUrl) {\n GetHKV2Url({\n code: record.code,\n beginTime: record.beginTime,\n endTime: record.endTime,\n deviceId: record.deviceId,\n channelNum: record.channelNum,\n tenantId: getVtxToken('tenantId'),\n }).then((data) => {\n deal(data.playbackUrl, (data === null || data === void 0 ? void 0 : data.player) || '');\n });\n }\n else {\n deal();\n }\n }\n });\n return (_jsx(_Fragment, { children: Array.isArray(realChannels) && realChannels.length > 0 ? (_jsxs(\"div\", Object.assign({ className: \"collapse-controls\" }, { children: [_jsx(\"div\", Object.assign({ className: \"action-bar\" }, getToggleProps({}), { children: _jsx(\"img\", { src: collapseBtnImg, alt: \"\", style: { transform: `rotate(${isExpanded ? 180 : 0}deg)` } }) })), _jsx(\"section\", Object.assign({ className: \"collapse-panel-container\" }, getCollapseProps(), { children: _jsxs(\"div\", Object.assign({ className: \"panels\" }, { children: [!['bd', 'vtx_ws'].includes((_a = channels === null || channels === void 0 ? void 0 : channels[activeIndex]) === null || _a === void 0 ? void 0 : _a.player) && (_jsxs(\"div\", Object.assign({ className: \"time-panel\" }, { children: [_jsxs(\"div\", Object.assign({ className: \"segments\", ref: segmentsRef }, { children: [_jsx(TimeVerticalLine, { getRef: getRef, history: channels === null || channels === void 0 ? void 0 : channels[activeIndex].segmentData, channelName: channels === null || channels === void 0 ? void 0 : channels[activeIndex].channelName, onClick: (index, startTime, endTime) => {\n const newChannels = [...channels];\n newChannels[activeIndex] = Object.assign(Object.assign({}, newChannels[activeIndex]), { index, startTime: moment(startTime).format(TimeFormat.params), endTime: moment(endTime).format(TimeFormat.params), tagId: '' });\n setChannels(newChannels);\n } }), getSegments(channels === null || channels === void 0 ? void 0 : channels[activeIndex].segmentData)] })), _jsxs(_Fragment, { children: [timeLinePosition >= 0 && (_jsx(TimePositionIcon, { className: \"time-line-icon\", style: {\n left: `${timeLinePosition}%`,\n } })), _jsx(TimeLine, {})] })] }))), _jsxs(\"div\", Object.assign({ style: { display: 'flex' } }, { children: [_jsxs(\"div\", Object.assign({ className: \"panels-left\" }, { children: [_jsxs(\"div\", Object.assign({ className: \"panels-left-title\" }, { children: [\"\\u89C6\\u9891\\u901A\\u9053(\", realChannels.length, \")\"] })), _jsx(\"div\", Object.assign({ className: \"panels-left-wrap\" }, { children: realChannels.map((item, index) => {\n return (_jsx(\"div\", Object.assign({ className: `${activeIndex == index\n ? 'panels-left-content-active'\n : ''} panels-left-content`, onClick: () => {\n setActiveIndex(item.channelIndex);\n // icc_ws直接播放\n if (item.player === 'icc_ws') {\n //\n }\n } }, { children: _jsx(Tooltip, Object.assign({ title: `${item.channelName}` }, { children: `${item.channelName}` })) }), `${item.deviceId}${item.channelNum}`));\n }) }))] })), _jsx(\"div\", Object.assign({ className: \"urls-panel\", style: { flex: 1, overflow: 'hidden', width: `100%` } }, { children: _jsx(VideoTable, { tableList: ((_b = channels === null || channels === void 0 ? void 0 : channels[activeIndex]) === null || _b === void 0 ? void 0 : _b.player) === 'vtx_ws' && !['HK_CAR_CLOUD_V2', 'DHICC', 'YS'].includes((_c = channels === null || channels === void 0 ? void 0 : channels[activeIndex]) === null || _c === void 0 ? void 0 : _c.hkType)\n ? []\n : (channels === null || channels === void 0 ? void 0 : channels[activeIndex].tableList) || [], currentIndex: (_d = channels === null || channels === void 0 ? void 0 : channels[activeIndex]) === null || _d === void 0 ? void 0 : _d.index, hkType: (_e = channels === null || channels === void 0 ? void 0 : channels[activeIndex]) === null || _e === void 0 ? void 0 : _e.hkType, onPlay: onPlay }) }))] }))] })) }))] }))) : null }));\n});\nconst TimeLine = () => {\n const getSplitLines = () => {\n const result = [];\n const step = 100 / 24;\n for (let i = 0; i < 25; i++) {\n const element = (_jsx(\"div\", Object.assign({ className: \"line\", style: { left: `${step * i}%` } }, { children: _jsx(\"div\", Object.assign({ className: \"number\" }, { children: i >= 10 ? i : '0' + i })) }), i));\n result.push(element);\n }\n return result;\n };\n return (_jsxs(\"div\", Object.assign({ className: \"time-axis\" }, { children: [_jsx(\"div\", { className: \"axis\" }), _jsx(\"div\", Object.assign({ className: \"split-lines\" }, { children: getSplitLines() }))] })));\n};\nconst ONEDAY_MILL = 24 * 60 * 60 * 1000;\nconst TimeVerticalLine = ({ getRef, history, onClick, channelName, }) => {\n var _a;\n const mouse = useMouse(getRef());\n const { elementX, elementY, elementW, elementH } = mouse;\n const visible = elementX >= 0 && elementY >= 0 && elementX <= elementW && elementY <= elementH;\n // 计算elementX在整个宽度的占比,根据占比在一天中的比例算出具体时间,最后判断这个时间是否在某段视频中。在则显示提示时间。\n const percent = elementX / elementW;\n const time = moment(moment(history.start).valueOf() + percent * ONEDAY_MILL).format(TimeFormat.params);\n let flag = false, playStart = -1, playEnd = -1, index = -1;\n const now = moment(time).valueOf();\n for (let i = 0; i < ((_a = history.list) === null || _a === void 0 ? void 0 : _a.length); i++) {\n const begin = moment(history.list[i].beginTime).valueOf(), end = moment(history.list[i].endTime).valueOf();\n if (now >= begin && now <= end) {\n index = i;\n // url = history.list[i].playbackUrl;\n playStart = now;\n playEnd = end;\n flag = true;\n break;\n }\n }\n return visible ? (flag ? (_jsx(Tooltip, Object.assign({ title: `${channelName || ''} ${time}` }, { children: _jsx(\"div\", { className: \"timeline\", style: { left: elementX }, onClick: () => onClick(index, playStart, playEnd) }) }))) : (_jsx(\"div\", { className: \"timeline\", style: { left: elementX }, onClick: () => onClick(index, playStart, playEnd) }))) : (_jsx(_Fragment, {}));\n};\nconst getSegments = (props) => {\n const { list = [], start, end } = props;\n const startTime = moment(start);\n const endTime = moment(end);\n const total = endTime.diff(startTime, 'seconds'); // 总时间\n const result = list === null || list === void 0 ? void 0 : list.map((i, index) => {\n const itemStart = moment(i.beginTime).diff(startTime, 'seconds') > 0 ? moment(i.beginTime) : startTime;\n const itemEnd = moment(i.endTime);\n const itemTotal = itemEnd.diff(itemStart, 'seconds'); // 分段总时间\n const width = (itemTotal / total) * 100; // 分段时间占总时间百分比\n const left = (itemStart.diff(startTime, 'seconds') / total) * 100; // 分段其实时间\n return (_jsx(\"div\", { className: \"segment\", style: { width: `${width}%`, left: `${left < 0 ? 0 : left}%` } }, `${i.beginTime}_${index}`));\n });\n return result;\n};\nHistoryControlV2Panel.displayName = 'HistoryControlV2Panel';\nexport default memo(HistoryControlV2Panel);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,6 +5,5 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.historyControlV2Context = void 0;
|
|
7
7
|
var _react = require("react");
|
|
8
|
-
var historyControlV2Context = /*#__PURE__*/(0, _react.createContext)({});
|
|
9
|
-
exports.historyControlV2Context = historyControlV2Context;
|
|
8
|
+
var historyControlV2Context = exports.historyControlV2Context = /*#__PURE__*/(0, _react.createContext)({});
|
|
10
9
|
//# sourceMappingURL=context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","names":["_react","require","historyControlV2Context","
|
|
1
|
+
{"version":3,"file":"context.js","names":["_react","require","historyControlV2Context","exports","createContext"],"sources":["history-control-v2/context.js"],"sourcesContent":["import { createContext } from 'react';\nexport const historyControlV2Context = createContext({});\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACO,IAAMC,uBAAuB,GAAAC,OAAA,CAAAD,uBAAA,gBAAG,IAAAE,oBAAa,EAAC,CAAC,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { IChannel, IGetHistoryUrlParams, IHistoryControlProps, IHistoryControlV2Handle, IHistoryPlayInfoParams } from './interface';
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export
|
|
6
|
-
export
|
|
3
|
+
export type HistoryControlV2Handle = IHistoryControlV2Handle;
|
|
4
|
+
export type HistoryPlayInfoParams = IHistoryPlayInfoParams;
|
|
5
|
+
export type GetHistoryUrlParams = IGetHistoryUrlParams;
|
|
6
|
+
export type Channel = IChannel;
|
|
7
7
|
/**
|
|
8
8
|
* 历史视频控制器
|
|
9
9
|
*/
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports["default"] = exports.HistoryControlV2 = void 0;
|
|
8
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
8
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
9
|
var _react = require("react");
|
|
11
10
|
var _api = require("../api");
|
|
@@ -21,19 +20,20 @@ var _gridItem = _interopRequireDefault(require("./components/grid-item"));
|
|
|
21
20
|
var _panel = _interopRequireDefault(require("./components/panel"));
|
|
22
21
|
var _context2 = require("./context");
|
|
23
22
|
var _utils2 = require("./utils");
|
|
24
|
-
function
|
|
25
|
-
function
|
|
26
|
-
function
|
|
27
|
-
function
|
|
23
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
24
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
25
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
26
|
+
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
|
|
27
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
28
28
|
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."); }
|
|
29
|
-
function _iterableToArray(
|
|
30
|
-
function _arrayWithoutHoles(
|
|
31
|
-
function _slicedToArray(
|
|
29
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
30
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
31
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
32
32
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
33
|
-
function _unsupportedIterableToArray(
|
|
34
|
-
function _arrayLikeToArray(
|
|
35
|
-
function _iterableToArrayLimit(
|
|
36
|
-
function _arrayWithHoles(
|
|
33
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
34
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
35
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
36
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
37
37
|
var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
|
|
38
38
|
function adopt(value) {
|
|
39
39
|
return value instanceof P ? value : new P(function (resolve) {
|
|
@@ -64,7 +64,7 @@ var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P
|
|
|
64
64
|
/**
|
|
65
65
|
* 历史视频控制器
|
|
66
66
|
*/
|
|
67
|
-
var HistoryControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
67
|
+
var HistoryControlV2 = exports.HistoryControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
68
68
|
var _props$width = props.width,
|
|
69
69
|
width = _props$width === void 0 ? '100%' : _props$width,
|
|
70
70
|
_props$height = props.height,
|
|
@@ -123,67 +123,65 @@ var HistoryControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref)
|
|
|
123
123
|
panelRef.current.load(channel);
|
|
124
124
|
},
|
|
125
125
|
start: function start(playInfo) {
|
|
126
|
-
return __awaiter(void 0, void 0, void 0, /*#__PURE__*/
|
|
126
|
+
return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
127
127
|
var _a, _b, _c, result, labelRes, res, newChannels, resultChannel, channelIndex;
|
|
128
|
-
return
|
|
129
|
-
while (1) {
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
128
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
129
|
+
while (1) switch (_context.prev = _context.next) {
|
|
130
|
+
case 0:
|
|
131
|
+
setLoading(true);
|
|
132
|
+
result = playInfo;
|
|
133
|
+
if (!playInfo.tagId) {
|
|
134
|
+
_context.next = 10;
|
|
135
|
+
break;
|
|
136
|
+
}
|
|
137
|
+
_context.next = 5;
|
|
138
|
+
return getVideoLabelByIdAsync({
|
|
139
|
+
id: playInfo.tagId
|
|
140
|
+
});
|
|
141
|
+
case 5:
|
|
142
|
+
labelRes = _context.sent;
|
|
143
|
+
result.deviceId = labelRes.videoDeviceId || playInfo.deviceId;
|
|
144
|
+
result.channelNum = labelRes.videoChannelNum || playInfo.channelNum;
|
|
145
|
+
result.beginTime = labelRes.startTime || playInfo.beginTime;
|
|
146
|
+
result.endTime = labelRes.endTime || playInfo.endTime;
|
|
147
|
+
case 10:
|
|
148
|
+
_context.next = 12;
|
|
149
|
+
return runAsync({
|
|
150
|
+
deviceId: result.deviceId,
|
|
151
|
+
channelNum: result.channelNum,
|
|
152
|
+
beginTime: result.beginTime,
|
|
153
|
+
endTime: result.endTime,
|
|
154
|
+
protocol: result.protocol,
|
|
155
|
+
token: (0, _utils.getVtxToken)('token')
|
|
156
|
+
});
|
|
157
|
+
case 12:
|
|
158
|
+
res = _context.sent;
|
|
159
|
+
newChannels = _toConsumableArray(channels);
|
|
160
|
+
resultChannel = (_a = newChannels.filter(function (citem) {
|
|
161
|
+
return citem.deviceId === res.deviceId && citem.channelNum === res.channelNum;
|
|
162
|
+
})) === null || _a === void 0 ? void 0 : _a[0]; // 如果当前通道已经再里面了,则直接替换当前通道
|
|
163
|
+
if (resultChannel) {
|
|
164
|
+
newChannels[resultChannel.channelIndex] = Object.assign(Object.assign({}, newChannels[resultChannel.channelIndex]), {
|
|
165
|
+
// 有tagId 则为-1 不然维持原有的
|
|
166
|
+
index: playInfo.tagId ? -1 : newChannels[resultChannel.channelIndex].index,
|
|
167
|
+
tagId: playInfo.tagId || '',
|
|
168
|
+
startTime: result.beginTime,
|
|
169
|
+
endTime: result.endTime
|
|
157
170
|
});
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
newChannels[resultChannel.channelIndex] = Object.assign(Object.assign({}, newChannels[resultChannel.channelIndex]), {
|
|
166
|
-
// 有tagId 则为-1 不然维持原有的
|
|
167
|
-
index: playInfo.tagId ? -1 : newChannels[resultChannel.channelIndex].index,
|
|
168
|
-
tagId: playInfo.tagId || '',
|
|
169
|
-
startTime: result.beginTime,
|
|
170
|
-
endTime: result.endTime
|
|
171
|
-
});
|
|
172
|
-
} else {
|
|
173
|
-
// 如果当前通道不在里面 则找到第一个channelNum为''的替换
|
|
174
|
-
channelIndex = (_c = (_b = newChannels.filter(function (item) {
|
|
175
|
-
return item.channelNum === '';
|
|
176
|
-
})) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.channelIndex;
|
|
177
|
-
if (typeof channelIndex == 'number') {
|
|
178
|
-
newChannels[channelIndex] = Object.assign(Object.assign({}, newChannels[channelIndex]), (0, _utils2.getChannelData)(res, result));
|
|
179
|
-
}
|
|
171
|
+
} else {
|
|
172
|
+
// 如果当前通道不在里面 则找到第一个channelNum为''的替换
|
|
173
|
+
channelIndex = (_c = (_b = newChannels.filter(function (item) {
|
|
174
|
+
return item.channelNum === '';
|
|
175
|
+
})) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.channelIndex;
|
|
176
|
+
if (typeof channelIndex == 'number') {
|
|
177
|
+
newChannels[channelIndex] = Object.assign(Object.assign({}, newChannels[channelIndex]), (0, _utils2.getChannelData)(res, result));
|
|
180
178
|
}
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
179
|
+
}
|
|
180
|
+
setChannels(newChannels);
|
|
181
|
+
setLoading(false);
|
|
182
|
+
case 18:
|
|
183
|
+
case "end":
|
|
184
|
+
return _context.stop();
|
|
187
185
|
}
|
|
188
186
|
}, _callee);
|
|
189
187
|
}));
|
|
@@ -372,8 +370,6 @@ var HistoryControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref)
|
|
|
372
370
|
}))
|
|
373
371
|
}));
|
|
374
372
|
});
|
|
375
|
-
exports.HistoryControlV2 = HistoryControlV2;
|
|
376
373
|
HistoryControlV2.displayName = 'HistoryControlV2';
|
|
377
|
-
var _default = HistoryControlV2;
|
|
378
|
-
exports["default"] = _default;
|
|
374
|
+
var _default = exports["default"] = HistoryControlV2;
|
|
379
375
|
//# sourceMappingURL=index.js.map
|