@vtx/player 1.2.6 → 1.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/fetch.d.ts +2 -0
- package/lib/api/fetch.js +35 -18
- package/lib/api/fetch.js.map +1 -1
- package/lib/api/types.d.ts +16 -0
- package/lib/history-control/index.d.ts +4 -0
- package/lib/history-control/index.js +21 -3
- package/lib/history-control/index.js.map +1 -1
- package/lib/history-control-v2/components/grid-item/index.js +12 -0
- package/lib/history-control-v2/components/grid-item/index.js.map +1 -1
- package/lib/history-control-v2/components/panel/index.js +26 -5
- package/lib/history-control-v2/components/panel/index.js.map +1 -1
- package/lib/history-control-v2/interface.d.ts +6 -0
- package/lib/history-control-v2/utils.js +2 -0
- package/lib/history-control-v2/utils.js.map +1 -1
- package/lib/history-player/index.d.ts +12 -0
- package/lib/history-player/index.js +44 -13
- package/lib/history-player/index.js.map +1 -1
- package/lib/icc/PlayerManager.d.ts +89 -0
- package/lib/icc/PlayerManager.js +317 -0
- package/lib/icc/PlayerManager.js.map +1 -0
- package/lib/icc/api.d.ts +139 -0
- package/lib/icc/api.js +273 -0
- package/lib/icc/api.js.map +1 -0
- package/lib/live-control-v2/index.js +7 -1
- package/lib/live-control-v2/index.js.map +1 -1
- package/lib/live-player/index.d.ts +8 -4
- package/lib/live-player/index.js +109 -29
- package/lib/live-player/index.js.map +1 -1
- package/lib/live-player-image/index.js +1 -0
- package/lib/live-player-image/index.js.map +1 -1
- package/lib/player/index.d.ts +20 -2
- package/lib/player/index.js +92 -19
- package/lib/player/index.js.map +1 -1
- package/lib/typings/@vtx/utils/index.d.ts +1 -0
- package/lib/typings/wsplayer.d.ts +99 -0
- package/lib/utils/index.js +4 -0
- package/lib/utils/index.js.map +1 -1
- package/package.json +1 -1
package/lib/icc/api.js
ADDED
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
|
|
8
|
+
var _fetch = _interopRequireDefault(require("../api/fetch"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
|
+
|
|
12
|
+
// 跟平台相关的业务JS
|
|
13
|
+
var API = {
|
|
14
|
+
/**
|
|
15
|
+
* 获取token
|
|
16
|
+
*/
|
|
17
|
+
getToken: function getToken(params) {
|
|
18
|
+
return (0, _fetch["default"])('/cloud/vis/base/np/artemis/token.smvc', 'GET', {
|
|
19
|
+
data: Object.assign({}, params)
|
|
20
|
+
});
|
|
21
|
+
},
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* 请求实时视频流地址
|
|
25
|
+
*/
|
|
26
|
+
getRealmonitor: function getRealmonitor(realmonitorParam) {
|
|
27
|
+
console.log(22);
|
|
28
|
+
return new Promise(function (resolve, reject) {
|
|
29
|
+
API.ajaxRequest({
|
|
30
|
+
url: '/evo-apigw/admin/API/MTS/Video/StartVideo',
|
|
31
|
+
data: realmonitorParam
|
|
32
|
+
}).then(function (res) {
|
|
33
|
+
resolve(res.data);
|
|
34
|
+
})["catch"](function (res) {
|
|
35
|
+
reject(res.errMsg);
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
},
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* 获取对讲的rtsp
|
|
42
|
+
*/
|
|
43
|
+
getTalkRtsp: function getTalkRtsp(talkPram) {
|
|
44
|
+
return new Promise(function (resolve, reject) {
|
|
45
|
+
API.ajaxRequest({
|
|
46
|
+
url: '/evo-apigw/admin/API/MTS/Audio/StartTalk',
|
|
47
|
+
data: talkPram
|
|
48
|
+
}).then(function (res) {
|
|
49
|
+
resolve(res.data);
|
|
50
|
+
})["catch"](function (res) {
|
|
51
|
+
reject(res);
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
},
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* 根据时间查询设备上的录像
|
|
58
|
+
* @param recordByTimeParam.recordType 录像类型:1=一般录像,2=报警录像
|
|
59
|
+
* @param recordByTimeParam.recordSource 录像来源:1=全部,2=设备,3=中心
|
|
60
|
+
* @param recordByTimeParam.streamType 码流类型:1=主码流, 2=辅码流 使用辅码流 码率低更加流畅
|
|
61
|
+
* @param recordByTimeParam.channelId 通道code
|
|
62
|
+
* @param recordByTimeParam.startTime 开始时间
|
|
63
|
+
* @param recordByTimeParam.endTime 结束时间
|
|
64
|
+
*/
|
|
65
|
+
getRecordRtspByTime: function getRecordRtspByTime(recordByTimeParam) {
|
|
66
|
+
return new Promise(function (resolve, reject) {
|
|
67
|
+
API.ajaxRequest({
|
|
68
|
+
url: '/evo-apigw/admin/API/SS/Playback/StartPlaybackByTime',
|
|
69
|
+
data: recordByTimeParam
|
|
70
|
+
}).then(function (res) {
|
|
71
|
+
resolve(res.data);
|
|
72
|
+
})["catch"](function (res) {
|
|
73
|
+
reject(res.errMsg);
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
},
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* 根据文件形式回放录像
|
|
80
|
+
* @param recordByFileParam.recordType 录像类型:1=一般录像,2=报警录像
|
|
81
|
+
* @param recordByFileParam.streamType 码流类型:1=主码流, 2=辅码流 使用辅码流 码率低更加流畅
|
|
82
|
+
* @param recordByFileParam.recordSource 录像来源:1=全部,2=设备,3=中心
|
|
83
|
+
* @param recordByFileParam.channelId 通道code
|
|
84
|
+
* @param recordByFileParam.startTime 开始时间 timestamp到秒
|
|
85
|
+
* @param recordByFileParam.endTime 结束时间 timestamp到秒
|
|
86
|
+
*/
|
|
87
|
+
getRecordRtspByFile: function getRecordRtspByFile(recordByFileParam) {
|
|
88
|
+
return new Promise(function (resolve, reject) {
|
|
89
|
+
API.ajaxRequest({
|
|
90
|
+
url: '/evo-apigw/admin/API/SS/Playback/StartPlaybackByFile',
|
|
91
|
+
data: recordByFileParam
|
|
92
|
+
}).then(function (res) {
|
|
93
|
+
resolve(res.data);
|
|
94
|
+
})["catch"](function (res) {
|
|
95
|
+
reject(res.errMsg);
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
},
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* 查询中心录像上的录像文件信息
|
|
102
|
+
* @param recordsParam.recordType 录像类型:1=一般录像,2=报警录像
|
|
103
|
+
* @param recordsParam.streamType 码流类型:1=主码流, 2=辅码流 使用辅码流 码率低更加流畅
|
|
104
|
+
* @param recordsParam.recordSource 录像来源:1=全部,2=设备,3=中心
|
|
105
|
+
* @param recordsParam.channelId 通道code
|
|
106
|
+
* @param recordsParam.startTime 开始时间 timestamp到秒
|
|
107
|
+
* @param recordsParam.endTime 结束时间 timestamp到秒
|
|
108
|
+
*/
|
|
109
|
+
getRecords: function getRecords(recordsParam) {
|
|
110
|
+
return new Promise(function (resolve, reject) {
|
|
111
|
+
API.ajaxRequest({
|
|
112
|
+
url: '/evo-apigw/admin/API/SS/Record/QueryRecords',
|
|
113
|
+
data: recordsParam
|
|
114
|
+
}).then(function (res) {
|
|
115
|
+
resolve(res.data);
|
|
116
|
+
})["catch"](function (res) {
|
|
117
|
+
reject(res.errMsg);
|
|
118
|
+
});
|
|
119
|
+
});
|
|
120
|
+
},
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* 云台方向控制
|
|
124
|
+
* @param directionParam
|
|
125
|
+
* @returns {Promise<unknown>}
|
|
126
|
+
*/
|
|
127
|
+
setPtzDirection: function setPtzDirection(directionParam) {
|
|
128
|
+
return new Promise(function (resolve, reject) {
|
|
129
|
+
API.ajaxRequest({
|
|
130
|
+
url: '/evo-apigw/admin/API/DMS/Ptz/OperateDirect',
|
|
131
|
+
data: directionParam
|
|
132
|
+
}).then(function (res) {
|
|
133
|
+
resolve(res.data);
|
|
134
|
+
})["catch"](function (res) {
|
|
135
|
+
reject(res.errMsg);
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
},
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* 云台镜头控制
|
|
142
|
+
* @param cameraParam
|
|
143
|
+
* @returns {Promise<unknown>}
|
|
144
|
+
*/
|
|
145
|
+
setPtzCamera: function setPtzCamera(cameraParam) {
|
|
146
|
+
return new Promise(function (resolve, reject) {
|
|
147
|
+
API.ajaxRequest({
|
|
148
|
+
url: '/evo-apigw/admin/API/DMS/Ptz/OperateCamera',
|
|
149
|
+
data: cameraParam
|
|
150
|
+
}).then(function (res) {
|
|
151
|
+
resolve(res.data);
|
|
152
|
+
})["catch"](function (res) {
|
|
153
|
+
reject(res.errMsg);
|
|
154
|
+
});
|
|
155
|
+
});
|
|
156
|
+
},
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* 云台三维定位接口
|
|
160
|
+
* @param positionParam
|
|
161
|
+
* @returns {Promise<unknown>}
|
|
162
|
+
*/
|
|
163
|
+
controlSitPosition: function controlSitPosition(positionParam) {
|
|
164
|
+
return new Promise(function (resolve, reject) {
|
|
165
|
+
API.ajaxRequest({
|
|
166
|
+
url: '/evo-apigw/admin/API/DMS/Ptz/SitPosition',
|
|
167
|
+
data: positionParam
|
|
168
|
+
}).then(function (res) {
|
|
169
|
+
resolve(res.data);
|
|
170
|
+
})["catch"](function (res) {
|
|
171
|
+
reject(res);
|
|
172
|
+
});
|
|
173
|
+
});
|
|
174
|
+
},
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* 请求
|
|
178
|
+
* @param {*} opt
|
|
179
|
+
* @param {*} opt.url 接口地址
|
|
180
|
+
* @param {*} opt.data 参数
|
|
181
|
+
*/
|
|
182
|
+
ajaxRequest: function ajaxRequest(opt) {
|
|
183
|
+
var accessToken = localStorage.getItem('accessToken');
|
|
184
|
+
var userId = accessToken ? accessToken.split(':')[0] : '';
|
|
185
|
+
opt.headers = opt.headers ? opt.headers : {};
|
|
186
|
+
return new Promise(function (resolve, reject) {
|
|
187
|
+
$.ajax({
|
|
188
|
+
url: opt.url,
|
|
189
|
+
type: opt.type ? opt.type : 'post',
|
|
190
|
+
dataType: opt.dataType ? opt.dataType : 'json',
|
|
191
|
+
data: JSON.stringify(opt.data),
|
|
192
|
+
headers: Object.assign({
|
|
193
|
+
Authorization: "bearer " + accessToken,
|
|
194
|
+
'User-Id': userId,
|
|
195
|
+
'Content-Type': 'application/json',
|
|
196
|
+
proxyip: localStorage['proxyIp']
|
|
197
|
+
}, opt.headers),
|
|
198
|
+
contentType: 'application/json;charset=utf-8',
|
|
199
|
+
crossDomain: true,
|
|
200
|
+
success: function success(res) {
|
|
201
|
+
if (res.code == 1000 || res.code == '0') {
|
|
202
|
+
resolve(res);
|
|
203
|
+
} else if (res.code == "27001007") {
|
|
204
|
+
// token过期,刷新token
|
|
205
|
+
API.refreshToken().then(function () {
|
|
206
|
+
// token刷新后,重新请求
|
|
207
|
+
API.ajaxRequest(opt).then(function (data) {
|
|
208
|
+
// 重新请求后,需要处理原始请求的resolve
|
|
209
|
+
resolve(data);
|
|
210
|
+
});
|
|
211
|
+
});
|
|
212
|
+
} else {
|
|
213
|
+
reject(res);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
});
|
|
217
|
+
});
|
|
218
|
+
},
|
|
219
|
+
// 刷新token
|
|
220
|
+
refreshToken: function refreshToken() {
|
|
221
|
+
var refreshToken = localStorage.getItem('refreshToken');
|
|
222
|
+
var clientId = localStorage.getItem('checked') ? 'web_client_remember' : 'web_client';
|
|
223
|
+
var value = {
|
|
224
|
+
'refresh_token': refreshToken,
|
|
225
|
+
'grant_type': 'refresh_token',
|
|
226
|
+
'client_id': clientId,
|
|
227
|
+
"client_secret": 'web_client'
|
|
228
|
+
};
|
|
229
|
+
var param = '';
|
|
230
|
+
|
|
231
|
+
for (var i in value) {
|
|
232
|
+
param += '&' + i + "=" + value[i];
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
param = param.slice(1);
|
|
236
|
+
return new Promise(function (resolve, reject) {
|
|
237
|
+
$.ajax({
|
|
238
|
+
url: '/evo-apigw/evo-oauth/oauth/token',
|
|
239
|
+
type: 'post',
|
|
240
|
+
dataType: 'json',
|
|
241
|
+
data: param,
|
|
242
|
+
headers: {
|
|
243
|
+
'content-type': 'application/x-www-form-urlencoded',
|
|
244
|
+
proxyip: localStorage['proxyIp']
|
|
245
|
+
},
|
|
246
|
+
success: function success(res) {
|
|
247
|
+
if (res.code === '0') {
|
|
248
|
+
localStorage.setItem("accessToken", res.data.access_token);
|
|
249
|
+
localStorage.setItem("refreshToken", res.data.refresh_token);
|
|
250
|
+
localStorage.setItem('expiresTime', new Date().getTime() + res.data.expires_in * 1000); // 登录保活
|
|
251
|
+
|
|
252
|
+
API.ajaxRequest({
|
|
253
|
+
url: "/evo-apigw/evo-brm/1.2.0/user/keepalive",
|
|
254
|
+
data: {
|
|
255
|
+
clientType: 1,
|
|
256
|
+
magicId: localStorage.magicId,
|
|
257
|
+
timeout: 10000
|
|
258
|
+
}
|
|
259
|
+
});
|
|
260
|
+
resolve();
|
|
261
|
+
} else {
|
|
262
|
+
console.error("refreshToken \u5931\u6548\uFF0C\u8BF7\u767B\u5F55\u5E73\u53F0");
|
|
263
|
+
window.open(location.origin);
|
|
264
|
+
reject();
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
});
|
|
268
|
+
});
|
|
269
|
+
}
|
|
270
|
+
};
|
|
271
|
+
var _default = API;
|
|
272
|
+
exports["default"] = _default;
|
|
273
|
+
//# sourceMappingURL=api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","names":["API","getToken","params","fetch","data","Object","assign","getRealmonitor","realmonitorParam","console","log","Promise","resolve","reject","ajaxRequest","url","then","res","errMsg","getTalkRtsp","talkPram","getRecordRtspByTime","recordByTimeParam","getRecordRtspByFile","recordByFileParam","getRecords","recordsParam","setPtzDirection","directionParam","setPtzCamera","cameraParam","controlSitPosition","positionParam","opt","accessToken","localStorage","getItem","userId","split","headers","$","ajax","type","dataType","JSON","stringify","Authorization","proxyip","contentType","crossDomain","success","code","refreshToken","clientId","value","param","i","slice","setItem","access_token","refresh_token","Date","getTime","expires_in","clientType","magicId","timeout","error","window","open","location","origin"],"sources":["icc/api.js"],"sourcesContent":["import fetch from \"../api/fetch\";\n// 跟平台相关的业务JS\nconst API = {\n /**\n * 获取token\n */\n getToken(params) {\n return fetch('/cloud/vis/base/np/artemis/token.smvc', 'GET', {\n data: Object.assign({}, params)\n });\n },\n /**\n * 请求实时视频流地址\n */\n getRealmonitor(realmonitorParam) {\n console.log(22);\n return new Promise((resolve, reject) => {\n API.ajaxRequest({\n url: '/evo-apigw/admin/API/MTS/Video/StartVideo',\n data: realmonitorParam,\n }).then(res => {\n resolve(res.data);\n }).catch(res => {\n reject(res.errMsg);\n });\n });\n },\n /**\n * 获取对讲的rtsp\n */\n getTalkRtsp(talkPram) {\n return new Promise((resolve, reject) => {\n API.ajaxRequest({\n url: '/evo-apigw/admin/API/MTS/Audio/StartTalk',\n data: talkPram,\n }).then(res => {\n resolve(res.data);\n }).catch(res => {\n reject(res);\n });\n });\n },\n /**\n * 根据时间查询设备上的录像\n * @param recordByTimeParam.recordType 录像类型:1=一般录像,2=报警录像\n * @param recordByTimeParam.recordSource 录像来源:1=全部,2=设备,3=中心\n * @param recordByTimeParam.streamType 码流类型:1=主码流, 2=辅码流 使用辅码流 码率低更加流畅\n * @param recordByTimeParam.channelId 通道code\n * @param recordByTimeParam.startTime 开始时间\n * @param recordByTimeParam.endTime 结束时间\n */\n getRecordRtspByTime(recordByTimeParam) {\n return new Promise((resolve, reject) => {\n API.ajaxRequest({\n url: '/evo-apigw/admin/API/SS/Playback/StartPlaybackByTime',\n data: recordByTimeParam,\n }).then(res => {\n resolve(res.data);\n }).catch(res => {\n reject(res.errMsg);\n });\n });\n },\n /**\n * 根据文件形式回放录像\n * @param recordByFileParam.recordType 录像类型:1=一般录像,2=报警录像\n * @param recordByFileParam.streamType 码流类型:1=主码流, 2=辅码流 使用辅码流 码率低更加流畅\n * @param recordByFileParam.recordSource 录像来源:1=全部,2=设备,3=中心\n * @param recordByFileParam.channelId 通道code\n * @param recordByFileParam.startTime 开始时间 timestamp到秒\n * @param recordByFileParam.endTime 结束时间 timestamp到秒\n */\n getRecordRtspByFile(recordByFileParam) {\n return new Promise((resolve, reject) => {\n API.ajaxRequest({\n url: '/evo-apigw/admin/API/SS/Playback/StartPlaybackByFile',\n data: recordByFileParam,\n }).then(res => {\n resolve(res.data);\n }).catch(res => {\n reject(res.errMsg);\n });\n });\n },\n /**\n * 查询中心录像上的录像文件信息\n * @param recordsParam.recordType 录像类型:1=一般录像,2=报警录像\n * @param recordsParam.streamType 码流类型:1=主码流, 2=辅码流 使用辅码流 码率低更加流畅\n * @param recordsParam.recordSource 录像来源:1=全部,2=设备,3=中心\n * @param recordsParam.channelId 通道code\n * @param recordsParam.startTime 开始时间 timestamp到秒\n * @param recordsParam.endTime 结束时间 timestamp到秒\n */\n getRecords(recordsParam) {\n return new Promise((resolve, reject) => {\n API.ajaxRequest({\n url: '/evo-apigw/admin/API/SS/Record/QueryRecords',\n data: recordsParam,\n }).then(res => {\n resolve(res.data);\n }).catch(res => {\n reject(res.errMsg);\n });\n });\n },\n /**\n * 云台方向控制\n * @param directionParam\n * @returns {Promise<unknown>}\n */\n setPtzDirection(directionParam) {\n return new Promise((resolve, reject) => {\n API.ajaxRequest({\n url: '/evo-apigw/admin/API/DMS/Ptz/OperateDirect',\n data: directionParam,\n }).then(res => {\n resolve(res.data);\n }).catch(res => {\n reject(res.errMsg);\n });\n });\n },\n /**\n * 云台镜头控制\n * @param cameraParam\n * @returns {Promise<unknown>}\n */\n setPtzCamera(cameraParam) {\n return new Promise((resolve, reject) => {\n API.ajaxRequest({\n url: '/evo-apigw/admin/API/DMS/Ptz/OperateCamera',\n data: cameraParam,\n }).then(res => {\n resolve(res.data);\n }).catch(res => {\n reject(res.errMsg);\n });\n });\n },\n /**\n * 云台三维定位接口\n * @param positionParam\n * @returns {Promise<unknown>}\n */\n controlSitPosition(positionParam) {\n return new Promise((resolve, reject) => {\n API.ajaxRequest({\n url: '/evo-apigw/admin/API/DMS/Ptz/SitPosition',\n data: positionParam,\n }).then(res => {\n resolve(res.data);\n }).catch(res => {\n reject(res);\n });\n });\n },\n /**\n * 请求\n * @param {*} opt\n * @param {*} opt.url 接口地址\n * @param {*} opt.data 参数\n */\n ajaxRequest(opt) {\n var accessToken = localStorage.getItem('accessToken');\n var userId = accessToken ? accessToken.split(':')[0] : '';\n opt.headers = opt.headers ? opt.headers : {};\n return new Promise((resolve, reject) => {\n $.ajax({\n url: opt.url,\n type: opt.type ? opt.type : 'post',\n dataType: opt.dataType ? opt.dataType : 'json',\n data: JSON.stringify(opt.data),\n headers: Object.assign({\n Authorization: \"bearer \" + accessToken,\n 'User-Id': userId,\n 'Content-Type': 'application/json',\n proxyip: localStorage['proxyIp']\n }, opt.headers),\n contentType: 'application/json;charset=utf-8',\n crossDomain: true,\n success: function (res) {\n if (res.code == 1000 || res.code == '0') {\n resolve(res);\n }\n else if (res.code == \"27001007\") {\n // token过期,刷新token\n API.refreshToken().then(() => {\n // token刷新后,重新请求\n API.ajaxRequest(opt).then(data => {\n // 重新请求后,需要处理原始请求的resolve\n resolve(data);\n });\n });\n }\n else {\n reject(res);\n }\n }\n });\n });\n },\n // 刷新token\n refreshToken() {\n var refreshToken = localStorage.getItem('refreshToken');\n var clientId = localStorage.getItem('checked') ? 'web_client_remember' : 'web_client';\n var value = {\n 'refresh_token': refreshToken,\n 'grant_type': 'refresh_token',\n 'client_id': clientId,\n \"client_secret\": 'web_client'\n };\n var param = '';\n for (var i in value) {\n param += '&' + i + \"=\" + value[i];\n }\n param = param.slice(1);\n return new Promise((resolve, reject) => {\n $.ajax({\n url: '/evo-apigw/evo-oauth/oauth/token',\n type: 'post',\n dataType: 'json',\n data: param,\n headers: {\n 'content-type': 'application/x-www-form-urlencoded',\n proxyip: localStorage['proxyIp']\n },\n success: function (res) {\n if (res.code === '0') {\n localStorage.setItem(\"accessToken\", res.data.access_token);\n localStorage.setItem(\"refreshToken\", res.data.refresh_token);\n localStorage.setItem('expiresTime', new Date().getTime() + res.data.expires_in * 1000);\n // 登录保活\n API.ajaxRequest({\n url: `/evo-apigw/evo-brm/1.2.0/user/keepalive`,\n data: {\n clientType: 1,\n magicId: localStorage.magicId,\n timeout: 10000\n }\n });\n resolve();\n }\n else {\n console.error(`refreshToken 失效,请登录平台`);\n window.open(location.origin);\n reject();\n }\n }\n });\n });\n },\n};\nexport default API;\n"],"mappings":"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"}
|
|
@@ -267,13 +267,15 @@ var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
267
267
|
|
|
268
268
|
|
|
269
269
|
var closeVideo = function closeVideo(i) {
|
|
270
|
+
var currChannels = _toConsumableArray(channelRef.current);
|
|
271
|
+
|
|
270
272
|
var newChannels = _toConsumableArray(channelRef.current);
|
|
271
273
|
|
|
272
|
-
onVideoClose && onVideoClose(newChannels[i], newChannels);
|
|
273
274
|
newChannels[i] = {
|
|
274
275
|
channelNum: ''
|
|
275
276
|
};
|
|
276
277
|
updateChannels(newChannels);
|
|
278
|
+
onVideoClose && onVideoClose(currChannels[i], newChannels);
|
|
277
279
|
};
|
|
278
280
|
|
|
279
281
|
var getGridItems = function getGridItems() {
|
|
@@ -509,9 +511,13 @@ var GridItem = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
509
511
|
ref: ref,
|
|
510
512
|
url: data.url,
|
|
511
513
|
type: (data === null || data === void 0 ? void 0 : data.player) || '',
|
|
514
|
+
deviceIp: data.deviceIp,
|
|
515
|
+
devicePort: data.devicePort,
|
|
512
516
|
captureName: name,
|
|
513
517
|
deviceId: data.deviceId,
|
|
514
518
|
channelNum: data.channelNum,
|
|
519
|
+
deviceCode: data.deviceCode,
|
|
520
|
+
streamType: data.streamType,
|
|
515
521
|
showInfo: channel.showInfo,
|
|
516
522
|
info: channel.info,
|
|
517
523
|
screenshot: onScreenshot,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["DEFAULT_GRID","DEFAULT_ACTIVE","DEFAULT_CHANNELS","Array","fill","channelNum","LiveControlV2","forwardRef","props","ref","height","width","onExpandChange","onPlayingChannelChange","onVideoClose","onVideoCloseAll","onCloseVideoInRotation","extraDom","gridChange","onScreenshot","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], newChannels);\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","currChannels","getGridItems","items","element","_jsx","GridItem","active","onClick","onClose","_jsxs","assign","className","style","children","Space","size","align","display","FoldIcon","ExpandIcon","CloseAllIcon","SplitScreen","GridIcon","DownOutlined","UpOutlined","disabled","VideoScale","setScale","OccupyingScreenIcon","ExitFullScreenIcon","FullScreenIcon","displayName","empty","useRequest","getPreviewUrl","ready","refreshDeps","data","loading","name","deviceName","channelName","gridItemRef","gridItemSize","useSize","handlePtzType","type","types","_Fragment","PlayerHeader","VtxLivePlayer","url","deviceIp","devicePort","captureName","deviceId","deviceCode","streamType","showInfo","info","screenshot","cloudParams","query","tenantId","getUrlParam","ptzType","currentIndex","currentChannels","grids","len"],"sources":["live-control-v2/index.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';\nimport { getPreviewUrl } from '../api';\nimport SplitScreen from '../components/split-screen';\nimport VideoScale from '../components/video-scale';\nimport { PlayerHeader } from '../controls';\nimport { CloseAllIcon, ExitFullScreenIcon, ExpandIcon, FoldIcon, FullScreenIcon, GridIcon, OccupyingScreenIcon, } from '../icons';\nimport VtxLivePlayer from '../live-player';\nimport { getUrlParam } from '../utils';\nimport { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { useFullscreen, useRequest, useSetState, useSize } from 'ahooks';\nimport Space from 'antd/lib/space';\nconst DEFAULT_GRID = 4;\nconst DEFAULT_ACTIVE = 0;\nconst DEFAULT_CHANNELS = Array(25).fill({ channelNum: '' });\n/**\n * 实时分屏组件\n */\nconst LiveControlV2 = forwardRef((props, ref) => {\n const { height = '100%', width = '100%', onExpandChange, onPlayingChannelChange, onVideoClose, onVideoCloseAll, onCloseVideoInRotation, extraDom, gridChange = true, onScreenshot, } = 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 currChannels = [...channelRef.current];\n const newChannels = [...channelRef.current];\n newChannels[i] = { channelNum: '' };\n updateChannels(newChannels);\n onVideoClose && onVideoClose(currChannels[i], newChannels);\n };\n const getGridItems = () => {\n const items = [];\n for (let i = 0; i < Number(latestGrid.current); i++) {\n const element = (_jsx(GridItem, { ref: (ref) => {\n playRefs.current[i] = ref;\n }, active: state.activeIndex === i, onClick: () => setState({ activeIndex: i }), channel: channelRef.current[i] || { channelNum: '' }, onClose: () => {\n // 如果正在轮播\n if (onCloseVideoInRotation) {\n onCloseVideoInRotation(() => closeVideo(i));\n return;\n }\n closeVideo(i);\n }, scale: state.scale, onScreenshot: onScreenshot }, i));\n items.push(element);\n }\n return items;\n };\n return (_jsxs(\"div\", Object.assign({ className: \"vtx-live-control-v2\", ref: wrapRef, style: { height, width } }, { children: [_jsx(\"div\", Object.assign({ className: `player-grid-container _${state.grid}` }, { children: getGridItems() })), _jsxs(\"div\", Object.assign({ className: \"bottom-controls\" }, { children: [_jsxs(Space, Object.assign({ className: \"left\", size: 12, align: \"center\" }, { children: [onExpandChange && (_jsx(\"div\", Object.assign({ onClick: handleExpand, style: { display: 'flex' } }, { children: state.expand ? _jsx(FoldIcon, {}) : _jsx(ExpandIcon, {}) }))), extraDom ? extraDom : null] })), _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [_jsx(CloseAllIcon, { onClick: handleCloseAll }), _jsx(\"div\", { className: \"split-line\" }), gridChange ? (_jsx(SplitScreen, Object.assign({ grid: state.grid, setGrid: (grid) => updateGrid(grid) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(GridIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) }))) : (_jsxs(\"div\", Object.assign({ className: 'grid-change-disable' }, { children: [_jsx(GridIcon, { disabled: !gridChange }), _jsx(DownOutlined, { className: \"arrow\" })] }))), _jsx(VideoScale, Object.assign({ scale: state.scale, setScale: (scale) => updateScale(scale) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(OccupyingScreenIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) })), isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: toggleFullscreen })) : (_jsx(FullScreenIcon, { onClick: toggleFullscreen }))] }))] }))] })));\n});\nLiveControlV2.displayName = 'LiveControlV2';\nconst GridItem = forwardRef((props, ref) => {\n const { active, onClick, channel, onClose, onScreenshot, scale } = props;\n const empty = !channel.channelNum;\n const { data, loading } = useRequest(() => getPreviewUrl(channel), {\n ready: !!channel.channelNum,\n refreshDeps: [channel.channelNum],\n });\n const name = `${data === null || data === void 0 ? void 0 : data.deviceName}-${data === null || data === void 0 ? void 0 : data.channelName}`;\n const [{ width, height }, setState] = useSetState({\n width: '100%',\n height: '100%',\n });\n const gridItemRef = useRef(null);\n const gridItemSize = useSize(gridItemRef);\n useEffect(() => {\n if ((gridItemSize === null || gridItemSize === void 0 ? void 0 : gridItemSize.width) && (gridItemSize === null || gridItemSize === void 0 ? void 0 : gridItemSize.height)) {\n switch (scale) {\n case '100%':\n setState({\n width: '100%',\n height: gridItemSize.height - 26,\n });\n break;\n case '4*3':\n if (gridItemSize.width / 4 < (gridItemSize.height - 26) / 3) {\n setState({\n width: '100%',\n height: (gridItemSize.width / 4) * 3,\n });\n }\n else {\n setState({\n width: ((gridItemSize.height - 26) / 3) * 4,\n height: '100%',\n });\n }\n break;\n case '16*9':\n if (gridItemSize.width / 16 < (gridItemSize.height - 26) / 9) {\n setState({\n width: '100%',\n height: (gridItemSize.width / 16) * 9,\n });\n }\n else {\n setState({\n width: ((gridItemSize.height - 26) / 9) * 16,\n height: '100%',\n });\n }\n break;\n }\n }\n }, [gridItemSize, scale]);\n const handlePtzType = (type) => {\n const types = {\n 1: 'all',\n 2: 'onlyFocus',\n 3: 'onlyRotate',\n 4: 'none',\n };\n return types[type];\n };\n return (_jsx(\"div\", Object.assign({ className: `grid-item-container ${active ? 'active' : ''} ${loading ? '' : 'emptyImg'}`, onClick: onClick, ref: gridItemRef }, { children: data && !empty && (_jsxs(_Fragment, { children: [_jsx(PlayerHeader, { name: name, onClose: onClose }), _jsx(\"div\", Object.assign({ className: \"content\" }, { children: _jsx(\"div\", Object.assign({ style: { width, height } }, { children: _jsx(VtxLivePlayer, { ref: ref, url: data.url, type: (data === null || data === void 0 ? void 0 : data.player) || '', deviceIp: data.deviceIp, devicePort: data.devicePort, captureName: name, deviceId: data.deviceId, channelNum: data.channelNum, deviceCode: data.deviceCode, streamType: data.streamType, showInfo: channel.showInfo, info: channel.info, screenshot: onScreenshot, cloudParams: {\n query: {\n channelNum: data.channelNum,\n deviceId: data.deviceId,\n tenantId: getUrlParam('tenantId'),\n },\n type: handlePtzType(data.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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"}
|
|
@@ -4,6 +4,10 @@ import { VideoType } from '../player';
|
|
|
4
4
|
interface VtxPlayerProps {
|
|
5
5
|
/** 视频流地址 */
|
|
6
6
|
url: string;
|
|
7
|
+
/** 服务器地址 */
|
|
8
|
+
deviceIp?: string;
|
|
9
|
+
/** 服务器端口 */
|
|
10
|
+
devicePort?: string;
|
|
7
11
|
/** 是否使用代理播放 */
|
|
8
12
|
enableAgent?: boolean;
|
|
9
13
|
/** 宽度 */
|
|
@@ -18,6 +22,10 @@ interface VtxPlayerProps {
|
|
|
18
22
|
channelNum?: string;
|
|
19
23
|
/** 设备id */
|
|
20
24
|
deviceId?: string;
|
|
25
|
+
/** 设备Code */
|
|
26
|
+
deviceCode?: string;
|
|
27
|
+
/** 主/子码流 */
|
|
28
|
+
streamType?: '0' | '1';
|
|
21
29
|
/** 云台控制 */
|
|
22
30
|
cloudParams?: CloudControlPanelProps;
|
|
23
31
|
/** 是否展示信息 */
|
|
@@ -31,9 +39,5 @@ interface VtxPlayerProps {
|
|
|
31
39
|
/** 加载结束回调 */
|
|
32
40
|
loaded?: () => void;
|
|
33
41
|
}
|
|
34
|
-
export declare const LivePlayer: {
|
|
35
|
-
(props: VtxPlayerProps, selfRef: any): JSX.Element;
|
|
36
|
-
displayName: string;
|
|
37
|
-
};
|
|
38
42
|
declare const _default: React.ForwardRefExoticComponent<VtxPlayerProps & React.RefAttributes<unknown>>;
|
|
39
43
|
export default _default;
|