@vtx/player 1.2.2 → 1.2.4

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.
@@ -80,6 +80,9 @@ export interface GetHistoryUrlResp {
80
80
  url: string;
81
81
  /** 是否有label */
82
82
  hasLabel?: true;
83
+ code: string;
84
+ beginTime: string;
85
+ endTime: string;
83
86
  }
84
87
  /** 获取历史地址Params */
85
88
  export interface GetHistoryUrlParams {
@@ -44,5 +44,9 @@ export declare type UrlsTableItemType = {
44
44
  size: string;
45
45
  /** 地址 */
46
46
  url: string;
47
+ code: string;
48
+ hkType: string;
49
+ deviceId: string;
50
+ channelNum: string;
47
51
  };
48
52
  export default HistoryControl;
@@ -87,6 +87,11 @@ var HistoryControl = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
87
87
  runAsync = _useRequest.runAsync,
88
88
  loading = _useRequest.loading;
89
89
 
90
+ var _useRequest2 = (0, _ahooks.useRequest)(_api.getPlaybackUrlSingle, {
91
+ manual: true
92
+ }),
93
+ GetHKV2Url = _useRequest2.runAsync;
94
+
90
95
  var _useCollapse = (0, _reactCollapsed["default"])({
91
96
  defaultExpanded: true // 默认展开
92
97
 
@@ -146,7 +151,7 @@ var HistoryControl = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
146
151
  totalUrl: result.totalTimeUrl
147
152
  });
148
153
  } else if (result.totalTimeUrl) {
149
- setState({
154
+ var params = {
150
155
  tableData: [],
151
156
  segmentData: {
152
157
  list: []
@@ -160,7 +165,23 @@ var HistoryControl = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
160
165
  startTime: ((_c = state.channel) === null || _c === void 0 ? void 0 : _c.beginTime) || '',
161
166
  endTime: ((_d = state.channel) === null || _d === void 0 ? void 0 : _d.endTime) || ''
162
167
  }
163
- });
168
+ };
169
+
170
+ if (result.hkType === 'HK_CAR_CLOUD_V2') {
171
+ GetHKV2Url({
172
+ code: result.code,
173
+ beginTime: result.beginTime,
174
+ endTime: result.endTime,
175
+ deviceId: result.deviceId,
176
+ channelNum: result.channelNum,
177
+ tenantId: (0, _utils.getUrlParam)('tenantId')
178
+ }).then(function (data) {
179
+ params.playParams.url = data.playbackUrl;
180
+ setState(params);
181
+ });
182
+ } else {
183
+ setState(params);
184
+ }
164
185
  } else {
165
186
  _message["default"].info('未查询到视频');
166
187
 
@@ -223,15 +244,34 @@ var HistoryControl = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
223
244
  onVideoClose && onVideoClose();
224
245
  } else {
225
246
  var url = record.url || state.totalUrl;
226
- setState({
227
- playParams: {
228
- index: index,
229
- url: url,
230
- enableAgent: record.enableAgent || false,
231
- startTime: record.beginTime,
232
- endTime: record.endTime
233
- }
234
- });
247
+ var params = {
248
+ index: index,
249
+ url: url,
250
+ enableAgent: record.enableAgent || false,
251
+ startTime: record.beginTime,
252
+ endTime: record.endTime
253
+ };
254
+
255
+ if (record.hkType === 'HK_CAR_CLOUD_V2') {
256
+ GetHKV2Url({
257
+ code: record.code,
258
+ beginTime: record.beginTime,
259
+ endTime: record.endTime,
260
+ deviceId: record.deviceId,
261
+ channelNum: record.channelNum,
262
+ tenantId: (0, _utils.getUrlParam)('tenantId')
263
+ }).then(function (data) {
264
+ setState({
265
+ playParams: Object.assign(Object.assign({}, params), {
266
+ url: data.playbackUrl
267
+ })
268
+ });
269
+ });
270
+ } else {
271
+ setState({
272
+ playParams: params
273
+ });
274
+ }
235
275
  }
236
276
  }
