2022-06-08 14:51:11 +08:00
|
|
|
|
import './jsencrypt.min.js'
|
|
|
|
|
|
// import {
|
|
|
|
|
|
// WebControl
|
|
|
|
|
|
// } from './jsWebControl-1.0.0.min.js'
|
|
|
|
|
|
|
2022-07-16 14:54:53 +08:00
|
|
|
|
var isChrome = navigator.userAgent.indexOf('Chrome') > -1 // 是否是谷歌
|
2022-06-08 14:51:11 +08:00
|
|
|
|
|
2022-07-16 14:54:53 +08:00
|
|
|
|
if (isChrome) {
|
2022-06-08 14:51:11 +08:00
|
|
|
|
// let WebControl = null
|
2022-07-16 14:54:53 +08:00
|
|
|
|
var aa = () => import('./jsWebControl-1.0.0.min.js')
|
|
|
|
|
|
aa().then(res => {
|
2022-06-08 14:51:11 +08:00
|
|
|
|
console.log(res)
|
|
|
|
|
|
WebControl = res.WebControl
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
2022-07-16 14:54:53 +08:00
|
|
|
|
console.log('谷歌' + isChrome)
|
2022-06-08 14:51:11 +08:00
|
|
|
|
var oWebControl = null;
|
|
|
|
|
|
var pubKey = '';
|
|
|
|
|
|
var initCount = 0;
|
2022-07-16 14:54:53 +08:00
|
|
|
|
var a, b, c, d, types, layouts;
|
2022-06-08 14:51:11 +08:00
|
|
|
|
var width, height;
|
|
|
|
|
|
// var _thiss;
|
|
|
|
|
|
// 获取公钥
|
|
|
|
|
|
// function getPubKey(callback) {
|
|
|
|
|
|
// oWebControl.JS_RequestInterface({
|
|
|
|
|
|
// funcName: "getRSAPubKey",
|
|
|
|
|
|
// argument: JSON.stringify({
|
|
|
|
|
|
// keyLength: 1024
|
|
|
|
|
|
// })
|
|
|
|
|
|
// }).then(function (oData) {
|
|
|
|
|
|
// console.log(oData)
|
|
|
|
|
|
// if (oData.responseMsg.data) {
|
|
|
|
|
|
// pubKey = oData.responseMsg.data
|
|
|
|
|
|
// callback()
|
|
|
|
|
|
// }
|
|
|
|
|
|
// })
|
|
|
|
|
|
// }
|
|
|
|
|
|
// RSA加密
|
|
|
|
|
|
function setEncrypt(value) {
|
|
|
|
|
|
var encrypt = new JSEncrypt();
|
|
|
|
|
|
encrypt.setPublicKey(pubKey);
|
|
|
|
|
|
return encrypt.encrypt(value);
|
|
|
|
|
|
}
|
|
|
|
|
|
// 反初始化
|
|
|
|
|
|
export function unInitObjPlugin() {
|
|
|
|
|
|
console.log('调用unInitObjPlugin', '5555555');
|
|
|
|
|
|
//
|
2022-07-16 14:54:53 +08:00
|
|
|
|
if (!oWebControl) {
|
2022-06-08 14:51:11 +08:00
|
|
|
|
return false;
|
|
|
|
|
|
}
|
|
|
|
|
|
oWebControl.JS_RequestInterface({
|
|
|
|
|
|
funcName: "destroyWnd"
|
|
|
|
|
|
}).then(function (oData) {
|
|
|
|
|
|
console.log(JSON.stringify(oData ? oData.responseMsg : ''));
|
|
|
|
|
|
console.log('销毁失败');
|
|
|
|
|
|
});
|
|
|
|
|
|
//
|
|
|
|
|
|
var bIE = (!!window.ActiveXObject || 'ActiveXObject' in window); // 是否为IE浏览器
|
|
|
|
|
|
if (bIE) {
|
|
|
|
|
|
if (oWebControl != null) {
|
|
|
|
|
|
oWebControl.JS_Disconnect().then(function () {
|
|
|
|
|
|
console.log("JS_Disconnect");
|
2022-07-16 14:54:53 +08:00
|
|
|
|
}, function () { });
|
2022-06-08 14:51:11 +08:00
|
|
|
|
}
|
|
|
|
|
|
} else {
|
|
|
|
|
|
if (oWebControl != null) {
|
|
|
|
|
|
oWebControl.JS_DestroyWnd().then(function () {
|
|
|
|
|
|
console.log("JS_DestroyWnd");
|
2022-07-16 14:54:53 +08:00
|
|
|
|
}, function () { });
|
2022-06-08 14:51:11 +08:00
|
|
|
|
oWebControl.JS_StopService("window").then(function () {
|
|
|
|
|
|
oWebControl.JS_Disconnect().then(function () {
|
|
|
|
|
|
console.log("JS_Disconnect");
|
2022-07-16 14:54:53 +08:00
|
|
|
|
}, function () { });
|
2022-06-08 14:51:11 +08:00
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
//预览视频
|
|
|
|
|
|
export function OpenVideo(cameraIndexCode, streamMode, winIndex) {
|
|
|
|
|
|
var transMode = +'1'; //传输协议:1、TCP 0、UDP
|
|
|
|
|
|
var gpuMode = +'0'; //是否启用GPU硬解:1、启用 0、不启用
|
|
|
|
|
|
|
|
|
|
|
|
oWebControl.JS_RequestInterface({
|
|
|
|
|
|
funcName: "startPreview",
|
|
|
|
|
|
argument: JSON.stringify({
|
|
|
|
|
|
cameraIndexCode: cameraIndexCode,
|
|
|
|
|
|
streamMode: streamMode,
|
|
|
|
|
|
transMode: transMode,
|
|
|
|
|
|
gpuMode: gpuMode,
|
|
|
|
|
|
wndId: -1
|
|
|
|
|
|
})
|
|
|
|
|
|
}).then(function (oData) {
|
|
|
|
|
|
console.log(oData.responseMsg.code === 336)
|
|
|
|
|
|
console.log(JSON.stringify(oData ? oData.responseMsg : ''));
|
2022-07-16 14:54:53 +08:00
|
|
|
|
|
2022-06-08 14:51:11 +08:00
|
|
|
|
// if(oData.responseMsg.code === 336){
|
|
|
|
|
|
// return
|
|
|
|
|
|
// }
|
|
|
|
|
|
console.log('预览视频失败');
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
// 设置窗口控制回调
|
|
|
|
|
|
function setCallbacks() {
|
|
|
|
|
|
oWebControl.JS_SetWindowControlCallback({
|
|
|
|
|
|
cbIntegrationCallBack: cbIntegrationCallBack
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 页面缩放比例
|
|
|
|
|
|
function getRatio() {
|
|
|
|
|
|
let bodyWidth = document.body.clientWidth
|
|
|
|
|
|
// console.log(window.screen.width)
|
|
|
|
|
|
let bodyHeight = document.body.clientHeight
|
|
|
|
|
|
let scaleWidthNum = bodyWidth / 1920
|
|
|
|
|
|
let scaleHeightNum = bodyHeight / 1080
|
2022-07-16 14:54:53 +08:00
|
|
|
|
|
2022-06-08 14:51:11 +08:00
|
|
|
|
let ratio;
|
2022-07-16 14:54:53 +08:00
|
|
|
|
if (scaleWidthNum > scaleHeightNum) {
|
2022-06-08 14:51:11 +08:00
|
|
|
|
ratio = scaleHeightNum
|
|
|
|
|
|
} else {
|
|
|
|
|
|
ratio = scaleWidthNum
|
|
|
|
|
|
}
|
|
|
|
|
|
return ratio;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 初始化
|
2022-07-16 14:54:53 +08:00
|
|
|
|
export function InitObjPlugin(appkey, secret, ip, port, type, videoData, layout) {
|
2022-06-08 14:51:11 +08:00
|
|
|
|
console.log(videoData)
|
|
|
|
|
|
a = appkey
|
|
|
|
|
|
b = secret
|
|
|
|
|
|
c = ip
|
|
|
|
|
|
d = port
|
|
|
|
|
|
types = type
|
2022-07-16 14:54:53 +08:00
|
|
|
|
layouts = layout
|
2022-06-08 14:51:11 +08:00
|
|
|
|
//
|
|
|
|
|
|
oWebControl = new WebControl({
|
2022-09-17 15:22:04 +08:00
|
|
|
|
szPluginContainer: "playWnd", //指定容器id
|
2022-06-08 14:51:11 +08:00
|
|
|
|
iServicePortStart: 15900,
|
|
|
|
|
|
iServicePortEnd: 15909,
|
|
|
|
|
|
szClassId: "23BF3B0A-2C56-4D97-9C03-0CB103AA8F11",
|
|
|
|
|
|
cbConnectSuccess: function () {
|
|
|
|
|
|
setCallbacks();
|
|
|
|
|
|
oWebControl.JS_StartService("window", {
|
|
|
|
|
|
dllPath: "./VideoPluginConnect.dll"
|
|
|
|
|
|
//dllPath: "./DllForTest-Win32.dll"
|
|
|
|
|
|
}).then(function () {
|
|
|
|
|
|
// if (type) {
|
|
|
|
|
|
// var a = document.getElementById('videoBoxContainer')
|
|
|
|
|
|
// width = a.offsetWidth - 10
|
|
|
|
|
|
// height = a.offsetHeight - 60
|
|
|
|
|
|
// } else {
|
2022-07-16 14:54:53 +08:00
|
|
|
|
// console.log(document.getElementById('videoOverview').offsetWidth,document.getElementById('videoOverview').offsetHeight)
|
|
|
|
|
|
var bottomHeight = 0
|
|
|
|
|
|
// if(window.location.href.indexOf('/project/')!=-1){
|
|
|
|
|
|
// bottomHeight = 60
|
|
|
|
|
|
// }
|
|
|
|
|
|
width = document.getElementById('videoOverview').offsetWidth
|
|
|
|
|
|
height = document.getElementById('videoOverview').offsetHeight - bottomHeight
|
|
|
|
|
|
let ratio = 1
|
|
|
|
|
|
// console.log(JSON.parse(localStorage.getItem('systemInfo')).zoomType)
|
|
|
|
|
|
if (enabledProjectV2 != 1) {
|
|
|
|
|
|
if (localStorage.getItem('systemInfo') && JSON.parse(localStorage.getItem('systemInfo')).zoomType != 1) {
|
|
|
|
|
|
ratio = getRatio()
|
2022-06-08 14:51:11 +08:00
|
|
|
|
}
|
2022-07-16 14:54:53 +08:00
|
|
|
|
}
|
|
|
|
|
|
console.log(ratio)
|
|
|
|
|
|
width = width * ratio
|
|
|
|
|
|
height = height * ratio
|
|
|
|
|
|
// width = 500
|
|
|
|
|
|
// height = 500
|
|
|
|
|
|
// console.dir(document.getElementById('videoOverview'))
|
|
|
|
|
|
console.log(width, height)
|
2022-06-08 14:51:11 +08:00
|
|
|
|
// }
|
|
|
|
|
|
window.$timeId = null;
|
2022-07-16 14:54:53 +08:00
|
|
|
|
if (window.localStorage.getItem('isIframe')) {
|
|
|
|
|
|
if (window.localStorage.getItem('isIframe') == '1') {
|
2022-06-08 14:51:11 +08:00
|
|
|
|
// width = 796
|
|
|
|
|
|
// height = 672
|
2022-07-16 14:54:53 +08:00
|
|
|
|
width = width * 0.66
|
|
|
|
|
|
height = height * 0.98
|
2022-06-08 14:51:11 +08:00
|
|
|
|
}
|
|
|
|
|
|
console.log(window.localStorage.getItem('isIframe'))
|
|
|
|
|
|
}
|
|
|
|
|
|
// 0.766667
|
|
|
|
|
|
console.log(12)
|
|
|
|
|
|
window.onresize = function () {
|
|
|
|
|
|
width = document.getElementById('videoOverview').offsetWidth
|
|
|
|
|
|
height = document.getElementById('videoOverview').offsetHeight - bottomHeight
|
|
|
|
|
|
let ratio = 1
|
|
|
|
|
|
// if(enabledProjectV2!=1){
|
|
|
|
|
|
// ratio = getRatio()
|
|
|
|
|
|
// }
|
2022-07-16 14:54:53 +08:00
|
|
|
|
width = width * ratio
|
|
|
|
|
|
height = height * ratio
|
2022-06-08 14:51:11 +08:00
|
|
|
|
clearTimeout(window.$timeId);
|
|
|
|
|
|
window.$timeId = setTimeout(() => {
|
|
|
|
|
|
var a = document.getElementById('videoBoxContainer') || document.querySelector('.videocBox')
|
2022-07-16 14:54:53 +08:00
|
|
|
|
if (a) {
|
2022-06-08 14:51:11 +08:00
|
|
|
|
width = a.offsetWidth
|
|
|
|
|
|
height = a.offsetHeight - 80
|
|
|
|
|
|
}
|
|
|
|
|
|
if (oWebControl != null) {
|
|
|
|
|
|
oWebControl.JS_Resize(width, height);
|
|
|
|
|
|
// setWndCover();
|
|
|
|
|
|
}
|
|
|
|
|
|
}, 10);
|
|
|
|
|
|
}
|
2022-07-16 14:54:53 +08:00
|
|
|
|
oWebControl.JS_CreateWnd("playWnd", width, height, {
|
2022-06-08 14:51:11 +08:00
|
|
|
|
cbSetDocTitle: function (uuid) {
|
|
|
|
|
|
oWebControl._pendBg = false;
|
|
|
|
|
|
window.parent.postMessage({
|
2022-07-16 14:54:53 +08:00
|
|
|
|
action: 'updateTitle',
|
|
|
|
|
|
msg: '子页面通知父页面修改title',
|
|
|
|
|
|
info: uuid
|
2022-06-08 14:51:11 +08:00
|
|
|
|
}, '\*'); // '\*'表示跨域参数,请结合自身业务合理设置
|
|
|
|
|
|
}
|
|
|
|
|
|
}).then(function () {
|
|
|
|
|
|
console.log("JS_CreateWnd success");
|
|
|
|
|
|
// ;
|
2022-07-16 14:54:53 +08:00
|
|
|
|
|
2022-06-08 14:51:11 +08:00
|
|
|
|
init(videoData)
|
|
|
|
|
|
});
|
|
|
|
|
|
}, function () {
|
|
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
cbConnectError: function () {
|
|
|
|
|
|
console.log("cbConnectError");
|
|
|
|
|
|
oWebControl = null;
|
|
|
|
|
|
console.log("插件未启动,正在尝试启动,请稍候...");
|
|
|
|
|
|
WebControl.JS_WakeUp("VideoWebPlugin://");
|
|
|
|
|
|
initCount++;
|
|
|
|
|
|
console.log(initCount)
|
|
|
|
|
|
if (initCount < 3) {
|
|
|
|
|
|
setTimeout(function () {
|
|
|
|
|
|
InitObjPlugin(a, b, c, d, types);
|
|
|
|
|
|
}, 3000)
|
|
|
|
|
|
} else {
|
|
|
|
|
|
console.log("插件启动失败,请检查插件是否安装!");
|
|
|
|
|
|
if (confirm("检测到视频插件未安装,是否下载视频插件?")) {
|
|
|
|
|
|
// window.location.href = "http://139.159.136.114:8081/itbgp/file/b092b773-ca5a-479d-b5bc-1ed84d46e762.exe"
|
|
|
|
|
|
// window.location.href = "/video/VideoWebPlugin.exe"
|
|
|
|
|
|
window.location.href = "http://124.71.178.44:9000/image/VideoWebPlugin.exe"
|
|
|
|
|
|
// window.location.href = "https://jk.cscec1b1.com:5138/image/VideoWebPlugin.exe"
|
|
|
|
|
|
}
|
|
|
|
|
|
// _thiss.$confirm('检测到视频插件未安装,是否下载视频插件?', '提示', {
|
|
|
|
|
|
// confirmButtonText: '确定',
|
|
|
|
|
|
// cancelButtonText: '取消',
|
|
|
|
|
|
// type: 'warning'
|
|
|
|
|
|
// }).then(() => {
|
|
|
|
|
|
// window.location.href="http://139.217.224.209:8080/itbgp/file/VideoWebPlugin.exe"
|
|
|
|
|
|
// }).catch(() => {
|
|
|
|
|
|
// _thiss.$message({
|
|
|
|
|
|
// type: 'info',
|
|
|
|
|
|
// message: '已取消下载'
|
|
|
|
|
|
// });
|
|
|
|
|
|
// });
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
cbConnectClose: function () {
|
|
|
|
|
|
console.log("cbConnectClose");
|
|
|
|
|
|
oWebControl = null;
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
//初始化
|
|
|
|
|
|
function init(videoData) {
|
|
|
|
|
|
console.log(videoData)
|
|
|
|
|
|
getPubKey(function () {
|
|
|
|
|
|
////////////////////////////////// 请自行修改以下变量值 ////////////////////////////////////
|
|
|
|
|
|
// var appkey = "20880397"; //综合安防管理平台提供的appkey,必填
|
|
|
|
|
|
// var secret = setEncrypt("WhyICfLp0NAalGjRa8Hx"); //综合安防管理平台提供的secret,必填
|
|
|
|
|
|
|
|
|
|
|
|
var appkey = a; //综合安防管理平台提供的appkey,必填
|
|
|
|
|
|
var secret = setEncrypt(b); //综合安防管理平台提供的secret,必填
|
|
|
|
|
|
var ip = c; //综合安防管理平台IP地址,必填
|
|
|
|
|
|
var playMode = 0; //初始播放模式:0-预览,1-回放
|
|
|
|
|
|
var port = parseInt(d); //综合安防管理平台端口,若启用HTTPS协议,默认443
|
|
|
|
|
|
var snapDir = "D:\\SnapDir"; //抓图存储路径
|
|
|
|
|
|
var videoDir = "D:\\VideoDir"; //紧急录像或录像剪辑存储路径
|
|
|
|
|
|
var layout = layouts; //playMode指定模式的布局
|
|
|
|
|
|
// var layout = "2x2"; //playMode指定模式的布局
|
|
|
|
|
|
var enableHTTPS = 1; //是否启用HTTPS协议与综合安防管理平台交互,是为1,否为0
|
|
|
|
|
|
var encryptedFields = 'secret'; //加密字段,默认加密领域为secret
|
|
|
|
|
|
var showToolbar = 1; //是否显示工具栏,0-不显示,非0-显示
|
|
|
|
|
|
var showSmart = 1; //是否显示智能信息(如配置移动侦测后画面上的线框),0-不显示,非0-显示
|
|
|
|
|
|
var buttonIDs = "0,16,256,257,258,259,260,512,513,514,515,516,517,768,769"; //自定义工具条按钮
|
|
|
|
|
|
////////////////////////////////// 请自行修改以上变量值 ////////////////////////////////////
|
|
|
|
|
|
oWebControl.JS_RequestInterface({
|
|
|
|
|
|
funcName: "init",
|
|
|
|
|
|
argument: JSON.stringify({
|
|
|
|
|
|
appkey: appkey, //API网关提供的appkey
|
|
|
|
|
|
secret: secret, //API网关提供的secret
|
|
|
|
|
|
ip: ip, //API网关IP地址
|
|
|
|
|
|
playMode: playMode, //播放模式(决定显示预览还是回放界面)
|
|
|
|
|
|
port: port, //端口
|
|
|
|
|
|
snapDir: snapDir, //抓图存储路径
|
|
|
|
|
|
videoDir: videoDir, //紧急录像或录像剪辑存储路径
|
|
|
|
|
|
layout: layout, //布局
|
|
|
|
|
|
enableHTTPS: enableHTTPS, //是否启用HTTPS协议
|
|
|
|
|
|
encryptedFields: encryptedFields, //加密字段
|
|
|
|
|
|
showToolbar: showToolbar, //是否显示工具栏
|
|
|
|
|
|
showSmart: showSmart, //是否显示智能信息
|
|
|
|
|
|
buttonIDs: buttonIDs //自定义工具条按钮
|
|
|
|
|
|
})
|
|
|
|
|
|
}).then(function (oData) {
|
2022-07-16 14:54:53 +08:00
|
|
|
|
console.log(width, height, oWebControl)
|
|
|
|
|
|
console.log('COMPANY++++++++++++++',COMPANY)
|
|
|
|
|
|
console.log(window.localStorage.getItem('isIframe'))
|
|
|
|
|
|
|
|
|
|
|
|
if (COMPANY=='xingxuan') {
|
|
|
|
|
|
oWebControl.oDocOffset.top = 94;
|
|
|
|
|
|
oWebControl.oDocOffset.left = 280;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-06-08 14:51:11 +08:00
|
|
|
|
oWebControl.JS_Resize(width, height);
|
|
|
|
|
|
// console.log('OpenVideo')
|
|
|
|
|
|
for (let i = 0; i < videoData.length; i++) {
|
|
|
|
|
|
if (i < 24 && videoData.length >= i) {
|
|
|
|
|
|
// setTimeout(()=>{
|
2022-07-16 14:54:53 +08:00
|
|
|
|
OpenVideo(videoData[i].serialNumber, 0, i + 1)
|
2022-06-08 14:51:11 +08:00
|
|
|
|
// },1000)
|
2022-07-16 14:54:53 +08:00
|
|
|
|
|
2022-06-08 14:51:11 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
// oWebControl.JS_Resize(1000, 600); // 初始化后resize一次,规避firefox下首次显示窗口后插件窗口未与DIV窗口重合问题
|
|
|
|
|
|
});
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
//判断有没有初始化插件
|
2022-07-16 14:54:53 +08:00
|
|
|
|
export function isLoadPlugin(devList, layout) {
|
|
|
|
|
|
console.log('isLoadPlugin', oWebControl, devList)
|
|
|
|
|
|
if (oWebControl) {
|
2022-06-08 14:51:11 +08:00
|
|
|
|
devList.forEach(element => {
|
2022-07-16 14:54:53 +08:00
|
|
|
|
setTimeout(() => {
|
|
|
|
|
|
OpenVideo(element.serialNumber, 1)
|
|
|
|
|
|
}, 500)
|
|
|
|
|
|
|
2022-06-08 14:51:11 +08:00
|
|
|
|
});
|
2022-07-16 14:54:53 +08:00
|
|
|
|
} else {
|
2022-06-08 14:51:11 +08:00
|
|
|
|
InitObjPlugin(
|
2022-07-16 14:54:53 +08:00
|
|
|
|
devList[0].appId,
|
|
|
|
|
|
devList[0].appSecret,
|
|
|
|
|
|
devList[0].account,
|
|
|
|
|
|
devList[0].password,
|
|
|
|
|
|
false,
|
2022-10-21 11:21:47 +08:00
|
|
|
|
devList,
|
|
|
|
|
|
layout
|
2022-06-08 14:51:11 +08:00
|
|
|
|
);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
// 推送消息
|
|
|
|
|
|
function cbIntegrationCallBack(oData) {
|
|
|
|
|
|
console.log(JSON.stringify(oData.responseMsg));
|
|
|
|
|
|
}
|
|
|
|
|
|
//获取公钥
|
|
|
|
|
|
function getPubKey(callback) {
|
|
|
|
|
|
oWebControl.JS_RequestInterface({
|
|
|
|
|
|
funcName: "getRSAPubKey",
|
|
|
|
|
|
argument: JSON.stringify({
|
|
|
|
|
|
keyLength: 1024
|
|
|
|
|
|
})
|
|
|
|
|
|
}).then(function (oData) {
|
|
|
|
|
|
console.log(oData);
|
|
|
|
|
|
if (oData.responseMsg.data) {
|
|
|
|
|
|
pubKey = oData.responseMsg.data;
|
|
|
|
|
|
callback()
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 滚动条scroll
|
2022-09-17 15:22:04 +08:00
|
|
|
|
// window.onscroll = function () {
|
|
|
|
|
|
// if (oWebControl != null) {
|
|
|
|
|
|
// width = document.getElementById('videoOverview').offsetWidth
|
|
|
|
|
|
// height = document.getElementById('videoOverview').offsetHeight - 0
|
|
|
|
|
|
// oWebControl.JS_Resize(width, height);
|
|
|
|
|
|
// // setWndCover();
|
|
|
|
|
|
// }
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
// 监听滚动条
|
|
|
|
|
|
window.addEventListener('scroll', () => {
|
2022-09-17 15:59:01 +08:00
|
|
|
|
// console.log('滚动条')
|
2022-09-17 15:22:04 +08:00
|
|
|
|
if(oWebControl != null){
|
|
|
|
|
|
width = document.getElementById('videoOverview').offsetWidth-20
|
|
|
|
|
|
height = document.getElementById('videoOverview').offsetHeight-18
|
|
|
|
|
|
oWebControl.JS_Resize(width, height );
|
2022-06-08 14:51:11 +08:00
|
|
|
|
}
|
2022-09-17 15:22:04 +08:00
|
|
|
|
},true);
|
|
|
|
|
|
// 监听窗口
|
|
|
|
|
|
// window.addEventListener('resize', () => {
|
|
|
|
|
|
// console.log('窗口')
|
|
|
|
|
|
// if(oWebControl != null){
|
|
|
|
|
|
// width = document.getElementById('videoOverview').offsetWidth-38
|
|
|
|
|
|
// height = document.getElementById('videoOverview').offsetHeight-20
|
|
|
|
|
|
// oWebControl.JS_Resize(width, height );
|
|
|
|
|
|
// }
|
|
|
|
|
|
// },true);
|
|
|
|
|
|
|
2022-06-08 14:51:11 +08:00
|
|
|
|
//窗口关闭时销毁插件
|
2022-07-16 14:54:53 +08:00
|
|
|
|
window.onunload = function () {
|
|
|
|
|
|
if (oWebControl != null) {
|
2022-06-08 14:51:11 +08:00
|
|
|
|
oWebControl.JS_HideWnd(); // 先让窗口隐藏,规避可能的插件窗口滞后于浏览器消失问题
|
2022-07-16 14:54:53 +08:00
|
|
|
|
oWebControl.JS_Disconnect().then(function () { }, function () { });
|
2022-06-08 14:51:11 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
2022-07-16 14:54:53 +08:00
|
|
|
|
export function resizeFn(val) {
|
|
|
|
|
|
if (oWebControl) {
|
2022-06-08 14:51:11 +08:00
|
|
|
|
width = document.getElementById('videoOverview').offsetWidth
|
|
|
|
|
|
height = document.getElementById('videoOverview').offsetHeight - 0
|
2022-07-16 14:54:53 +08:00
|
|
|
|
if (val && val == 1) {
|
|
|
|
|
|
oWebControl.JS_Resize(width / 2 + 20, height - 215);
|
|
|
|
|
|
} else {
|
2022-06-08 14:51:11 +08:00
|
|
|
|
oWebControl.JS_Resize(width, height);
|
|
|
|
|
|
}
|
2022-07-16 14:54:53 +08:00
|
|
|
|
|
|
|
|
|
|
// setWndCover();
|
2022-06-08 14:51:11 +08:00
|
|
|
|
}
|
2022-07-16 14:54:53 +08:00
|
|
|
|
|
2022-06-08 14:51:11 +08:00
|
|
|
|
}
|
|
|
|
|
|
// 设置窗口遮挡
|
|
|
|
|
|
function setWndCover() {
|
|
|
|
|
|
console.log('setWndCover')
|
|
|
|
|
|
var iWidth = document.body.clientWidth;
|
|
|
|
|
|
var iHeight = document.body.clientHeight;
|
|
|
|
|
|
var oDivRect = document.getElementById('playWnd').getBoundingClientRect();
|
|
|
|
|
|
|
|
|
|
|
|
var iCoverLeft = (oDivRect.left < 0) ? Math.abs(oDivRect.left) : 0;
|
|
|
|
|
|
var iCoverTop = (oDivRect.top < 0) ? Math.abs(oDivRect.top) : 0;
|
|
|
|
|
|
var iCoverRight = (oDivRect.right - iWidth > 0) ? Math.round(oDivRect.right - iWidth) : 0;
|
|
|
|
|
|
var iCoverBottom = (oDivRect.bottom - iHeight > 0) ? Math.round(oDivRect.bottom - iHeight) : 0;
|
|
|
|
|
|
|
|
|
|
|
|
iCoverLeft = (iCoverLeft > width) ? width : iCoverLeft;
|
|
|
|
|
|
iCoverTop = (iCoverTop > height) ? height : iCoverTop;
|
|
|
|
|
|
iCoverRight = (iCoverRight > width) ? width : iCoverRight;
|
|
|
|
|
|
iCoverBottom = (iCoverBottom > height) ? height : iCoverBottom;
|
|
|
|
|
|
|
|
|
|
|
|
if (iLastCoverLeft != iCoverLeft) {
|
|
|
|
|
|
console.log("iCoverLeft: " + iCoverLeft);
|
|
|
|
|
|
iLastCoverLeft = iCoverLeft;
|
|
|
|
|
|
oWebControl.JS_SetWndCover("left", iCoverLeft);
|
|
|
|
|
|
}
|
|
|
|
|
|
if (iLastCoverTop != iCoverTop) {
|
|
|
|
|
|
console.log("iCoverTop: " + iCoverTop);
|
|
|
|
|
|
iLastCoverTop = iCoverTop;
|
|
|
|
|
|
oWebControl.JS_SetWndCover("top", iCoverTop);
|
|
|
|
|
|
}
|
|
|
|
|
|
if (iLastCoverRight != iCoverRight) {
|
|
|
|
|
|
console.log("iCoverRight: " + iCoverRight);
|
|
|
|
|
|
iLastCoverRight = iCoverRight;
|
|
|
|
|
|
oWebControl.JS_SetWndCover("right", iCoverRight);
|
|
|
|
|
|
}
|
|
|
|
|
|
if (iLastCoverBottom != iCoverBottom) {
|
|
|
|
|
|
console.log("iCoverBottom: " + iCoverBottom);
|
|
|
|
|
|
iLastCoverBottom = iCoverBottom;
|
|
|
|
|
|
oWebControl.JS_SetWndCover("bottom", iCoverBottom);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
//隐藏插件窗口
|
2022-07-16 14:54:53 +08:00
|
|
|
|
export function hidePluginWindow() {
|
2022-06-08 14:51:11 +08:00
|
|
|
|
// console.log(123)
|
|
|
|
|
|
// console.log('hidePluginWindow')
|
|
|
|
|
|
oWebControl.JS_HideWnd()
|
|
|
|
|
|
// oWebControl.JS_RequestInterface({
|
|
|
|
|
|
// funcName: "hideWnd"
|
|
|
|
|
|
// }).then(function(data){
|
|
|
|
|
|
// console.log('hidePluginWindow',data)
|
|
|
|
|
|
// })
|
|
|
|
|
|
}
|
|
|
|
|
|
//显示插件窗口
|
2022-07-16 14:54:53 +08:00
|
|
|
|
export function showPluginWindow() {
|
2022-06-08 14:51:11 +08:00
|
|
|
|
// console.log(112)
|
|
|
|
|
|
// console.log('showPluginWindow')
|
|
|
|
|
|
oWebControl.JS_ShowWnd()
|
|
|
|
|
|
// oWebControl.JS_RequestInterface({
|
|
|
|
|
|
// funcName: "showWnd"
|
|
|
|
|
|
// }).then(function(data){
|
|
|
|
|
|
// console.log('showPluginWindow',data)
|
|
|
|
|
|
// })
|
|
|
|
|
|
}
|
2022-07-16 14:54:53 +08:00
|
|
|
|
export function setOffset(l, t) {
|
|
|
|
|
|
WebControl.JS_SetDocOffset({
|
2022-06-08 14:51:11 +08:00
|
|
|
|
left: l,
|
|
|
|
|
|
top: t
|
|
|
|
|
|
})
|
2022-07-16 14:54:53 +08:00
|
|
|
|
console.log(l, t, "===============================")
|
2022-06-08 14:51:11 +08:00
|
|
|
|
}
|
2022-07-16 14:54:53 +08:00
|
|
|
|
|
|
|
|
|
|
export function setWidthAndHeight(width, height) {
|
|
|
|
|
|
oWebControl.JS_Resize(width, height);
|
|
|
|
|
|
|
|
|
|
|
|
}
|