IntelligentRecognition/ah-jjsp-web/.svn/pristine/06/06f4ccd0b3e1e3498a5d86052f2...

1695 lines
126 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"use strict";
function _createForOfIteratorHelper(e, o) {
var t, r = "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
if (!r) {
if (Array.isArray(e) || (r = _unsupportedIterableToArray(e)) || o && e && "number" == typeof e.length) return r && (e = r), t = 0, {
s: o = function () {
}, n: function () {
return t >= e.length ? {done: !0} : {done: !1, value: e[t++]}
}, e: function (e) {
throw e
}, f: o
};
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
}
var n, a = !0, i = !1;
return {
s: function () {
r = r.call(e)
}, n: function () {
var e = r.next();
return a = e.done, e
}, e: function (e) {
i = !0, n = e
}, f: function () {
try {
a || null == r.return || r.return()
} finally {
if (i) throw n
}
}
}
}
function _typeof(e) {
return (_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {
return typeof e
} : function (e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
})(e)
}
function _toConsumableArray(e) {
return _arrayWithoutHoles(e) || _iterableToArray(e) || _unsupportedIterableToArray(e) || _nonIterableSpread()
}
function _nonIterableSpread() {
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
}
function _unsupportedIterableToArray(e, o) {
if (e) {
if ("string" == typeof e) return _arrayLikeToArray(e, o);
var t = Object.prototype.toString.call(e).slice(8, -1);
return "Map" === (t = "Object" === t && e.constructor ? e.constructor.name : t) || "Set" === t ? Array.from(e) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(e, o) : void 0
}
}
function _iterableToArray(e) {
if ("undefined" != typeof Symbol && null != e[Symbol.iterator] || null != e["@@iterator"]) return Array.from(e)
}
function _arrayWithoutHoles(e) {
if (Array.isArray(e)) return _arrayLikeToArray(e)
}
function _arrayLikeToArray(e, o) {
(null == o || o > e.length) && (o = e.length);
for (var t = 0, r = new Array(o); t < o; t++) r[t] = e[t];
return r
}
var _version = "v1.0.0",
url = (consoleLog("当前组件版本", 1, _version), consoleLog("最后更新日期", 1, "2023-03-23 16:45"), window.top.__BASE_LOCATION__ = document.currentScript.src.slice(0, -10), "".concat(window.top.__BASE_LOCATION__, "/script/ailabel.js")),
script = document.createElement("script");
function VideoObj(e, o, t, r, n, a, i, c, s) {
if (!o || "number" != typeof o || 16 < o || o < 1) throw new Error("窗口数应当在1-16之间");
if ("video" === a ? a = 1 : "replay" === a && (a = 2), ![1, 2].includes(a)) throw new Error("objType参数不合法");
try {
var l = this;
this.color = "rgba(135,206,235,1)", this.selectWidth = "1", this.transType265 = "websocket", this.rongqiId = e, this.isTuchuScreen = 1, this.returnFuc = i, this.showMenuArr = [], this.showCircleCloud = !1, this.showDefaultCloud = !1, this.show3dCloud = !1, this.isDrag = !0, this.gMap = null, this.gkInfo = !0, this.winNum = o, this.ip = t || window.location.hostname, this.port = r || window.location.port || "80", this.ak = s, this.downloadFileTpye = "ps", this.token = n, this.refreshToken = null, this.errorList = null, this.objType = 2 === a ? "replay" : "video", this.flvType = "websocket", this.proxyIp = null, this.isMp4 = "flv", this.isWaterMark = !1, this.hasAudio = !1, this.cloudRowSpeed = 5, this.cloudColSpeed = 5, this.remoteVersion = null, this.loopInterval = null, this.PTZSpeed = 5, this.playingSelectedWinNum = null, this.playingSelecteddevCode = null, this.screenNum = 1, this.isAllScreen = 0, this.isPlayCodeList = [], this.isTalkingDevCode = "", this.videoWidth = 0, this.videoHeight = 0, this.argarr = [], this.menuArr = [{
menuCode: "rightMenu01",
menuName: "软解播放"
}, {menuCode: "rightMenu02", menuName: "关闭当前视频"}, {
menuCode: "rightMenu03",
menuName: "关闭所有视频"
}, {menuCode: "rightMenu04", menuName: "工况信息"}, {
menuCode: "rightMenu05",
menuName: "开启箭头云台"
}], this.errorMap = {
1: "视频设备故障",
2: "视频设备网络故障",
3: "视频平台故障",
4: "发现一个错误"
}, this.myUserName = s || "piadmin", this.errorCodeType = "inner", 0 <= window.origin.indexOf("https://") ? 0 <= this.ip.indexOf("http://") ? this.gatewayURL = window._gateWayUrl = this.ip + ":" + this.port : this.gatewayURL = window._gateWayUrl = "https://" + this.ip + ":" + this.port : 0 <= this.ip.indexOf("http://") ? this.gatewayURL = window._gateWayUrl = this.ip + ":" + this.port : this.gatewayURL = window._gateWayUrl = "http://" + this.ip + ":" + this.port, l.playerObj = {};
for (var d = 1; d < 17; d++) l["playerInfo" + d] = {}, l.playerObj["player".concat(d)] = "", l.playerObj["videoPlayer".concat(d)] = "";
var p, u = "video" === l.objType,
y = (videoInit(e, l.objType, u, c, l), changeObjScreen(o, l, 0, ""), eventInit(l), divResizeObserver(l), getErrorList(l, "VIDEO_ERROR_CODE"), this.isNeedUpdateVersion(), getBrowserNameVersion());
"Chrome" === (null == y ? void 0 : y.Browser) && (p = y.version.split(".")[0], l.isMp4Play = 107 <= +p), window.top.Demo = l
} catch (e) {
return console.log(e.message), 0
}
return 1
}
function videoLoopPlay(t, e, r, o) {
o = o || t.time;
for (var n = t.loopList[t.loopTimes], a = 0, i = 1; a < r; a++, i++) t.videoPlay(i, n[a].codeType, n[a].devCode, null, n[a].devName, 1, null);
t.loopInterval = setInterval(function () {
if (!t.isPause) {
t.loopTimes++, t.loopTimes > t.loopNum - 1 && (t.loopTimes = 0), t.closeAllVideo(), n = t.loopList[t.loopTimes];
for (var e = 0, o = 1; e < r; e++, o++) t.videoPlay(o, n[e].codeType, n[e].devCode, null, n[e].devName, 1, null)
}
}, o)
}
script.src = url, script.type = "text/javascript", window.onload = function () {
document.body.appendChild(script)
}, VideoObj.prototype.setCloudSpeed = function (e, o) {
if ("number" != typeof (e + o)) throw new Error("需要输入Number类型");
if (e < 1 || 9 < e) throw new Error("rowSpeed范围应当为[1,9]");
if (o < 1 || 9 < o) throw new Error("colSpeed范围应当为[1,9]");
this.cloudRowSpeed = e, this.cloudColSpeed = o
}, VideoObj.prototype.isNeedUpdateVersion = function () {
var r = this;
$.ajax({
url: "".concat(r.gatewayURL, "/uvp-backend-common/api/v1/videoComponentVersion/getVideoComponentVersion?ak=").concat(r.ak, "&token=").concat(r.token, "&timestamp=").concat((new Date).getTime(), "&nonce=").concat(generateUUID()),
type: "get",
success: function (e) {
var o, t;
e.successful && (e = e.resultValue.versionName || null, o = versionTransform(_version), t = r.remoteVersion = e ? versionTransform(e) : o, (+localStorage.getItem("ignoreVersion") || 1e4) !== t && t !== o && (o < t && ($("#versionUpdate")[0].style.display = "flex", setTimeout(function () {
$("#versionUpdate")[0].style.display = "none"
}, 3e3)), $("#notUpdate").click(function () {
$("#versionUpdate")[0].style.display = "none", console.log("====", t), localStorage.setItem("ignoreVersion", t)
})))
},
error: function (e) {
console.log(e)
},
complete: function (e, o) {
"tokenTimeout" != e.getResponseHeader("sessionstate") && "timeout" != e.getResponseHeader("sessionstate") && "nouser" != e.getResponseHeader("sessionstate") || window.top.postMessage({
key: "loginOut",
value: ""
}, "*")
}
})
}, VideoObj.prototype.setDownloadFileType = function (e) {
if (3 === (e = 2 === (e = 1 === e ? "ps" : e) ? "flv" : e) && (e = "mp4"), !["flv", "ps", "mp4"].includes(e)) throw new Error("录制视频格式只能是flv、mp4或者ps");
this.downloadFileTpye = e
}, VideoObj.prototype.openRefreshToken = function (e, o) {
var t = this;
t.refreshToken && this.closeRefreshToken(), t.refreshToken = setInterval(function () {
getTokenTime(t, e, o)
}, 3e5)
}, VideoObj.prototype.closeRefreshToken = function () {
clearInterval(this.refreshToken), this.refreshToken = null
}, VideoObj.prototype.setVolume = function (e) {
sessionStorage.setItem("volume", e)
}, VideoObj.prototype.setWaterMark = function (e, o, t, r, n) {
if (this.isWaterMark) {
for (var a = document.getElementsByClassName("__waterMarks"), i = a.length - 1; 0 <= i; i--) null !== a[i] && a[i].parentNode.removeChild(a[i]);
this.isWaterMark = !1
} else {
e = {watermark_txt: e || this.myUserName};
o && (e.watermark_x_space = o), t && (e.watermark_y_space = t), r && (e.watermark_rows = r), n && (e.watermark_cols = n), waterMark(e, "videoZoomIE"), this.isWaterMark = !0
}
}, VideoObj.prototype.setToken = function (e) {
if (!e) throw new Error("token不得为空 ".concat(e));
this.token = e
}, VideoObj.prototype.showUser = function (e, o) {
this.myUserName = e ? o : "", $("#" + this.rongqiId + " .usertip").text("".concat(this.myUserName))
}, VideoObj.prototype.setVersion = function (e) {
window._version = e
}, VideoObj.prototype.changeErrorTips = function (e) {
if (![1, 2].includes(e)) throw new Error("num参数不合法");
this.errorCodeType = 1 === e ? "inner" : "outer"
}, VideoObj.prototype.isEnableProxy = function (e, o) {
if (o && !e) throw new Error("开启代理时ip不得为空 ".concat(e));
return this.proxyIp = e, 1
}, VideoObj.prototype.enableProxy = function (e, o) {
this.isEnableProxy(e, o)
}, VideoObj.prototype.setTranseType = function (e, o) {
if ("websocket" === (o = "http" === o ? 1 : o) && (o = 2), ![1, 2].includes(e = "h265" === (e = "h264" === e ? 1 : e) ? 2 : e)) throw new Error("codeType参数不合法");
if (![1, 2].includes(o)) throw new Error("transType参数不合法");
1 === e && (this.flvType = 1 === o ? "http" : "websocket"), 2 === e && (this.transType265 = 1 === o ? "http" : "websocket")
}, VideoObj.prototype.addRightClickMenu = function (e) {
var o = !0;
if (Array.isArray(e) && e.map(function (e) {
o = !["rightMenu01", "rightMenu02", "rightMenu03", "rightMenu04", "rightMenu05", "rightMenu06", "rightMenu07", "rightMenu08", "rightMenu09", "rightMenu10"].includes(e.menuCode)
}), o) return this.showMenu(e);
throw new Error("menuCode标识符已被内部占用")
}, VideoObj.prototype.showMenu = function (e) {
try {
0 < e.length && (this.menuArr = concat_(this.menuArr, e))
} catch (e) {
return console.log(e.message), 0
}
return 1
}, VideoObj.prototype.showControlPanel = function (e, o) {
if (![1, 2].includes(e)) throw new Error("type不合法 ".concat(e));
if (![!0, !1].includes(o)) throw new Error("enable不合法 ".concat(o));
try {
1 === e ? (this.showDefaultCloud = o, (this.show3dCloud = o) ? this.menuArr.splice(4, 1, {
menuCode: "rightMenu05",
menuName: "关闭箭头云台"
}) : (this.menuArr.splice(4, 1, {
menuCode: "rightMenu05",
menuName: "开启箭头云台"
}), gMapDestroy(this))) : 2 === e && (this.showCircleCloud = o)
} catch (e) {
return console.log(e.message), 0
}
return 1
}, VideoObj.prototype.setStreamType = function (e, o) {
if (!e || "number" != typeof e || 16 < e || e < 1) throw new Error("窗口数应当在1-16之间 ".concat(e));
if (![1, 2].includes(o)) throw new Error("streamType参数不合法 ".concat(o));
try {
videoObjClose(e, this, !0), this.argarr[6] = o, videoPlay.apply(void 0, _toConsumableArray(this.argarr))
} catch (e) {
return console.log(e.message), 0
}
return 1
}, VideoObj.prototype.setBorderStyle = function (e, o) {
return this.setWinColor(e, o)
}, VideoObj.prototype.setWinColor = function (e, o) {
try {
this.color = e, this.selectWidth = o
} catch (e) {
return console.log(e.message), 0
}
return 1
}, VideoObj.prototype.setRightClickMenuShow = function (e, o, t) {
this.isShowMenu(e, o, t)
}, VideoObj.prototype.isShowMenu = function (e, o, t) {
if (!e || "number" != typeof e || 16 < e || e < 1) throw new Error("窗口数应当在1-16之间");
for (var r, n = this.showMenuArr.length, a = this.showMenuArr, i = !1, c = 0; c < n; c++) a[c].num === e && a[c].menuCode === o && (i = !0, r = c);
i ? a.splice(r, 1, {num: e, menuCode: o, isShow: t}) : a.push({num: e, menuCode: o, isShow: t})
}, VideoObj.prototype.pointPlay = function (u, e) {
if (consoleLog("测点播放参数(窗口,测点ID)", 2, u, e), !u || "number" != typeof u || 16 < u || u < 1) throw new Error("窗口数应当在1-16之间 ".concat(u));
if (!e) throw new Error("未传入pointId ".concat(e));
var y = this;
return new Promise(function (d, p) {
$.ajax({
async: !1,
data: JSON.stringify({pointId: e}),
type: "POST",
contentType: "application/json",
dataType: "json",
crossDomain: !0,
url: y.gatewayURL + "/uvp-backend-datafusion/api/v1/getDevInfosByPointId?ak=".concat(y.ak, "&token=").concat(y.token, "&timestamp=").concat((new Date).getTime(), "&nonce=").concat(generateUUID()),
success: function (e) {
if (e.successful) {
if (!e.resultValue) return execute(y.returnFuc, "115", "未查询到该测点信息"), o = {
rongqiId: y.rongqiId,
windowIndex: u,
code: "115",
errorDes: "未查询到该测点信息"
}, p(o);
var o = e.resultValue, e = o.devName, t = o.devCode, r = o.decoderTag, n = o.status,
a = (o.audio, o.devType), o = o.ptzIndex;
if ("1" != n) return i = {
name: e,
devCode: t,
status: n,
rongqiId: y.rongqiId,
windowIndex: u,
code: "116",
devType: a
}, execute(y.returnFuc, "116", i), i.errorDes = "该测点设备离线", p(i);
for (var i = 1, c = (a && "09" == a ? i = 4 : r && "108" == r && (i = 2), y.screenNum), s = !1, l = 1; l <= c; l++) if (y["playerInfo" + l] && y["playerInfo" + l].devCode && y["playerInfo" + l].devCode == t) {
s = !0;
break
}
if (o && $.ajax({
url: y.gatewayURL + "/uvpMircoServer/cameracontrol?code=".concat(t, "&cmd=1538&param1=").concat(o, "&ak=").concat(y.ak, "&token=").concat(y.token, "&timestamp=").concat((new Date).getTime(), "&nonce=").concat(generateUUID()),
type: "get",
success: function (e) {
},
error: function (e) {
}
}), s) return r = {
code: "2",
name: e,
devCode: t,
status: n,
errorDes: "该测点设备已打开",
rongqiId: y.rongqiId,
windowIndex: u,
devType: a
}, execute(y.returnFuc, "117", r), d(r);
y.videoPlay(u, i, t, "", e, 1, null, !1);
o = {
code: "1",
name: e,
devCode: t,
status: n,
errorDes: "播放成功",
rongqiId: y.rongqiId,
windowIndex: u,
devType: a
};
return d(o)
}
r = {code: "0", errorDes: "播放失败", rongqiId: y.rongqiId, windowIndex: u};
return p(r)
},
error: function (e) {
e = {code: "0", errorDes: "播放失败", rongqiId: y.rongqiId, windowIndex: u, statusText: e.statusText};
return p(e)
}
})
})
}, VideoObj.prototype.videoPlay = function (e, o, t, r, n, a, i) {
if (consoleLog("视频播放参数(窗口,类型,devCode,语音Url,名称,码流,视频Url,语音)", 2, e, o, t, r, n, a, i, d = 7 < arguments.length && void 0 !== arguments[7] && arguments[7]), !e || "number" != typeof e || 16 < e || e < 1) throw new Error("窗口数应当在1-16之间 ".concat(e));
if (![1, 2].includes(a)) throw new Error("码流参数不合法 ".concat(a));
try {
var c, s = this, l = !1, d = void 0 === d ? s.hasAudio : d;
if (o ? "string" == typeof o && ("h264" === o.toLowerCase() ? o = 1 : "h265" === o.toLowerCase() ? o = 2 : "h264decode" === o.toLowerCase() ? o = 3 : "jpg" === o.toLowerCase() && (o = 4)) : ((c = {}).devCodes = [t], $.ajax({
async: !1,
data: JSON.stringify(c),
type: "POST",
contentType: "application/json",
dataType: "json",
url: s.gatewayURL + "/uvp-backend-common/api/v1/resource/queryDev?ak=".concat(s.ak, "&token=").concat(s.token, "&timestamp=").concat((new Date).getTime(), "&nonce=").concat(generateUUID()),
success: function (e) {
o = 0 < e.resultValue.length ? "09" == e.resultValue[0].devType ? 4 : 108 == e.resultValue[0].decoderTag ? 2 : 1 : 1
},
error: function (e) {
o = 1
}
})), ![1, 2, 3, 4].includes(o)) throw new Error("解码标签不合法 ".concat(o));
o = 1 === o ? "h264" : 2 === o ? "h265" : 3 === o ? "h264decoder" : "jpg";
var p = generateUUID();
return s["playerInfo" + e].sessionId = p, r = r || s.gatewayURL + "/uvp-micro-service/mediatranscode/api/v1/talk?code=" + t + "&sessionId=" + p + "&ak=" + s.ak + "&token=" + s.token + "&format=pcm&redirect=false&redirect=false", i ? (l = !0, s.isMp4 = "flv", s.isLive = !0) : i = "h264" === o ? s.gatewayURL + "/uvp-micro-service/mediatranscode/api/v1/play?code=" + t + "&sessionId=" + p + "&format=flv&codec=" + o + "&rate=main&redirect=false&ak=" + s.ak + "&token=" + s.token + "&num=" + e + "&rongqiId=" + s.rongqiId + "&time=" + (new Date).getTime() : s.gatewayURL + "/uvp-micro-service/mediatranscode/api/v1/play?code=" + t + "&sessionId=" + p + "&format=ps&codec=" + o + "&rate=main&redirect=false&ak=" + s.ak + "&token=" + s.token + "&num=" + e + "&rongqiId=" + s.rongqiId + "&time=" + (new Date).getTime(), 2 === a && (i = replaceParamVal(i, "&rate", "sub")), videoPlay(e, o, t, i, r, n, a, s, "", l, d), 1
} catch (e) {
return 0
}
}, VideoObj.prototype.recordPlay = function (e, o, t, r, n, a, i, c, s, l) {
if (consoleLog("录像播放参数(窗口,类型,devCode,名称,录像Url,类型,文件,视频Url,解码,语音)", 2, e, o, t, r, n, a, i, c, s, l), !e || "number" != typeof e || 16 < e || e < 1) throw new Error("窗口数应当在1-16之间 ".concat(e));
if ("string" == typeof o && ("h264" === o.toLowerCase() ? o = 1 : "h265" === o.toLowerCase() ? o = 2 : "h264decode" === o.toLowerCase() && (o = 3)), ![1, 2, 3].includes(o)) throw new Error("packageMethod不合法 ".concat(o));
o = 1 === o ? "h264" : 2 === o ? "h265" : "h264decoder";
var d = this, p = generateUUID(), a = (d["playerInfo" + e].sessionId = p, 0 == a ? "device" : "storage");
i = 0 === i ? "0" : "1", l = d.hasAudio, -1 < n.indexOf("rtsp") && (n = encodeURIComponent(n));
try {
c ? (d.isMp4 = 200 == s ? "mp4" : "flv", d.isLive = !1, videoPlay(e, o, t, c, "", r, i, d, "", !0, l)) : (200 == s ? n.indexOf("://") < 0 && (n = d.gatewayURL + n + "?token=" + d.token + "&sessionId=" + p + "&businessid=&time=" + (new Date).getTime() + "&num=" + e + "&rongqiId=" + d.rongqiId + "&directurl=directurl&decodetag=200&ak=" + d.ak + "&recordType=" + a) : n = -1 < (n = -1 < n.indexOf("rtsp") ? "/mediatranscode/api/v1/play?recordUrl=" + n + "&code=" + t : n).indexOf("?") ? d.gatewayURL + "/uvp-micro-service" + n + "&token=" + d.token + "&ak=" + d.ak + "&sessionId=" + p + "&businessid=&time=" + (new Date).getTime() + "&num=" + e + "&rongqiId=" + d.rongqiId + "&recordType=" + a : d.gatewayURL + "/uvp-micro-service" + n + "?token=" + d.token + "&ak=" + d.ak + "&sessionId=" + p + "&businessid=&time=" + (new Date).getTime() + "&num=" + e + "&rongqiId=" + d.rongqiId + "&recordType=" + a, videoPlay(e, o, t, n, "", r, i, d, "", !1, l))
} catch (e) {
return console.log(e.message), 0
}
return 1
}, VideoObj.prototype.videoClose = function (e, o, t) {
if (!e || "number" != typeof e || 16 < e || e < 1) throw new Error("窗口数应当在1-16之间 ".concat(e));
o ? videoObjClose(e, this, !0, o, t) : videoObjClose(e, this, !0)
}, VideoObj.prototype.videoControl = function (e, o, t, r, n, a) {
try {
if (!o) throw new Error("缺少cmd参数 ".concat(o));
if (!t || "number" != typeof t || 9 < t || t < 1) throw new Error("lspeed参数错误取值范围1-9 ".concat(t));
if (!r || "number" != typeof r || 9 < r || r < 1) throw new Error("rspeed参数错误取值范围1-9 ".concat(r));
videoObjControl(e, o, t, r, this, n, a)
} catch (e) {
console.log(e.message)
}
}, VideoObj.prototype.recordClose = function (e) {
}, VideoObj.prototype.realRecord = function (e, o) {
if (o) {
if (isContainSpeciaiSymbol(o = o.trim())) throw new Error("文件名称不能包含特殊字符:".concat(o));
if (128 < o.length) throw new Error("文件名称不能超过128个字符".concat(o))
}
if (!e || +e <= 0 || 16 < +e) throw new Error("窗口数应当在1-16之间");
recordVideoFuc(+e, this, o)
}, VideoObj.prototype.capture = function (e, o) {
if (o) {
if (isContainSpeciaiSymbol(o = o.trim())) throw new Error("文件名称不能包含特殊字符:".concat(o));
if (128 < o.length) throw new Error("文件名称不能超过128个字符".concat(o))
}
if (!e || +e <= 0 || 16 < +e) throw new Error("窗口数应当在1-16之间");
var t = "";
try {
return t = (t = picSave(+e, this, o)) ? "data:image/png;base64," + t : 0
} catch (e) {
return 0
}
}, VideoObj.prototype.getWindowInfo = function (e) {
this.getInfo(e)
}, VideoObj.prototype.getInfo = function (e) {
if (!e || "number" != typeof e || 16 < e || e < 1) throw new Error("窗口数应当在1-16之间 ".concat(e));
getObjInfo(e, this)
}, VideoObj.prototype.videoTalk = function (e, o) {
try {
if (!e || "number" != typeof e || 16 < e || e < 1) throw new Error("窗口数应当在1-16之间 ".concat(e));
videoTalk(e, this, o)
} catch (e) {
return 0
}
return 1
}, VideoObj.prototype.closeVideoTalk = function () {
endVideoTalk()
}, VideoObj.prototype.closeAllVideo = function () {
for (var e = 1; e < 17; e++) try {
videoObjClose(e, this, !0)
} catch (e) {
return console.log(e.message), 0
}
return 1
}, VideoObj.prototype.getVideoState = function (e) {
this.state(e)
}, VideoObj.prototype.state = function (e) {
if (!e || "number" != typeof e || 16 < e || e < 1) throw new Error("窗口数应当在1-16之间 ".concat(e));
var o, t = this;
t.playerObj["videoPlayer" + e] ? (((o = t.playerObj["videoPlayer" + e].currentTime) && 36e3 < +o || !o) && (o = t.playerObj["videoPlayer" + e].dts - 1), t["playerInfo" + e].pauseStartTime && ((new Date).getTime() - t["playerInfo" + e].pauseStartTime < 8e3 && 60 < Math.abs(t["playerInfo" + e].pauseTime - o) ? o = t["playerInfo" + e].pauseTime : t["playerInfo" + e].pauseStartTime = null), o = {
num: e,
playbackRate: document.querySelector("#" + t.rongqiId + " #videoPlayer" + e).playbackRate,
paused: document.querySelector("#" + t.rongqiId + " #videoPlayer" + e).paused,
currentTime: isNaN(o) ? 0 : o,
ended: document.querySelector("#" + t.rongqiId + " #videoPlayer" + e).ended,
buffered: t.playerObj["videoPlayer" + e].dts
}, execute(t.returnFuc, "109", o)) : t.playerObj["player".concat(e)] && (o = t.playerObj["player".concat(e)].videoTimeStamp, t["playerInfo" + e].pauseTime && ((new Date).getTime() - t["playerInfo" + e].pauseStartTime < 8e3 && 60 < Math.abs(t["playerInfo" + e].pauseTime - o) ? o = t["playerInfo" + e].pauseTime : t["playerInfo" + e].pauseStartTime = null), e = {
num: e,
paused: 1 != t.playerObj["player" + e].getState(),
currentTime: o
}, execute(t.returnFuc, "109", e))
}, VideoObj.prototype.fastForward = function (e, o) {
if (!e || "number" != typeof e || 16 < e || e < 1) throw new Error("窗口数应当在1-16之间 ".concat(e));
document.querySelector("#" + this.rongqiId + " #videoPlayer" + e) && (document.querySelector("#" + this.rongqiId + " #videoPlayer" + e).playbackRate = o)
}, VideoObj.prototype.remoteFilePlayControl = function (r, n, e) {
if (!r || "number" != typeof r || 16 < r || r < 1) throw new Error("窗口数应当在1-16之间 ".concat(r));
var o, t, a = this, i = "", c = "play", s = "", l = "", d = a["playerInfo" + r].sessionId;
if (1 == n || 4 == n) a.playerObj["player".concat(r)] && a.playerObj["player".concat(r)].play(), a.playerObj["videoPlayer".concat(r)] && document.querySelector("#" + a.rongqiId + " #videoPlayer" + r).play(); else {
if (2 == n) return void videoObjClose(r, a, !0);
3 == n ? (c = "pause", a.playerObj["player".concat(r)] && a.playerObj["player".concat(r)].pause(), a.playerObj["videoPlayer".concat(r)] && document.querySelector("#" + a.rongqiId + " #videoPlayer" + r).pause()) : [5, 6, 7, "5", "6", "7"].includes(n) ? s = e : 12 == n && (l = e + "", a.playerObj["videoPlayer" + r].currentTime, a.playerObj["videoPlayer" + r] && (a.playerObj["videoPlayer" + r].pauseTime = +e), a["playerInfo" + r].pauseTime = +e, a["playerInfo" + r].pauseStartTime = (new Date).getTime(), (o = a.playerObj["videoPlayer" + r]) && (o.dts = e))
}
try {
if (0 == a["playerInfo" + r].streamType) return [5, 6, 7, "5", "6", "7"].includes(n) && (document.querySelector("#" + a.rongqiId + " #videoPlayer" + r).playbackRate = s), 3 == n && document.querySelector("#" + a.rongqiId + " #videoPlayer" + r).pause(), 1 == n && document.querySelector("#" + a.rongqiId + " #videoPlayer" + r).play(), 12 == n && (document.querySelector("#" + a.rongqiId + " #videoPlayer" + r).currentTime = e), t = {
num: r,
controlType: n
}, void execute(a.returnFuc, "108", t);
var p = {cmd: c, range: l, sessionId: d, scale: s + ""},
i = d && 0 < d.length ? a.gatewayURL + "/uvp-micro-service/mediatranscode/api/v1/playControl?token=" + a.token + "&nonce=&ak=" + a.ak + "&sessionId=" + d + "&businessid=&timestamp=" + (new Date).getTime() : a.gatewayURL + "/media/control?token=" + a.token + "&cmd=" + c + "&scale=" + s + "&range=" + l + "&sessionId=" + d + "&businessid=&time=" + (new Date).getTime();
$.ajax({
url: i,
data: JSON.stringify(p),
type: "POST",
dataType: "json",
contentType: "application/json",
success: function (o) {
var t, e;
o && 200 == (o.resultCode || o.ResultCode) && "replay" == a.objType && (5 == n || 6 == n || 7 == n ? a.playerObj["videoPlayer".concat(r)] ? t = setTimeout(function () {
document.getElementById(a.rongqiId).querySelector("#videoPlayer".concat(r)).playbackRate = s;
var e = {
res: o,
num: r,
controlType: n,
playbackRate: document.querySelector("#" + a.rongqiId + " #videoPlayer" + r).playbackRate
};
execute(a.returnFuc, "108", e), clearTimeout(t)
}, 2e3) : a.playerObj["player".concat(r)] && (e = {
res: o,
num: r,
controlType: n,
playbackRate: s
}, execute(a.returnFuc, "108", e)) : 3 == n ? execute(a.returnFuc, "108", {
res: o,
num: r,
controlType: n
}) : 1 == n ? a.playerObj["videoPlayer".concat(r)] ? (document.querySelector("#" + a.rongqiId + " #videoPlayer" + r).play(), execute(a.returnFuc, "108", {
res: o,
num: r,
controlType: n
})) : a.playerObj["player".concat(r)] && (a.playerObj["player".concat(r)].play(), execute(a.returnFuc, "108", {
res: o,
num: r,
controlType: n
})) : (12 == n && a.playerObj["videoPlayer".concat(r)] && a.playerObj["videoPlayer".concat(r)].buffered.length && (a.playerObj["videoPlayer".concat(r)].currentTime = a["playerInfo" + r].pauseTime), execute(a.returnFuc, "108", {
res: o,
num: r,
controlType: n
})))
},
complete: function (e, o) {
"tokenTimeout" != e.getResponseHeader("sessionstate") && "timeout" != e.getResponseHeader("sessionstate") && "nouser" != e.getResponseHeader("sessionstate") || window.top.postMessage({
key: "loginOut",
value: ""
}, "*")
}
})
} catch (e) {
return 0
}
}, VideoObj.prototype._onvSeeking = function (e) {
this["playerInfo" + e].pauseTime = null
}, VideoObj.prototype.getVideoWH = function (e) {
return this.videoWH(e)
}, VideoObj.prototype.videoWH = function (e) {
if (!e || "number" != typeof e || 16 < e || e < 1) throw new Error("窗口数应当在1-16之间 ".concat(e));
var o, t = this, r = 0, n = 0;
return t.playerObj["videoPlayer".concat(e)] && (r = (o = document.getElementById(t.rongqiId)).querySelector("#videoPlayer".concat(e)).videoWidth, n = o.querySelector("#videoPlayer".concat(e)).videoHeight), t.playerObj["player".concat(e)] && (r = t.playerObj["player".concat(e)].videoWidth, n = t.playerObj["player".concat(e)].videoHeight), {
videoWidth: r,
videoHeight: n
}
}, VideoObj.prototype.loopPlay = function (e, o, t, r) {
var n = this, a = (this.arr = o, changeObjScreen(e, n, 0, ""), o.length);
if (0 !== a) {
this.isPause = !1;
var i = n.loopNum = Math.ceil(a / e);
n.loopList = [], n.time = t, n.loopTimes = r = r || 0;
for (var c = 0; c < i; c++) {
var s = c * e;
c === n.loopNum ? 0 !== o.slice(s, a).length && (n.loopList[c] = o.slice(s, a)) : n.loopList[c] = o.slice(s, s + e)
}
videoLoopPlay(n, r, e, t)
}
}, VideoObj.prototype.setLoopConfig = function (e, o) {
this.time = o || this.time, this.closeLoopPlay(), 2 === e ? (this.loopTimes++, this.loopTimes = this.loopTimes > this.loopNum ? 0 : this.loopTimes) : 1 === e && (this.loopTimes--, this.loopTimes = this.loopTimes < 0 ? this.loopNum : this.loopTimes), this.loopPlay(this.screenNum, this.arr, this.time, this.loopTimes)
}, VideoObj.prototype.closeLoopPlay = function () {
return this.closeAllVideo(), clearInterval(this.loopInterval), this.loopInterval = null, {
num: this.screenNum,
loopList: this.arr,
time: this.time,
times: this.loopTimes
}
}, VideoObj.prototype.pauseLoopPlay = function () {
return clearInterval(this.loopInterval), this.isPause = !0, this.loopInterval = null, {
num: this.screenNum,
loopList: this.arr,
time: this.time,
times: this.loopTimes
}
}, VideoObj.prototype.freeWinNum = function (e) {
for (var o = e ? this.screenNum : 16, t = 1; t <= o; t++) if (!this["playerInfo".concat(t)].devCode) return t;
return e || 16 < o + 1 ? null : o + 1
}, VideoObj.prototype.splitScreen = function (e, o, t) {
return this.videoNum(e, o, t)
}, VideoObj.prototype.videoNum = function (e, o, t) {
if (!e || "number" != typeof e || 16 < e || e < 1) throw new Error("窗口数应当在1-16之间 ".concat(e));
if (o && t && e) {
if (o < 0 || t < 0) throw new Error("行列值不可为负数 ".concat(o, "-").concat(t));
if (o * t !== e) throw new Error("行列值乘积应当等于窗口数 ".concat(o, "-").concat(t, "-").concat(e))
}
try {
changeObjScreen(e, this, 0, "", o, t)
} catch (e) {
return console.log(e.message), 0
}
return 1
}, VideoObj.prototype.innerFullScreen = function (e) {
if (!e || "number" != typeof e || 16 < e || e < 1) throw new Error("窗口数应当在1-16之间 ".concat(e));
1 == this.isTuchuScreen ? (changeObjScreen(this.screenNum, this, this.isTuchuScreen, "tuchu".concat(e)), this.isTuchuScreen = 2) : 2 == this.isTuchuScreen && (changeObjScreen(this.screenNum, this, this.isTuchuScreen, "exittuchu".concat(e)), this.isTuchuScreen = 1)
}, VideoObj.prototype.destory = function (e) {
try {
clearInterval(this.catchNewTime), this.catchNewTime = null, this.closeAllVideo(), destoryVideoObj(e)
} catch (e) {
return console.log(e.message), 0
}
return 1
}, VideoObj.prototype.fullScreen = function () {
partFullScreen(this.playingSelectedWinNum, this)
}, VideoObj.prototype.exitScreen = function () {
exitScreen("", this.playingSelectedWinNum, this)
}, VideoObj.prototype.setFullVideo = function (e) {
try {
$("#" + this.rongqiId + " #videoPlayer" + e).hasClass("puman") ? (sessionStorage.puman = "notpuman", $("#" + this.rongqiId + " #videoPlayer" + e).removeClass("puman")) : (sessionStorage.puman = "puman", $("#" + this.rongqiId + " #videoPlayer" + e).addClass("puman"))
} catch (e) {
return 0
}
return 1
}, VideoObj.prototype.setVideoSize = function (e, o) {
if (!e || "number" != typeof e || 16 < e || e < 1) throw new Error("窗口数应当在1-16之间 ".concat(e));
if (1 === arguments.length) return this.setFullVideo(e);
try {
$("#" + this.rongqiId + " #videoPlayer" + e).hasClass("puman") ? o || $("#" + this.rongqiId + " #videoPlayer" + e).removeClass("puman") : o && $("#" + this.rongqiId + " #videoPlayer" + e).addClass("puman")
} catch (e) {
return 0
}
return 1
};
var errortips = function (o, e, t) {
var r = 4, n = "发现一个网络错误,请联系视频平台运维做进一步处理", a = "发现一个错误";
e.constructor === Object ? (e.type && (r = e.type), e.text && (n = e.text), e.title && (a = e.title)) : e.constructor === String && (n = e), (+r < 1 || 4 < +r) && (r = 4), $("#" + t + " #errortip" + o).removeClass("hide"), $("#" + t + " #errortip" + o + " .error_icon").removeClass("error_type1").removeClass("error_type2").removeClass("error_type3").removeClass("error_type4"), $("#" + t + " #errortip" + o + " .error_icon").addClass("error_type" + +r), $("#" + t + " #errortip" + o + " .error_title").text(a), $("#" + t + " #errortip" + o + " .error_info").text(n), $("#" + t + " #errortip" + o + " .error_more").click(function (e) {
e.stopPropagation(), $("#" + t + " #errortip" + o + " .error_info").toggle()
})
}, errortipshide = function (e, o) {
$("#" + o + " #errortip" + e).addClass("hide"), $("#" + o + " #errortip" + e + " .error_info").addClass("hide").removeAttr("style"), $("#" + o + " #errortip" + e + " .error_more").unbind("click")
}, malvtips = function (e, o, t) {
$("#" + t + " #malv" + e).text(o)
};
function videoInit(e, o, t, r, n) {
for (var a = "", i = 1; i < 17; i++) a += "<div class='videoBox videoBox".concat(i, "' id='videoBox").concat(i, "'>\n <div class='errortip hide' id='errortip").concat(i, "'>\n\t\t\t <img class='error_close' id='errorCloseBtn").concat(i, "' src='").concat(window.top.__BASE_LOCATION__, "images/realVideoImages/closeVideo.png' alt='' title='关闭' />\n\t\t\t \t<div class='error_icon'></div> \n\t\t\t\t<div class='error_title'>平台故障</div>\n\t\t\t\t<div class='error_more'>查看详情</div>\n\t\t\t\t<div class='error_info_box'>\n\t\t\t\t\t<div class='error_info hide'>设备不在线或网络故障请联系视频终端运维人员错误码642</div>\n\t\t\t\t</div>\n\t\t\t </div>\n <div class='usertip hide' id='usertip").concat(i, "'></div>\n <div class='noVideoMask ").concat("replay" === o ? "replay" : "", "' id='videoMask").concat(i, "' data-index='").concat(i, "' data-status='0'>\n\t\t\t\t <div id=\"ailabel").concat(i, "\" class=\"ailabelBox\"></div>\n <div class='fullBtnBox hide' id='fullBtnBox").concat(i, "'>\n <img class='closeBtn hide' id='closeBtn").concat(i, "' src='").concat(window.top.__BASE_LOCATION__, "images/realVideoImages/closeVideo.png' alt='' title='关闭' />\n <img class='volumeBtn hide' id='volumeBtn").concat(i, "' src='").concat(window.top.__BASE_LOCATION__, "images/realVideoImages/closeVolume.png' alt='' title='音量' data-status='1'/>\n <img class='talkBtn hide' id='talkBtn").concat(i, "' src='").concat(window.top.__BASE_LOCATION__, "images/realVideoImages/videoTalk.png' alt='' title='开启语音对讲' data-status='0' data-talkSrc=''/>\n <img class='picBtn' id='picBtn").concat(i, "' src='").concat(window.top.__BASE_LOCATION__, "images/realVideoImages/pic.png' alt='视频截图' title='视频截图' />\n <img class='recordVideo' style='").concat(1 == t ? "" : "display:none", "' id='recordVideo").concat(i, "' src='").concat(window.top.__BASE_LOCATION__, "images/realVideoImages/recordVideo.png' alt='录制视频' title='录制视频' data-status='0'/>\n <img class='stickBtn hide' id='stickBtn").concat(i, "' src='").concat(window.top.__BASE_LOCATION__, "images/realVideoImages/stick.png' alt='' title='顶部栏固定' data-status='0'/>\n <p class='malv' id='malv").concat(i, "'></p><p class='showDev' id='showDev").concat(i, "' title=''></p>\n </div>\n <div class='circle' id='circle").concat(i, "'>\n <div class='circleReal'>\n <div class='circleButton circleButton1' title='上移'></div>\n\t\t\t\t\t\t <div class='circleButton circleButton2' title='右上'></div>\n <div class='circleButton circleButton3' title='右移'></div>\n\t\t\t\t\t\t <div class='circleButton circleButton4' title='右下'></div>\n <div class='circleButton circleButton5' title='下移'></div>\n\t\t\t\t\t\t <div class='circleButton circleButton6' title='左下'></div>\n <div class='circleButton circleButton7' title='左移'></div>\n\t\t\t\t\t\t <div class='circleButton circleButton8' title='左上'></div>\n <div class='innerCircle'></div>\n </div>\n </div>\n <div class='hoverCircleButton hoverCircleButton1' title='上移'></div>\n <div class='hoverCircleButton hoverCircleButton2' title='右移'></div>\n <div class='hoverCircleButton hoverCircleButton3' title='下移'></div>\n <div class='hoverCircleButton hoverCircleButton4' title='左移'></div>\n\t\t\t\t <div class='hoverCircleButton hoverCircleButton5' title='右上'></div>\n\t\t\t\t <div class='hoverCircleButton hoverCircleButton6' title='右下'></div>\n\t\t\t\t <div class='hoverCircleButton hoverCircleButton7' title='左下'></div>\n\t\t\t\t <div class='hoverCircleButton hoverCircleButton8' title='左上'></div>\n <a class='bofang' id='bofang").concat(i, "'>播放</a> <a class='tingbo' id='tingbo").concat(i, "'>停止播放</a>\n </div>\n <video class='videoPlayer ").concat(!0 === r ? "puman" : "", "' id='videoPlayer").concat(i, "' data-status='0' data-winNum='").concat(i, "'\n data-devCode='' c preload='auto' autoplay='autoplay' data-setup='{}' crossOrigin='anonymous'\n width='852' height='480'>\"\n <p class='vjs-no-js'>To view this video please enable JavaScript,and consider upgrading to a web\n browser that<a href='https://videojs.com/html5-video-support/' target='_blank'>supports HTML5\n video</a></p>\n </video>\n <div id='canvasPlayerCont").concat(i, "' class='canvasPlayerCont'><canvas class='canvasPlayer hide' id='canvasPlayer").concat(i, "'\n width='1280' height='720' data-status='0' data-winNum='").concat(i, "' data-devCode=''></canvas>\n </div>\n <img class='ttpicPlayer hide' id='ttpicPlayer").concat(i, "' src='").concat(window.top.__BASE_LOCATION__, "images/realVideoImages/closeVideo.png' />\n\t\t\t\t\t<img class='picPlayer hide' style=\"position: absolute;top: 0;left: 0;\" id='picImgCL").concat(i, "' src='' />\n </div>");
var c = (c = "<div class='videoZoom' id='videoZoom'>\n <img src='' alt='' srcset='' style=' height: 10px; width: 10px;display: none;' id='savePicBox' />\n\t\t\t\t\t\t\t\t\t\t<div id='versionUpdate' class=\"versionTips\" style=\"display: none\">\n\t\t\t\t\t\t\t\t\t\t\t<img style=\"margin-right:10px;height: 18px;\" src='".concat(window.top.__BASE_LOCATION__, "images/realVideoImages/warning.png' />\n\t\t\t\t\t\t\t\t\t\t\t视频组件有新版本可以更新 <span id='notUpdate'>不再提醒</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n <div id='maskBox'></div><div class='videoZoom' id='videoZoom'><img src='' alt='' srcset='' style=' height: 10px; width: 10px;display: none;' id='savePicBox'>\n\t\t\t\t\t\t\t\t\t\t<div class='videoInfo' id='videoInfo' style=\"display:none\"></div>\n\t\t\t\t\t\t\t\t\t\t<div class='videoZoomIE' id=\"videoZoomIE\">\n\t\t\t\t\t\t\t\t\t")) + a + "<div class='videoBottom'> </div>\n </div>\n </div>";
$("#" + e).html(c), n.playerObj = {};
for (var s = 1; s < 17; s++) n["playerInfo" + s] = {}, n.playerObj["player".concat(s)] = "", n.playerObj["videoPlayer".concat(s)] = ""
}
function getBrowserNameVersion() {
var e, o = {}, t = navigator.userAgent.toLowerCase();
return (e = t.match(/rv:([\d.]+)\) like gecko/)) || (e = t.match(/msie ([\d\.]+)/)) ? o.ie = e[1] : (e = t.match(/edge\/([\d\.]+)/)) ? o.edge = e[1] : (e = t.match(/firefox\/([\d\.]+)/)) ? o.firefox = e[1] : (e = t.match(/(?:opera|opr).([\d\.]+)/)) ? o.opera = e[1] : (e = t.match(/chrome\/([\d\.]+)/)) ? o.chrome = e[1] : (e = t.match(/version\/([\d\.]+).*safari/)) && (o.safari = e[1]), o.ie ? {
Browser: "IE",
version: o.ie
} : o.edge ? {Browser: "EDGE", version: o.edge} : o.firefox ? {
Browser: "Firefox",
version: o.firefox
} : o.chrome ? {Browser: "Chrome", version: o.chrome} : o.opera ? {
Browser: "Opera",
version: o.opera
} : o.safari ? {Browser: "Safari", version: o.safari} : "Unkonwn"
}
function versionTransform(e) {
e = e.slice(1).split(".");
return 1 === e[1].length && (e[1] = "0" + e[1]), 1 === e[2].length && (e[2] = "0" + e[2]), +e.join("")
}
function getErrorList(o, e) {
$.ajax({
url: "".concat(o.gatewayURL, "/uvp-backend-common/api/dict/getDictByName?dictName=").concat(e, "&ak=").concat(o.ak, "&token=").concat(o.token, "&timestamp=").concat((new Date).getTime(), "&nonce=").concat(generateUUID()),
type: "get",
success: function (e) {
e.successful && (e = e.resultValue || null, o.errorList = {}, e.forEach(function (e) {
o.errorList[+e.value] = {
text: e.text,
code: e.value,
type: e.type || "4",
title: o.errorMap[e.type || "4"]
}
}), window.top.__errorList = o.errorList)
},
error: function (e) {
},
complete: function (e, o) {
"tokenTimeout" != e.getResponseHeader("sessionstate") && "timeout" != e.getResponseHeader("sessionstate") && "nouser" != e.getResponseHeader("sessionstate") || window.top.postMessage({
key: "loginOut",
value: ""
}, "*")
}
})
}
function getTokenTime(o, t, r) {
var e = {token: o.token};
$.ajax({
data: JSON.stringify(e),
type: "POST",
contentType: "application/json",
url: "".concat(o.gatewayURL, "/uvp-backend-common/api/v1/validateToken?timestamp=").concat((new Date).getTime(), "&nonce=").concat(generateUUID()),
success: function (e) {
e.resultValue < 600 && $.ajax({
async: !1,
data: JSON.stringify({ak: t, sk: r}),
type: "POST",
contentType: "application/json",
dataType: "json",
url: "".concat(o.gatewayURL, "/uvp-backend-common/api/v1/authorization?timestamp=").concat((new Date).getTime(), "&nonce=").concat(generateUUID()),
success: function (e) {
o.token = e.resultValue.token
}
})
}
})
}
function waterMark(e, o) {
var t, o = document.getElementById(o), r = {
watermark_txt: "text",
watermark_x: 5,
watermark_y: 5,
watermark_rows: 4,
watermark_cols: 5,
watermark_x_space: 20,
watermark_y_space: 27,
watermark_color: "#fff",
watermark_alpha: .3,
watermark_fontsize: "23px",
watermark_font: "微软雅黑",
watermark_width: 120,
watermark_height: 80,
watermark_angle: 15
};
if ("object" === _typeof(e)) for (t in e = e || {}) e[t] && r[t] && e[t] === r[t] || e[t] && (r[t] = e[t]);
var n = document.createDocumentFragment();
Math.max(o.scrollWidth, o.clientWidth), Math.max(o.scrollHeight, o.clientHeight);
if (r.watermark_cols < 0 || r.watermark_rows < 0 || r.watermark_cols * r.watermark_rows == 0) throw new Error("水印行列数只能是正整数");
for (var a = 0; a < r.watermark_rows; a++) for (var i = r.watermark_y + r.watermark_y_space * a, c = 0; c < r.watermark_cols; c++) {
var s = r.watermark_x + r.watermark_x_space * c, l = document.createElement("div");
l.id = "mask_div" + a + c, l.className = "__waterMarks", l.appendChild(document.createTextNode(r.watermark_txt)), l.style.webkitTransform = "rotate(-" + r.watermark_angle + "deg)", l.style.MozTransform = "rotate(-" + r.watermark_angle + "deg)", l.style.msTransform = "rotate(-" + r.watermark_angle + "deg)", l.style.OTransform = "rotate(-" + r.watermark_angle + "deg)", l.style.transform = "rotate(-" + r.watermark_angle + "deg)", l.style.visibility = "", l.style.position = "absolute", l.style.left = s + "%", l.style.top = i + "%", l.style.overflow = "hidden", l.style.zIndex = "8", l.style.whiteSpace = "nowrap", l.style.opacity = r.watermark_alpha, l.style.fontSize = r.watermark_fontsize, l.style.fontFamily = r.watermark_font, l.style.color = r.watermark_color, l.style.textAlign = "center", l.style.display = "block", n.appendChild(l)
}
o.appendChild(n)
}
function setVideoVolume(e, o, t) {
document.querySelector("#videoPlayer" + e).volume = o, 0 == $("#" + t.rongqiId + " img#volumeBtn" + e).attr("data-status") ? $("#volumeBtn" + e).attr({
"data-status": "1",
src: "".concat(window.top.__BASE_LOCATION__, "images/realVideoImages/closeVolume.png")
}) : $("#volumeBtn" + e).attr({
"data-status": "0",
src: "".concat(window.top.__BASE_LOCATION__, "images/realVideoImages/openVolume.png")
})
}
function changeObjScreen(e, o, t, r, n, a) {
if (16 < e) return 0;
try {
0 == t ? o.screenNum = doScreenChange(e, r, o, n, a) : 1 != t && 2 != t || doScreenChange(e, r, o);
var i, c, s, l, d, p, u = "103", y = {windowNum: o.screenNum};
r ? r == "tuchu" + o.playingSelectedWinNum ? (i = o["playerInfo" + e].devCode, c = o["playerInfo" + e].showName, s = o["playerInfo" + e].streamType, u = "104", y = {
windowIndex: e,
devCode: i,
showName: c,
streamType: s
}, execute(o.returnFuc, u, y)) : 0 <= r.indexOf("exittuchu") && (l = o["playerInfo" + (e = r.length < 11 ? r.slice(r.length - 1) : r.slice(r.length - 2))].devCode, d = o["playerInfo" + e].showName, p = o["playerInfo" + e].streamType, u = "105", y = {
windowIndex: e,
devCode: l,
showName: d,
streamType: p
}, execute(o.returnFuc, u, y), getObjInfo(e, o)) : (execute(o.returnFuc, u, y), getObjInfo(1, o))
} catch (e) {
return console.log(e.message), 0
}
}
function eventInit(s) {
for (var t, e = 1; e <= 16; e++) !function (c) {
function e(e) {
var o, t;
0 < (e = window.event || e[0]).wheelDelta || 0 < -e.detail ? (cloudDeskObjControl("", 772, s.cloudRowSpeed, s.cloudColSpeed, s), o = setTimeout(function () {
cloudDeskObjControl("", 771, s.cloudRowSpeed, s.cloudColSpeed, s), clearTimeout(o)
}, 500)) : (cloudDeskObjControl("", 770, s.cloudRowSpeed, s.cloudColSpeed, s), t = setTimeout(function () {
cloudDeskObjControl("", 769, s.cloudRowSpeed, s.cloudColSpeed, s), clearTimeout(t)
}, 500))
}
function o(e, o) {
var t = "";
return function () {
t && (clearTimeout(t), t = ""), t = setTimeout(e, o, arguments)
}
}
$("#" + s.rongqiId + " #circle" + c).dblclick(function (e) {
e.stopPropagation()
}).click(function (e) {
e.stopPropagation()
}), $("#" + s.rongqiId + " #errortip" + c).mousedown(function (e) {
e.stopPropagation(), getObjInfo(c, s)
}).dblclick(function (e) {
e.stopPropagation(), 1 == s.isTuchuScreen ? (changeObjScreen(s.screenNum, s, s.isTuchuScreen, "tuchu".concat(c)), s.isTuchuScreen = 2) : 2 == s.isTuchuScreen && (changeObjScreen(s.screenNum, s, s.isTuchuScreen, "exittuchu".concat(c)), s.isTuchuScreen = 1)
}), $("#" + s.rongqiId + " #videoMask" + c).mousedown(function (e) {
e.stopPropagation(), getObjInfo(c, s)
}).mouseleave(function (e) {
showBtns(!1, c, s), e.stopPropagation()
}).dblclick(function (e) {
e.stopPropagation(), 1 == s.isTuchuScreen ? (changeObjScreen(s.screenNum, s, s.isTuchuScreen, "tuchu".concat(c)), s.isTuchuScreen = 2) : 2 == s.isTuchuScreen && (changeObjScreen(s.screenNum, s, s.isTuchuScreen, "exittuchu".concat(c)), s.isTuchuScreen = 1)
}).mouseenter(function (e) {
e.stopPropagation();
e = s.playerObj["videoPlayer".concat(c)] || s.playerObj["player".concat(c)] || null;
s.showDefaultCloud && e ? $("#" + s.rongqiId + " #videoMask" + c + " .hoverCircleButton").removeClass("hoverCircleButtonNone") : $("#" + s.rongqiId + " #videoMask" + c + " .hoverCircleButton").addClass("hoverCircleButtonNone"), showBtns(!0, c, s)
}).click(function (e) {
e.stopPropagation()
}), $("#" + s.rongqiId + " #fullBtnBox" + c).click(function (e) {
e.stopPropagation()
}), $("#" + s.rongqiId + " #closeBtn" + c).click(function () {
videoObjClose(c, s, !0), $("#" + s.rongqiId + " #bofang" + c).hide()
}), $("#" + s.rongqiId + " #errorCloseBtn" + c).click(function () {
videoObjClose(c, s, !0), $("#" + s.rongqiId + " #bofang" + c).hide()
}), $("#" + s.rongqiId + " #volumeBtn" + c).click(function () {
var e;
s["playerInfo" + c].hasAudio ? (e = 0 === document.querySelector("#videoPlayer" + c).volume ? 1 : 0, setVideoVolume(c, e, s)) : console.log("当前视频无音频源,无法播放声音")
}), $("#" + s.rongqiId + " img#stickBtn" + c).click(function () {
stickTop(c, s)
}), $("#" + s.rongqiId + " #bofang" + c).click(function (e) {
var o = s["playerInfo" + c].packageMethod, t = s["playerInfo" + c].devCode,
r = s["playerInfo" + c].videoUrl, n = s["playerInfo" + c].videoTalkUrl,
a = s["playerInfo" + c].showName, i = s["playerInfo" + c].streamType;
videoObjPlay(c, o, t, r, n, a, i, s)
}), $("#" + s.rongqiId + " #picBtn" + c).click(function () {
var e = "";
try {
e = picSave(c, s)
} catch (e) {
return console.log(e.message), 0
}
return e
}), $("#" + s.rongqiId + " #talkBtn" + c).click(function () {
videoTalk(c, s)
}), $("#" + s.rongqiId + " #recordVideo" + c).click(function () {
recordVideoFuc(c, s)
}), t = document.getElementById(s.rongqiId), (t = t.querySelectorAll(".videoBox" + c))[0].addEventListener ? (t[0].addEventListener("mousewheel", o.bind(null, e, 1e3)(), {passive: !0}), t[0].addEventListener("DOMMouseScroll", o.bind(null, e, 1e3)(), {passive: !0})) : t[0].attachEvent("onmousewheel", o.bind(null, e, 1e3)(), {passive: !0})
}(e);
document.addEventListener("visibilitychange", function () {
var t = setTimeout(function () {
if ("websocket" === s.flvType) for (var e = 1; e <= 16; e++) if (!s.playerObj["videoPlayer".concat(e)].isVideoFile) {
if (document.querySelector("#" + s.rongqiId + " #videoPlayer" + e).paused) return;
var o = "h264" === s["playerInfo" + e].packageMethod;
s.playerObj["videoPlayer".concat(e)] && o && s.playerObj["videoPlayer".concat(e)].buffered.length && (1 < (o = s.playerObj["videoPlayer".concat(e)].buffered.end(0) - .1) - s.playerObj["videoPlayer".concat(e)].currentTime && (s.playerObj["videoPlayer".concat(e)].currentTime = o), document.querySelector("#" + s.rongqiId + " #videoPlayer" + e) && document.querySelector("#" + s.rongqiId + " #videoPlayer" + e).playbackRate && (o = {
num: e,
playbackRate: document.querySelector("#" + s.rongqiId + " #videoPlayer" + e).playbackRate,
paused: document.querySelector("#" + s.rongqiId + " #videoPlayer" + e).paused,
currentTime: s.playerObj["videoPlayer".concat(e)].dts - 1,
ended: document.querySelector("#" + s.rongqiId + " #videoPlayer" + e).ended,
buffered: s.playerObj["videoPlayer".concat(e)].dts,
tuisong: !0
}, execute(s.returnFuc, "109", o)))
}
clearTimeout(t)
}, 3e3)
}), s.catchNewTime = setInterval(function () {
if ("websocket" === s.flvType) for (var e, o = 1; o <= 16; o++) s.playerObj["videoPlayer".concat(o)].isVideoFile || (e = "h264" === s["playerInfo" + o].packageMethod, s.playerObj["videoPlayer".concat(o)] && e && s.playerObj["videoPlayer".concat(o)].buffered.length && (3 < (e = s.playerObj["videoPlayer".concat(o)].buffered.end(0) - .1) - s.playerObj["videoPlayer".concat(o)].currentTime && (s.playerObj["videoPlayer".concat(o)].currentTime = e)))
}, 1e4), document.getElementById("videoZoom").addEventListener("contextmenu", function (e) {
addRightMenu(e, s)
}), document.getElementById("videoInfo").addEventListener("contextmenu", function (e) {
e.stopPropagation(), e.preventDefault()
}), $("body").click(function (e) {
0 < $(".rightMenu").length && (document.getElementsByClassName("rightMenu")[0].style.display = "none")
}), $("#" + s.rongqiId + " .circleButton1").mousedown(function (e) {
getObjInfo(parseInt($(this).parent().parent().attr("id").slice(6)), s), cloudDeskObjControl("", 1026, s.cloudRowSpeed, s.cloudColSpeed, s), changeBgImg(1, s), e.stopPropagation()
}).mouseup(function (e) {
cloudDeskObjControl("", 1025, s.cloudRowSpeed, s.cloudColSpeed, s), e.stopPropagation()
}), $("#" + s.rongqiId + " .circleButton2").mousedown(function (e) {
getObjInfo(parseInt($(this).parent().parent().attr("id").slice(6)), s), cloudDeskObjControl("", 2050, s.cloudRowSpeed, s.cloudColSpeed, s), changeBgImg(2, s), e.stopPropagation()
}).mouseup(function (e) {
cloudDeskObjControl("", 2049, s.cloudRowSpeed, s.cloudColSpeed, s), e.stopPropagation()
}), $("#" + s.rongqiId + " .circleButton3").mousedown(function (e) {
getObjInfo(parseInt($(this).parent().parent().attr("id").slice(6)), s), cloudDeskObjControl("", 1282, s.cloudRowSpeed, s.cloudColSpeed, s), changeBgImg(3, s)
}).mouseup(function (e) {
cloudDeskObjControl("", 1281, s.cloudRowSpeed, s.cloudColSpeed, s)
}), $("#" + s.rongqiId + " .circleButton4").mousedown(function (e) {
getObjInfo(parseInt($(this).parent().parent().attr("id").slice(6)), s), cloudDeskObjControl("", 2052, s.cloudRowSpeed, s.cloudColSpeed, s), changeBgImg(4, s), e.stopPropagation()
}).mouseup(function (e) {
e.stopPropagation(), cloudDeskObjControl("", 2051, s.cloudRowSpeed, s.cloudColSpeed, s)
}), $("#" + s.rongqiId + " .circleButton5").mousedown(function (e) {
getObjInfo(parseInt($(this).parent().parent().attr("id").slice(6)), s), cloudDeskObjControl("", 1028, s.cloudRowSpeed, s.cloudColSpeed, s), changeBgImg(5, s), e.stopPropagation()
}).mouseup(function (e) {
e.stopPropagation(), cloudDeskObjControl("", 1027, s.cloudRowSpeed, s.cloudColSpeed, s)
}), $("#" + s.rongqiId + " .circleButton6").mousedown(function (e) {
getObjInfo(parseInt($(this).parent().parent().attr("id").slice(6)), s), cloudDeskObjControl("", 1796, s.cloudRowSpeed, s.cloudColSpeed, s), changeBgImg(6, s), e.stopPropagation()
}).mouseup(function (e) {
e.stopPropagation(), cloudDeskObjControl("", 1795, s.cloudRowSpeed, s.cloudColSpeed, s)
}), $("#" + s.rongqiId + " .circleButton7").mousedown(function (e) {
getObjInfo(parseInt($(this).parent().parent().attr("id").slice(6)), s), cloudDeskObjControl("", 1284, s.cloudRowSpeed, s.cloudColSpeed, s), changeBgImg(7, s), e.stopPropagation()
}).mouseup(function (e) {
e.stopPropagation(), cloudDeskObjControl("", 1283, s.cloudRowSpeed, s.cloudColSpeed, s)
}), $("#" + s.rongqiId + " .circleButton8").mousedown(function (e) {
getObjInfo(parseInt($(this).parent().parent().attr("id").slice(6)), s), cloudDeskObjControl("", 1794, s.cloudRowSpeed, s.cloudColSpeed, s), changeBgImg(8, s), e.stopPropagation()
}).mouseup(function (e) {
e.stopPropagation(), cloudDeskObjControl("", 1793, s.cloudRowSpeed, s.cloudColSpeed, s)
}), $("#" + s.rongqiId + " .hoverCircleButton1,.hoverCircleButton2,.hoverCircleButton3,.hoverCircleButton4,.hoverCircleButton5,.hoverCircleButton6,.hoverCircleButton7,.hoverCircleButton8").dblclick(function (e) {
e.stopPropagation()
}).click(function (e) {
e.stopPropagation()
}), $("#" + s.rongqiId + " .hoverCircleButton1").mousedown(function (e) {
var o = parseInt($(this).parent().attr("id").slice(9)),
t = s.playerObj["videoPlayer".concat(o)] || s.playerObj["player".concat(o)] || null;
s.showDefaultCloud && t && (getObjInfo(o, s), cloudDeskObjControl(s["playerInfo" + o].devCode, 1026, s.cloudRowSpeed, s.cloudColSpeed, s), changeBgImg(1, s)), e.stopPropagation()
}).mouseup(function (e) {
e.stopPropagation();
e = parseInt($(this).parent().attr("id").slice(9)), e = s.playerObj["videoPlayer".concat(e)] || s.playerObj["player".concat(e)] || null;
s.showDefaultCloud && e && cloudDeskObjControl("", 1025, s.cloudRowSpeed, s.cloudColSpeed, s)
}), $("#" + s.rongqiId + " .hoverCircleButton2").mousedown(function (e) {
var o = parseInt($(this).parent().attr("id").slice(9)),
t = s.playerObj["videoPlayer".concat(o)] || s.playerObj["player".concat(o)] || null;
s.showDefaultCloud && t && (getObjInfo(o, s), cloudDeskObjControl(s["playerInfo" + o].devCode, 1282, s.cloudRowSpeed, s.cloudColSpeed, s), changeBgImg(3, s)), e.stopPropagation()
}).mouseup(function (e) {
e.stopPropagation();
e = parseInt($(this).parent().attr("id").slice(9)), e = s.playerObj["videoPlayer".concat(e)] || s.playerObj["player".concat(e)] || null;
s.showDefaultCloud && e && cloudDeskObjControl("", 1281, s.cloudRowSpeed, s.cloudColSpeed, s)
}), $("#" + s.rongqiId + " .hoverCircleButton3").mousedown(function (e) {
var o = parseInt($(this).parent().attr("id").slice(9)),
t = s.playerObj["videoPlayer".concat(o)] || s.playerObj["player".concat(o)] || null;
s.showDefaultCloud && t && (getObjInfo(o, s), cloudDeskObjControl("", 1028, s.cloudRowSpeed, s.cloudColSpeed, s), changeBgImg(5, s)), e.stopPropagation()
}).mouseup(function (e) {
e.stopPropagation();
e = parseInt($(this).parent().attr("id").slice(9)), e = s.playerObj["videoPlayer".concat(e)] || s.playerObj["player".concat(e)] || null;
s.showDefaultCloud && e && cloudDeskObjControl("", 1027, s.cloudRowSpeed, s.cloudColSpeed, s)
}), $("#" + s.rongqiId + " .hoverCircleButton4").mousedown(function (e) {
var o = parseInt($(this).parent().attr("id").slice(9)),
t = s.playerObj["videoPlayer".concat(o)] || s.playerObj["player".concat(o)] || null;
s.showDefaultCloud && t && (getObjInfo(o, s), cloudDeskObjControl("", 1284, s.cloudRowSpeed, s.cloudColSpeed, s), changeBgImg(7, s)), e.stopPropagation()
}).mouseup(function (e) {
e.stopPropagation();
e = parseInt($(this).parent().attr("id").slice(9)), e = s.playerObj["videoPlayer".concat(e)] || s.playerObj["player".concat(e)] || null;
s.showDefaultCloud && e && cloudDeskObjControl("", 1283, s.cloudRowSpeed, s.cloudColSpeed, s)
}), $("#" + s.rongqiId + " .hoverCircleButton5").mousedown(function (e) {
var o = parseInt($(this).parent().attr("id").slice(9)),
t = s.playerObj["videoPlayer".concat(o)] || s.playerObj["player".concat(o)] || null;
s.showDefaultCloud && t && (getObjInfo(o, s), cloudDeskObjControl("", 2050, s.cloudRowSpeed, s.cloudColSpeed, s), changeBgImg(2, s)), e.stopPropagation()
}).mouseup(function (e) {
e.stopPropagation();
e = parseInt($(this).parent().attr("id").slice(9)), e = s.playerObj["videoPlayer".concat(e)] || s.playerObj["player".concat(e)] || null;
s.showDefaultCloud && e && cloudDeskObjControl("", 2049, s.cloudRowSpeed, s.cloudColSpeed, s)
}), $("#" + s.rongqiId + " .hoverCircleButton6").mousedown(function (e) {
var o = parseInt($(this).parent().attr("id").slice(9)),
t = s.playerObj["videoPlayer".concat(o)] || s.playerObj["player".concat(o)] || null;
s.showDefaultCloud && t && (getObjInfo(o, s), cloudDeskObjControl("", 2052, s.cloudRowSpeed, s.cloudColSpeed, s), changeBgImg(4, s)), e.stopPropagation()
}).mouseup(function (e) {
e.stopPropagation();
e = parseInt($(this).parent().attr("id").slice(9)), e = s.playerObj["videoPlayer".concat(e)] || s.playerObj["player".concat(e)] || null;
s.showDefaultCloud && e && cloudDeskObjControl("", 2051, s.cloudRowSpeed, s.cloudColSpeed, s)
}), $("#" + s.rongqiId + " .hoverCircleButton7").mousedown(function (e) {
var o = parseInt($(this).parent().attr("id").slice(9)),
t = s.playerObj["videoPlayer".concat(o)] || s.playerObj["player".concat(o)] || null;
s.showDefaultCloud && t && (getObjInfo(o, s), cloudDeskObjControl("", 1796, s.cloudRowSpeed, s.cloudColSpeed, s), changeBgImg(6, s)), e.stopPropagation()
}).mouseup(function (e) {
e.stopPropagation();
e = parseInt($(this).parent().attr("id").slice(9)), e = s.playerObj["videoPlayer".concat(e)] || s.playerObj["player".concat(e)] || null;
s.showDefaultCloud && e && cloudDeskObjControl("", 1795, s.cloudRowSpeed, s.cloudColSpeed, s)
}), $("#" + s.rongqiId + " .hoverCircleButton8").mousedown(function (e) {
var o = parseInt($(this).parent().attr("id").slice(9)),
t = s.playerObj["videoPlayer".concat(o)] || s.playerObj["player".concat(o)] || null;
s.showDefaultCloud && t && (getObjInfo(o, s), cloudDeskObjControl("", 1794, s.cloudRowSpeed, s.cloudColSpeed, s), changeBgImg(8, s)), e.stopPropagation()
}).mouseup(function (e) {
e.stopPropagation();
e = parseInt($(this).parent().attr("id").slice(9)), e = s.playerObj["videoPlayer".concat(e)] || s.playerObj["player".concat(e)] || null;
s.showDefaultCloud && e && cloudDeskObjControl("", 1793, s.cloudRowSpeed, s.cloudColSpeed, s)
}), $("#" + s.rongqiId + " .hoverCircleButton1").mouseenter(function () {
var e = parseInt($(this).parent().attr("id").slice(9)),
e = s.playerObj["videoPlayer".concat(e)] || s.playerObj["player".concat(e)] || null;
s.showDefaultCloud && e ? $(this).addClass("hoverCircle1").attr({title: "上移"}).css({cursor: "pointer"}) : $(this).removeClass("hoverCircle1").attr({title: ""}).css({cursor: "auto"})
}).mouseleave(function () {
$(this).removeClass("hoverCircle1").attr({title: ""}).css({cursor: "auto"})
}), $("#" + s.rongqiId + " .hoverCircleButton2").mouseenter(function () {
var e = parseInt($(this).parent().attr("id").slice(9)),
e = s.playerObj["videoPlayer".concat(e)] || s.playerObj["player".concat(e)] || null;
s.showDefaultCloud && e ? $(this).addClass("hoverCircle2").attr({title: "右移"}).css({cursor: "pointer"}) : $(this).removeClass("hoverCircle2").attr({title: ""}).css({cursor: "auto"})
}).mouseleave(function () {
$(this).removeClass("hoverCircle2").attr({title: ""}).css({cursor: "auto"})
}), $("#" + s.rongqiId + " .hoverCircleButton3").mouseenter(function () {
var e = parseInt($(this).parent().attr("id").slice(9)),
e = s.playerObj["videoPlayer".concat(e)] || s.playerObj["player".concat(e)] || null;
s.showDefaultCloud && e ? $(this).addClass("hoverCircle3").attr({title: "下移"}).css({cursor: "pointer"}) : $(this).removeClass("hoverCircle3").attr({title: ""}).css({cursor: "auto"})
}).mouseleave(function () {
$(this).removeClass("hoverCircle3").attr({title: ""}).css({cursor: "auto"})
}), $("#" + s.rongqiId + " .hoverCircleButton4").mouseenter(function () {
var e = parseInt($(this).parent().attr("id").slice(9)),
e = s.playerObj["videoPlayer".concat(e)] || s.playerObj["player".concat(e)] || null;
s.showDefaultCloud && e ? $(this).addClass("hoverCircle4").attr({title: "左移"}).css({cursor: "pointer"}) : $(this).removeClass("hoverCircle4").attr({title: ""}).css({cursor: "auto"})
}).mouseleave(function () {
$(this).removeClass("hoverCircle4").attr({title: ""}).css({cursor: "auto"})
}), $("#" + s.rongqiId + " .hoverCircleButton5").mouseenter(function () {
var e = parseInt($(this).parent().attr("id").slice(9)),
e = s.playerObj["videoPlayer".concat(e)] || s.playerObj["player".concat(e)] || null;
s.showDefaultCloud && e ? $(this).addClass("hoverCircle5").attr({title: "右上"}).css({cursor: "pointer"}) : $(this).removeClass("hoverCircle5").attr({title: ""}).css({cursor: "auto"})
}).mouseleave(function () {
$(this).removeClass("hoverCircle5").attr({title: ""}).css({cursor: "auto"})
}), $("#" + s.rongqiId + " .hoverCircleButton6").mouseenter(function () {
var e = parseInt($(this).parent().attr("id").slice(9)),
e = s.playerObj["videoPlayer".concat(e)] || s.playerObj["player".concat(e)] || null;
s.showDefaultCloud && e ? $(this).addClass("hoverCircle6").attr({title: "右下"}).css({cursor: "pointer"}) : $(this).removeClass("hoverCircle6").attr({title: ""}).css({cursor: "auto"})
}).mouseleave(function () {
$(this).removeClass("hoverCircle6").attr({title: ""}).css({cursor: "auto"})
}), $("#" + s.rongqiId + " .hoverCircleButton7").mouseenter(function () {
var e = parseInt($(this).parent().attr("id").slice(9)),
e = s.playerObj["videoPlayer".concat(e)] || s.playerObj["player".concat(e)] || null;
s.showDefaultCloud && e ? $(this).addClass("hoverCircle7").attr({title: "左下"}).css({cursor: "pointer"}) : $(this).removeClass("hoverCircle7").attr({title: ""}).css({cursor: "auto"})
}).mouseleave(function () {
$(this).removeClass("hoverCircle7").attr({title: ""}).css({cursor: "auto"})
}), $("#" + s.rongqiId + " .hoverCircleButton8").mouseenter(function () {
var e = parseInt($(this).parent().attr("id").slice(9)),
e = s.playerObj["videoPlayer".concat(e)] || s.playerObj["player".concat(e)] || null;
s.showDefaultCloud && e ? $(this).addClass("hoverCircle8").attr({title: "左上"}).css({cursor: "pointer"}) : $(this).removeClass("hoverCircle8").attr({title: ""}).css({cursor: "auto"})
}).mouseleave(function () {
$(this).removeClass("hoverCircle8").attr({title: ""}).css({cursor: "auto"})
}), $(document).on("fullscreenchange", function (e) {
var o = setTimeout(function () {
s.isAllScreen = 0, clearTimeout(o)
}, 500)
}), $(document).on("mozfullscreenchange", function (e) {
var o = setTimeout(function () {
s.isAllScreen = 0, clearTimeout(o)
}, 500)
}), $(document).on("webkitfullscreenchange", function (e) {
var o = setTimeout(function () {
s.isAllScreen = 0, clearTimeout(o)
}, 500)
}), $(document).on("msfullscreenchange", function (e) {
var o = setTimeout(function () {
s.isAllScreen = 0, clearTimeout(o)
}, 500)
});
for (var o = 1; o <= 16; o++) !function (o) {
$("#" + s.rongqiId + " #videoMask" + o + " #ailabel" + o).click(function (e) {
e.stopPropagation(), 0 < $(".rightMenu").length && (document.getElementsByClassName("rightMenu")[0].style.display = "none"), "video" == s.objType && (e = s.playerObj["videoPlayer".concat(o)] || s.playerObj["player".concat(o)] || null, s.showDefaultCloud && s.show3dCloud && e && AILabel && (console.log("初始化实例:", +new Date), initAILabel("videoMask" + o, s)))
})
}(o)
}
function execute(someFunction, value, value2) {
var isImage = 3 < arguments.length && void 0 !== arguments[3] && arguments[3], _num, self, num, tt, ttt;
isImage || 110 != value && 112 != value ? 111 != value && 101 != value || (_num = value2.windowIndex, $("#usertip" + _num).addClass("hide")) : (self = value2.videoObj, num = value2.windowIndex, errortipshide(num, self.rongqiId), tt = setInterval(function () {
(self.playerObj["videoPlayer".concat(num)] && 0 < self.playerObj["videoPlayer".concat(num)].currentTime || self.playerObj["player".concat(num)] && 0 < self.playerObj["player".concat(num)].videoTimeStamp) && ($("#usertip" + num).removeClass("hide"), clearInterval(tt))
}, 50), ttt = setTimeout(function () {
clearInterval(tt), clearTimeout(ttt)
}, 6e3)), "function" == typeof someFunction ? someFunction(value, value2) : "string" == typeof someFunction && eval(someFunction + "(value,value2)")
}
function videoPlay(e, o, t, r, n, a, i, c, s, l, d, p) {
try {
var u;
return "jpg" === o ? (c["playerInfo" + e].packageMethod = o, $("#" + c.rongqiId + " #videoPlayer" + e).hide(), $("#" + c.rongqiId + " canvas#canvasPlayer" + e).hide(), $("#" + c.rongqiId + " #videoMask" + e).addClass("videoMask"), $("#".concat(c.rongqiId, " #ttpicPlayer").concat(e)).attr({
src: r,
devCode: t
}).removeClass("hide"), $("#" + c.rongqiId + " #fullBtnBox" + e + " .showDev").text(a).attr("title", a), c["playerInfo" + e].devCode = t, c["playerInfo" + e].packageMethod = o, u = {
windowIndex: e,
devCode: t,
showName: c["playerInfo" + e].showName = a,
streamType: c["playerInfo" + e].streamType = i,
videoWidth: c.playerObj["player" + e].videoWidth,
videoHeight: c.playerObj["player" + e].videoHeight,
playType: "jpg"
}, void execute(c.returnFuc, "110", u, !0)) : ("video" == c.objType || "replay" == c.objType ? (2 === i && (r = replaceParamVal(r, "&rate", "sub")), c["playerInfo" + e].devCode = t, c["playerInfo" + e].hasAudio = d, c["playerInfo" + e].status = "1", c["playerInfo" + e].videoUrl = r, c["playerInfo" + e].videoTalkUrl = n, c["playerInfo" + e].packageMethod = o, c["playerInfo" + e].showName = a, c["playerInfo" + e].streamType = i, c["playerInfo" + e].sessionId || (c["playerInfo" + e].sessionId = p), c["playerInfo" + e].hasAudio ? (c["playerInfo" + e].videoUrl = r + "&acodec=g711a", $("#" + c.rongqiId + " img#volumeBtn" + e).show()) : $("#" + c.rongqiId + " img#volumeBtn" + e).hide(), "h265" == o ? ($("#" + c.rongqiId + " canvas#canvasPlayer" + e).show(), $("#" + c.rongqiId + " #videoPlayer" + e).hide(), $("#" + c.rongqiId + " #fullBtnBox" + e + " .showDev").text(a).attr("title", a), videoObjPlay(e, o, t, r, n, a, i, c, "", s)) : "h264" == o ? ($("#" + c.rongqiId + " #videoPlayer" + e).show(), $("#" + c.rongqiId + " canvas#canvasPlayer" + e).hide(), $("#" + c.rongqiId + " #fullBtnBox" + e + " .showDev").text(a).attr("title", a), videoObjPlay(e, o, t, r, n, a, i, c, "", "", l)) : "h264decoder" == o && ($("#" + c.rongqiId + " canvas#canvasPlayer" + e).show(), $("#" + c.rongqiId + " #videoPlayer" + e).hide(), $("#" + c.rongqiId + " #fullBtnBox" + e + " .showDev").text(a).attr("title", a), videoObjPlay(e, o, t, r, n, a, i, c, "", s))) : alert("该模块不能播放视频!"), 1)
} catch (e) {
return 0
}
}
function videoObjPlay(r, n, a, i, e, c, s, l, o, d, t) {
var p, u;
"h265" == n ? (p = {
windowIndex: r,
devCode: a,
showName: c,
streamType: s,
videoWidth: l.playerObj["player" + r].videoWidth,
videoHeight: l.playerObj["player" + r].videoHeight,
playType: "h265"
}, execute(l.returnFuc, "100", p), (u = i).indexOf("&code=") < 0 && (u = u + "&code=" + a), i.indexOf("&format=") < 0 && (u += "&format=ps"), i.indexOf("&codec=") < 0 && (u += "&codec=h265"), i.indexOf("&redirect=") < 0 && (u += "&redirect=false"), $.ajax({
url: u, type: "get", success: function (e) {
var o, t;
"string" == typeof e && (t = JSON.parse(e), ["401", "403"].includes(t.resultCode + "") && (o = {errorCode: t.resultCode}, execute(l.returnFuc, t.resultCode + "", o))), e && 301 == e.resultCode && (u = e.location || e.Location, l.proxyIp && (t = u.indexOf("/", 8), u = l.proxyIp + u.slice(t)), o = (u = ("websocket" === l.transType265 ? 0 <= (u = 0 <= l.gatewayURL.indexOf("https://") ? u.replace("http://", "https://").replace("21102", "21103") : u).indexOf("https://") ? u.replace("https://", "wss://") : 0 <= u.indexOf("http://") ? u.replace("http://", "ws://") : u : 0 <= u.indexOf("wss://") ? u.replace("wss://", "https://") : 0 <= u.indexOf("ws://") ? u.replace("ws://", "http://") : u).replace("format=mp4", "format=ps").replace("format=MP4", "format=ps").replace("format=flv", "format=ps")).lastIndexOf(":"), e = u.indexOf("/", o), u.slice(o + 1, e), t = u.slice(0, e).replace("http://", "ws://") + "/talk/" + a + "?token=" + l.token + "&time=" + (new Date).getTime(), l["playerInfo" + r].videoTalkUrl = t, l.isMp4Play && !d ? ($("#" + l.rongqiId + " #videoPlayer" + r).show(), $("#" + l.rongqiId + " canvas#canvasPlayer" + r).hide(), u = d ? u.replace("format=mp4", "format=ps") : u.replace("format=ps", "format=mp4"), !l.playerObj["videoPlayer".concat(r)] && r && flvjs.isSupported() && (l.playerObj["videoPlayer".concat(r)] = flvjs.createPlayer({
type: "mp4",
hasVideo: !0,
hasAudio: l["playerInfo" + r].hasAudio,
isLive: !1,
url: u.replace("ws://", "http://"),
lazyLoad: !1,
videoObj: l
}), l.playerObj["videoPlayer".concat(r)].isVideoFile = !0, playVideoFunc(r, n, a, i, t, c, s, l))) : (l.playerObj["player".concat(r)] || (l.playerObj["player".concat(r)] = new Player(1, l.returnFuc, l, a)), l.playerObj["player".concat(r)].chonglian = 0, canvasPlay(r, n, a, u, t, c, s, l, 1)))
}, error: function (e) {
console.log(e)
}, complete: function (e, o) {
"tokenTimeout" != e.getResponseHeader("sessionstate") && "timeout" != e.getResponseHeader("sessionstate") && "nouser" != e.getResponseHeader("sessionstate") || window.top.postMessage({
key: "loginOut",
value: ""
}, "*")
}
})) : "h264" == n ? (p = document.getElementById(l.rongqiId), p = {
windowIndex: r,
devCode: a,
showName: c,
streamType: s,
videoWidth: p.querySelector("#videoPlayer" + r).videoWidth,
videoHeight: p.querySelector("#videoPlayer" + r).videoHeight,
playType: "h264"
}, execute(l.returnFuc, "100", p), t ? (l["playerInfo" + r].videoTalkUrl = e, l.playerObj["videoPlayer".concat(r)] && (l.playerObj["videoPlayer".concat(r)].unload(), l.playerObj["videoPlayer".concat(r)].destroy(), l.playerObj["videoPlayer".concat(r)].detachMediaElement(), l.playerObj["videoPlayer".concat(r)] = ""), l.playerObj["videoPlayer".concat(r)] = "", l["playerInfo" + r].hasAudio && (i += "&acodec=g711a"), !l.playerObj["videoPlayer".concat(r)] && r && flvjs.isSupported() && (l.playerObj["videoPlayer".concat(r)] = flvjs.createPlayer({
type: l.isMp4,
hasVideo: !0,
hasAudio: l["playerInfo" + r].hasAudio,
isLive: l.isLive,
url: i,
lazyLoad: !1,
videoObj: l
}), l.playerObj["videoPlayer".concat(r)].chonglian = 0, playVideoFunc(r, n, a, u, e, c, s, l))) : 0 == s ? ($("#videoMask" + r).remove("nowidth"), $("#canvasPlayerCont" + r).addClass("nowidth"), l["playerInfo" + r].hasAudio && (i += "&acodec=g711a"), !l.playerObj["videoPlayer".concat(r)] && r && flvjs.isSupported() && (l.playerObj["videoPlayer".concat(r)] = flvjs.createPlayer({
type: "mp4",
hasVideo: !0,
hasAudio: l["playerInfo" + r].hasAudio,
isLive: !1,
url: i,
lazyLoad: !1,
videoObj: l
}), l.playerObj["videoPlayer".concat(r)].isVideoFile = !0, playVideoFunc(r, n, a, i, e, c, s, l))) : (i.indexOf("&format=") < 0 && (i += "&format=flv"), i.indexOf("&codec=") < 0 && (i += "&codec=h264"), u = i + "&redirect=false", $.ajax({
url: u, type: "get", success: function (e) {
var o, t;
"string" == typeof e && (t = JSON.parse(e), ["401", "403"].includes(t.resultCode + "") && (o = {errorCode: t.resultCode}, execute(l.returnFuc, t.resultCode + "", o))), e && 301 == e.resultCode && (u = e.location || e.Location, l.proxyIp && (t = u.indexOf("/", 8), u = l.proxyIp + u.slice(t)), "websocket" === l.flvType ? u = 0 <= (u = 0 <= l.gatewayURL.indexOf("https://") ? u.replace("http://", "https://").replace("21102", "21103") : u).indexOf("http://") ? u.replace("format=mp4", "format=flv").replace("format=ps", "format=flv").replace("http://", "ws://") : (0 <= u.indexOf("https://") ? u.replace("https://", "wss://") : u).replace("format=mp4", "format=flv").replace("format=ps", "format=flv") : "http" === l.flvType && (u = (0 <= u.indexOf("ws://") ? u.replace("ws://", "http://") : 0 <= u.indexOf("wss://") ? u.replace("wss://", "https://") : u).replace("format=flv", "format=mp4").replace("format=ps", "format=flv")), o = u.lastIndexOf(":"), e = u.indexOf("/", o), u.slice(o + 1, e), t = u.slice(0, e).replace("http://", "ws://").replace("https://", "ws://") + "/talk/" + a + "?token=" + l.token + "&time=" + (new Date).getTime(), l["playerInfo" + r].videoTalkUrl = t, l.playerObj["videoPlayer".concat(r)] && (l.playerObj["videoPlayer".concat(r)].unload(), l.playerObj["videoPlayer".concat(r)].destroy(), l.playerObj["videoPlayer".concat(r)].detachMediaElement(), l.playerObj["videoPlayer".concat(r)] = ""), l.playerObj["videoPlayer".concat(r)] = "", l["playerInfo" + r].hasAudio && (u += "&acodec=g711a"), !l.playerObj["videoPlayer".concat(r)] && r && flvjs.isSupported() && (l.playerObj["videoPlayer".concat(r)] = flvjs.createPlayer({
type: "http" === l.flvType ? "mp4" : "flv",
hasVideo: !0,
hasAudio: !l.hasAudio && l["playerInfo" + r].hasAudio,
isLive: "replay" != l.objType,
url: u,
lazyLoad: !1,
videoObj: l,
autoCleanupSourceBuffer: !0
}), l.playerObj["videoPlayer".concat(r)].chonglian = 0, playVideoFunc(r, n, a, u, t, c, s, l)))
}, error: function (e) {
console.log(e)
}, complete: function (e, o) {
"tokenTimeout" != e.getResponseHeader("sessionstate") && "timeout" != e.getResponseHeader("sessionstate") && "nouser" != e.getResponseHeader("sessionstate") || window.top.postMessage({
key: "loginOut",
value: ""
}, "*")
}
}))) : "h264decoder" == n && (p = {
windowIndex: r,
devCode: a,
showName: c,
streamType: s,
videoWidth: l.playerObj["player" + r].videoWidth,
videoHeight: l.playerObj["player" + r].videoHeight,
playType: "h264decoder",
isChangeSoftOpen: d || "false"
}, execute(l.returnFuc, "100", p), u = i + "&format=ps&codec=h264&redirect=false", $.ajax({
url: u, type: "get", success: function (e) {
var o, t;
"string" == typeof e && (t = JSON.parse(e), ["401", "403"].includes(t.resultCode + "") && (o = {errorCode: t.resultCode}, execute(l.returnFuc, t.resultCode + "", o))), e && 301 == e.resultCode && (u = e.location || e.Location, l.proxyIp && (t = u.indexOf("/", 8), u = l.proxyIp + u.slice(t)), o = (u = ("websocket" === l.transType265 ? 0 <= (u = 0 <= l.gatewayURL.indexOf("https://") ? u.replace("http://", "https://").replace("21102", "21103") : u).indexOf("https://") ? u.replace("https://", "wss://") : (0 <= u.indexOf("http://") ? u.replace("http://", "ws://") : u).replace("format=mp4", "format=ps") : (0 <= u.indexOf("wss://") ? u.replace("wss://", "https://") : 0 <= u.indexOf("ws://") ? u.replace("ws://", "http://") : u).replace("format=mp4", "format=ps")).replace("format=MP4", "format=ps").replace("format=flv", "format=ps")).lastIndexOf(":"), e = u.indexOf("/", o), u.slice(o + 1, e), t = u.slice(0, e).replace("http://", "ws://") + "/talk/" + a + "?token=" + l.token + "&time=" + (new Date).getTime(), l["playerInfo" + r].videoTalkUrl = t, l.playerObj["player".concat(r)] || (l.playerObj["player".concat(r)] = new Player(0, l.returnFuc, l, a)), l.playerObj["player".concat(r)].chonglian = 0, $("#videoMask" + r).addClass("nowidth"), $("#canvasPlayerCont" + r).removeClass("nowidth"), $("#videoMask" + r).removeClass("nowidth"), canvasPlay(r, n, a, u, t, c, s, l, 0))
}, error: function (e) {
console.log(e)
}, complete: function (e, o) {
"tokenTimeout" != e.getResponseHeader("sessionstate") && "timeout" != e.getResponseHeader("sessionstate") && "nouser" != e.getResponseHeader("sessionstate") || window.top.postMessage({
key: "loginOut",
value: ""
}, "*")
}
}))
}
function playVideoFunc(r, e, o, t, n, a, i, c) {
var s, l;
"" !== t && r && (s = "videoPlayer" + r, (l = document.getElementById(c.rongqiId)).querySelector("#" + s).volume = 0, "http" === c.flvType ? (c.playerObj["videoPlayer".concat(r)].attachMediaElement(l.querySelector("#" + s)), c.playerObj["videoPlayer".concat(r)].load(), c.playerObj["videoPlayer".concat(r)].play()) : (c.playerObj["videoPlayer".concat(r)].attachMediaElement(l.querySelector("#" + s)), c.playerObj["videoPlayer".concat(r)].load(), c.playerObj["videoPlayer".concat(r)].play(), c.playerObj["videoPlayer".concat(r)].on(flvjs.Events.ERROR, function (e, o) {
}), "video" === c.objType ? (c.playerObj["videoPlayer".concat(r)].on(flvjs.Events.METADATA_ARRIVED, function () {
errortipshide(r, c.rongqiId), setTimeout(function () {
$("#".concat(c.rongqiId, " #picImgCL").concat(r)).attr({src: ""}).addClass("hide"), clearInterval(c["timer".concat(r)]), c["timer".concat(r)] = null, delete c["chonglian".concat(r)], errortipshide(r, c.rongqiId)
}, 2500)
}), c.playerObj["videoPlayer".concat(r)].on(flvjs.Events.MEDIA_SOURCE_CLOSE, function (e, o) {
console.log("flvjs.Events.MEDIA_SOURCE_CLOSE:视频关闭?", e, o)
}), c.playerObj["videoPlayer".concat(r)].on(flvjs.Events.MEDIA_SOURCE_ENDED, function (e, o) {
console.log("触发重连");
var t = captureFuc(r, c);
$("#".concat(c.rongqiId, " #picImgCL").concat(r)).width("100%"), $("#".concat(c.rongqiId, " #picImgCL").concat(r)).height("100%"), $("#".concat(c.rongqiId, " #picImgCL").concat(r)).attr({src: t}).removeClass("hide"), c["chonglian".concat(r)] ? c["timer".concat(r)] = setInterval(function () {
c["chonglian".concat(r)] < 3 ? c["chonglian".concat(r)] += 1 : delete c["chonglian".concat(r)], c["chonglian".concat(r)] || (clearInterval(c["timer".concat(r)]), c["timer".concat(r)] = null), c.playerObj["videoPlayer".concat(r)].unload(), c.playerObj["videoPlayer".concat(r)].detachMediaElement(), c.playerObj["videoPlayer".concat(r)].attachMediaElement(l.querySelector("#" + s)), c.playerObj["videoPlayer".concat(r)].load(), c.playerObj["videoPlayer".concat(r)].play()
}, 3e4) : (c.playerObj["videoPlayer".concat(r)].unload(), c.playerObj["videoPlayer".concat(r)].detachMediaElement(), c.playerObj["videoPlayer".concat(r)].attachMediaElement(l.querySelector("#" + s)), c.playerObj["videoPlayer".concat(r)].load(), c.playerObj["videoPlayer".concat(r)].play(), c["chonglian".concat(r)] = 1)
})) : console.log("历史视频不应该触发重连!")), $("#" + c.rongqiId + " div#videoMask" + r).addClass("videoMask"), t = {
windowIndex: r,
devCode: o,
showName: a,
streamType: i,
videoWidth: l.querySelector("#videoPlayer" + r).videoWidth,
videoHeight: l.querySelector("#videoPlayer" + r).videoHeight,
playType: "h264",
videoObj: c
}, execute(c.returnFuc, "110", t))
}
function canvasPlay(e, o, t, r, n, a, i, c, s) {
c.playerObj["player" + e].playUrl = r;
var l = c.playerObj["player" + e].getState(), d = "canvasPlayer" + e,
p = document.getElementById(c.rongqiId).querySelector("#" + d);
return p ? (l != playerStatePlaying ? (c.playerObj["player" + e].play(r, p, function (e) {
console.log("play error " + e.error + " status " + e.status + ".--" + r), 1 == e.error && console.log("Finished.")
}, 1048576, e), $("#" + c.rongqiId + " div#videoMask" + e).addClass("videoMask"), l = {
windowIndex: e,
devCode: t,
showName: a,
streamType: i,
videoWidth: c.playerObj["player" + e].videoWidth,
videoHeight: c.playerObj["player" + e].videoHeight,
playType: 0 == s ? "h264decoder" : "h265",
videoObj: c
}, execute(c.returnFuc, "110", l)) : (c.playerObj["player" + e].stop(e), c.playerObj["player" + e] = "", d = "canvasPlayer" + e, (s = (p = document.getElementById(c.rongqiId).querySelector("#" + d)).getContext("webgl") || p.getContext("experimental-webgl")).clearColor(0, 0, 0, 0), s.clear(s.COLOR_BUFFER_BIT), execute(c.returnFuc, "101", {
windowIndex: e,
devCode: t,
showName: a,
streamType: i
})), !0) : (console.log("第" + e + "画布canvas获取失败"), !1)
}
function videoObjPlay264(e, o, t) {
var r, n = o["playerInfo" + e].devCode, a = o["playerInfo" + e].videoUrl,
i = (o["playerInfo" + e].packageMethod, o["playerInfo" + e].videoTalkUrl), c = o["playerInfo" + e].showName,
s = o["playerInfo" + e].streamType, l = o["playerInfo" + e].sessionId;
videoObjClose(e, o, !0, "", "", !0), r = "软解播放" === t ? "h264decoder" : "h264", setTimeout(function () {
videoPlay(e, r, n, a, i, c, s, o, !0, "", "", l)
}, 500)
}
function videoObjPlay265(e, o, t) {
var r = o["playerInfo" + e].devCode,
n = "软解播放" === t ? o["playerInfo" + e].videoUrl.replace("format=mp4", "format=ps") : o["playerInfo" + e].videoUrl.replace("format=ps", "format=mp4"),
a = o["playerInfo" + e].packageMethod, i = o["playerInfo" + e].videoTalkUrl, c = o["playerInfo" + e].showName,
s = o["playerInfo" + e].streamType, l = o["playerInfo" + e].sessionId;
videoObjClose(e, o, !0, "", "", !0), setTimeout(function () {
videoPlay(e, a, r, n, i, c, s, o, !0, "", "", l)
}, 500)
}
function videoObjClose(e, o, t, r, n, a) {
var i, c, s, l, d, p, u, y;
if ("1" == $("#" + o.rongqiId + " img#recordVideo" + e).attr("data-status") && recordVideoFuc(e, o), $("#volumeBtn" + e).attr({
"data-status": "1",
src: "".concat(window.top.__BASE_LOCATION__, "images/realVideoImages/closeVolume.png")
}), $("#fullBtnBox" + e).hide(), $("#".concat(o.rongqiId, " #picImgCL").concat(e)).attr({src: ""}).addClass("hide"), o["timer".concat(e)] && (clearInterval(o["timer".concat(e)]), o["timer".concat(e)] = null, delete o["chonglian".concat(e)]), "jpg" === o["playerInfo" + e].packageMethod) return i = o["playerInfo" + e].devCode, execute(o.returnFuc, "101", {
windowIndex: e,
devCode: i
}), o["playerInfo" + e].packageMethod = "", $("#".concat(o.rongqiId, " #ttpicPlayer").concat(e)).attr({
src: "",
devCode: ""
}).addClass("hide"), $("#" + o.rongqiId + " div#videoMask" + e).removeClass("videoMask"), void $("#" + o.rongqiId + " div#videoMask" + e).removeClass("selecedVideoMask");
$("#" + o.rongqiId + " div#videoMask" + e).hasClass("videoMask") && $("#" + o.rongqiId + " div#videoMask" + e).removeClass("videoMask"), errortipshide(e, o.rongqiId), o.playerObj["videoPlayer".concat(e)] || o.playerObj["player".concat(e)] || null ? (i = o["playerInfo" + e].devCode, p = o["playerInfo" + e].videoUrl, d = o["playerInfo" + e].packageMethod, y = o["playerInfo" + e].videoTalkUrl, c = o["playerInfo" + e].showName, s = o["playerInfo" + e].streamType, n = o["playerInfo" + e].sessionId, l = o["playerInfo" + e].hasAudio, o.playerObj["videoPlayer".concat(e)] && (o.argarr = [e, d, i, p, y, c, s, o, !1, void 0, l], o.playerObj["videoPlayer".concat(e)].unload(), o.playerObj["videoPlayer".concat(e)].destroy(), o.playerObj["videoPlayer".concat(e)].detachMediaElement(), o.playerObj["videoPlayer".concat(e)] = "", l = !(o["playerInfo" + e].videoUrl = ""), "puman" == sessionStorage.puman ? l = !0 : "notpuman" == sessionStorage.puman && (l = !1), u = "", u += ["<video class='videoPlayer ".concat(!0 === l ? "puman" : "", "' id='videoPlayer").concat(e, "' data-status='0' data-winNum='").concat(e, "'"), " data-devCode='' preload='auto' autoplay='autoplay' data-setup='{}' crossOrigin='anonymous'", " width='852' height='480'>", " <p class='vjs-no-js'>To view this video please enable JavaScript,and consider upgrading to a web", " browser that<a href='https://videojs.com/html5-video-support/' target='_blank'>supports HTML5", " video</a></p>", " </video>"].join(""), $("#" + o.rongqiId + " #videoPlayer" + e).remove(), $("#" + o.rongqiId + " #videoMask" + e).after(u)), o.playerObj["player".concat(e)] && (o.argarr = [e, d, i, p, y, c, s, o], o.playerObj["player".concat(e)].stop(e), o.playerObj["player".concat(e)] = "", l = "canvasPlayer" + e, (p = (d = document.getElementById(o.rongqiId).querySelector("#" + o.rongqiId + " #" + l)).getContext("webgl") || d.getContext("experimental-webgl")).clearColor(0, 0, 0, 0), p.clear(p.COLOR_BUFFER_BIT), u = "", u += ["<div id='canvasPlayerCont".concat(e, "' class='canvasPlayerCont'><canvas class='canvasPlayer hide' id='canvasPlayer").concat(e, "'"), "width='852' height='480' data-status='0' data-winNum='".concat(e, "' data-devCode=''></canvas></div>")].join(""), $("#" + o.rongqiId + " #canvasPlayer" + e).remove(), $("#" + o.rongqiId + " #videoPlayer" + e).after(u)), Number($("#" + o.rongqiId + " img#talkBtn" + e).attr("data-status")) && (o.isTalkingDevCode = "", endVideoTalk()), y = {
windowIndex: e,
devCode: i,
showName: c,
streamType: s,
isChangeSoftClose: a || !1
}, o["playerInfo" + e] = {}, execute(o.returnFuc, "101", y), 0 != t && (r = o.gatewayURL + "/uvp-micro-service/mediatranscode/api/v1/playControl?ak=" + o.ak + "&token=" + o.token + "&timestamp=" + (new Date).getTime() + "&nonce=" + n + "&sessionId=" + n, $.ajax({
url: r,
type: "post",
contentType: "application/json",
data: JSON.stringify({sessionId: n, cmd: "stop", scale: "", range: ""}),
success: function (e) {
e && 200 == JSON.parse(e).resultCode && console.log("后台关闭流成功")
},
error: function (e) {
console.log("后台关闭流失败")
},
complete: function (e, o) {
console.log("网关请求结束:", e.getResponseHeader("sessionstate"))
}
}), $("#" + o.rongqiId + " #fullBtnBox" + e).hide())) : $("#" + o.rongqiId + " div#fullBtnBox" + e).hide()
}
function videoObjControl(e, o, t, r, n, a, i) {
cloudDeskObjControl(e, o, t, r, n, a, i)
}
function cloudDeskObjControl(e, o, t, r, n, a, i) {
consoleLog("云台控制(devCode,控制码,速度1,速度2,Url,sessionId)", 2, e, o, t, r, a, i), (!t || t < 1 || 9 < t || isNaN(t)) && (t = n.PTZSpeed), (!r || r < 1 || 9 < r || isNaN(r)) && (r = n.PTZSpeed), t += "", r += "", o = "string" == typeof o ? Number(o) : o;
var c, s = Object.keys(n);
c = e || (e = n.playingSelectedWinNum, n["playerInfo" + e].devCode), 1026 == o ? changeBgImg(1, n) : 2050 == o ? changeBgImg(2, n) : 1282 == o ? changeBgImg(3, n) : 2052 == o ? changeBgImg(4, n) : 1028 == o ? changeBgImg(5, n) : 1796 == o ? changeBgImg(6, n) : 1284 == o ? changeBgImg(7, n) : 1794 == o && changeBgImg(8, n), c ? (s.forEach(function (e) {
var o;
(null == (o = n[e]) ? void 0 : o.devCode) === c && (i = n[e].sessionId)
}), a = n.gatewayURL + "/uvp-micro-service/mediatranscode/api/v1/cameraControlEx?ak=" + n.ak + "&token=" + n.token + "&timestamp=" + (new Date).getTime() + "&nonce=" + i + "&code=" + c + "&cmd=" + o + "&param1=" + t + "&param2=" + r + "&sessionId=" + i, i || console.log("没有获取到所选窗口的sessionId"), o = String(o), PTZControl(n.gatewayURL, n.atToken, c, o, t, r, n, a, i)) : console.log("未选择播放的设备,无法进行操作")
}
function changeBgImg(e, o) {
for (var t = 1; t <= 8; t++) $("#" + o.rongqiId + " div.circle").removeClass("circle" + t);
$("#" + o.rongqiId + " div.circle").addClass("circle" + e)
}
function getObjInfo(e, o) {
for (var t = 1; t <= 16; t++) e == t ? $("#" + o.rongqiId + " div#videoMask" + e).addClass("selecedVideoMask").css("border", "".concat(o.selectWidth, "px solid ").concat(o.color)) : $("#" + o.rongqiId + " div#videoMask" + t).removeClass("selecedVideoMask").css("border", "1px solid #1c1c1c");
o.selector = "#" + o.rongqiId + " #videoPlayer" + e, o.playingSelectedWinNum = e, o.playingSelecteddevCode = o["playerInfo" + e].devCode;
var r = o["playerInfo" + e].devCode || null, n = o["playerInfo" + e].showName || null,
a = o["playerInfo" + e].streamType || null, i = 0, c = 0,
s = (o.playerObj["videoPlayer".concat(e)] && (i = (s = document.getElementById(o.rongqiId)).querySelector("#videoPlayer".concat(e)).videoWidth, c = s.querySelector("#videoPlayer".concat(e)).videoHeight), o.playerObj["player".concat(e)] && (i = o.playerObj["player".concat(e)].videoWidth, c = o.playerObj["player".concat(e)].videoHeight), {
windowIndex: e,
devCode: r,
showName: n,
streamType: a,
videoWidth: i,
videoHeight: c,
winWidth: $("#videoMask" + e).width(),
winHeight: $("#videoMask" + e).height()
});
return execute(o.returnFuc, "102", s), [o.playingSelectedWinNum, o.playingSelecteddevCode]
}
function destoryVideoObj(e) {
$("#" + e).html("")
}
function showBtns(e, o, t) {
if (e && "jpg" === t["playerInfo" + o].packageMethod) return $("#".concat(t.rongqiId, " #fullBtnBox").concat(o)).show(), $("#" + t.rongqiId + " #closeBtn" + o).show(), $("#" + t.rongqiId + " img#volumeBtn" + o).hide(), $("#" + t.rongqiId + " img#picBtn" + o).hide(), $("#" + t.rongqiId + " img#talkBtn" + o).hide(), $("#" + t.rongqiId + " div#circle" + o).hide(), void (document.querySelector("#" + t.rongqiId + " #recordVideo" + o).style.display = "none");
var r, n;
e || "jpg" !== t["playerInfo" + o].packageMethod ? (r = t.playerObj["videoPlayer".concat(o)] || t.playerObj["player".concat(o)] || null, n = $("#" + t.rongqiId + " img#stickBtn" + o).attr("data-status"), e && r ? ($("#" + t.rongqiId + " img#closeBtn" + o).show(), "replay" === t.objType ? $("#" + t.rongqiId + " img#picBtn" + o).hide() : $("#" + t.rongqiId + " img#picBtn" + o).show(), "replay" === t.objType ? $("#" + t.rongqiId + " img#talkBtn" + o).hide() : $("#" + t.rongqiId + " img#talkBtn" + o).show(), $("#" + t.rongqiId + " img#stickBtn" + o).show(), $("#" + t.rongqiId + " div#fullBtnBox" + o).show(), t.showCircleCloud ? $("#" + t.rongqiId + " div#circle" + o).show() : $("#" + t.rongqiId + " div#circle" + o).hide()) : ($("#" + t.rongqiId + " div#fullBtnBox" + o).hide(), $("#" + t.rongqiId + " div#circle" + o).hide(), 1 == n && $("#" + t.rongqiId + " div#fullBtnBox" + o).show()), r || ($("#" + t.rongqiId + " img#stickBtn" + o).attr("data-status", "0"), $("#" + t.rongqiId + " div#fullBtnBox" + o).removeClass("block"), $("#" + t.rongqiId + " img#closeBtn" + o).removeClass("inlineBlock"), $("#" + t.rongqiId + " img#volumeBtn" + o).removeClass("inlineBlock"), $("#" + t.rongqiId + " img#picBtn" + o).removeClass("inlineBlock"), $("#" + t.rongqiId + " img#fullScreenBtn" + o).removeClass("inlineBlock"), $("#" + t.rongqiId + " img#stickBtn" + o).removeClass("inlineBlock"))) : $("#".concat(t.rongqiId, " #fullBtnBox").concat(o)).hide()
}
function fullScreen(e, o, t) {
e.requestFullscreen ? e.requestFullscreen() : e.webkitRequestFullscreen ? e.webkitRequestFullScreen() : e.mozRequestFullScreen ? e.mozRequestFullScreen() : e.msRequestFullscreen ? e.msRequestFullscreen() : e.oRequestFullscreen ? e.oRequestFullscreen() : alert("浏览器版本太低,无法实现全屏!"), t.isAllScreen = 1
}
function exitScreen(e, o, t) {
document.fullscreenElement && document.fullscreenElement.classList.contains("videoZoomIE") && (document.exitFullscreen ? document.exitFullscreen() : document.mozCancelFullScreen ? document.mozCancelFullScreen() : document.webkitExitFullscreen ? document.webkitExitFullscreen() : document.msExitFullscreen && document.msExitFullscreen(), t.isAllScreen = 0)
}
function partFullScreen(e, o) {
o.isAllScreen || fullScreen(document.body.querySelector("#" + o.rongqiId + " .videoZoomIE"), e, o)
}
function videoTalk(e, o, t) {
var r = $("#" + o.rongqiId + " img#talkBtn" + e).attr("data-status");
if ("0" != r || o.isTalkingDevCode) {
if ("0" == r && o.isTalkingDevCode) return alert("有设备进行对讲"), -1;
"1" == r && ($("#" + o.rongqiId + " img#talkBtn" + e).attr({
"data-status": "0",
src: "".concat(window.top.__BASE_LOCATION__, "images/realVideoImages/videoTalk.png")
}), o.isTalkingDevCode, o.isTalkingDevCode = "", endVideoTalk())
} else {
$("#" + o.rongqiId + " img#talkBtn" + e).attr({
"data-status": "1",
src: "".concat(window.top.__BASE_LOCATION__, "images/realVideoImages/videoTalking.png")
}), o.isTalkingDevCode = o["playerInfo" + e].devCode;
r = o["playerInfo" + e].videoTalkUrl;
t ? startVideoTalk(t) : r && startVideoTalk(r)
}
}
function realRecord(e, o) {
var t, r, n, a = $("#" + o.rongqiId + " img#recordVideo" + e).attr("data-status");
$("#errortip" + e).attr("class").indexOf("hide") < 0 ? alert("当前无设备,无法录制视频!") : ("0" === a ? $("#" + o.rongqiId + " img#recordVideo" + e).attr({
"data-status": "1",
src: "".concat(window.top.__BASE_LOCATION__, "images/realVideoImages/recordVideoing.png")
}) : "1" === a ? $("#" + o.rongqiId + " img#recordVideo" + e).attr({
"data-status": "2",
src: "".concat(window.top.__BASE_LOCATION__, "images/realVideoImages/recordVideo.png")
}) : "2" === a && $("#" + o.rongqiId + " img#recordVideo" + e).attr({
"data-status": "1",
src: "".concat(window.top.__BASE_LOCATION__, "images/realVideoImages/recordVideoing.png")
}), "1" == (a = $("#" + o.rongqiId + " img#recordVideo" + e).attr("data-status")) && videoUrl && (n = o["playerInfo" + e].sessionId, r = (new Date).getTime(), t = o["playerInfo" + e].devCode, r = o.gatewayURL + "/uvp-micro-service/storage/api/v1/realRecord?ak=".concat(o.ak, "&token=").concat(o.token, "&timestamp=").concat(r, "&nonce=").concat(n), $.ajax({
url: r,
type: "post",
data: JSON.stringify({sessionId: n, code: t, cmd: "continue", duration: ""}),
contentType: "application/json",
success: function (e) {
e && 200 == e.resultCode && console.log("开始录制")
}
})), "2" === a && videoUrl && (r = o["playerInfo" + e].sessionId, n = o["playerInfo" + e].devCode, $.ajax({
url: videoUrl,
type: "post",
data: JSON.stringify({sessionId: r, code: n, cmd: "stop", duration: ""}),
contentType: "application/json",
success: function (e) {
e && 200 == e.resultCode && console.log("录制完成")
}
})))
}
function recordVideoFuc(e, n, a) {
var o = $("#" + n.rongqiId + " img#recordVideo" + e).attr("data-status");
if ($("#errortip" + e).attr("class").indexOf("hide") < 0) throw new Error("当前窗口无设备播放,无法录制视频");
var i = n["playerInfo" + e].devCode;
if (!i) throw new Error("当前窗口无设备播放,无法录制视频");
"0" === o ? $("#" + n.rongqiId + " img#recordVideo" + e).attr({
"data-status": "1",
src: "".concat(window.top.__BASE_LOCATION__, "images/realVideoImages/recordVideoing.png")
}) : "1" === o ? $("#" + n.rongqiId + " img#recordVideo" + e).attr({
"data-status": "2",
src: "".concat(window.top.__BASE_LOCATION__, "images/realVideoImages/recordVideo.png")
}) : "2" === o && $("#" + n.rongqiId + " img#recordVideo" + e).attr({
"data-status": "1",
src: "".concat(window.top.__BASE_LOCATION__, "images/realVideoImages/recordVideoing.png")
});
var c, s, t, r, o = $("#" + n.rongqiId + " img#recordVideo" + e).attr("data-status"),
l = n["playerInfo" + e].videoUrl, d = n["playerInfo" + e].packageMethod;
1 == o && l && (t = generateUUID(), n["playerInfo" + e].downloadSession = t, 0 < l.indexOf("directurl") ? (r = "format=" + n.downloadFileTpye, s = l.replace("format=mp4", r).replace("format=MP4", r).replace("format=flv", r).replace("format=FLV", r).replace("format=ps", r).replace("format=PS", r), r = new Date, c = "-" + r.getFullYear() + "-" + (r.getMonth() + 1) + "-" + r.getDate() + "-" + r.getHours() + ":" + r.getMinutes() + ":" + r.getSeconds(), 0 <= s.indexOf("sessionId") ? (s = replaceParamVal(s, "&sessionId", t), $("#" + n.rongqiId + " #videoPlayer" + e).attr("data-videourl-down", s)) : s += "&sessionId" + t, $.ajax({
url: s,
type: "GET",
success: function (e) {
var o, t, r;
"string" == typeof e && (t = JSON.parse(e), ["401", "403"].includes(t.resultCode + "") && (o = {errorCode: t.resultCode}, execute(n.returnFuc, t.resultCode + "", o))), e && 301 == e.resultCode && (t = (s = e.location || e.Location).indexOf("?"), o = s.slice(0, t), e = s.slice(t), t = "".concat(i, "_").concat(c), a && (t = a), s = "".concat(o, "/").concat(t, ".").concat(n.downloadFileTpye).concat(e), (r = document.createElement("a")).style.display = "none", r.href = s, r.download = "".concat(o, "/").concat(t, ".").concat(n.downloadFileTpye).concat(e), document.body.appendChild(r), r.click(), document.body.removeChild(r))
}
})) : (0 <= l.indexOf("sessionId") ? (l = replaceParamVal(l, "&sessionId", t), $("#" + n.rongqiId + " #videoPlayer" + e).attr("data-videourl-down", l)) : s += "&sessionId" + t, s = l + "&redirect=false", r = "format=" + n.downloadFileTpye, s = s.replace("format=mp4", r = "h265" === d ? "format=ps" : r).replace("format=MP4", r).replace("format=flv", r).replace("format=FLV", r).replace("format=ps", r).replace("format=PS", r), $.ajax({
url: s,
type: "GET",
success: function (e) {
var o, t, r;
"string" == typeof e && (t = JSON.parse(e), ["401", "403"].includes(t.resultCode + "") && (o = {errorCode: t.resultCode}, execute(n.returnFuc, t.resultCode + "", o))), e && 301 == e.resultCode && (s = e.location || e.Location, n.proxyIp && (t = s.indexOf("/", 8), s = n.proxyIp + s.slice(t)), e = "-" + (o = new Date).getFullYear() + "-" + (o.getMonth() + 1) + "-" + o.getDate() + "-" + o.getHours() + ":" + o.getMinutes() + ":" + o.getSeconds(), t = s.indexOf("?"), o = s.slice(0, t), t = s.slice(t), e = "".concat(i, "_").concat(e), a && (e = a), s = "".concat(o, "/").concat(e, ".").concat(n.downloadFileTpye).concat(t), (r = document.createElement("a")).style.display = "none", r.href = s, r.download = "".concat(o, "/").concat(e, ".").concat(n.downloadFileTpye).concat(t), document.body.appendChild(r), r.click(), document.body.removeChild(r))
},
error: function (e) {
console.log(e)
}
}))), "2" === o && l && (0 < l.indexOf("directurl") ? (t = n["playerInfo" + e].downloadSession, d = n.gatewayURL + "/uvp-micro-service/mediatranscode/api/v1/playControl?ak=" + n.ak + "&token=" + n.token + "&timestamp=" + (new Date).getTime() + "&nonce=" + t + "&sessionId=" + t, $.ajax({
url: d,
type: "post",
data: JSON.stringify({sessionId: t, cmd: "stop", scale: "", range: ""}),
contentType: "application/json",
success: function (e) {
e && 200 == JSON.parse(e).ResultCode && console.log("后台关闭流成功")
},
error: function (e) {
console.log("后台关闭流失败")
},
complete: function (e, o) {
"tokenTimeout" != e.getResponseHeader("sessionstate") && "timeout" != e.getResponseHeader("sessionstate") && "nouser" != e.getResponseHeader("sessionstate") || window.top.postMessage({
key: "loginOut",
value: ""
}, "*")
}
})) : (r = n["playerInfo" + e].downloadSession, o = n.gatewayURL + "/uvp-micro-service/mediatranscode/api/v1/playControl?ak=" + n.ak + "&token=" + n.token + "&timestamp=" + (new Date).getTime() + "&nonce=" + r + "&sessionId=" + r, $.ajax({
url: o,
type: "post",
data: JSON.stringify({sessionId: r, cmd: "stop", scale: "", range: ""}),
contentType: "application/json",
success: function (e) {
200 == e.resultCode && console.log("后台关闭流成功")
},
error: function (e) {
console.log("后台关闭流失败")
},
complete: function (e, o) {
"tokenTimeout" != e.getResponseHeader("sessionstate") && "timeout" != e.getResponseHeader("sessionstate") && "nouser" != e.getResponseHeader("sessionstate") || window.top.postMessage({
key: "loginOut",
value: ""
}, "*")
}
})))
}
function stickTop(e, o) {
var t = Number($("#" + o.rongqiId + " img#stickBtn" + e).attr("data-status"));
0 == t ? $("#" + o.rongqiId + " img#stickBtn" + e).attr({
"data-status": "1",
src: "".concat(window.top.__BASE_LOCATION__, "images/realVideoImages/sticking.png")
}) : 1 == t && $("#" + o.rongqiId + " img#stickBtn" + e).attr({
"data-status": "0",
src: "".concat(window.top.__BASE_LOCATION__, "images/realVideoImages/stick.png")
})
}
function picSave(e, o, t) {
var r = o["playerInfo" + e].devCode, n = (new Date).Format("yyyy-MM-dd HH:mm:ss"), t = t ? t : r + "_" + n;
return o.playerObj["player".concat(e)] ? savePic(t, "#" + o.rongqiId + " div#canvasPlayerCont" + e + " canvas", "h265", o.playerObj["player".concat(e)]) : o.playerObj["videoPlayer".concat(e)] ? savePic(t, "#" + o.rongqiId + " #videoPlayer" + e, "", o.playerObj["videoPlayer".concat(e)]) : void 0
}
function reconnect(r, n) {
var a = n["playerInfo" + r].packageMethod, i = n["playerInfo" + r].devCode, c = n["playerInfo" + r].videoUrl,
s = n["playerInfo" + r].videoTalkUrl, l = n["playerInfo" + r].showName, d = n["playerInfo" + r].streamType,
e = n["playerInfo" + r].sessionId, c = c.replace(e, generateUUID()), p = captureFuc(r, n),
u = $(".videoBox".concat(r)).width(), y = $(".videoBox".concat(r)).height(),
e = n.gatewayURL + "/uvpMircoServer/media/control?token=" + n.token + "&cmd=stop&sessionid=" + e + "&time=" + (new Date).getTime();
$.ajax({
url: e, type: "GET", xhrFields: {withCredentials: !0}, crossDomain: !0, success: function (e) {
e && 200 == JSON.parse(e).ResultCode && (console.log("后台关闭流成功"), $("#".concat(n.rongqiId, " #picImgCL").concat(r)).width(u + "px"), $("#".concat(n.rongqiId, " #picImgCL").concat(r)).height(y + "px"), $("#".concat(n.rongqiId, " #picImgCL").concat(r)).attr({src: p}).removeClass("hide"), videoObjPlay(r, a, i, c, s, l, d, n))
}, error: function (e) {
console.log("后台关闭流失败");
var o = 0, t = setInterval(function () {
console.log("后台关闭流失败````````````````"), document.getElementById("videoPlayer".concat(r)).addEventListener("playing", function () {
$("#".concat(n.rongqiId, " #picImgCL").concat(r)).attr({src: ""}).addClass("hide"), clearInterval(t)
}), $("#".concat(n.rongqiId, " #picImgCL").concat(r)).width(u + "px"), $("#".concat(n.rongqiId, " #picImgCL").concat(r)).height(y + "px"), $("#".concat(n.rongqiId, " #picImgCL").concat(r)).attr({src: p}).removeClass("hide"), videoObjPlay(r, a, i, c, s, l, d, n), 3 <= (o += 1) && clearInterval(t)
}, 2e3)
}, complete: function (e, o) {
"tokenTimeout" != e.getResponseHeader("sessionstate") && "timeout" != e.getResponseHeader("sessionstate") && "nouser" != e.getResponseHeader("sessionstate") || window.top.postMessage({
key: "loginOut",
value: ""
}, "*")
}
})
}
function captureFuc(e, o) {
var t = "";
return 1 == $("#" + o.rongqiId + " #canvasPlayer" + e).attr("data-status") && o.playerObj["player" + e] ? t = savePicCL(o["playerInfo" + e].devCode + "_" + (new Date).Format("yyyy-MM-dd HH:mm:ss"), "#" + o.rongqiId + " div#canvasPlayerCont" + e + " canvas", "h265", o.playerObj["player" + e]) : o.playerObj["videoPlayer" + e] && (t = savePicCL(o["playerInfo" + e].devCode + "_" + (new Date).Format("yyyy-MM-dd HH:mm:ss"), "#" + o.rongqiId + " #videoPlayer" + e, "", o.playerObj["videoPlayer" + e])), t = "data:image/png;base64," + t
}
function savePicCL(e, o, t, r) {
var n = "";
switch (e) {
case-1 < e.indexOf("png"):
0;
break;
case-1 < e.indexOf("jpg"):
0;
break;
case-1 < e.indexOf("jpeg"):
0;
break;
case-1 < e.indexOf("bmp"):
0;
break;
case-1 < e.indexOf("gif"):
0;
break;
default:
0
}
var o = document.querySelector(o), a = window.canvas = document.createElement("canvas");
if ("h265" === t) {
if (a.width = o.clientWidth, a.height = o.clientHeight, "" !== r.cutPicJson) {
var t = r.cutPicJson.data, i = r.cutPicJson.videoWidth, c = r.cutPicJson.videoHeight,
s = r.cutPicJson.yLength, l = r.cutPicJson.uvLength;
new WebGLPlayer(a, {preserveDrawingBuffer: !0}).renderFrame(t, i, c, s, l), r.cutPicJson = "";
for (var n = (i = a.toDataURL().split(","))[1], t = i[0].match(/:(.*?);/)[1], d = atob(i[1]), p = d.length, u = new Uint8Array(p); p--;) u[p] = d.charCodeAt(p);
var c = new Blob([u], {type: t}), y = window.URL.createObjectURL(c), m = document.createElement("a"),
v = (m.style.display = "none", m.href = y, m.download = e, document.body.appendChild(m), setTimeout(function () {
document.body.removeChild(m), window.URL.revokeObjectURL(y), clearTimeout(v)
}, 1e3))
}
} else {
a.width = o.clientWidth, a.height = o.clientHeight, a.getContext("2d").drawImage(o, 0, 0, a.width, a.height);
n = (i = a.toDataURL("image/png").split(","))[1]
}
return n
}
function generateUUID() {
var t = (new Date).getTime();
return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (e) {
var o = (t + 16 * Math.random()) % 16 | 0;
return t = Math.floor(t / 16), ("x" == e ? o : 3 & o | 8).toString(16)
})
}
function replaceParamVal(oUrl, paramName, replaceWith) {
var re = eval("/(" + paramName + "=)([^&]*)/gi"), nUrl = oUrl.replace(re, paramName + "=" + replaceWith);
return nUrl
}
function GetQueryString(e, o) {
o = new RegExp("(^|&?)" + o + "=([^&]*)(&|$)"), e = e.match(o);
return null != e ? unescape(e[2]) : null
}
function addRightMenu(e, t) {
e.preventDefault();
var r = t.playingSelectedWinNum;
if (t.playerObj["videoPlayer".concat(r)] || t.playerObj["player".concat(r)] || null) {
var n = t.menuArr,
o = ($("#" + t.rongqiId + " .rightMenu").length && $("#" + t.rongqiId + " .rightMenu").remove(), ""),
a = !0;
"replay" == t.objType && n.splice(4, 1);
for (var i = 0; i < n.length; i++) {
for (var c = 0; c < t.showMenuArr.length; c++) t.showMenuArr[c].num == r && n[i].menuCode == t.showMenuArr[c].menuCode && 0 == t.showMenuArr[c].isShow && (a = !1);
a ? o += "<div id=".concat(n[i].menuCode, " class='menuItem'>").concat(n[i].menuName, "</div>") : a = !0
}
var s = "<div class='rightMenu' style=\"left:0px;top:0px;display:none\">",
s = (s = s + o + "</div>", $("#" + t.rongqiId + " .videoZoomIE").append(s), $("#" + t.rongqiId + " .videoZoomIE").width()),
l = $("#" + t.rongqiId + " .videoZoomIE").height(),
d = e.x - document.querySelector(".videoZoomIE").getBoundingClientRect().left,
e = e.y - document.querySelector(".videoZoomIE").getBoundingClientRect().top, p = $(".rightMenu").width(),
u = $(".rightMenu").height(),
y = (s < 2 * d && (d -= p), l < 2 * e && (e -= u), document.querySelector(".rightMenu").style.left = d + "px", document.querySelector(".rightMenu").style.top = e + "px", document.querySelector(".rightMenu").style.display = "block", t["playerInfo" + r].devCode),
m = t["playerInfo" + r].showName, v = t["playerInfo" + r].streamType, g = t["playerInfo" + r].packageMethod;
$("#" + t.rongqiId + " .rightMenu .menuItem").click(function (e) {
e.stopPropagation(), document.getElementsByClassName("rightMenu")[0].style.display = "none", "关闭当前视频" === e.target.innerHTML ? videoObjClose(r, t, !0) : "关闭所有视频" === e.target.innerHTML ? t.closeAllVideo() : "工况信息" === e.target.innerHTML ? (o = t.gkInfo, $.ajax({
async: !1,
data: JSON.stringify({devCode: y}),
dataType: "json",
contentType: "application/json",
crossDomain: !0,
url: t.gatewayURL + "/uvp-backend-common/api/v1/resource/call?ak=".concat(t.ak, "&token=").concat(t.token, "&timestamp=").concat((new Date).getTime(), "&nonce=").concat(generateUUID()),
type: "post",
success: function (e) {
e.successful && (e = (null == (e = e.resultValue) ? void 0 : e.length) || 0, e = '<div class="title">\n\t\t\t\t\t\t\t\t\t\t<span>工况信息</span>\n\t\t\t\t\t\t\t\t\t\t<div id="infoClose">\n\t\t\t\t\t\t\t\t\t\t\t<img style="object-fit: contain;cursor: pointer" src=\''.concat(window.top.__BASE_LOCATION__, "images/realVideoImages/closeVideo.png' alt='' title='关闭' />\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"info\">\n\t\t\t\t\t\t\t\t\t\t<div><span class=\"subTitle\">视频名称:</span><span>").concat(m, '</span></div>\n\t\t\t\t\t\t\t\t\t\t<div><span class="subTitle">视频编码:</span><span>').concat(y, '</span></div>\n\t\t\t\t\t\t\t\t\t\t<div><span class="subTitle">解码标签:</span><span>').concat(g, '</span></div>\n\t\t\t\t\t\t\t\t\t\t<div><span class="subTitle">视频连接数:</span><span>').concat(e, '</span></div>\n\t\t\t\t\t\t\t\t\t\t<div><span class="subTitle">视频码率:</span><span id=\'malv').concat(r, "'>--</span></div>"), o && "video" == t.objType && (e += '<div><span class="subTitle">视频帧率:</span><span class="zhenlv">--</span></div>\n\t\t\t\t\t\t\t\t\t\t\t<div><span class="subTitle">设备位置:</span><span class="weizhi">--</span></div>\n\t\t\t\t\t\t\t\t\t\t\t<div><span class="subTitle">信号状态:</span><span class="xinhao">--</span></div>'), e += "</div>", $("#maskBox").show(), $("#videoInfo").html(e).show(), $("#" + t.rongqiId + " #infoClose").click(function (e) {
$("#videoInfo").hide(), $("#maskBox").hide(), e.stopPropagation()
}))
},
error: function (e) {
console.log("数据获取失败", e)
},
complete: function (e, o) {
"tokenTimeout" != e.getResponseHeader("sessionstate") && "timeout" != e.getResponseHeader("sessionstate") && "nouser" != e.getResponseHeader("sessionstate") || window.top.postMessage({
key: "loginOut",
value: ""
}, "*")
}
}), o && ($.ajax({
data: JSON.stringify({Code: y}),
dataType: "json",
contentType: "application/json",
crossDomain: !0,
url: t.gatewayURL + "/uvpMircoServer/ses/api/v1/videoParamCfg?devCode=".concat(y, "&ak=").concat(t.ak, "&token=").concat(t.token, "&timestamp=").concat((new Date).getTime(), "&nonce=").concat(generateUUID()),
type: "post",
success: function (e) {
e.successful && (e.resultValue && e.resultValue[0].FrameRate ? document.querySelector("#videoInfo").querySelector(".info .zhenlv").innerHTML = e.resultValue[0].FrameRate : console.error(e.resultHint))
},
error: function (e) {
console.log("err", e)
}
}), $.ajax({
data: JSON.stringify({Code: y}),
dataType: "json",
contentType: "application/json",
crossDomain: !0,
url: t.gatewayURL + "/uvpMircoServer/ses/api/v1/getGKInfo?devCode=".concat(y, "&ak=").concat(t.ak, "&token=").concat(t.token, "&timestamp=").concat((new Date).getTime(), "&nonce=").concat(generateUUID()),
type: "post",
success: function (e) {
var o, t, r;
e.successful && (e.resultValue ? (o = document.querySelector("#videoInfo"), e.resultValue.RSSI && (o.querySelector(".info .xinhao").innerHTML = e.resultValue.RSSI), (e.resultValue.Longitude || e.resultValue.Latitude) && (o = o.querySelector(".info .weizhi"), t = e.resultValue.Longitude, r = e.resultValue.Latitude, o.innerHTML = "".concat(t, "").concat(r))) : console.error(e.resultHint))
},
error: function (e) {
console.log("err", e)
}
}))) : "软解播放" === e.target.innerHTML ? ("h265" === g ? videoObjPlay265 : videoObjPlay264)(t.playingSelectedWinNum, t, "软解播放") : "硬解播放" === e.target.innerHTML ? ("h265" === g ? videoObjPlay265 : videoObjPlay264)(t.playingSelectedWinNum, t, "硬解播放") : "开启箭头云台" === e.target.innerHTML ? (console.log("开启3D云台"), t.showControlPanel(1, !0), t.isDrag && (t.show3dCloud = !0), t.menuArr.splice(4, 1, {
menuCode: "rightMenu05",
menuName: "关闭箭头云台"
})) : "关闭箭头云台" === e.target.innerHTML && (console.log("关闭3D云台"), t.showControlPanel(1, !1), t.show3dCloud = !1, t.menuArr.splice(4, 1, {
menuCode: "rightMenu05",
menuName: "开启箭头云台"
}), gMapDestroy(t));
var o, e = {windowIndex: r, devCode: y, showName: m, streamType: v, menuCode: e.target.id, menuArr: n};
execute(t.returnFuc, "106", e)
})
}
}
function isContainSpeciaiSymbol(e) {
return /[`~!@#$%^*&()+={}':;"',/\/\[\].<>/¥……|?【】《》,。、?;:“”’‘()!]/.test(e)
}
function getRectSize(e, o) {
var t = 0, r = 0;
return e && o && e.x && e.y && o.x && o.y && (t = e.x < o.x ? o.x - e.x : e.x - o.x, r = e.y < o.y ? o.y - e.y : e.y - o.y), {
x: t,
y: r
}
}
function initAILabel(e, l) {
console.log("画布容器:", e);
var d, p, u = l.playingSelecteddevCode, o = (l.gMap && l.gMap.destroy(), document.querySelector("#".concat(e))),
y = o.clientHeight, m = o.clientWidth, v = {strokeStyle: "#ff0000", lineWidth: 2},
g = (l.gMap = new AILabel.Map(e, {
center: {x: m / 2, y: y / 2},
zoom: 1e3,
mode: "BAN",
size: {width: m, height: y}
}), new AILabel.Layer.Feature("feature_".concat(+new Date), {name: "矢量图层"}, {zIndex: 2e3}));
l.gMap.addLayer(g), l.gMap.setMode("RECT"), l.gMap.setDrawingStyle(v), l.gMap.disableDrawingTip(), l.gMap.events.on("click", function () {
}), l.gMap.events.on("mouseDown", function (e) {
d = e.screen, g.removeAllFeatures()
}), l.gMap.events.on("mouseUp", function (e) {
p = e.screen
}), l.gMap.events.on("drawDone", function (e, o) {
var t, r, n, a, i, c, s = getRectSize(d, p);
s.x <= 30 && s.x <= 30 ? console.error("画的矩形太小了") : (o = new AILabel.Feature.Rect("rect_".concat(+new Date), o, {name: "矩形"}, v), g.addFeature(o, {clear: !0}), t = u, o = m.toFixed(0).toString(), n = y.toFixed(0).toString(), a = (i = d.x < p.x && d.y < p.y ? (r = "1", AILabel.Util.MathUtil.getMiddlePoint(d, p)) : (r = "2", AILabel.Util.MathUtil.getMiddlePoint(p, d))).x.toFixed(0).toString(), i = i.y.toFixed(0).toString(), c = s.x.toFixed(0).toString(), s = s.y.toFixed(0).toString(), $.ajax({
data: JSON.stringify({
Code: t,
Type: r,
WindowsLength: o,
WindowsWidth: n,
CenterX: a,
CenterY: i,
BoxLength: c,
BoxWidth: s
}),
dataType: "json",
contentType: "application/json",
crossDomain: !0,
url: l.gatewayURL + "/uvpMircoServer/ses/api/v1/dragFocusCamera?devCode=".concat(u, "&ak=").concat(l.ak, "&token=").concat(l.token, "&timestamp=").concat((new Date).getTime(), "&nonce=").concat(generateUUID()),
type: "POST",
success: function (e) {
if (!e.successful) throw gMapDestroy(l), new Error("设备不支持3D云台功能 ".concat(t));
gMapDestroy(l)
},
error: function (e) {
console.log("err", e), gMapDestroy(l)
}
}))
}), window.onresize = function () {
l.gMap && l.gMap.resize()
}
}
function gMapDestroy(e) {
setTimeout(function () {
e.gMap && e.gMap.destroy(), e.gMap = null
}, 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : 1e3)
}
function consoleLog(e) {
for (var o = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : 3, t = arguments.length, r = new Array(2 < t ? t - 2 : 0), n = 2; n < t; n++) r[n - 2] = arguments[n];
1 == o ? console.log("%c ".concat(e, " %c ").concat(r), "color: #ffffff;background-color: #606060;padding: 2px 4px 2px 8px;font-size: 12px;border-radius: 4px 0 0 4px;", "color: #ffffff;background-color: #77c17e;padding: 2px 8px 2px 4px;font-size: 12px;border-radius: 0 4px 4px 0;") : 2 == o ? console.log("%c ".concat(e), "color: #ffffff;background-color: #409eff;padding: 2px 8px;font-size: 12px;border-radius: 4px;", "".concat(r)) : 3 == o ? console.log("%c ".concat(e), "color: #222222;background-color: #ffc64b;padding: 2px 8px;font-size: 12px;border-radius: 4px;", "".concat(r)) : console.log("".concat(e), "".concat(r))
}
function divResizeHandler(e) {
console.log("div size");
for (var o = e.rongqiId, t = 1; t <= 16; t++) {
var r = document.querySelector("#".concat(o, " #videoBox").concat(t)).clientWidth;
$("#" + o + " #errortip" + t).removeClass("error_small").removeClass("error_mini").removeClass("error_big"), 380 <= +r && +r < 500 ? $("#" + o + " #errortip" + t).addClass("error_small") : +r < 380 ? $("#" + o + " #errortip" + t).addClass("error_mini") : $("#" + o + " #errortip" + t).addClass("error_big")
}
}
function divResizeObserver(e) {
var i = e.rongqiId;
try {
for (var o = new ResizeObserver(function (e) {
console.log("**");
var o, t = _createForOfIteratorHelper(e);
try {
for (t.s(); !(o = t.n()).done;) {
var r = o.value, n = "".concat(r.contentRect.width), a = "".concat(r.target.id);
$("#" + i + " #" + a + " .errortip").removeClass("error_small").removeClass("error_mini").removeClass("error_big"), 380 <= +n && +n < 500 ? $("#" + i + " #" + a + " .errortip").addClass("error_small") : +n < 380 ? $("#" + i + " #" + a + " .errortip").addClass("error_mini") : $("#" + i + " #" + a + " .errortip").addClass("error_big")
}
} catch (e) {
t.e(e)
} finally {
t.f()
}
}), t = e.screenNum, r = 1; r <= t; r++) {
var n = document.getElementById("videoBox" + r);
n && o.observe(n)
}
} catch (n) {
console.log(n.message), divResizeHandler(e)
}
}
Date.prototype.Format = function (e) {
var o, t = {
"M+": this.getMonth() + 1,
"d+": this.getDate(),
"H+": this.getHours(),
"m+": this.getMinutes(),
"s+": this.getSeconds(),
"q+": Math.floor((this.getMonth() + 3) / 3),
S: this.getMilliseconds()
};
for (o in /(y+)/.test(e) && (e = e.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length))), t) new RegExp("(" + o + ")").test(e) && (e = e.replace(RegExp.$1, 1 == RegExp.$1.length ? t[o] : ("00" + t[o]).substr(("" + t[o]).length)));
return e
};