237
277
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["DEFAULT_PLAY_PARAMS","index","url","enableAgent","startTime","endTime","HistoryControl","forwardRef","props","ref","width","height","onExpandChange","onTimeChange","showInfo","onVideoClose","info","isDark","segmentsRef","useRef","useRequest","getHistoryUrl","manual","runAsync","loading","useCollapse","defaultExpanded","getCollapseProps","getToggleProps","isExpanded","useSetState","expand","name","tableData","segmentData","list","totalUrl","timeLinePosition","playParams","state","setState","useImperativeHandle","load","channel","JSON","stringify","useEffect","then","result","_a","_b","_c","_d","Array","isArray","getUrlTableData","start","moment","beginTime","startOf","end","endOf","map","item","Object","assign","deviceName","channelName","totalTimeUrl","message","handleExpand","handleClose","undefined","columns","title","dataIndex","key","render","_","record","active","_jsx","Button","className","onClick","children","_jsxs","_Fragment","VideoCloseIcon","VideoPlayIcon","handleTimeChange","time","speed","progress","diff","getRef","current","console","log","style","backgroundColor","PlayerHeader","onClose","Spin","spinning","size","HistoryPlayer","controlBottom","length","src","collapseBtnImg","alt","transform","TimeVerticalLine","history","getSegments","TimePositionIcon","left","TimeLine","Table","dataSource","scroll","y","pagination","rowClassName","Space","align","Tooltip","FoldIcon","ExpandIcon","displayName","getSplitLines","step","i","element","push","total","itemStart","itemEnd","itemTotal","ONEDAY_MILL","mouse","useMouse","elementX","elementY","elementW","elementH","visible","percent","valueOf","format","TimeFormat","params","flag","playStart","playEnd","now","begin","playbackUrl","playUrl"],"sources":["history-control/index.js"],"sourcesContent":["import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';\nimport useCollapse from 'react-collapsed';\nimport { getHistoryUrl } from '../api';\nimport { PlayerHeader } from '../controls';\nimport HistoryPlayer from '../history-player';\nimport { ExpandIcon, FoldIcon, TimePositionIcon, VideoCloseIcon, VideoPlayIcon } from '../icons';\nimport { TimeFormat, getUrlTableData } from '../utils';\nimport { useMouse, useRequest, useSetState } from 'ahooks';\n// import { Button, Space, Table, Tooltip } from 'antd';\nimport Button from 'antd/lib/button';\nimport message from 'antd/lib/message';\nimport Space from 'antd/lib/space';\nimport Spin from 'antd/lib/spin';\nimport Table from 'antd/lib/table';\nimport Tooltip from 'antd/lib/tooltip';\nimport moment from 'moment';\nimport collapseBtnImg from './images/collapse.png';\n/** 默认播放器参数 */\nconst DEFAULT_PLAY_PARAMS = {\n index: -1,\n url: '',\n enableAgent: false,\n startTime: '',\n endTime: '',\n};\n/**\n * 历史视频控制器\n */\nexport const HistoryControl = forwardRef((props, ref) => {\n const { width = '100%', height = '100%', onExpandChange, onTimeChange, showInfo = false, onVideoClose, info = [], isDark = false } = props;\n const segmentsRef = useRef(null);\n const { runAsync, loading } = useRequest(getHistoryUrl, {\n manual: true,\n });\n const { getCollapseProps, getToggleProps, isExpanded } = useCollapse({\n defaultExpanded: true, // 默认展开\n });\n const [state, setState] = useSetState({\n expand: true,\n name: '',\n tableData: [],\n segmentData: { list: [] },\n totalUrl: '',\n timeLinePosition: -1,\n playParams: DEFAULT_PLAY_PARAMS,\n });\n useImperativeHandle(ref, () => {\n return {\n load: (channel) => {\n if (JSON.stringify(channel) !== JSON.stringify(state.channel)) {\n setState({ channel, timeLinePosition: -1 });\n }\n },\n };\n });\n useEffect(() => {\n if (state.channel) {\n runAsync(state.channel).then((result) => {\n var _a, _b, _c, _d;\n // 如果没有list,只有url,则直接播放url\n if (Array.isArray(result === null || result === void 0 ? void 0 : result.list)) {\n const tableData = getUrlTableData(result);\n const segmentData = {\n list: result.list,\n start: moment((_a = state.channel) === null || _a === void 0 ? void 0 : _a.beginTime).startOf('day'),\n end: moment((_b = state.channel) === null || _b === void 0 ? void 0 : _b.endTime).endOf('day'),\n };\n setState({\n tableData: tableData.map(item => (Object.assign(Object.assign({}, item), { enableAgent: result.enableAgent || false }))),\n segmentData,\n name: `${result.deviceName}-${result.channelName}`,\n totalUrl: result.totalTimeUrl,\n });\n }\n else if (result.totalTimeUrl) {\n setState({\n tableData: [],\n segmentData: { list: [] },\n name: `${result.deviceName}-${result.channelName}`,\n totalUrl: result.totalTimeUrl,\n playParams: {\n index: 0,\n enableAgent: (result === null || result === void 0 ? void 0 : result.enableAgent) || false,\n url: result.totalTimeUrl,\n startTime: ((_c = state.channel) === null || _c === void 0 ? void 0 : _c.beginTime) || '',\n endTime: ((_d = state.channel) === null || _d === void 0 ? void 0 : _d.endTime) || '',\n },\n });\n }\n else {\n message.info('未查询到视频');\n setState({\n tableData: [],\n segmentData: { list: [] },\n name: ``,\n playParams: DEFAULT_PLAY_PARAMS,\n });\n }\n });\n return () => {\n setState({\n tableData: [],\n segmentData: { list: [] },\n name: ``,\n playParams: DEFAULT_PLAY_PARAMS,\n });\n };\n }\n }, [state.channel]);\n const handleExpand = () => {\n onExpandChange && onExpandChange(!state.expand);\n setState({ expand: !state.expand });\n };\n const handleClose = () => {\n setState({ channel: undefined, timeLinePosition: -1 });\n onVideoClose && onVideoClose();\n };\n const columns = [\n {\n title: '序号',\n dataIndex: 'index',\n width: 60,\n },\n {\n title: '播放视频',\n key: 'play',\n width: 90,\n render: (_, record, index) => {\n const active = state.playParams.index === index;\n return (_jsx(Button, Object.assign({ className: `play-btn ${active ? 'active' : ''}`, onClick: () => {\n if (active) {\n setState({\n playParams: DEFAULT_PLAY_PARAMS,\n timeLinePosition: -1,\n });\n onVideoClose && onVideoClose();\n }\n else {\n const url = record.url || state.totalUrl;\n setState({\n playParams: {\n index,\n url,\n enableAgent: record.enableAgent || false,\n startTime: record.beginTime,\n endTime: record.endTime,\n },\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 // },\n // {\n // title: '通道名称',\n // dataIndex: 'channelName',\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: 120,\n dataIndex: 'duration',\n },\n {\n title: '视频大小',\n width: 100,\n dataIndex: 'size',\n },\n ];\n const handleTimeChange = (time, speed) => {\n var _a;\n onTimeChange && onTimeChange(time, speed);\n // 计算播放时间占起始时间当日的百分比\n const progress = (moment(time).diff(moment((_a = state.channel) === null || _a === void 0 ? void 0 : _a.beginTime).startOf('day'), 'seconds') /\n (24 * 60 * 60)) *\n 100;\n setState({ timeLinePosition: progress });\n };\n const getRef = () => {\n return segmentsRef.current;\n };\n console.log('state.playParams,', state.playParams);\n console.log('isExpanded', isExpanded);\n console.log('showInfo', showInfo);\n console.log('info', info);\n return (_jsxs(\"div\", Object.assign({ className: `vtx-history-control${isDark ? ' history-dark' : ''}`, style: { width, height, backgroundColor: isDark ? 'rgba(0,59,64,0.3)' : '#2b3d51' } }, { children: [state.name && _jsx(PlayerHeader, { name: state.name, onClose: handleClose }), _jsx(Spin, { spinning: loading, className: \"vtx-spin\", size: \"large\" }), _jsx(\"div\", Object.assign({ className: \"player-container\" }, { children: state.playParams.url && (_jsx(HistoryPlayer, Object.assign({}, state.playParams, { controlBottom: isExpanded ? 235 : 0, onTimeChange: handleTimeChange, showInfo: showInfo, info: info }))) })), state.tableData && state.tableData.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: state.segmentData, totalUrl: state.totalUrl, setState: setState }), getSegments(state.segmentData)] })), state.timeLinePosition >= 0 && (_jsx(TimePositionIcon, { className: \"time-line-icon\", style: { left: `${state.timeLinePosition}%` } })), _jsx(TimeLine, {})] })), _jsx(\"div\", Object.assign({ className: \"urls-panel\" }, { children: _jsx(Table, { className: \"history-url-table\", columns: columns, dataSource: state.tableData, scroll: { y: 100 }, pagination: false, rowClassName: (_, index) => index === state.playParams.index ? 'active' : '' }) }))] })) }))] }))), _jsx(\"div\", Object.assign({ className: \"bottom-controls\" }, { children: _jsx(Space, Object.assign({ className: \"left\", size: 12, align: \"center\" }, { children: onExpandChange && (_jsx(Tooltip, Object.assign({ title: state.expand ? '收起' : '展开' }, { children: _jsx(\"div\", Object.assign({ onClick: handleExpand }, { children: state.expand ? _jsx(FoldIcon, {}) : _jsx(ExpandIcon, {}) })) }))) })) }))] })));\n});\nHistoryControl.displayName = 'HistoryControl';\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 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.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};\nconst ONEDAY_MILL = 24 * 60 * 60 * 1000;\nconst TimeVerticalLine = ({ getRef, history, totalUrl, setState, }) => {\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, url, 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 const onClick = () => {\n const playUrl = url || totalUrl;\n setState({\n playParams: {\n index,\n url: playUrl,\n startTime: playStart,\n endTime: playEnd,\n },\n });\n };\n return visible ? (flag ? (_jsx(Tooltip, Object.assign({ title: time }, { children: _jsx(\"div\", { className: \"timeline\", style: { left: elementX }, onClick: onClick }) }))) : (_jsx(\"div\", { className: \"timeline\", style: { left: elementX }, onClick: onClick }))) : (_jsx(_Fragment, {}));\n};\nexport default HistoryControl;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["DEFAULT_PLAY_PARAMS","index","url","enableAgent","startTime","endTime","HistoryControl","forwardRef","props","ref","width","height","onExpandChange","onTimeChange","showInfo","onVideoClose","info","isDark","segmentsRef","useRef","useRequest","getHistoryUrl","manual","runAsync","loading","getPlaybackUrlSingle","GetHKV2Url","useCollapse","defaultExpanded","getCollapseProps","getToggleProps","isExpanded","useSetState","expand","name","tableData","segmentData","list","totalUrl","timeLinePosition","playParams","state","setState","useImperativeHandle","load","channel","JSON","stringify","useEffect","then","result","_a","_b","_c","_d","Array","isArray","getUrlTableData","start","moment","beginTime","startOf","end","endOf","map","item","Object","assign","deviceName","channelName","totalTimeUrl","params","hkType","code","deviceId","channelNum","tenantId","getUrlParam","data","playbackUrl","message","handleExpand","handleClose","undefined","columns","title","dataIndex","key","render","_","record","active","_jsx","Button","className","onClick","children","_jsxs","_Fragment","VideoCloseIcon","VideoPlayIcon","handleTimeChange","time","speed","progress","diff","getRef","current","console","log","style","backgroundColor","PlayerHeader","onClose","Spin","spinning","size","HistoryPlayer","controlBottom","length","src","collapseBtnImg","alt","transform","TimeVerticalLine","history","getSegments","TimePositionIcon","left","TimeLine","Table","dataSource","scroll","y","pagination","rowClassName","Space","align","Tooltip","FoldIcon","ExpandIcon","displayName","getSplitLines","step","i","element","push","total","itemStart","itemEnd","itemTotal","ONEDAY_MILL","mouse","useMouse","elementX","elementY","elementW","elementH","visible","percent","valueOf","format","TimeFormat","flag","playStart","playEnd","now","begin","playUrl"],"sources":["history-control/index.js"],"sourcesContent":["import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';\nimport useCollapse from 'react-collapsed';\nimport { getHistoryUrl, getPlaybackUrlSingle } from '../api';\nimport { PlayerHeader } from '../controls';\nimport HistoryPlayer from '../history-player';\nimport { ExpandIcon, FoldIcon, TimePositionIcon, VideoCloseIcon, VideoPlayIcon } from '../icons';\nimport { TimeFormat, getUrlTableData, getUrlParam } from '../utils';\nimport { useMouse, useRequest, useSetState } from 'ahooks';\n// import { Button, Space, Table, Tooltip } from 'antd';\nimport Button from 'antd/lib/button';\nimport message from 'antd/lib/message';\nimport Space from 'antd/lib/space';\nimport Spin from 'antd/lib/spin';\nimport Table from 'antd/lib/table';\nimport Tooltip from 'antd/lib/tooltip';\nimport moment from 'moment';\nimport collapseBtnImg from './images/collapse.png';\n/** 默认播放器参数 */\nconst DEFAULT_PLAY_PARAMS = {\n index: -1,\n url: '',\n enableAgent: false,\n startTime: '',\n endTime: '',\n};\n/**\n * 历史视频控制器\n */\nexport const HistoryControl = forwardRef((props, ref) => {\n const { width = '100%', height = '100%', onExpandChange, onTimeChange, showInfo = false, onVideoClose, info = [], isDark = false } = props;\n const segmentsRef = useRef(null);\n const { runAsync, loading } = useRequest(getHistoryUrl, {\n manual: true,\n });\n const { runAsync: GetHKV2Url } = useRequest(getPlaybackUrlSingle, {\n manual: true,\n });\n const { getCollapseProps, getToggleProps, isExpanded } = useCollapse({\n defaultExpanded: true, // 默认展开\n });\n const [state, setState] = useSetState({\n expand: true,\n name: '',\n tableData: [],\n segmentData: { list: [] },\n totalUrl: '',\n timeLinePosition: -1,\n playParams: DEFAULT_PLAY_PARAMS,\n });\n useImperativeHandle(ref, () => {\n return {\n load: (channel) => {\n if (JSON.stringify(channel) !== JSON.stringify(state.channel)) {\n setState({ channel, timeLinePosition: -1 });\n }\n },\n };\n });\n useEffect(() => {\n if (state.channel) {\n runAsync(state.channel).then((result) => {\n var _a, _b, _c, _d;\n // 如果没有list,只有url,则直接播放url\n if (Array.isArray(result === null || result === void 0 ? void 0 : result.list)) {\n const tableData = getUrlTableData(result);\n const segmentData = {\n list: result.list,\n start: moment((_a = state.channel) === null || _a === void 0 ? void 0 : _a.beginTime).startOf('day'),\n end: moment((_b = state.channel) === null || _b === void 0 ? void 0 : _b.endTime).endOf('day'),\n };\n setState({\n tableData: tableData.map(item => (Object.assign(Object.assign({}, item), { enableAgent: result.enableAgent || false }))),\n segmentData,\n name: `${result.deviceName}-${result.channelName}`,\n totalUrl: result.totalTimeUrl,\n });\n }\n else if (result.totalTimeUrl) {\n const params = {\n tableData: [],\n segmentData: { list: [] },\n name: `${result.deviceName}-${result.channelName}`,\n totalUrl: result.totalTimeUrl,\n playParams: {\n index: 0,\n enableAgent: (result === null || result === void 0 ? void 0 : result.enableAgent) || false,\n url: result.totalTimeUrl,\n startTime: ((_c = state.channel) === null || _c === void 0 ? void 0 : _c.beginTime) || '',\n endTime: ((_d = state.channel) === null || _d === void 0 ? void 0 : _d.endTime) || '',\n },\n };\n if (result.hkType === 'HK_CAR_CLOUD_V2') {\n GetHKV2Url({\n code: result.code,\n beginTime: result.beginTime,\n endTime: result.endTime,\n deviceId: result.deviceId,\n channelNum: result.channelNum,\n tenantId: getUrlParam('tenantId'),\n }).then((data) => {\n params.playParams.url = data.playbackUrl;\n setState(params);\n });\n }\n else {\n setState(params);\n }\n }\n else {\n message.info('未查询到视频');\n setState({\n tableData: [],\n segmentData: { list: [] },\n name: ``,\n playParams: DEFAULT_PLAY_PARAMS,\n });\n }\n });\n return () => {\n setState({\n tableData: [],\n segmentData: { list: [] },\n name: ``,\n playParams: DEFAULT_PLAY_PARAMS,\n });\n };\n }\n }, [state.channel]);\n const handleExpand = () => {\n onExpandChange && onExpandChange(!state.expand);\n setState({ expand: !state.expand });\n };\n const handleClose = () => {\n setState({ channel: undefined, timeLinePosition: -1 });\n onVideoClose && onVideoClose();\n };\n const columns = [\n {\n title: '序号',\n dataIndex: 'index',\n width: 60,\n },\n {\n title: '播放视频',\n key: 'play',\n width: 90,\n render: (_, record, index) => {\n const active = state.playParams.index === index;\n return (_jsx(Button, Object.assign({ className: `play-btn ${active ? 'active' : ''}`, onClick: () => {\n if (active) {\n setState({\n playParams: DEFAULT_PLAY_PARAMS,\n timeLinePosition: -1,\n });\n onVideoClose && onVideoClose();\n }\n else {\n const url = record.url || state.totalUrl;\n const params = {\n index,\n url,\n enableAgent: record.enableAgent || false,\n startTime: record.beginTime,\n endTime: record.endTime,\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 setState({\n playParams: Object.assign(Object.assign({}, params), { url: data.playbackUrl })\n });\n });\n }\n else {\n setState({\n playParams: params\n });\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 // },\n // {\n // title: '通道名称',\n // dataIndex: 'channelName',\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: 120,\n dataIndex: 'duration',\n },\n {\n title: '视频大小',\n width: 100,\n dataIndex: 'size',\n },\n ];\n const handleTimeChange = (time, speed) => {\n var _a;\n onTimeChange && onTimeChange(time, speed);\n // 计算播放时间占起始时间当日的百分比\n const progress = (moment(time).diff(moment((_a = state.channel) === null || _a === void 0 ? void 0 : _a.beginTime).startOf('day'), 'seconds') /\n (24 * 60 * 60)) *\n 100;\n setState({ timeLinePosition: progress });\n };\n const getRef = () => {\n return segmentsRef.current;\n };\n console.log('state.playParams,', state.playParams);\n console.log('isExpanded', isExpanded);\n console.log('showInfo', showInfo);\n console.log('info', info);\n return (_jsxs(\"div\", Object.assign({ className: `vtx-history-control${isDark ? ' history-dark' : ''}`, style: { width, height, backgroundColor: isDark ? 'rgba(0,59,64,0.3)' : '#2b3d51' } }, { children: [state.name && _jsx(PlayerHeader, { name: state.name, onClose: handleClose }), _jsx(Spin, { spinning: loading, className: \"vtx-spin\", size: \"large\" }), _jsx(\"div\", Object.assign({ className: \"player-container\" }, { children: state.playParams.url && (_jsx(HistoryPlayer, Object.assign({}, state.playParams, { controlBottom: isExpanded ? 235 : 0, onTimeChange: handleTimeChange, showInfo: showInfo, info: info }))) })), state.tableData && state.tableData.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: state.segmentData, totalUrl: state.totalUrl, setState: setState }), getSegments(state.segmentData)] })), state.timeLinePosition >= 0 && (_jsx(TimePositionIcon, { className: \"time-line-icon\", style: { left: `${state.timeLinePosition}%` } })), _jsx(TimeLine, {})] })), _jsx(\"div\", Object.assign({ className: \"urls-panel\" }, { children: _jsx(Table, { className: \"history-url-table\", columns: columns, dataSource: state.tableData, scroll: { y: 100 }, pagination: false, rowClassName: (_, index) => index === state.playParams.index ? 'active' : '' }) }))] })) }))] }))), _jsx(\"div\", Object.assign({ className: \"bottom-controls\" }, { children: _jsx(Space, Object.assign({ className: \"left\", size: 12, align: \"center\" }, { children: onExpandChange && (_jsx(Tooltip, Object.assign({ title: state.expand ? '收起' : '展开' }, { children: _jsx(\"div\", Object.assign({ onClick: handleExpand }, { children: state.expand ? _jsx(FoldIcon, {}) : _jsx(ExpandIcon, {}) })) }))) })) }))] })));\n});\nHistoryControl.displayName = 'HistoryControl';\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 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.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};\nconst ONEDAY_MILL = 24 * 60 * 60 * 1000;\nconst TimeVerticalLine = ({ getRef, history, totalUrl, setState, }) => {\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, url, 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 const onClick = () => {\n const playUrl = url || totalUrl;\n setState({\n playParams: {\n index,\n url: playUrl,\n startTime: playStart,\n endTime: playEnd,\n },\n });\n };\n return visible ? (flag ? (_jsx(Tooltip, Object.assign({ title: time }, { children: _jsx(\"div\", { className: \"timeline\", style: { left: elementX }, onClick: onClick }) }))) : (_jsx(\"div\", { className: \"timeline\", style: { left: elementX }, onClick: onClick }))) : (_jsx(_Fragment, {}));\n};\nexport default HistoryControl;\n"],"mappings":"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"}
@@ -204,7 +204,7 @@ var HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props,
204
204
  res.filter(function (item, index) {
205
205
  return index < 25;
206
206
  }).map(function (item) {
207
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
207
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
208
208
  /**
209
209
  * 优化第一条数据的开始时间不要早于请求的开始时间
210
210
  * 最后一条的结束时间不要晚于请求的结束时间
@@ -221,22 +221,22 @@ var HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props,
221
221
  }
222
222
  }
223
223
 
224
- var result = (_e = newChannels.filter(function (citem) {
224
+ var result = newChannels.find(function (citem) {
225
225
  return citem.deviceId === item.deviceId && citem.channelNum === item.channelNum;
226
- })) === null || _e === void 0 ? void 0 : _e[0];
226
+ });
227
227
 
228
228
  if (result) {
229
229
  var isClose = newChannels[result.channelIndex].index === -1 && newChannels[result.channelIndex].tagId === '';
230
230
  newChannels[result.channelIndex] = Object.assign(Object.assign({}, newChannels[result.channelIndex]), {
231
231
  // 如果当前既没有播放列表 又没有播放标签 再 开始以第一个播放
232
232
  index: isClose ? 0 : newChannels[result.channelIndex].index,
233
- startTime: isClose ? ((_g = (_f = item.list) === null || _f === void 0 ? void 0 : _f[0]) === null || _g === void 0 ? void 0 : _g.beginTime) || channel.beginTime : newChannels[result.channelIndex].startTime,
234
- endTime: isClose ? ((_j = (_h = item.list) === null || _h === void 0 ? void 0 : _h[0]) === null || _j === void 0 ? void 0 : _j.beginTime) || channel.beginTime : newChannels[result.channelIndex].endTime
233
+ startTime: isClose ? ((_f = (_e = item.list) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.beginTime) || channel.beginTime : newChannels[result.channelIndex].startTime,
234
+ endTime: isClose ? ((_h = (_g = item.list) === null || _g === void 0 ? void 0 : _g[0]) === null || _h === void 0 ? void 0 : _h.beginTime) || channel.beginTime : newChannels[result.channelIndex].endTime
235
235
  });
236
236
  } else {
237
- var channelIndex = (_l = (_k = newChannels.filter(function (item) {
237
+ var channelIndex = (_k = (_j = newChannels.filter(function (item) {
238
238
  return item.channelNum === '';
239
- })) === null || _k === void 0 ? void 0 : _k[0]) === null || _l === void 0 ? void 0 : _l.channelIndex;
239
+ })) === null || _j === void 0 ? void 0 : _j[0]) === null || _k === void 0 ? void 0 : _k.channelIndex;
240
240
 
241
241
  if (typeof channelIndex == 'number') {
242
242
  // 过滤跨天的数据
@@ -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","list","moment","diff","result","citem","isClose","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 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;\n /**\n * 优化第一条数据的开始时间不要早于请求的开始时间\n * 最后一条的结束时间不要晚于请求的结束时间\n */\n if (item.list.length) {\n if (moment((_b = (_a = item.list) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.beginTime).diff(moment(channel.beginTime), 'seconds') < 0) {\n item.list[0].beginTime = channel.beginTime;\n }\n if (moment((_d = (_c = item.list) === null || _c === void 0 ? void 0 : _c[item.list.length - 1]) === null || _d === void 0 ? void 0 : _d.endTime).diff(moment(channel.endTime), 'seconds') > 0) {\n item.list[item.list.length - 1].endTime = channel.endTime;\n }\n }\n const result = (_e = newChannels.filter((citem) => citem.deviceId === item.deviceId && citem.channelNum === item.channelNum)) === null || _e === void 0 ? void 0 : _e[0];\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 = item.list.filter((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 } }, { 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","list","moment","diff","result","find","citem","isClose","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 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;\n /**\n * 优化第一条数据的开始时间不要早于请求的开始时间\n * 最后一条的结束时间不要晚于请求的结束时间\n */\n if (item.list.length) {\n if (moment((_b = (_a = item.list) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.beginTime).diff(moment(channel.beginTime), 'seconds') < 0) {\n item.list[0].beginTime = channel.beginTime;\n }\n if (moment((_d = (_c = item.list) === null || _c === void 0 ? void 0 : _c[item.list.length - 1]) === null || _d === void 0 ? void 0 : _d.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 ? ((_f = (_e = item.list) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.beginTime) || channel.beginTime\n : newChannels[result.channelIndex].startTime, endTime: isClose\n ? ((_h = (_g = item.list) === null || _g === void 0 ? void 0 : _g[0]) === null || _h === void 0 ? void 0 : _h.beginTime) || channel.beginTime\n : newChannels[result.channelIndex].endTime });\n }\n else {\n const channelIndex = (_k = (_j = newChannels.filter((item) => item.channelNum === '')) === null || _j === void 0 ? void 0 : _j[0]) === null || _k === void 0 ? void 0 : _k.channelIndex;\n if (typeof channelIndex == 'number') {\n // 过滤跨天的数据\n item.list = item.list.filter((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 } }, { 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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"}
@@ -107,6 +107,7 @@ var HistoryControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref)
107
107
  height = _props$height === void 0 ? '100%' : _props$height,
108
108
  onExpandChange = props.onExpandChange,
109
109
  onVideoClose = props.onVideoClose,
110
+ onVideoCloseAll = props.onVideoCloseAll,
110
111
  onScreenshot = props.onScreenshot,
111
112
  onPlayingChannelChange = props.onPlayingChannelChange,
112
113
  onTimeChange = props.onTimeChange;
@@ -252,12 +253,12 @@ var HistoryControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref)
252
253
  };
253
254
 
254
255
  var handleCloseAll = function handleCloseAll() {
255
- var realChannels = channels.filter(function (item) {
256
- return item.channelNum !== '';
257
- });
258
- realChannels.map(function (item) {
259
- onVideoClose && onVideoClose(item);
260
- });
256
+ // const realChannels = channels.filter((item) => item.channelNum !== '');
257
+ // realChannels.map((item) => {
258
+ // onVideoClose && onVideoClose(item);
259
+ // });
260
+ onVideoCloseAll();
261
+ setChannels(_utils2.DEFAULT_CHANNELS);
261
262
  };
262
263
 
263
264
  var getGridItems = function getGridItems() {
@@ -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","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","realChannels","map","getGridItems","items","i","element","_jsx","GridItem","active","palyIndex","onClick","onClose","push","Number","store","useEffect","getRealGrid","length","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, 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 };\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 const newChannels = [...channels];\n newChannels[i].index = -1;\n newChannels[i].startTime = '';\n newChannels[i].endTime = '';\n newChannels[i].tagId = '';\n setChannels(newChannels);\n onVideoClose && onVideoClose(newChannels[i]);\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: onVideoClose, 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","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 const newChannels = [...channels];\n newChannels[i].index = -1;\n newChannels[i].startTime = '';\n newChannels[i].endTime = '';\n newChannels[i].tagId = '';\n setChannels(newChannels);\n onVideoClose && onVideoClose(newChannels[i]);\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: onVideoClose, 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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"}
@@ -59,6 +59,8 @@ export interface IHistoryControlProps {
59
59
  onScreenshot?: (url: string) => void;
60
60
  /** 播放关闭回调 */
61
61
  onVideoClose?: (e: any) => void;
62
+ /** 播放关闭所有回调 */
63
+ onVideoCloseAll?: () => void;
62
64
  /** 单签播放 */
63
65
  onPlayingChannelChange?: (e: any) => void;
64
66
  /** 是否展示信息 */
@@ -21,6 +21,8 @@ interface LiveControlV2Props {
21
21
  onScreenshot?: (url: string) => void;
22
22
  /** 关闭视频回调 */
23
23
  onVideoClose?: (ChannelType: ChannelType) => void;
24
+ /** 关闭所有视频回调 */
25
+ onVideoCloseAll?: () => void;
24
26
  /** 轮播时关闭视频回调 */
25
27
  onCloseVideoInRotation?: (onVideoClose: () => void) => void;
26
28
  /** 宽度 */
@@ -68,6 +68,7 @@ var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
68
68
  onExpandChange = props.onExpandChange,
69
69
  onPlayingChannelChange = props.onPlayingChannelChange,
70
70
  onVideoClose = props.onVideoClose,
71
+ onVideoCloseAll = props.onVideoCloseAll,
71
72
  onCloseVideoInRotation = props.onCloseVideoInRotation,
72
73
  extraDom = props.extraDom,
73
74
  _props$gridChange = props.gridChange,
@@ -208,6 +209,7 @@ var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
208
209
  activeIndex: DEFAULT_ACTIVE
209
210
  });
210
211
  updateChannels(DEFAULT_CHANNELS);
212
+ onVideoCloseAll();
211
213
  };
212
214
 
213
215
  var handleExpand = function handleExpand() {
@@ -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","onCloseVideoInRotation","extraDom","gridChange","onScreenshot","useSetState","expand","grid","activeIndex","channels","scale","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","unLoad","updateChannels","unLoadAll","handleCloseAll","useEffect","filter","handleExpand","slice","map","item","resizeAll","updateScale","timer","setTimeout","Object","values","forEach","player","resize","clearTimeout","closeVideo","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","captureName","deviceId","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, onCloseVideoInRotation, extraDom, gridChange = true, onScreenshot, } = props;\n const [state, setState] = useSetState({\n expand: true,\n grid: DEFAULT_GRID,\n activeIndex: DEFAULT_ACTIVE,\n channels: DEFAULT_CHANNELS,\n 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 newChannels = [...channelRef.current];\n for (let i = 0; i < channels.length; i++) {\n newChannels[activeIndex] = channels[i] || { channelNum: '' };\n const index = getActiveIndex(newChannels, latestGrid.current, activeIndex);\n // 如果相等,说明没有空闲窗口\n if (index === activeIndex) {\n break;\n }\n activeIndex = index;\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 };\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 newChannels = [...channelRef.current];\n onVideoClose && onVideoClose(newChannels[i]);\n newChannels[i] = { channelNum: '' };\n updateChannels(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) || '', captureName: name, deviceId: data.deviceId, channelNum: data.channelNum, 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.ptzType),\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 + 1; i < currentChannels.length; i++) {\n if (!currentChannels[i].channelNum)\n return i;\n }\n for (let i = 0; i < currentIndex; i++) {\n if (!currentChannels[i].channelNum)\n return i;\n }\n return currentIndex;\n};\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","useSetState","expand","grid","activeIndex","channels","scale","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","unLoad","updateChannels","unLoadAll","handleCloseAll","useEffect","filter","handleExpand","slice","map","item","resizeAll","updateScale","timer","setTimeout","Object","values","forEach","player","resize","clearTimeout","closeVideo","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","captureName","deviceId","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, } = props;\n const [state, setState] = useSetState({\n expand: true,\n grid: DEFAULT_GRID,\n activeIndex: DEFAULT_ACTIVE,\n channels: DEFAULT_CHANNELS,\n 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 newChannels = [...channelRef.current];\n for (let i = 0; i < channels.length; i++) {\n newChannels[activeIndex] = channels[i] || { channelNum: '' };\n const index = getActiveIndex(newChannels, latestGrid.current, activeIndex);\n // 如果相等,说明没有空闲窗口\n if (index === activeIndex) {\n break;\n }\n activeIndex = index;\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 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 newChannels = [...channelRef.current];\n onVideoClose && onVideoClose(newChannels[i]);\n newChannels[i] = { channelNum: '' };\n updateChannels(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) || '', captureName: name, deviceId: data.deviceId, channelNum: data.channelNum, 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.ptzType),\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 + 1; i < currentChannels.length; i++) {\n if (!currentChannels[i].channelNum)\n return i;\n }\n for (let i = 0; i < currentIndex; i++) {\n if (!currentChannels[i].channelNum)\n return i;\n }\n return currentIndex;\n};\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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"}
@@ -180,7 +180,11 @@ var getUrlTableData = function getUrlTableData(data) {
180
180
  duration: secondsToString(totalSeconds),
181
181
  downloadUrl: '',
182
182
  url: item.playbackUrl || '',
183
- enableAgent: data.enableAgent || false
183
+ enableAgent: data.enableAgent || false,
184
+ code: item.code,
185
+ hkType: data.hkType,
186
+ deviceId: data.deviceId,
187
+ channelNum: data.channelNum
184
188
  };
185
189
  });
186
190
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["TimeFormat","guidGenerator","S4","Math","random","toString","substring","initProtocol","url","enableAgent","src","isHttps","document","location","protocol","startsWith","replace","ipPort","indexOf","path","window","host","getPlayerParams","type","live","playerUrl","playerType","split","Base64","encode","getUrlTableData","data","result","list","map","item","i","beginTime","moment","endTime","totalSeconds","diff","index","deviceName","channelName","format","params","size","bytesToMegaBytes","duration","secondsToString","downloadUrl","playbackUrl","bytes","pow","toFixed","total","hour","floor","minute","second","secondsToTime","getHKTimeString","time","getHKListUrl","totalUrl","startTime","query","urlParams","URLSearchParams","set","getUrlParam","key","href","paramObj","matchList","match","len","length","r","guid","c","v"],"sources":["utils/index.js"],"sourcesContent":["import { Base64 } from 'js-base64';\nimport moment from 'moment';\n/** 时间格式枚举 */\nexport var TimeFormat;\n(function (TimeFormat) {\n TimeFormat[\"default\"] = \"YYYY-MM-DDTHH:mm:ss\";\n TimeFormat[\"params\"] = \"YYYY-MM-DD HH:mm:ss\";\n TimeFormat[\"url\"] = \"YYYYMMDDTHHmmss\";\n})(TimeFormat || (TimeFormat = {}));\n/** 生成随机ID */\nexport const guidGenerator = () => {\n const S4 = function () {\n return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);\n };\n return S4() + S4() + '-' + S4() + '-' + S4() + '-' + S4() + '-' + S4() + S4() + S4();\n};\nconst initProtocol = (url, enableAgent) => {\n let src = url;\n if (enableAgent) {\n const isHttps = 'https:' === document.location.protocol;\n if (url.startsWith('http:')) {\n url = url.replace('http://', '');\n if (url.startsWith('https:')) {\n url = url.replace('https://', '');\n }\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = '/visProxy/' + ipPort + '/play' + path;\n }\n else if (url.startsWith('ws:')) {\n url = url.replace('ws://', '');\n if (url.startsWith('wss:')) {\n url = url.replace('wss://', '');\n }\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n const protocol = isHttps ? 'wss://' : 'ws://';\n src = protocol + window.location.host + '/visProxy/' + ipPort + '/play' + path;\n }\n }\n else {\n const isHttps = 'https:' === document.location.protocol;\n if (isHttps) {\n if (url.startsWith('http:')) {\n url = url.replace('http://', '');\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = '/visProxy/' + ipPort + '/play' + path;\n }\n else if (url.startsWith('ws:')) {\n url = url.replace('ws://', '');\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = 'wss://' + window.location.host + '/visProxy/' + ipPort + '/play' + path;\n }\n }\n }\n return src;\n};\n/**\n * 获取视频直播地址及格式\n * @param url\n * @returns\n */\nexport const getPlayerParams = (type, url, enableAgent, live) => {\n let playerUrl = url;\n let playerType = 'flv';\n if (url.startsWith('ws://') || url.startsWith('wss://')) {\n if (type === 'hkcar_ws') {\n playerType = 'hkcar_ws';\n }\n else {\n playerType = 'hk_ws';\n }\n if (live) {\n playerUrl = url;\n }\n else {\n playerUrl = url.split('?')[0];\n }\n }\n if (url.startsWith('rtsp://')) {\n playerType = 'flv';\n playerUrl = `/cloud/vic/convert/flv/live.flv?url=${Base64.encode(url)}`;\n // if (live) {\n // playerUrl = `/cloud/vic/convert/flv/live.flv?url=${Base64.encode(\n // url\n // )}`;\n // } else {\n // playerUrl = `/cloud/vic/convert/flv/live.flv?url=${Base64.encode(\n // getFlvListUrl(url, startTime, endTime)\n // )}`;\n // }\n }\n if (url.indexOf('flv') > -1) {\n playerUrl = url;\n playerType = 'flv';\n }\n if (url.indexOf('m3u8') > -1) {\n playerUrl = url;\n playerType = 'hls';\n }\n return { url: initProtocol(playerUrl, enableAgent), type: playerType };\n};\n/**\n * 获取历史回放表格数据\n * @param data\n * @returns\n */\nexport const getUrlTableData = (data) => {\n const result = data.list.map((item, i) => {\n const beginTime = moment(item.beginTime);\n const endTime = moment(item.endTime);\n const totalSeconds = moment(endTime).diff(moment(beginTime), 'seconds');\n return {\n index: i + 1,\n deviceName: data.deviceName,\n channelName: data.channelName,\n beginTime: beginTime.format(TimeFormat.params),\n endTime: endTime.format(TimeFormat.params),\n size: bytesToMegaBytes(item.size),\n duration: secondsToString(totalSeconds),\n downloadUrl: '',\n url: item.playbackUrl || '',\n enableAgent: data.enableAgent || false,\n };\n });\n return result;\n};\n/**\n * bytes转换mb\n * @param bytes\n * @returns\n */\nexport const bytesToMegaBytes = (bytes) => `${(bytes / Math.pow(1024, 2)).toFixed(2)}MB`;\n/**\n * 秒数=>0时0分0秒\n * @param total\n * @returns\n */\nexport const secondsToString = (total) => {\n const hour = Math.floor(total / 3600);\n const minute = Math.floor((total % 3600) / 60);\n const second = Math.floor(total % 60);\n const result = `${hour > 0 ? hour + '小时' : ''}${minute > 0 ? minute + '分' : ''}${second > 0 ? second + '秒' : ''}`;\n return result;\n};\n/**\n * 秒数=>00:00:00\n * @param total\n * @returns\n */\nexport const secondsToTime = (total) => {\n const hour = Math.floor(total / 3600);\n const minute = Math.floor((total % 3600) / 60);\n const second = Math.floor(total % 60);\n const result = `${hour >= 10 ? hour : '0' + hour}:${minute >= 10 ? minute : '0' + minute}:${second >= 10 ? second : '0' + second}`;\n return result;\n};\n/**\n * 获取海康时间参数\n * @param time 时间\n * @returns\n */\nexport const getHKTimeString = (time) => {\n return moment(time).format(TimeFormat.default) + 'Z';\n};\n/**\n * 获取海康分段播放地址\n * @param totalUrl 总播放地址\n * @param startTime 开始时间\n * @param endTime 结束时间\n * @returns\n */\nexport const getHKListUrl = (totalUrl, startTime, endTime) => {\n const [url, query] = totalUrl.split('?');\n const urlParams = new URLSearchParams(query);\n urlParams.set('beginTime', getHKTimeString(startTime));\n urlParams.set('endTime', getHKTimeString(endTime));\n return `${url}?${urlParams.toString()}`;\n};\n/**\n *\n * 获取flv格式分段播放地址\n * @param totalUrl 总播放地址\n * @param startTime 开始时间\n * @param endTime 结束时间\n * @returns\n */\n// export const getFlvListUrl = (\n// totalUrl: string,\n// startTime: moment.MomentInput,\n// endTime: moment.MomentInput\n// ) => {\n// const [url, query] = totalUrl.split('?');\n// const urlParams = new URLSearchParams(query);\n// urlParams.set('beginTime', moment(startTime).format(TimeFormat.url));\n// urlParams.set('endTime', moment(endTime).format(TimeFormat.url));\n// return `${url}?${urlParams.toString()}`;\n// };\n/**\n * 获取地址栏中的参数信息\n * @param key 字段key\n * @param href 链接\n * @returns 字段值\n */\nexport const getUrlParam = (key, href = window.location.href) => {\n const paramObj = {};\n const matchList = href.match(/([^\\?&]+)=([^\\?&#]+)/g) || [];\n for (let i = 0, len = matchList.length; i < len; i++) {\n const r = matchList[i].match(/([^\\?&]+)=([^\\?&]+)/);\n paramObj[r[1]] = r[2];\n }\n if (key) {\n return paramObj[key];\n }\n else {\n return paramObj;\n }\n};\n/**\n *\n * @returns 返回UUID\n */\nexport function guid() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n const r = (Math.random() * 16) | 0, v = c == 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["TimeFormat","guidGenerator","S4","Math","random","toString","substring","initProtocol","url","enableAgent","src","isHttps","document","location","protocol","startsWith","replace","ipPort","indexOf","path","window","host","getPlayerParams","type","live","playerUrl","playerType","split","Base64","encode","getUrlTableData","data","result","list","map","item","i","beginTime","moment","endTime","totalSeconds","diff","index","deviceName","channelName","format","params","size","bytesToMegaBytes","duration","secondsToString","downloadUrl","playbackUrl","code","hkType","deviceId","channelNum","bytes","pow","toFixed","total","hour","floor","minute","second","secondsToTime","getHKTimeString","time","getHKListUrl","totalUrl","startTime","query","urlParams","URLSearchParams","set","getUrlParam","key","href","paramObj","matchList","match","len","length","r","guid","c","v"],"sources":["utils/index.js"],"sourcesContent":["import { Base64 } from 'js-base64';\nimport moment from 'moment';\n/** 时间格式枚举 */\nexport var TimeFormat;\n(function (TimeFormat) {\n TimeFormat[\"default\"] = \"YYYY-MM-DDTHH:mm:ss\";\n TimeFormat[\"params\"] = \"YYYY-MM-DD HH:mm:ss\";\n TimeFormat[\"url\"] = \"YYYYMMDDTHHmmss\";\n})(TimeFormat || (TimeFormat = {}));\n/** 生成随机ID */\nexport const guidGenerator = () => {\n const S4 = function () {\n return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);\n };\n return S4() + S4() + '-' + S4() + '-' + S4() + '-' + S4() + '-' + S4() + S4() + S4();\n};\nconst initProtocol = (url, enableAgent) => {\n let src = url;\n if (enableAgent) {\n const isHttps = 'https:' === document.location.protocol;\n if (url.startsWith('http:')) {\n url = url.replace('http://', '');\n if (url.startsWith('https:')) {\n url = url.replace('https://', '');\n }\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = '/visProxy/' + ipPort + '/play' + path;\n }\n else if (url.startsWith('ws:')) {\n url = url.replace('ws://', '');\n if (url.startsWith('wss:')) {\n url = url.replace('wss://', '');\n }\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n const protocol = isHttps ? 'wss://' : 'ws://';\n src = protocol + window.location.host + '/visProxy/' + ipPort + '/play' + path;\n }\n }\n else {\n const isHttps = 'https:' === document.location.protocol;\n if (isHttps) {\n if (url.startsWith('http:')) {\n url = url.replace('http://', '');\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = '/visProxy/' + ipPort + '/play' + path;\n }\n else if (url.startsWith('ws:')) {\n url = url.replace('ws://', '');\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = 'wss://' + window.location.host + '/visProxy/' + ipPort + '/play' + path;\n }\n }\n }\n return src;\n};\n/**\n * 获取视频直播地址及格式\n * @param url\n * @returns\n */\nexport const getPlayerParams = (type, url, enableAgent, live) => {\n let playerUrl = url;\n let playerType = 'flv';\n if (url.startsWith('ws://') || url.startsWith('wss://')) {\n if (type === 'hkcar_ws') {\n playerType = 'hkcar_ws';\n }\n else {\n playerType = 'hk_ws';\n }\n if (live) {\n playerUrl = url;\n }\n else {\n playerUrl = url.split('?')[0];\n }\n }\n if (url.startsWith('rtsp://')) {\n playerType = 'flv';\n playerUrl = `/cloud/vic/convert/flv/live.flv?url=${Base64.encode(url)}`;\n // if (live) {\n // playerUrl = `/cloud/vic/convert/flv/live.flv?url=${Base64.encode(\n // url\n // )}`;\n // } else {\n // playerUrl = `/cloud/vic/convert/flv/live.flv?url=${Base64.encode(\n // getFlvListUrl(url, startTime, endTime)\n // )}`;\n // }\n }\n if (url.indexOf('flv') > -1) {\n playerUrl = url;\n playerType = 'flv';\n }\n if (url.indexOf('m3u8') > -1) {\n playerUrl = url;\n playerType = 'hls';\n }\n return { url: initProtocol(playerUrl, enableAgent), type: playerType };\n};\n/**\n * 获取历史回放表格数据\n * @param data\n * @returns\n */\nexport const getUrlTableData = (data) => {\n const result = data.list.map((item, i) => {\n const beginTime = moment(item.beginTime);\n const endTime = moment(item.endTime);\n const totalSeconds = moment(endTime).diff(moment(beginTime), 'seconds');\n return {\n index: i + 1,\n deviceName: data.deviceName,\n channelName: data.channelName,\n beginTime: beginTime.format(TimeFormat.params),\n endTime: endTime.format(TimeFormat.params),\n size: bytesToMegaBytes(item.size),\n duration: secondsToString(totalSeconds),\n downloadUrl: '',\n url: item.playbackUrl || '',\n enableAgent: data.enableAgent || false,\n code: item.code,\n hkType: data.hkType,\n deviceId: data.deviceId,\n channelNum: data.channelNum\n };\n });\n return result;\n};\n/**\n * bytes转换mb\n * @param bytes\n * @returns\n */\nexport const bytesToMegaBytes = (bytes) => `${(bytes / Math.pow(1024, 2)).toFixed(2)}MB`;\n/**\n * 秒数=>0时0分0秒\n * @param total\n * @returns\n */\nexport const secondsToString = (total) => {\n const hour = Math.floor(total / 3600);\n const minute = Math.floor((total % 3600) / 60);\n const second = Math.floor(total % 60);\n const result = `${hour > 0 ? hour + '小时' : ''}${minute > 0 ? minute + '分' : ''}${second > 0 ? second + '秒' : ''}`;\n return result;\n};\n/**\n * 秒数=>00:00:00\n * @param total\n * @returns\n */\nexport const secondsToTime = (total) => {\n const hour = Math.floor(total / 3600);\n const minute = Math.floor((total % 3600) / 60);\n const second = Math.floor(total % 60);\n const result = `${hour >= 10 ? hour : '0' + hour}:${minute >= 10 ? minute : '0' + minute}:${second >= 10 ? second : '0' + second}`;\n return result;\n};\n/**\n * 获取海康时间参数\n * @param time 时间\n * @returns\n */\nexport const getHKTimeString = (time) => {\n return moment(time).format(TimeFormat.default) + 'Z';\n};\n/**\n * 获取海康分段播放地址\n * @param totalUrl 总播放地址\n * @param startTime 开始时间\n * @param endTime 结束时间\n * @returns\n */\nexport const getHKListUrl = (totalUrl, startTime, endTime) => {\n const [url, query] = totalUrl.split('?');\n const urlParams = new URLSearchParams(query);\n urlParams.set('beginTime', getHKTimeString(startTime));\n urlParams.set('endTime', getHKTimeString(endTime));\n return `${url}?${urlParams.toString()}`;\n};\n/**\n *\n * 获取flv格式分段播放地址\n * @param totalUrl 总播放地址\n * @param startTime 开始时间\n * @param endTime 结束时间\n * @returns\n */\n// export const getFlvListUrl = (\n// totalUrl: string,\n// startTime: moment.MomentInput,\n// endTime: moment.MomentInput\n// ) => {\n// const [url, query] = totalUrl.split('?');\n// const urlParams = new URLSearchParams(query);\n// urlParams.set('beginTime', moment(startTime).format(TimeFormat.url));\n// urlParams.set('endTime', moment(endTime).format(TimeFormat.url));\n// return `${url}?${urlParams.toString()}`;\n// };\n/**\n * 获取地址栏中的参数信息\n * @param key 字段key\n * @param href 链接\n * @returns 字段值\n */\nexport const getUrlParam = (key, href = window.location.href) => {\n const paramObj = {};\n const matchList = href.match(/([^\\?&]+)=([^\\?&#]+)/g) || [];\n for (let i = 0, len = matchList.length; i < len; i++) {\n const r = matchList[i].match(/([^\\?&]+)=([^\\?&]+)/);\n paramObj[r[1]] = r[2];\n }\n if (key) {\n return paramObj[key];\n }\n else {\n return paramObj;\n }\n};\n/**\n *\n * @returns 返回UUID\n */\nexport function guid() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n const r = (Math.random() * 16) | 0, v = c == 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vtx/player",
3
- "version": "1.2.2",
3
+ "version": "1.2.4",
4
4
  "private": false,
5
5
  "description": "视频业务组件",
6
6
  "main": "./lib/index.js",