let dataUrl = "http://sgwpdm.ah.sgcc.com.cn/basfs/"; let puId = new GetRequest().puid let type; let connparam={}; let _cf ={ ver:'debug', q2http_url: '', websocket_url:'', // - 配置登录参数 connParams : { // - 登录平台IP address : "", port : "", // - 登录平台用户名 user : "", // - 登录平台密码 password :"", // - 登录平台企业ID epid : "", // - 登录平台是否通过网闸模式 bfix :1 } } $(function () { if (isNumber(puId)) { let num = puId.indexOf("15"); type = num === 0 ? '1' : '2' } else { alert("puId错误!!!") } $.ajax({ url: dataUrl + "proteam/api/ballrisk/getDeviceState", type: "POST", data: { puid: encrypt(puId), type: encrypt(type) }, success: function (data) { var configData=data.config; if(typeof(configData)!='undefined'){ _cf.q2http_url=configData.q2httpUrl; _cf.websocket_url=configData.websocketUrl; _cf.connParams.address=configData.videoIp; _cf.connParams.port=configData.videoPort; _cf.connParams.user=configData.videoUser; _cf.connParams.password=configData.videoPassword; _cf.connParams.epid=configData.epid; _cf.connParams.bfix=configData.bfix*1; }else{ _cf.q2http_url='http://220.248.250.31:29605/icvs2/'; _cf.websocket_url='ws://220.248.250.31:29605/wss'; _cf.connParams.address="10.138.219.3"; _cf.connParams.port="29988"; _cf.connParams.user="bns4"; _cf.connParams.password="Bns@2023**"; _cf.connParams.epid="system"; _cf.connParams.bfix=1; } console.log(_cf); introduce("videoQX.js") console.log(data); if (data.code === "1") { if (data.status !== "1") { layer.msg("球机不在线", { icon: 2, time: 2000 //2秒关闭(如果不配置,默认是3秒) }); } else { } } else { layer.msg("服务链接异常", { icon: 2, time: 2000 //2秒关闭(如果不配置,默认是3秒) }); } }, error: function (error) { introduce("videoQX.js"); _cf.q2http_url='http://220.248.250.31:29605/icvs2/'; _cf.websocket_url='ws://220.248.250.31:29605/wss'; _cf.connParams.address="10.138.219.3"; _cf.connParams.port="29988"; _cf.connParams.user="bns4"; _cf.connParams.password="Bns@2023**"; _cf.connParams.epid="system"; _cf.connParams.bfix=1; layer.msg('服务链接异常', { icon: 2, time: 2000 //2秒关闭(如果不配置,默认是3秒) }); } }); $('#return').on('click', function () { window.close(); window.history.back(-1); }); $('.div').height($('.div').width()) }); /***引入 js / css 文件 @param {string} url js/css文件路径 @example: aui.import('js/aui.picker.js') @example: aui.import(['js/aui.picker.js', 'css/aui.picker.css']) */ function introduce(url) { switch (url.constructor) { case Array: for (const [index, item] of url.entries()) { creat(item); } break; case String: creat(url); break; default: break; } } function creat(file) { if (/^.+?\.js$/.test(file)) { //JS文件引入 let script = document.createElement("script"); script.setAttribute("type", "text/javascript"); script.setAttribute("src", file); document.querySelector('head').appendChild(script); } if (/^.+?\.css$/.test(file)) { //CSS文件引入 let css = document.createElement('link'); css.rel = 'stylesheet'; css.type = 'text/css'; css.href = file; document.querySelector('head').appendChild(css); } } /** * 获取链接中的参数 * @returns {Object} * @constructor */ function GetRequest() { let url = filterJS(location.search); //获取url中"?"符后的字串 let theRequest = {}; if (url.indexOf("?") !== -1 && url.indexOf("puid") !== -1) { let str = url.substr(1); let parameter = str.split("&"); for (let i = 0; i < parameter.length; i++) { theRequest[parameter[i].split("=")[0]] = (parameter[i].split("=")[1]); } } else { alert("puid错误!!!"); } return theRequest; } /** * 判断字符是否为空的方法 * @param obj * @returns {boolean} */ function isEmpty(obj) { if (typeof obj == "undefined" || obj == null || obj == "") { return true; } else { return false; } } function isNumber(val) { let regPos = /^\d+(\.\d+)?$/; if (regPos.test(val)) { return true; } else { return false; } } function screenshot(videos) { let image = new Image(); let video = videos[0]; let canvas = $('#canvas')[0]; let ctx = canvas.getContext('2d'); let H = window.innerHeight; let W = window.innerWidth; const pixelRatio = window.devicePixelRatio || 1; const backingStoreRatio = ctx.webkitBackingStorePixelRatio || ctx.mozBackingStorePixelRatio || ctx.msBackingStorePixelRatio || ctx.oBackingStorePixelRatio || ctx.backingStorePixelRatio || 1; const ratio = pixelRatio / backingStoreRatio; canvas.width = videos.width() * ratio; canvas.height = videos.height() * ratio; canvas.style.width = W + 'px'; canvas.style.height = H + 'px'; ctx.scale(ratio, ratio); ctx.drawImage(video, 0, 0, videos.width(), videos.height()); // 将video中的数据绘制到canvas里 image.src = canvas.toDataURL('image/jpg')/*.replace('image/jpg', 'image/octet-stream')*/; popUps(image) } /** * @param {Object} param */ function filterJS(param){ if(param==null ||param==""){ return null; } var filteArr = 'script,alert,console'; var splitArr = filteArr.split(','); for(var i=0;i', area: [width, height] }); } function videoFullscreen() { window.open('video.html?puid=' + puId, '_self'); } $(document).ready(function(){ let up = $('#up'); let time; up.mousedown(function () { control(1); time = setInterval(function () {//启动内层定时器每隔30毫秒重复执行事件函数 control(1); }, 1000); }); up.mouseup(function () { clearInterval(time); setTimeout("control(0)", 1000); }); let down = $('#down'); down.mousedown(function () { control(2); time = setInterval(function () {//启动内层定时器每隔30毫秒重复执行事件函数 control(2); }, 1000); }); down.mouseup(function () { clearInterval(time); setTimeout("control(0)", 1000); }); let left = $('#left'); left.mousedown(function () { control(3); time = setInterval(function () {//启动内层定时器每隔30毫秒重复执行事件函数 control(3); }, 1000); }); left.mouseup(function () { clearInterval(time); setTimeout("control(0)", 1000); }); let right = $('#right'); right.mousedown(function () { control(4); time = setInterval(function () {//启动内层定时器每隔30毫秒重复执行事件函数 control(4); }, 1000); }); right.mouseup(function () { clearInterval(time); setTimeout("control(0)", 1000); }); let zoomin = $('#zoomin'); zoomin.mousedown(function () { control(5); time = setInterval(function () {//启动内层定时器每隔30毫秒重复执行事件函数 control(5); }, 1000); }); zoomin.mouseup(function () { clearInterval(time); setTimeout("control(9)", 1000); }); let zoominout = $('#zoominout'); zoominout.mousedown(function () { control(6); time = setInterval(function () {//启动内层定时器每隔30毫秒重复执行事件函数 control(6); }, 1000); }); zoominout.mouseup(function () { clearInterval(time); setTimeout("control(9)", 1000); }); let near = $('#near'); near.mousedown(function () { control(7); time = setInterval(function () {//启动内层定时器每隔30毫秒重复执行事件函数 control(7); }, 1000); }); near.mouseup(function () { clearInterval(time); setTimeout("control(10)", 1000); }); let faraway = $('#faraway'); faraway.mousedown(function () { control(8); time = setInterval(function () {//启动内层定时器每隔30毫秒重复执行事件函数 control(8); }, 1000); }); faraway.mouseup(function () { clearInterval(time); setTimeout("control(10)", 1000); }); }); function hintPopUps(str) { let height = '30%'; let width = '90%'; layer.open({ title: ['提示', 'font-size:18px;align-items: center;'], type: 1, content: str, area: [width, height] }); }