You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
177 lines
5.2 KiB
177 lines
5.2 KiB
<html> |
|
<head> |
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
|
<title>视频拉起</title> |
|
<style> |
|
body { |
|
margin: 0px; |
|
overflow: hidden |
|
} |
|
</style> |
|
<script type="text/javascript" src="jquery-1.10.2.min.js"></script> |
|
<script type="text/javascript" src="HiMsg.js"></script> |
|
<script type="text/javascript"> |
|
var preState = 0; |
|
function isOpen() { |
|
return true; |
|
} |
|
function GetUrlParam(paraName) { |
|
var url = window.document.location.href.toString(); |
|
var arrObj = url.split("?"); |
|
if (arrObj.length > 1) { |
|
var arrPara = arrObj[1].split("&"); |
|
var arr; |
|
for (var i = 0; i < arrPara.length; i++) { |
|
arr = arrPara[i].split("="); |
|
if (arr != null && arr[0] == paraName) { |
|
return arr[1]; |
|
} |
|
} |
|
return ""; |
|
} |
|
else { |
|
return ""; |
|
} |
|
} |
|
|
|
function initMDSParam() { |
|
var voiceVideo = document.getElementById("IPDispatcherCtrl"); |
|
//如果已登录注销调度台控件 |
|
closeIPDispatcher(); |
|
//初始化调度台 |
|
initVideoCtrl(); |
|
} |
|
|
|
/** |
|
* 浏览器异常退出情况时候,必须调用此方法,否则注册信息还是停留在服务器端,下次登陆会提示已在其他地点登陆,刷新界面或者关闭界面的时候用此 |
|
*/ |
|
function closeIPDispatcher() { |
|
var voiceCtrl = document.getElementById("IPDispatcherCtrl"); |
|
if (null == voiceCtrl || "undefined" == voiceCtrl) { |
|
return; |
|
} |
|
|
|
var isInit = IPDispatcherCtrl.IsInitialize(); |
|
var isLog = IPDispatcherCtrl.IsLogin(); |
|
if (isInit == 1 && isLog == 1)//登录 |
|
{ |
|
IPDispatcherCtrl.Logout(); |
|
} |
|
IPDispatcherCtrl.OnCloseIPDispatcher(); |
|
IPDispatcherCtrl.DestroyInstance(); |
|
|
|
var isInit = IPDispatcherCtrl.IsInitialize(); |
|
if (isInit == 1) { |
|
IPDispatcherCtrl.OnCloseIPDispatcher(); |
|
setCtrlUnUsed(); |
|
} |
|
|
|
} |
|
|
|
function setCtrlUnUsed() { |
|
//data.result==false |
|
//设置调度台下线已被使用失败! |
|
} |
|
|
|
/** |
|
* 初始化调度台 |
|
*/ |
|
function initVideoCtrl() { |
|
var url = "/HiatmpPro/hrv/common/initMdsConf"; |
|
$.ajax({ |
|
url: url, |
|
type: 'get', |
|
dataType: 'json', |
|
cache: false, |
|
success: function (data) { |
|
if (data.result == false) { |
|
alert("初始化调度台失败!"); |
|
} else { |
|
var result = data.params; |
|
if (result == null || typeof(result) == "undefined") { |
|
alert("初始化调度台失败!"); |
|
return; |
|
} |
|
try { |
|
IPDispatcherCtrl.strName = result.username; |
|
IPDispatcherCtrl.strPassword = result.password; |
|
IPDispatcherCtrl.strServer = result.serverip; |
|
IPDispatcherCtrl.strLocal = result.localip; |
|
IPDispatcherCtrl.strLicense = result.license; |
|
var bresult = IPDispatcherCtrl.IsInitialize(); |
|
IPDispatcherCtrl.Initialize(); |
|
bresult = IPDispatcherCtrl.IsInitialize(); |
|
var timeout = 0; |
|
if (bresult == 0) { |
|
alert("调度台没有初始化!"); |
|
return; |
|
} |
|
IPDispatcherCtrl.Logout(); |
|
var ret = IPDispatcherCtrl.Login(10); |
|
setTimeout(function () { |
|
var mdsid = GetUrlParam("policeid");//警号 |
|
var options = options || {}; |
|
options.linenum = getLineNum(mdsid); |
|
IPDispatcherCtrl.VideoCall(1, mdsid); |
|
}, 3000); |
|
} |
|
catch (e) { |
|
alert('服务异常!'); |
|
} |
|
} |
|
} |
|
}); |
|
|
|
} |
|
|
|
// 线路状态 |
|
var linesInfo = []; |
|
for (var i = 0; i < 16; i++) { |
|
linesInfo[i] = {mdsid: ''}; |
|
} |
|
|
|
/** |
|
* 获取线路号 |
|
* @returns {Number} |
|
*/ |
|
function getLineNum(mdsid) { |
|
//如果当前警员正在占用一条线路,返回该线路 |
|
for (var i = 0; i < 16; i++) { |
|
if (linesInfo[i].mdsid == mdsid) { |
|
return i; |
|
} |
|
} |
|
//否则返回一条空线路 |
|
for (var i = 0; i < 16; i++) { |
|
var a = IPDispatcherCtrl.GetLineState(i); |
|
if (a == 0 && linesInfo[i].mdsid == '') { |
|
linesInfo[i].mdsid = mdsid; |
|
return i; |
|
} |
|
} |
|
return -1; |
|
} |
|
|
|
window.onbeforeunload = function () { |
|
IPDispatcherCtrl.OnCloseIPDispatcher(); |
|
} |
|
|
|
</script> |
|
<script language="javascript" FOR="IPDispatcherCtrl" EVENT="OnPhoneLineStateEvent(nLine,nState,nMediaType)"> |
|
IPDispatcherCtrl.SetVideoWindow(1, VideoWindow0.GetWindow()); |
|
VideoWindow0.RefreshWindow(); |
|
if(nState == 0 && preState!=0) { |
|
setTimeout(function(){window.close();},3000); |
|
} else { |
|
preState = nState; |
|
} |
|
</script> |
|
</head> |
|
<body scroll="no" onload="this.initMDSParam()"> |
|
<OBJECT ID='IPDispatcherCtrl' CLASSID='CLSID:A1347CC2-E5A5-4717-A8DA-CD0AA97A68D9' |
|
CODEBASE='IPDispatcherCOM.cab#version=1,0,0,1' width='0' height='0'></OBJECT> |
|
<div style='height:100%;width:100%;'> |
|
<object id="VideoWindow0" classid="CLSID:FD968A91-02A5-4596-AA56-4368ED02DDD2" width="650px" height="600px"></object> |
|
</div> |
|
</body> |
|
</html>
|
|
|