var wsUri = "ws://127.0.0.1:8181/cmtclient"; var websocket; var isOpened = false; var eventHandler = []; //是个数组 function sendCmd(cmd) { // ceictLog("connect send message " + cmd); if (isOpened == true) { websocket.send(cmd); // openVideo(); return 0; } else { return "-1"; } }; function init() { //初始化构造函数 websocket = new WebSocket(wsUri); websocket.onopen = function(evt) { isOpened = true; registerSip( "88804029", "88804029", "192.168.33.135", "6050" ); getServiceConfig("Vdis_config", JSON.stringify({ uiConfig: { headerColor: "", }, videoRecordPath: "video_record", pictureRecordPath: "video_record", systemName: "安全管统" })); getServiceConfig("Log_level", 3); // fireEvent('{"event":"onopen"}'); }; websocket.onclose = function(evt) { // fireEvent('{"event":"onclose"}'); isOpened = false; }; websocket.onmessage = function(evt) { fireEvent(evt.data); }; websocket.onerror = function(evt) { // window.location = "CmtClientService://"; // websocket = new WebSocket(wsUri); // fireEvent('{"event":"onerror"}'); isOpened = false; }; }; function fireEvent(strEvent) { console.log(getCmtCallbackHandler()) onCmdResult(JSON.parse(strEvent)); //在同一个事件类型下的可能存在多种处理事件,找出本次需要处理的事件 for (var i = 0; i < eventHandler.length; i++) { //执行触发 var objEvtdata = null; try { objEvtdata = JSON.parse(strEvent); } catch (error) { console.log(error) } if (objEvtdata.cmdName != undefined) { //收到命令回复 if (eventHandler[i].onCmdResult != "undefined") { eventHandler[i].onCmdResult(objEvtdata); } } else if (objEvtdata.event != undefined) { //收到事件响应 if (eventHandler[i].onEventFired != "undefined") { eventHandler[i].onEventFired(objEvtdata); } } } }; function setVideoWnd(callId) { //设置视频播放窗口 var cmd = { cmdName: "makeVideoCall", cmdParam: [callId, 0,0] }; fireEvent(JSON.stringify(cmd)) return sendCmd(JSON.stringify(cmd)); }; function makeAudioCall(destNumber, nHand) { //拨打语音电话 var cmd = { cmdName: "makeAudioCall", cmdParam: [destNumber, nHand] }; return sendCmd(JSON.stringify(cmd)); }; function registerSip(user, passwd, server, port) { //注册 var cmd = { cmdName: "registerSip", cmdParam: [user, passwd, server, port] }; return sendCmd(JSON.stringify(cmd)); }; function getQueryString(name) { //解析url中参数值的问题 var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return null; } function getServiceConfig(key, value) { //设置服务器的配置, 注意别设置冲突了 var cmd = { cmdName: "getServiceConfig", cmdParam: [key, value] }; return sendCmd(JSON.stringify(cmd)); }; function ceictLog(str){ console.log(str) }