@vtx/player 1.4.9 → 1.4.11
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/lib/bd/PlayerManager.d.ts +89 -0
- package/lib/bd/PlayerManager.js +353 -0
- package/lib/bd/PlayerManager.js.map +1 -0
- package/lib/history-control-v2/components/panel/index.js +2 -1
- package/lib/history-control-v2/components/panel/index.js.map +1 -1
- package/lib/history-control-v2/index.js +4 -2
- package/lib/history-control-v2/index.js.map +1 -1
- package/lib/history-control-v2/interface.d.ts +1 -1
- package/lib/live-control-v2/index.d.ts +2 -0
- package/lib/live-control-v2/index.js +1 -1
- package/lib/live-control-v2/index.js.map +1 -1
- package/lib/live-player/index.d.ts +4 -0
- package/lib/live-player/index.js +4 -0
- package/lib/live-player/index.js.map +1 -1
- package/lib/player/index.d.ts +6 -2
- package/lib/player/index.js +81 -33
- package/lib/player/index.js.map +1 -1
- package/lib/utils/index.d.ts +2 -0
- package/lib/utils/index.js +43 -1
- package/lib/utils/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["HistoryControlV2Panel","forwardRef","props","ref","useContext","historyControlV2Context","channels","setChannels","setLoading","activeIndex","setActiveIndex","timeLinePosition","realChannels","filter","item","channelNum","segmentsRef","useRef","getRef","current","onVideoClose","useCollapse","defaultExpanded","getCollapseProps","getToggleProps","isExpanded","useRequest","getHistoryUrls","manual","runAsync","getPlaybackUrlSingle","GetHKV2Url","columns","title","dataIndex","width","key","render","_","record","index","_a","active","_jsx","Button","Object","assign","className","onClick","newChannels","startTime","endTime","deal","url","player","beginTime","tagId","hkType","code","deviceId","tenantId","getUrlParam","then","data","playbackUrl","children","_jsxs","_Fragment","VideoCloseIcon","VideoPlayIcon","loadData","channel","deviceChannels","JSON","stringify","protocol","token","res","Array","isArray","length","message","info","newIds","map","includes","channelIndex","DEFAULT_PLAY_PARAMS","fetchArr","fetchIndexArr","_b","_c","_d","_e","_f","_g","_h","_j","_k","_l","_m","_o","findIndex","v","streamType","deviceCode","deviceIp","devicePort","list","moment","diff","result","find","citem","isClose","call","e","slice","getChannelData","push","error","Promise","all","forEach","useImperativeHandle","load","src","collapseBtnImg","alt","style","transform","TimeVerticalLine","history","segmentData","channelName","format","TimeFormat","params","getSegments","TimePositionIcon","left","TimeLine","display","Tooltip","flex","overflow","Table","dataSource","tableList","scroll","y","x","pagination","rowKey","guid","rowClassName","getSplitLines","step","i","element","ONEDAY_MILL","mouse","useMouse","elementX","elementY","elementW","elementH","visible","percent","time","start","valueOf","flag","playStart","playEnd","now","begin","end","total","itemStart","itemEnd","itemTotal","displayName"],"sources":["history-control-v2/components/panel/index.js"],"sourcesContent":["import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { forwardRef, useContext, useImperativeHandle, useRef } from 'react';\nimport useCollapse from 'react-collapsed';\nimport { getHistoryUrls, getPlaybackUrlSingle } from '../../../api';\nimport { TimePositionIcon, VideoCloseIcon, VideoPlayIcon } from '../../../icons';\nimport { TimeFormat, getUrlParam, guid } from '../../../utils';\nimport { historyControlV2Context } from '../../context';\nimport collapseBtnImg from '../../images/collapse.png';\nimport { DEFAULT_PLAY_PARAMS, getChannelData } from '../../utils';\nimport { useMouse, useRequest } from 'ahooks';\nimport Button from 'antd/lib/button';\nimport message from 'antd/lib/message';\nimport Table from 'antd/lib/table';\nimport Tooltip from 'antd/lib/tooltip';\nimport moment from 'moment';\nexport const HistoryControlV2Panel = forwardRef((props, ref) => {\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 } = props;\n const { getCollapseProps, getToggleProps, isExpanded } = useCollapse({\n defaultExpanded: true, // 默认展开\n });\n const { runAsync } = useRequest(getHistoryUrls, {\n manual: true,\n });\n const { runAsync: GetHKV2Url } = useRequest(getPlaybackUrlSingle, {\n manual: true,\n });\n const columns = [\n {\n title: '序号',\n dataIndex: 'index',\n width: 50,\n },\n {\n title: '播放视频',\n key: 'play',\n width: 90,\n render: (_, record, index) => {\n var _a;\n const active = ((_a = channels === null || channels === void 0 ? void 0 : channels[activeIndex]) === null || _a === void 0 ? void 0 : _a.index) === index;\n return (_jsx(Button, Object.assign({ className: `play-btn ${active ? 'active' : ''}`, onClick: () => {\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 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 = url || record.url;\n newChannels[activeIndex].player = player || '';\n setChannels(newChannels);\n }\n if (record.hkType === 'HK_CAR_CLOUD_V2') {\n GetHKV2Url({\n code: record.code,\n beginTime: record.beginTime,\n endTime: record.endTime,\n deviceId: record.deviceId,\n channelNum: record.channelNum,\n tenantId: getUrlParam('tenantId'),\n }).then((data) => {\n deal(data.playbackUrl, (data === null || data === void 0 ? void 0 : data.player) || '');\n });\n }\n else {\n deal();\n }\n }\n } }, { children: active ? (_jsxs(_Fragment, { children: [_jsx(VideoCloseIcon, { active: true }), \"\\u5173\\u95ED\"] })) : (_jsxs(_Fragment, { children: [_jsx(VideoPlayIcon, {}), \"\\u64AD\\u653E\"] })) })));\n },\n },\n {\n title: '设备名称',\n dataIndex: 'deviceName',\n width: 200,\n },\n {\n title: '开始时间',\n dataIndex: 'beginTime',\n width: 170,\n },\n {\n title: '结束时间',\n dataIndex: 'endTime',\n width: 170,\n },\n {\n title: '持续时间',\n width: 130,\n dataIndex: 'duration',\n },\n {\n title: '视频大小',\n width: 110,\n dataIndex: 'size',\n },\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: getUrlParam('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;\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 newChannels[result.channelIndex] = Object.assign(Object.assign({}, newChannels[result.channelIndex]), { \n // 如果当前既没有播放列表 又没有播放标签 再 开始以第一个播放\n index: isClose ? 0 : newChannels[result.channelIndex].index, startTime: isClose\n ? ((_g = (_f = item.list) === null || _f === void 0 ? void 0 : _f[0]) === null || _g === void 0 ? void 0 : _g.beginTime) || channel.beginTime\n : newChannels[result.channelIndex].startTime, endTime: 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].endTime });\n }\n else {\n const channelIndex = (_l = (_k = newChannels.filter((item) => item.channelNum === '')) === null || _k === void 0 ? void 0 : _k[0]) === null || _l === void 0 ? void 0 : _l.channelIndex;\n if (typeof channelIndex == 'number') {\n // 过滤跨天的数据\n item.list = (_o = (_m = item.list) === null || _m === void 0 ? void 0 : _m.filter) === null || _o === void 0 ? void 0 : _o.call(_m, (e) => e.beginTime.slice(0, 10) === e.endTime.slice(0, 10));\n const data = getChannelData(item, channel);\n if (data.hkType === 'HK_CAR_CLOUD_V2') {\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: getUrlParam('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 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: [_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)] })), 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 } }, { 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(Table, { className: \"history-url-table\", columns: columns, dataSource: (channels === null || channels === void 0 ? void 0 : channels[activeIndex].tableList) || [], scroll: { y: 100, x: 920 }, pagination: false, rowKey: () => {\n return guid();\n }, rowClassName: (_, index) => { var _a; return index === ((_a = channels === null || channels === void 0 ? void 0 : channels[activeIndex]) === null || _a === void 0 ? void 0 : _a.index) ? 'active' : ''; } }) }))] }))] })) }))] }))) : 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) => {\n const itemStart = moment(i.beginTime).diff(startTime, 'seconds') > 0 ? moment(i.beginTime) : startTime;\n const itemEnd = moment(i.endTime);\n const itemTotal = itemEnd.diff(itemStart, 'seconds'); // 分段总时间\n const width = (itemTotal / total) * 100; // 分段时间占总时间百分比\n const left = (itemStart.diff(startTime, 'seconds') / total) * 100; // 分段其实时间\n return (_jsx(\"div\", { className: \"segment\", style: { width: `${width}%`, left: `${left < 0 ? 0 : left}%` } }, i.beginTime));\n });\n return result;\n};\nHistoryControlV2Panel.displayName = 'HistoryControlV2Panel';\nexport default HistoryControlV2Panel;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["HistoryControlV2Panel","forwardRef","props","ref","useContext","historyControlV2Context","channels","setChannels","setLoading","activeIndex","setActiveIndex","timeLinePosition","realChannels","filter","item","channelNum","segmentsRef","useRef","getRef","current","onVideoClose","useCollapse","defaultExpanded","getCollapseProps","getToggleProps","isExpanded","useRequest","getHistoryUrls","manual","runAsync","getPlaybackUrlSingle","GetHKV2Url","columns","title","dataIndex","width","key","render","_","record","index","_a","active","_jsx","Button","Object","assign","className","onClick","newChannels","startTime","endTime","deal","url","player","beginTime","tagId","hkType","code","deviceId","tenantId","getUrlParam","then","data","playbackUrl","children","_jsxs","_Fragment","VideoCloseIcon","VideoPlayIcon","loadData","channel","deviceChannels","JSON","stringify","protocol","token","res","Array","isArray","length","message","info","newIds","map","includes","channelIndex","DEFAULT_PLAY_PARAMS","fetchArr","fetchIndexArr","_b","_c","_d","_e","_f","_g","_h","_j","_k","_l","_m","_o","findIndex","v","streamType","deviceCode","deviceIp","devicePort","list","moment","diff","result","find","citem","isClose","call","e","slice","getChannelData","push","error","Promise","all","forEach","useImperativeHandle","load","src","collapseBtnImg","alt","style","transform","TimeVerticalLine","history","segmentData","channelName","format","TimeFormat","params","getSegments","TimePositionIcon","left","TimeLine","display","Tooltip","flex","overflow","Table","dataSource","tableList","scroll","y","x","pagination","rowKey","guid","rowClassName","getSplitLines","step","i","element","ONEDAY_MILL","mouse","useMouse","elementX","elementY","elementW","elementH","visible","percent","time","start","valueOf","flag","playStart","playEnd","now","begin","end","total","itemStart","itemEnd","itemTotal","displayName"],"sources":["history-control-v2/components/panel/index.js"],"sourcesContent":["import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { forwardRef, useContext, useImperativeHandle, useRef } from 'react';\nimport useCollapse from 'react-collapsed';\nimport { getHistoryUrls, getPlaybackUrlSingle } from '../../../api';\nimport { TimePositionIcon, VideoCloseIcon, VideoPlayIcon } from '../../../icons';\nimport { TimeFormat, getUrlParam, guid } from '../../../utils';\nimport { historyControlV2Context } from '../../context';\nimport collapseBtnImg from '../../images/collapse.png';\nimport { DEFAULT_PLAY_PARAMS, getChannelData } from '../../utils';\nimport { useMouse, useRequest } from 'ahooks';\nimport Button from 'antd/lib/button';\nimport message from 'antd/lib/message';\nimport Table from 'antd/lib/table';\nimport Tooltip from 'antd/lib/tooltip';\nimport moment from 'moment';\nexport const HistoryControlV2Panel = forwardRef((props, ref) => {\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 } = props;\n const { getCollapseProps, getToggleProps, isExpanded } = useCollapse({\n defaultExpanded: true, // 默认展开\n });\n const { runAsync } = useRequest(getHistoryUrls, {\n manual: true,\n });\n const { runAsync: GetHKV2Url } = useRequest(getPlaybackUrlSingle, {\n manual: true,\n });\n const columns = [\n {\n title: '序号',\n dataIndex: 'index',\n width: 50,\n },\n {\n title: '播放视频',\n key: 'play',\n width: 90,\n render: (_, record, index) => {\n var _a;\n const active = ((_a = channels === null || channels === void 0 ? void 0 : channels[activeIndex]) === null || _a === void 0 ? void 0 : _a.index) === index;\n return (_jsx(Button, Object.assign({ className: `play-btn ${active ? 'active' : ''}`, onClick: () => {\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 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 = url || record.url;\n newChannels[activeIndex].player = player || '';\n setChannels(newChannels);\n }\n if (record.hkType === 'HK_CAR_CLOUD_V2') {\n GetHKV2Url({\n code: record.code,\n beginTime: record.beginTime,\n endTime: record.endTime,\n deviceId: record.deviceId,\n channelNum: record.channelNum,\n tenantId: getUrlParam('tenantId'),\n }).then((data) => {\n deal(data.playbackUrl, (data === null || data === void 0 ? void 0 : data.player) || '');\n });\n }\n else {\n deal();\n }\n }\n } }, { children: active ? (_jsxs(_Fragment, { children: [_jsx(VideoCloseIcon, { active: true }), \"\\u5173\\u95ED\"] })) : (_jsxs(_Fragment, { children: [_jsx(VideoPlayIcon, {}), \"\\u64AD\\u653E\"] })) })));\n },\n },\n {\n title: '设备名称',\n dataIndex: 'deviceName',\n width: 200,\n },\n {\n title: '开始时间',\n dataIndex: 'beginTime',\n width: 170,\n },\n {\n title: '结束时间',\n dataIndex: 'endTime',\n width: 170,\n },\n {\n title: '持续时间',\n width: 130,\n dataIndex: 'duration',\n },\n {\n title: '视频大小',\n width: 110,\n dataIndex: 'size',\n },\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: getUrlParam('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;\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 newChannels[result.channelIndex] = Object.assign(Object.assign({}, newChannels[result.channelIndex]), { \n // 如果当前既没有播放列表 又没有播放标签 再 开始以第一个播放\n index: isClose ? 0 : newChannels[result.channelIndex].index, startTime: isClose\n ? ((_g = (_f = item.list) === null || _f === void 0 ? void 0 : _f[0]) === null || _g === void 0 ? void 0 : _g.beginTime) || channel.beginTime\n : newChannels[result.channelIndex].startTime, endTime: 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].endTime });\n }\n else {\n const channelIndex = (_l = (_k = newChannels.filter((item) => item.channelNum === '')) === null || _k === void 0 ? void 0 : _k[0]) === null || _l === void 0 ? void 0 : _l.channelIndex;\n if (typeof channelIndex == 'number') {\n // 过滤跨天的数据\n item.list = (_o = (_m = item.list) === null || _m === void 0 ? void 0 : _m.filter) === null || _o === void 0 ? void 0 : _o.call(_m, (e) => e.beginTime.slice(0, 10) === e.endTime.slice(0, 10));\n const data = getChannelData(item, channel);\n if (data.hkType === 'HK_CAR_CLOUD_V2') {\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: getUrlParam('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 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: [_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)] })), 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(Table, { className: \"history-url-table\", columns: columns, dataSource: (channels === null || channels === void 0 ? void 0 : channels[activeIndex].tableList) || [], scroll: { y: 100, x: 920 }, pagination: false, rowKey: () => {\n return guid();\n }, rowClassName: (_, index) => { var _a; return index === ((_a = channels === null || channels === void 0 ? void 0 : channels[activeIndex]) === null || _a === void 0 ? void 0 : _a.index) ? 'active' : ''; } }) }))] }))] })) }))] }))) : 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) => {\n const itemStart = moment(i.beginTime).diff(startTime, 'seconds') > 0 ? moment(i.beginTime) : startTime;\n const itemEnd = moment(i.endTime);\n const itemTotal = itemEnd.diff(itemStart, 'seconds'); // 分段总时间\n const width = (itemTotal / total) * 100; // 分段时间占总时间百分比\n const left = (itemStart.diff(startTime, 'seconds') / total) * 100; // 分段其实时间\n return (_jsx(\"div\", { className: \"segment\", style: { width: `${width}%`, left: `${left < 0 ? 0 : left}%` } }, i.beginTime));\n });\n return result;\n};\nHistoryControlV2Panel.displayName = 'HistoryControlV2Panel';\nexport default HistoryControlV2Panel;\n"],"mappings":"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"}
|
|
@@ -108,7 +108,7 @@ var HistoryControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref)
|
|
|
108
108
|
onExpandChange = props.onExpandChange,
|
|
109
109
|
_onVideoClose = props.onVideoClose,
|
|
110
110
|
onVideoCloseAll = props.onVideoCloseAll,
|
|
111
|
-
|
|
111
|
+
_onScreenshot = props.onScreenshot,
|
|
112
112
|
onPlayingChannelChange = props.onPlayingChannelChange,
|
|
113
113
|
onTimeChange = props.onTimeChange;
|
|
114
114
|
|
|
@@ -297,7 +297,9 @@ var HistoryControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref)
|
|
|
297
297
|
},
|
|
298
298
|
scale: state.scale,
|
|
299
299
|
loading: true,
|
|
300
|
-
onScreenshot: onScreenshot
|
|
300
|
+
onScreenshot: function onScreenshot(url) {
|
|
301
|
+
_onScreenshot(url, i);
|
|
302
|
+
}
|
|
301
303
|
}, i);
|
|
302
304
|
items.push(element);
|
|
303
305
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","HistoryControlV2","forwardRef","props","ref","width","height","onExpandChange","onVideoClose","onVideoCloseAll","onScreenshot","onPlayingChannelChange","onTimeChange","useSetState","expand","grid","DEFAULT_GRID","scale","state","setState","useState","DEFAULT_CHANNELS","channels","setChannels","loading","setLoading","DEFAULT_ACTIVE","activeIndex","setActiveIndex","timeLinePosition","setTimeLinePosition","panelRef","useRef","wrapRef","useFullscreen","isFullscreen","toggleFullscreen","useRequest","getHistoryUrl","manual","runAsync","getVideoLabelById","getVideoLabelByIdAsync","useImperativeHandle","load","channel","current","start","playInfo","tagId","id","labelRes","deviceId","videoDeviceId","channelNum","videoChannelNum","beginTime","startTime","endTime","protocol","token","getUrlParam","res","newChannels","resultChannel","_a","filter","citem","channelIndex","Object","assign","index","_c","_b","item","getChannelData","unLoadAll","handleCloseAll","handleExpand","getGridItems","items","i","element","_jsx","GridItem","active","palyIndex","onClick","onClose","deviceName","channelName","url","tableList","aIndex","find","ele","push","Number","store","useEffect","getRealGrid","length","realChannels","className","style","children","_jsxs","historyControlV2Context","Provider","Spin","spinning","size","Panel","Space","align","display","FoldIcon","ExpandIcon","CloseAllIcon","SplitScreen","setGrid","GridIcon","DownOutlined","UpOutlined","VideoScale","setScale","OccupyingScreenIcon","ExitFullScreenIcon","FullScreenIcon","displayName"],"sources":["history-control-v2/index.js"],"sourcesContent":["var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef, useState } from 'react';\nimport { getHistoryUrl, getVideoLabelById } from '../api';\nimport SplitScreen, { getRealGrid } from '../components/split-screen';\nimport VideoScale from '../components/video-scale';\nimport { CloseAllIcon, ExitFullScreenIcon, ExpandIcon, FoldIcon, FullScreenIcon, GridIcon, OccupyingScreenIcon, } from '../icons';\nimport { getUrlParam } from '../utils';\nimport { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { useFullscreen, useRequest, useSetState } from 'ahooks';\nimport Space from 'antd/lib/space';\nimport Spin from 'antd/lib/spin';\nimport GridItem from './components/grid-item';\nimport Panel from './components/panel';\nimport { historyControlV2Context } from './context';\nimport { DEFAULT_ACTIVE, DEFAULT_CHANNELS, DEFAULT_GRID, getChannelData } from './utils';\n/**\n * 历史视频控制器\n */\nexport const HistoryControlV2 = forwardRef((props, ref) => {\n const { width = '100%', height = '100%', onExpandChange, onVideoClose, onVideoCloseAll, onScreenshot, onPlayingChannelChange, onTimeChange, } = props;\n const [state, setState] = useSetState({\n expand: true,\n grid: DEFAULT_GRID,\n scale: '100%',\n });\n const [channels, setChannels] = useState(DEFAULT_CHANNELS);\n const [loading, setLoading] = useState(false);\n const [activeIndex, setActiveIndex] = useState(DEFAULT_ACTIVE);\n const [timeLinePosition, setTimeLinePosition] = useState(-1);\n const panelRef = useRef();\n // 全屏方法\n const wrapRef = useRef(null);\n const [isFullscreen, { toggleFullscreen }] = useFullscreen(wrapRef);\n const { runAsync } = useRequest(getHistoryUrl, {\n manual: true,\n });\n const { runAsync: getVideoLabelByIdAsync } = useRequest(getVideoLabelById, {\n manual: true,\n });\n useImperativeHandle(ref, () => {\n return {\n load: (channel) => {\n panelRef.current.load(channel);\n },\n start: (playInfo) => __awaiter(void 0, void 0, void 0, function* () {\n var _a, _b, _c;\n setLoading(true);\n const result = playInfo;\n if (playInfo.tagId) {\n /**\n * 如果传了tagId 则根据TagId 获取 deviceId,channelNum,beginTime,endTime\n * 如果没有传tagId 则根据 传入进来的 deviceId, channelNum,beginTime,endTime\n */\n const labelRes = yield getVideoLabelByIdAsync({\n id: playInfo.tagId,\n });\n result.deviceId = labelRes.videoDeviceId || playInfo.deviceId;\n result.channelNum = labelRes.videoChannelNum || playInfo.channelNum;\n result.beginTime = labelRes.startTime || playInfo.beginTime;\n result.endTime = labelRes.endTime || playInfo.endTime;\n }\n const res = yield runAsync({\n deviceId: result.deviceId,\n channelNum: result.channelNum,\n beginTime: result.beginTime,\n endTime: result.endTime,\n protocol: result.protocol,\n token: getUrlParam('token'),\n });\n const newChannels = [...channels];\n const resultChannel = (_a = newChannels.filter((citem) => citem.deviceId === res.deviceId && citem.channelNum === res.channelNum)) === null || _a === void 0 ? void 0 : _a[0];\n // 如果当前通道已经再里面了,则直接替换当前通道\n if (resultChannel) {\n newChannels[resultChannel.channelIndex] = Object.assign(Object.assign({}, newChannels[resultChannel.channelIndex]), { \n // 有tagId 则为-1 不然维持原有的\n index: playInfo.tagId\n ? -1\n : newChannels[resultChannel.channelIndex].index, tagId: playInfo.tagId || '', startTime: result.beginTime, endTime: result.endTime });\n }\n else {\n // 如果当前通道不在里面 则找到第一个channelNum为''的替换\n const channelIndex = (_c = (_b = newChannels.filter((item) => item.channelNum === '')) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.channelIndex;\n if (typeof channelIndex == 'number') {\n newChannels[channelIndex] = Object.assign(Object.assign({}, newChannels[channelIndex]), getChannelData(res, result));\n }\n }\n setChannels(newChannels);\n setLoading(false);\n }),\n unLoadAll: handleCloseAll,\n };\n });\n const handleExpand = () => {\n onExpandChange && onExpandChange(!state.expand);\n setState({ expand: !state.expand });\n };\n const handleCloseAll = () => {\n // const realChannels = channels.filter((item) => item.channelNum !== '');\n // realChannels.map((item) => {\n // onVideoClose && onVideoClose(item);\n // });\n onVideoCloseAll();\n setChannels(DEFAULT_CHANNELS);\n };\n const getGridItems = () => {\n const items = [];\n for (let i = 0; i < Number(state.grid); i++) {\n const element = (_jsx(GridItem, { active: activeIndex === i, palyIndex: i, onTimeChange: onTimeChange, onClick: () => setActiveIndex(i), channel: channels[i], onClose: () => {\n var _a;\n const newChannels = [...channels];\n newChannels[i].index = -1;\n newChannels[i].deviceName = '';\n newChannels[i].deviceId = '';\n newChannels[i].startTime = '';\n newChannels[i].endTime = '';\n newChannels[i].tagId = '';\n newChannels[i].channelName = '';\n newChannels[i].channelNum = '';\n newChannels[i].url = '';\n newChannels[i].tableList = [];\n setChannels(newChannels);\n const aIndex = ((_a = newChannels.find((ele) => !!ele.channelNum)) === null || _a === void 0 ? void 0 : _a.channelIndex) || 0;\n setActiveIndex(aIndex);\n onVideoClose && onVideoClose(channels[i], newChannels);\n }, scale: state.scale, loading: true, onScreenshot: onScreenshot }, i));\n items.push(element);\n }\n return items;\n };\n const store = {\n channels,\n setChannels,\n loading,\n setLoading,\n activeIndex,\n setActiveIndex,\n timeLinePosition,\n setTimeLinePosition,\n };\n useEffect(() => {\n if (getRealGrid(channels.filter((item) => item.channelNum !== '').length) > state.grid) {\n setState({\n grid: getRealGrid(channels.filter((item) => item.channelNum !== '').length) || 1,\n });\n }\n const realChannels = channels.filter((item) => item.channelNum !== '');\n if (typeof onPlayingChannelChange === 'function') {\n onPlayingChannelChange(realChannels);\n }\n }, [channels]);\n return (_jsx(\"div\", Object.assign({ className: \"vtx-history-control-v2\", style: { width, height }, ref: wrapRef }, { children: _jsxs(historyControlV2Context.Provider, Object.assign({ value: store }, { children: [_jsx(Spin, { spinning: loading, className: \"vtx-spin\", size: \"large\" }), _jsx(\"div\", Object.assign({ className: `player-grid-container _${getRealGrid(state.grid)}` }, { children: getGridItems() })), _jsx(Panel, { onVideoClose: (channel) => {\n onVideoClose(channel, channels);\n }, ref: panelRef }), _jsxs(\"div\", Object.assign({ className: \"bottom-controls\" }, { children: [_jsx(Space, Object.assign({ className: \"left\", size: 12, align: \"center\" }, { children: onExpandChange && (_jsx(\"div\", Object.assign({ onClick: handleExpand, style: { display: 'flex' } }, { children: state.expand ? _jsx(FoldIcon, {}) : _jsx(ExpandIcon, {}) }))) })), _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [_jsx(CloseAllIcon, { onClick: handleCloseAll }), _jsx(\"div\", { className: \"split-line\" }), _jsx(SplitScreen, Object.assign({ grid: state.grid, setGrid: (grid) => setState({ grid }) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(GridIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) })), _jsx(VideoScale, Object.assign({ scale: state.scale, setScale: (scale) => setState({ scale }) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(OccupyingScreenIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) })), isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: toggleFullscreen })) : (_jsx(FullScreenIcon, { onClick: toggleFullscreen }))] }))] }))] })) })));\n});\nHistoryControlV2.displayName = 'HistoryControlV2';\nexport default HistoryControlV2;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","HistoryControlV2","forwardRef","props","ref","width","height","onExpandChange","onVideoClose","onVideoCloseAll","onScreenshot","onPlayingChannelChange","onTimeChange","useSetState","expand","grid","DEFAULT_GRID","scale","state","setState","useState","DEFAULT_CHANNELS","channels","setChannels","loading","setLoading","DEFAULT_ACTIVE","activeIndex","setActiveIndex","timeLinePosition","setTimeLinePosition","panelRef","useRef","wrapRef","useFullscreen","isFullscreen","toggleFullscreen","useRequest","getHistoryUrl","manual","runAsync","getVideoLabelById","getVideoLabelByIdAsync","useImperativeHandle","load","channel","current","start","playInfo","tagId","id","labelRes","deviceId","videoDeviceId","channelNum","videoChannelNum","beginTime","startTime","endTime","protocol","token","getUrlParam","res","newChannels","resultChannel","_a","filter","citem","channelIndex","Object","assign","index","_c","_b","item","getChannelData","unLoadAll","handleCloseAll","handleExpand","getGridItems","items","i","element","_jsx","GridItem","active","palyIndex","onClick","onClose","deviceName","channelName","url","tableList","aIndex","find","ele","push","Number","store","useEffect","getRealGrid","length","realChannels","className","style","children","_jsxs","historyControlV2Context","Provider","Spin","spinning","size","Panel","Space","align","display","FoldIcon","ExpandIcon","CloseAllIcon","SplitScreen","setGrid","GridIcon","DownOutlined","UpOutlined","VideoScale","setScale","OccupyingScreenIcon","ExitFullScreenIcon","FullScreenIcon","displayName"],"sources":["history-control-v2/index.js"],"sourcesContent":["var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef, useState } from 'react';\nimport { getHistoryUrl, getVideoLabelById } from '../api';\nimport SplitScreen, { getRealGrid } from '../components/split-screen';\nimport VideoScale from '../components/video-scale';\nimport { CloseAllIcon, ExitFullScreenIcon, ExpandIcon, FoldIcon, FullScreenIcon, GridIcon, OccupyingScreenIcon, } from '../icons';\nimport { getUrlParam } from '../utils';\nimport { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { useFullscreen, useRequest, useSetState } from 'ahooks';\nimport Space from 'antd/lib/space';\nimport Spin from 'antd/lib/spin';\nimport GridItem from './components/grid-item';\nimport Panel from './components/panel';\nimport { historyControlV2Context } from './context';\nimport { DEFAULT_ACTIVE, DEFAULT_CHANNELS, DEFAULT_GRID, getChannelData } from './utils';\n/**\n * 历史视频控制器\n */\nexport const HistoryControlV2 = forwardRef((props, ref) => {\n const { width = '100%', height = '100%', onExpandChange, onVideoClose, onVideoCloseAll, onScreenshot, onPlayingChannelChange, onTimeChange, } = props;\n const [state, setState] = useSetState({\n expand: true,\n grid: DEFAULT_GRID,\n scale: '100%',\n });\n const [channels, setChannels] = useState(DEFAULT_CHANNELS);\n const [loading, setLoading] = useState(false);\n const [activeIndex, setActiveIndex] = useState(DEFAULT_ACTIVE);\n const [timeLinePosition, setTimeLinePosition] = useState(-1);\n const panelRef = useRef();\n // 全屏方法\n const wrapRef = useRef(null);\n const [isFullscreen, { toggleFullscreen }] = useFullscreen(wrapRef);\n const { runAsync } = useRequest(getHistoryUrl, {\n manual: true,\n });\n const { runAsync: getVideoLabelByIdAsync } = useRequest(getVideoLabelById, {\n manual: true,\n });\n useImperativeHandle(ref, () => {\n return {\n load: (channel) => {\n panelRef.current.load(channel);\n },\n start: (playInfo) => __awaiter(void 0, void 0, void 0, function* () {\n var _a, _b, _c;\n setLoading(true);\n const result = playInfo;\n if (playInfo.tagId) {\n /**\n * 如果传了tagId 则根据TagId 获取 deviceId,channelNum,beginTime,endTime\n * 如果没有传tagId 则根据 传入进来的 deviceId, channelNum,beginTime,endTime\n */\n const labelRes = yield getVideoLabelByIdAsync({\n id: playInfo.tagId,\n });\n result.deviceId = labelRes.videoDeviceId || playInfo.deviceId;\n result.channelNum = labelRes.videoChannelNum || playInfo.channelNum;\n result.beginTime = labelRes.startTime || playInfo.beginTime;\n result.endTime = labelRes.endTime || playInfo.endTime;\n }\n const res = yield runAsync({\n deviceId: result.deviceId,\n channelNum: result.channelNum,\n beginTime: result.beginTime,\n endTime: result.endTime,\n protocol: result.protocol,\n token: getUrlParam('token'),\n });\n const newChannels = [...channels];\n const resultChannel = (_a = newChannels.filter((citem) => citem.deviceId === res.deviceId && citem.channelNum === res.channelNum)) === null || _a === void 0 ? void 0 : _a[0];\n // 如果当前通道已经再里面了,则直接替换当前通道\n if (resultChannel) {\n newChannels[resultChannel.channelIndex] = Object.assign(Object.assign({}, newChannels[resultChannel.channelIndex]), { \n // 有tagId 则为-1 不然维持原有的\n index: playInfo.tagId\n ? -1\n : newChannels[resultChannel.channelIndex].index, tagId: playInfo.tagId || '', startTime: result.beginTime, endTime: result.endTime });\n }\n else {\n // 如果当前通道不在里面 则找到第一个channelNum为''的替换\n const channelIndex = (_c = (_b = newChannels.filter((item) => item.channelNum === '')) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.channelIndex;\n if (typeof channelIndex == 'number') {\n newChannels[channelIndex] = Object.assign(Object.assign({}, newChannels[channelIndex]), getChannelData(res, result));\n }\n }\n setChannels(newChannels);\n setLoading(false);\n }),\n unLoadAll: handleCloseAll,\n };\n });\n const handleExpand = () => {\n onExpandChange && onExpandChange(!state.expand);\n setState({ expand: !state.expand });\n };\n const handleCloseAll = () => {\n // const realChannels = channels.filter((item) => item.channelNum !== '');\n // realChannels.map((item) => {\n // onVideoClose && onVideoClose(item);\n // });\n onVideoCloseAll();\n setChannels(DEFAULT_CHANNELS);\n };\n const getGridItems = () => {\n const items = [];\n for (let i = 0; i < Number(state.grid); i++) {\n const element = (_jsx(GridItem, { active: activeIndex === i, palyIndex: i, onTimeChange: onTimeChange, onClick: () => setActiveIndex(i), channel: channels[i], onClose: () => {\n var _a;\n const newChannels = [...channels];\n newChannels[i].index = -1;\n newChannels[i].deviceName = '';\n newChannels[i].deviceId = '';\n newChannels[i].startTime = '';\n newChannels[i].endTime = '';\n newChannels[i].tagId = '';\n newChannels[i].channelName = '';\n newChannels[i].channelNum = '';\n newChannels[i].url = '';\n newChannels[i].tableList = [];\n setChannels(newChannels);\n const aIndex = ((_a = newChannels.find((ele) => !!ele.channelNum)) === null || _a === void 0 ? void 0 : _a.channelIndex) || 0;\n setActiveIndex(aIndex);\n onVideoClose && onVideoClose(channels[i], newChannels);\n }, scale: state.scale, loading: true, onScreenshot: (url) => {\n onScreenshot(url, i);\n } }, i));\n items.push(element);\n }\n return items;\n };\n const store = {\n channels,\n setChannels,\n loading,\n setLoading,\n activeIndex,\n setActiveIndex,\n timeLinePosition,\n setTimeLinePosition,\n };\n useEffect(() => {\n if (getRealGrid(channels.filter((item) => item.channelNum !== '').length) > state.grid) {\n setState({\n grid: getRealGrid(channels.filter((item) => item.channelNum !== '').length) || 1,\n });\n }\n const realChannels = channels.filter((item) => item.channelNum !== '');\n if (typeof onPlayingChannelChange === 'function') {\n onPlayingChannelChange(realChannels);\n }\n }, [channels]);\n return (_jsx(\"div\", Object.assign({ className: \"vtx-history-control-v2\", style: { width, height }, ref: wrapRef }, { children: _jsxs(historyControlV2Context.Provider, Object.assign({ value: store }, { children: [_jsx(Spin, { spinning: loading, className: \"vtx-spin\", size: \"large\" }), _jsx(\"div\", Object.assign({ className: `player-grid-container _${getRealGrid(state.grid)}` }, { children: getGridItems() })), _jsx(Panel, { onVideoClose: (channel) => {\n onVideoClose(channel, channels);\n }, ref: panelRef }), _jsxs(\"div\", Object.assign({ className: \"bottom-controls\" }, { children: [_jsx(Space, Object.assign({ className: \"left\", size: 12, align: \"center\" }, { children: onExpandChange && (_jsx(\"div\", Object.assign({ onClick: handleExpand, style: { display: 'flex' } }, { children: state.expand ? _jsx(FoldIcon, {}) : _jsx(ExpandIcon, {}) }))) })), _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [_jsx(CloseAllIcon, { onClick: handleCloseAll }), _jsx(\"div\", { className: \"split-line\" }), _jsx(SplitScreen, Object.assign({ grid: state.grid, setGrid: (grid) => setState({ grid }) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(GridIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) })), _jsx(VideoScale, Object.assign({ scale: state.scale, setScale: (scale) => setState({ scale }) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(OccupyingScreenIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) })), isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: toggleFullscreen })) : (_jsx(FullScreenIcon, { onClick: toggleFullscreen }))] }))] }))] })) })));\n});\nHistoryControlV2.displayName = 'HistoryControlV2';\nexport default HistoryControlV2;\n"],"mappings":"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"}
|
|
@@ -56,7 +56,7 @@ export interface IHistoryControlProps {
|
|
|
56
56
|
/** 播放器进度回调,time:YYYY-MM-DD HH:mm:ss */
|
|
57
57
|
onTimeChange?: (time: string, speed: number) => void;
|
|
58
58
|
/** 截图回调 */
|
|
59
|
-
onScreenshot?: (url: string) => void;
|
|
59
|
+
onScreenshot?: (url: string, idx?: number) => void;
|
|
60
60
|
/** 播放关闭回调 */
|
|
61
61
|
onVideoClose?: (e: any, channels: IChannel[]) => void;
|
|
62
62
|
/** 播放关闭所有回调 */
|
|
@@ -540,7 +540,7 @@ var GridItem = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
540
540
|
children: (0, _jsxRuntime.jsx)(_livePlayer["default"], {
|
|
541
541
|
ref: ref,
|
|
542
542
|
url: data.url,
|
|
543
|
-
type: (data === null || data === void 0 ? void 0 : data.player) || '',
|
|
543
|
+
type: (data === null || data === void 0 ? void 0 : data.player) || 'bd',
|
|
544
544
|
deviceIp: data.deviceIp,
|
|
545
545
|
devicePort: data.devicePort,
|
|
546
546
|
captureName: name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["DEFAULT_GRID","DEFAULT_ACTIVE","DEFAULT_CHANNELS","Array","fill","channelNum","LiveControlV2","forwardRef","props","ref","height","width","onExpandChange","onPlayingChannelChange","onVideoClose","onVideoCloseAll","onCloseVideoInRotation","extraDom","gridChange","onScreenshot","scale","useSetState","expand","grid","activeIndex","channels","state","setState","playRefs","useRef","wrapRef","latestGrid","useFullscreen","isFullscreen","toggleFullscreen","channelRef","useImperativeHandle","setGrid","updateGrid","load","channel","index","current","findIndex","c","channelId","newChannels","getActiveIndex","multiLoad","init","adapt","getGrid","length","i","Number","push","channelLength","filter","v","map","item","_a","isRepeat","find","unLoad","updateChannels","unLoadAll","handleCloseAll","useEffect","handleExpand","slice","resizeAll","updateScale","timer","setTimeout","Object","values","forEach","player","resize","clearTimeout","closeVideo","currChannels","getGridItems","items","element","_jsx","GridItem","active","onClick","onClose","_jsxs","assign","className","style","children","Space","size","align","display","FoldIcon","ExpandIcon","CloseAllIcon","SplitScreen","GridIcon","DownOutlined","UpOutlined","disabled","VideoScale","setScale","OccupyingScreenIcon","ExitFullScreenIcon","FullScreenIcon","displayName","empty","useRequest","getPreviewUrl","ready","refreshDeps","data","loading","name","deviceName","channelName","gridItemRef","gridItemSize","useSize","handlePtzType","type","types","_Fragment","PlayerHeader","VtxLivePlayer","url","deviceIp","devicePort","captureName","deviceId","deviceCode","streamType","showInfo","info","screenshot","cloudParams","query","tenantId","getUrlParam","ptzType","currentIndex","currentChannels","grids","len"],"sources":["live-control-v2/index.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';\nimport { getPreviewUrl } from '../api';\nimport SplitScreen from '../components/split-screen';\nimport VideoScale from '../components/video-scale';\nimport { PlayerHeader } from '../controls';\nimport { CloseAllIcon, ExitFullScreenIcon, ExpandIcon, FoldIcon, FullScreenIcon, GridIcon, OccupyingScreenIcon, } from '../icons';\nimport VtxLivePlayer from '../live-player';\nimport { getUrlParam } from '../utils';\nimport { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { useFullscreen, useRequest, 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: '' });\n/**\n * 实时分屏组件\n */\nconst LiveControlV2 = forwardRef((props, ref) => {\n const { height = '100%', width = '100%', onExpandChange, onPlayingChannelChange, onVideoClose, onVideoCloseAll, onCloseVideoInRotation, extraDom, gridChange = true, onScreenshot, scale, } = props;\n const [state, setState] = useSetState({\n expand: true,\n grid: DEFAULT_GRID,\n activeIndex: DEFAULT_ACTIVE,\n channels: DEFAULT_CHANNELS,\n scale: scale || '100%',\n });\n const playRefs = useRef({});\n const wrapRef = useRef(null);\n const latestGrid = useRef(DEFAULT_GRID);\n const [isFullscreen, { toggleFullscreen }] = useFullscreen(wrapRef);\n const channelRef = useRef(DEFAULT_CHANNELS);\n // 实时视频轮询\n // useInterval(() => {\n // // 是否有视频正在播放\n // const hasVideo = channelRef.current.some((item) => item.channelNum);\n // if (polling && hasVideo) {\n // updateChannels(DEFAULT_CHANNELS);\n // const timer = setTimeout(() => {\n // setState({\n // channels: channelRef.current,\n // });\n // clearTimeout(timer);\n // }, 0);\n // }\n // }, polling);\n useImperativeHandle(ref, () => {\n return {\n setGrid: (grid) => {\n updateGrid(grid);\n },\n load: (channel) => {\n const index = channelRef.current.findIndex((c) => c.channelId && channel.channelId && c.channelId === channel.channelId);\n if (~index) {\n setState({ activeIndex: index }); // 如果通道号已经存在,则设置激活索引为该通道\n }\n else {\n // 播放该通道\n const newChannels = [...channelRef.current];\n newChannels[state.activeIndex] = channel;\n const activeIndex = getActiveIndex(newChannels, latestGrid.current, state.activeIndex);\n channelRef.current = newChannels;\n setState({ channels: newChannels, activeIndex });\n }\n },\n multiLoad: (channels, init = true, adapt = false) => {\n let grid = latestGrid.current;\n let newChannels = [], activeIndex = state.activeIndex;\n // 每次清空已经在播放的视频\n if (init) {\n adapt && (grid = getGrid(channels.length));\n for (let i = 0; i < Number(grid); i++) {\n newChannels.push(channels[i] ? channels[i] : { channelNum: '' });\n }\n }\n else {\n // 不清空,找寻空闲窗口播放\n const channelLength = channelRef.current.filter((v) => v.channelNum).length + channels.length;\n adapt && (grid = getGrid(channelLength));\n newChannels = [...new Array(grid)].map((item, index) => {\n var _a;\n if ((_a = channelRef.current[index]) === null || _a === void 0 ? void 0 : _a.channelNum) {\n return channelRef.current[index];\n }\n return { channelNum: '' };\n });\n for (let i = 0; i < channels.length; i++) {\n const isRepeat = newChannels.find((item) => { var _a; return (item === null || item === void 0 ? void 0 : item.channelNum) === ((_a = channels[i]) === null || _a === void 0 ? void 0 : _a.channelNum); });\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: '' };\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: '' };\n updateChannels(newChannels);\n }\n },\n unLoadAll: handleCloseAll,\n };\n });\n useEffect(() => {\n if (onPlayingChannelChange) {\n onPlayingChannelChange(state.channels.filter((c) => !!c.channelNum));\n }\n }, [state.channels]);\n const handleCloseAll = () => {\n setState({\n activeIndex: DEFAULT_ACTIVE,\n });\n updateChannels(DEFAULT_CHANNELS);\n channelRef.current = 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: '' };\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: '' }, onClose: () => {\n // 如果正在轮播\n if (onCloseVideoInRotation) {\n onCloseVideoInRotation(() => closeVideo(i));\n return;\n }\n closeVideo(i);\n }, scale: state.scale, onScreenshot: onScreenshot }, i));\n items.push(element);\n }\n return items;\n };\n return (_jsxs(\"div\", Object.assign({ className: \"vtx-live-control-v2\", ref: wrapRef, style: { height, width } }, { children: [_jsx(\"div\", Object.assign({ className: `player-grid-container _${state.grid}` }, { children: getGridItems() })), _jsxs(\"div\", Object.assign({ className: \"bottom-controls\" }, { children: [_jsxs(Space, Object.assign({ className: \"left\", size: 12, align: \"center\" }, { children: [onExpandChange && (_jsx(\"div\", Object.assign({ onClick: handleExpand, style: { display: 'flex' } }, { children: state.expand ? _jsx(FoldIcon, {}) : _jsx(ExpandIcon, {}) }))), extraDom ? extraDom : null] })), _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [_jsx(CloseAllIcon, { onClick: handleCloseAll }), _jsx(\"div\", { className: \"split-line\" }), gridChange ? (_jsx(SplitScreen, Object.assign({ grid: state.grid, setGrid: (grid) => updateGrid(grid) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(GridIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) }))) : (_jsxs(\"div\", Object.assign({ className: 'grid-change-disable' }, { children: [_jsx(GridIcon, { disabled: !gridChange }), _jsx(DownOutlined, { className: \"arrow\" })] }))), _jsx(VideoScale, Object.assign({ scale: state.scale, setScale: (scale) => updateScale(scale) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(OccupyingScreenIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) })), isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: toggleFullscreen })) : (_jsx(FullScreenIcon, { onClick: toggleFullscreen }))] }))] }))] })));\n});\nLiveControlV2.displayName = 'LiveControlV2';\nconst GridItem = forwardRef((props, ref) => {\n const { active, onClick, channel, onClose, onScreenshot, scale } = props;\n const empty = !channel.channelNum;\n const { data, loading } = useRequest(() => getPreviewUrl(channel), {\n ready: !!channel.channelNum,\n refreshDeps: [channel.channelNum],\n });\n const name = `${data === null || data === void 0 ? void 0 : data.deviceName}-${data === null || data === void 0 ? void 0 : data.channelName}`;\n const [{ width, height }, setState] = useSetState({\n width: '100%',\n height: '100%',\n });\n const gridItemRef = useRef(null);\n const gridItemSize = useSize(gridItemRef);\n useEffect(() => {\n if ((gridItemSize === null || gridItemSize === void 0 ? void 0 : gridItemSize.width) && (gridItemSize === null || gridItemSize === void 0 ? void 0 : gridItemSize.height)) {\n switch (scale) {\n case '100%':\n setState({\n width: '100%',\n height: gridItemSize.height - 26,\n });\n break;\n case '4*3':\n if (gridItemSize.width / 4 < (gridItemSize.height - 26) / 3) {\n setState({\n width: '100%',\n height: (gridItemSize.width / 4) * 3,\n });\n }\n else {\n setState({\n width: ((gridItemSize.height - 26) / 3) * 4,\n height: '100%',\n });\n }\n break;\n case '16*9':\n if (gridItemSize.width / 16 < (gridItemSize.height - 26) / 9) {\n setState({\n width: '100%',\n height: (gridItemSize.width / 16) * 9,\n });\n }\n else {\n setState({\n width: ((gridItemSize.height - 26) / 9) * 16,\n height: '100%',\n });\n }\n break;\n }\n }\n }, [gridItemSize, scale]);\n const handlePtzType = (type) => {\n const types = {\n 1: 'all',\n 2: 'onlyFocus',\n 3: 'onlyRotate',\n 4: 'none',\n };\n return types[type];\n };\n return (_jsx(\"div\", Object.assign({ className: `grid-item-container ${active ? 'active' : ''} ${loading ? '' : 'emptyImg'}`, onClick: onClick, ref: gridItemRef }, { children: data && !empty && (_jsxs(_Fragment, { children: [_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, url: data.url, type: (data === null || data === void 0 ? void 0 : data.player) || '', deviceIp: data.deviceIp, devicePort: data.devicePort, captureName: name, deviceId: data.deviceId, channelNum: data.channelNum, deviceCode: data.deviceCode, streamType: data.streamType, showInfo: channel.showInfo, info: channel.info, screenshot: onScreenshot, cloudParams: {\n query: {\n channelNum: data.channelNum,\n deviceId: data.deviceId,\n tenantId: getUrlParam('tenantId'),\n },\n type: handlePtzType((data === null || data === void 0 ? void 0 : data.ptzType) || 4),\n } }) })) }))] })) })));\n});\nGridItem.displayName = 'grid-item';\n/**\n * 获取当前激活的网格\n * @param channels 现有通道数组\n * @param grid 当前网格状态\n * @param currentIndex 当前索引\n * @returns\n */\nconst getActiveIndex = (channels, grid, currentIndex) => {\n const currentChannels = channels.slice(0, Number(grid));\n for (let i = currentIndex; i < currentChannels.length; i++) {\n if (!currentChannels[i].channelNum)\n return i;\n }\n for (let i = 0; i < currentIndex; i++) {\n if (!currentChannels[i].channelNum)\n return i;\n }\n return currentIndex;\n};\nconst grids = [1, 4, 6, 8, 9, 13, 17, 16, 22, 25];\n/**\n * 获取布局\n * @param len 通道数量\n */\nconst getGrid = (len) => {\n let grid;\n for (let i = 0; i < grids.length; i++) {\n if (grids[i] - len >= 0) {\n grid = grids[i];\n break;\n }\n }\n return grid > 25 ? 25 : grid;\n};\nexport default LiveControlV2;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["DEFAULT_GRID","DEFAULT_ACTIVE","DEFAULT_CHANNELS","Array","fill","channelNum","LiveControlV2","forwardRef","props","ref","height","width","onExpandChange","onPlayingChannelChange","onVideoClose","onVideoCloseAll","onCloseVideoInRotation","extraDom","gridChange","onScreenshot","scale","useSetState","expand","grid","activeIndex","channels","state","setState","playRefs","useRef","wrapRef","latestGrid","useFullscreen","isFullscreen","toggleFullscreen","channelRef","useImperativeHandle","setGrid","updateGrid","load","channel","index","current","findIndex","c","channelId","newChannels","getActiveIndex","multiLoad","init","adapt","getGrid","length","i","Number","push","channelLength","filter","v","map","item","_a","isRepeat","find","unLoad","updateChannels","unLoadAll","handleCloseAll","useEffect","handleExpand","slice","resizeAll","updateScale","timer","setTimeout","Object","values","forEach","player","resize","clearTimeout","closeVideo","currChannels","getGridItems","items","element","_jsx","GridItem","active","onClick","onClose","_jsxs","assign","className","style","children","Space","size","align","display","FoldIcon","ExpandIcon","CloseAllIcon","SplitScreen","GridIcon","DownOutlined","UpOutlined","disabled","VideoScale","setScale","OccupyingScreenIcon","ExitFullScreenIcon","FullScreenIcon","displayName","empty","useRequest","getPreviewUrl","ready","refreshDeps","data","loading","name","deviceName","channelName","gridItemRef","gridItemSize","useSize","handlePtzType","type","types","_Fragment","PlayerHeader","VtxLivePlayer","url","deviceIp","devicePort","captureName","deviceId","deviceCode","streamType","showInfo","info","screenshot","cloudParams","query","tenantId","getUrlParam","ptzType","currentIndex","currentChannels","grids","len"],"sources":["live-control-v2/index.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';\nimport { getPreviewUrl } from '../api';\nimport SplitScreen from '../components/split-screen';\nimport VideoScale from '../components/video-scale';\nimport { PlayerHeader } from '../controls';\nimport { CloseAllIcon, ExitFullScreenIcon, ExpandIcon, FoldIcon, FullScreenIcon, GridIcon, OccupyingScreenIcon, } from '../icons';\nimport VtxLivePlayer from '../live-player';\nimport { getUrlParam } from '../utils';\nimport { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { useFullscreen, useRequest, 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: '' });\n/**\n * 实时分屏组件\n */\nconst LiveControlV2 = forwardRef((props, ref) => {\n const { height = '100%', width = '100%', onExpandChange, onPlayingChannelChange, onVideoClose, onVideoCloseAll, onCloseVideoInRotation, extraDom, gridChange = true, onScreenshot, scale, } = props;\n const [state, setState] = useSetState({\n expand: true,\n grid: DEFAULT_GRID,\n activeIndex: DEFAULT_ACTIVE,\n channels: DEFAULT_CHANNELS,\n scale: scale || '100%',\n });\n const playRefs = useRef({});\n const wrapRef = useRef(null);\n const latestGrid = useRef(DEFAULT_GRID);\n const [isFullscreen, { toggleFullscreen }] = useFullscreen(wrapRef);\n const channelRef = useRef(DEFAULT_CHANNELS);\n // 实时视频轮询\n // useInterval(() => {\n // // 是否有视频正在播放\n // const hasVideo = channelRef.current.some((item) => item.channelNum);\n // if (polling && hasVideo) {\n // updateChannels(DEFAULT_CHANNELS);\n // const timer = setTimeout(() => {\n // setState({\n // channels: channelRef.current,\n // });\n // clearTimeout(timer);\n // }, 0);\n // }\n // }, polling);\n useImperativeHandle(ref, () => {\n return {\n setGrid: (grid) => {\n updateGrid(grid);\n },\n load: (channel) => {\n const index = channelRef.current.findIndex((c) => c.channelId && channel.channelId && c.channelId === channel.channelId);\n if (~index) {\n setState({ activeIndex: index }); // 如果通道号已经存在,则设置激活索引为该通道\n }\n else {\n // 播放该通道\n const newChannels = [...channelRef.current];\n newChannels[state.activeIndex] = channel;\n const activeIndex = getActiveIndex(newChannels, latestGrid.current, state.activeIndex);\n channelRef.current = newChannels;\n setState({ channels: newChannels, activeIndex });\n }\n },\n multiLoad: (channels, init = true, adapt = false) => {\n let grid = latestGrid.current;\n let newChannels = [], activeIndex = state.activeIndex;\n // 每次清空已经在播放的视频\n if (init) {\n adapt && (grid = getGrid(channels.length));\n for (let i = 0; i < Number(grid); i++) {\n newChannels.push(channels[i] ? channels[i] : { channelNum: '' });\n }\n }\n else {\n // 不清空,找寻空闲窗口播放\n const channelLength = channelRef.current.filter((v) => v.channelNum).length + channels.length;\n adapt && (grid = getGrid(channelLength));\n newChannels = [...new Array(grid)].map((item, index) => {\n var _a;\n if ((_a = channelRef.current[index]) === null || _a === void 0 ? void 0 : _a.channelNum) {\n return channelRef.current[index];\n }\n return { channelNum: '' };\n });\n for (let i = 0; i < channels.length; i++) {\n const isRepeat = newChannels.find((item) => { var _a; return (item === null || item === void 0 ? void 0 : item.channelNum) === ((_a = channels[i]) === null || _a === void 0 ? void 0 : _a.channelNum); });\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: '' };\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: '' };\n updateChannels(newChannels);\n }\n },\n unLoadAll: handleCloseAll,\n };\n });\n useEffect(() => {\n if (onPlayingChannelChange) {\n onPlayingChannelChange(state.channels.filter((c) => !!c.channelNum));\n }\n }, [state.channels]);\n const handleCloseAll = () => {\n setState({\n activeIndex: DEFAULT_ACTIVE,\n });\n updateChannels(DEFAULT_CHANNELS);\n channelRef.current = 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: '' };\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: '' }, onClose: () => {\n // 如果正在轮播\n if (onCloseVideoInRotation) {\n onCloseVideoInRotation(() => closeVideo(i));\n return;\n }\n closeVideo(i);\n }, scale: state.scale, onScreenshot: onScreenshot }, i));\n items.push(element);\n }\n return items;\n };\n return (_jsxs(\"div\", Object.assign({ className: \"vtx-live-control-v2\", ref: wrapRef, style: { height, width } }, { children: [_jsx(\"div\", Object.assign({ className: `player-grid-container _${state.grid}` }, { children: getGridItems() })), _jsxs(\"div\", Object.assign({ className: \"bottom-controls\" }, { children: [_jsxs(Space, Object.assign({ className: \"left\", size: 12, align: \"center\" }, { children: [onExpandChange && (_jsx(\"div\", Object.assign({ onClick: handleExpand, style: { display: 'flex' } }, { children: state.expand ? _jsx(FoldIcon, {}) : _jsx(ExpandIcon, {}) }))), extraDom ? extraDom : null] })), _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [_jsx(CloseAllIcon, { onClick: handleCloseAll }), _jsx(\"div\", { className: \"split-line\" }), gridChange ? (_jsx(SplitScreen, Object.assign({ grid: state.grid, setGrid: (grid) => updateGrid(grid) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(GridIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) }))) : (_jsxs(\"div\", Object.assign({ className: 'grid-change-disable' }, { children: [_jsx(GridIcon, { disabled: !gridChange }), _jsx(DownOutlined, { className: \"arrow\" })] }))), _jsx(VideoScale, Object.assign({ scale: state.scale, setScale: (scale) => updateScale(scale) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(OccupyingScreenIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) })), isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: toggleFullscreen })) : (_jsx(FullScreenIcon, { onClick: toggleFullscreen }))] }))] }))] })));\n});\nLiveControlV2.displayName = 'LiveControlV2';\nconst GridItem = forwardRef((props, ref) => {\n const { active, onClick, channel, onClose, onScreenshot, scale } = props;\n const empty = !channel.channelNum;\n const { data, loading } = useRequest(() => getPreviewUrl(channel), {\n ready: !!channel.channelNum,\n refreshDeps: [channel.channelNum],\n });\n const name = `${data === null || data === void 0 ? void 0 : data.deviceName}-${data === null || data === void 0 ? void 0 : data.channelName}`;\n const [{ width, height }, setState] = useSetState({\n width: '100%',\n height: '100%',\n });\n const gridItemRef = useRef(null);\n const gridItemSize = useSize(gridItemRef);\n useEffect(() => {\n if ((gridItemSize === null || gridItemSize === void 0 ? void 0 : gridItemSize.width) && (gridItemSize === null || gridItemSize === void 0 ? void 0 : gridItemSize.height)) {\n switch (scale) {\n case '100%':\n setState({\n width: '100%',\n height: gridItemSize.height - 26,\n });\n break;\n case '4*3':\n if (gridItemSize.width / 4 < (gridItemSize.height - 26) / 3) {\n setState({\n width: '100%',\n height: (gridItemSize.width / 4) * 3,\n });\n }\n else {\n setState({\n width: ((gridItemSize.height - 26) / 3) * 4,\n height: '100%',\n });\n }\n break;\n case '16*9':\n if (gridItemSize.width / 16 < (gridItemSize.height - 26) / 9) {\n setState({\n width: '100%',\n height: (gridItemSize.width / 16) * 9,\n });\n }\n else {\n setState({\n width: ((gridItemSize.height - 26) / 9) * 16,\n height: '100%',\n });\n }\n break;\n }\n }\n }, [gridItemSize, scale]);\n const handlePtzType = (type) => {\n const types = {\n 1: 'all',\n 2: 'onlyFocus',\n 3: 'onlyRotate',\n 4: 'none',\n };\n return types[type];\n };\n return (_jsx(\"div\", Object.assign({ className: `grid-item-container ${active ? 'active' : ''} ${loading ? '' : 'emptyImg'}`, onClick: onClick, ref: gridItemRef }, { children: data && !empty && (_jsxs(_Fragment, { children: [_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, url: data.url, type: (data === null || data === void 0 ? void 0 : data.player) || 'bd', deviceIp: data.deviceIp, devicePort: data.devicePort, captureName: name, deviceId: data.deviceId, channelNum: data.channelNum, deviceCode: data.deviceCode, streamType: data.streamType, showInfo: channel.showInfo, info: channel.info, screenshot: onScreenshot, cloudParams: {\n query: {\n channelNum: data.channelNum,\n deviceId: data.deviceId,\n tenantId: getUrlParam('tenantId'),\n },\n type: handlePtzType((data === null || data === void 0 ? void 0 : data.ptzType) || 4),\n } }) })) }))] })) })));\n});\nGridItem.displayName = 'grid-item';\n/**\n * 获取当前激活的网格\n * @param channels 现有通道数组\n * @param grid 当前网格状态\n * @param currentIndex 当前索引\n * @returns\n */\nconst getActiveIndex = (channels, grid, currentIndex) => {\n const currentChannels = channels.slice(0, Number(grid));\n for (let i = currentIndex; i < currentChannels.length; i++) {\n if (!currentChannels[i].channelNum)\n return i;\n }\n for (let i = 0; i < currentIndex; i++) {\n if (!currentChannels[i].channelNum)\n return i;\n }\n return currentIndex;\n};\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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"}
|
package/lib/live-player/index.js
CHANGED
|
@@ -77,6 +77,8 @@ var LivePlayer = function LivePlayer(props, selfRef) {
|
|
|
77
77
|
var url = props.url,
|
|
78
78
|
deviceIp = props.deviceIp,
|
|
79
79
|
devicePort = props.devicePort,
|
|
80
|
+
userName = props.userName,
|
|
81
|
+
password = props.password,
|
|
80
82
|
enableAgent = props.enableAgent,
|
|
81
83
|
_props$width = props.width,
|
|
82
84
|
width = _props$width === void 0 ? '100%' : _props$width,
|
|
@@ -165,6 +167,8 @@ var LivePlayer = function LivePlayer(props, selfRef) {
|
|
|
165
167
|
deviceIp: deviceIp,
|
|
166
168
|
deviceId: deviceId,
|
|
167
169
|
devicePort: devicePort,
|
|
170
|
+
userName: userName,
|
|
171
|
+
password: password,
|
|
168
172
|
streamType: streamType,
|
|
169
173
|
deviceCode: deviceCode,
|
|
170
174
|
channelNum: channelNum,
|