rushfee/WebContent/www/huaweiScripts/ocx/interface/icsclient.js

238 lines
4.9 KiB
JavaScript
Raw Permalink Normal View History

2022-05-16 15:07:40 +00:00
// ICSClient Ocx
// Copyright © Huawei Technologies Co., Ltd. 2015. All rights reserved.
var ICSClient = function()
{
this._ocx = null;; //ocx object
// !function whether ocx is null(private function)
this._isNull = function()
{
return (null==this._ocx || undefined==this._ocx);
}
}
ICSClient.prototype = {
// !function init ICSClient
init: function(ocxId){
this._ocx = document.getElementById(ocxId);
},
// !function Set icsgateway server info
SetServerInfo: function(sServerInfo)
{
if (this._isNull() )
{
return null;
}
return this._ocx.SetServerInfo(sServerInfo);
},
// !function Login icsgateway
Login: function(sUserName)
{
if (this._isNull() )
{
return null;
}
var loginFlag = true;
var ret = this._ocx.VerifyCert();
if(ret != 0){
loginFlag = confirm("当前登录存在安全风险,请确认是否继续登录");
}
if(loginFlag){
var sslEnable = UserConfig.ICSClient["sslEnable"];
if(!sslEnable){
loginFlag = confirm("当前登录为非SSL方式请确认是否继续登录");
}
}
if(loginFlag){
return this._ocx.Login(sUserName);
}
return null;
},
// !function Logout icsgateway
Logout: function()
{
if (this._isNull() )
{
return null;
}
return this._ocx.Logout();
},
// !function get verify code
GetVerifyCode: function(imgId)
{
if (this._isNull() )
{
return null;
}
var result = "";
var _verifyCodeInfo = this._ocx.GetVerifyCode();
var _verifyCodeObj = eval("("+_verifyCodeInfo+")");
if("0" == _verifyCodeObj.retcode)
{
result ="data:image/jpeg;base64," + _verifyCodeObj.result;
}
document.getElementById(imgId).src = result;
return _verifyCodeObj.retcode;
},
// !function update verify code
UpdateVerifyCode: function(sVerifyCode)
{
if (this._isNull() )
{
return null;
}
return this._ocx.UpdateVerifyCode(sVerifyCode);
},
// !function create call
Call: function(sMediaType, sAccessCode, sCallData, sUvid)
{
if (this._isNull() )
{
return null;
}
return this._ocx.Call(sMediaType, sAccessCode, sCallData, sUvid);
},
// !function release call
Release: function(sCallId)
{
if (this._isNull() )
{
return null;
}
return this._ocx.Release(sCallId);
},
// !function auto release all types of calls
ReleaseAll: function()
{
var retAll = '';
//if the webchat callid exists,release the corresponding callID
if (ICSState.WebChatCallID !== '')
{
retAll = retAll + 'Release the webchat callID result:' + this._ocx.Release(ICSState.WebChatCallID);
}
//if the clickcall callid exists, release the corresponding callID
if (ICSState.ClickCallCallID !== '')
{
retAll = retAll + 'Release the clickcall callID result:' + this._ocx.Release(ICSState.ClickCallCallID);
}
//if the callback callid exists, release the corresponding callID
if (ICSState.CallbackCallID !== '')
{
retAll = retAll + 'Release the callback callID result:' + this._ocx.Release(ICSState.CallbackCallID);
}
return retAll;
},
// !function cancel queue
CancelQueue: function(sCallId)
{
if (this._isNull() )
{
return null;
}
return this._ocx.CancelQueue(sCallId);
},
// !function get queue info of the call
GetQueueInfo: function(sCallId)
{
if (this._isNull() )
{
return null;
}
return this._ocx.GetQueueInfo(sCallId);
},
// !function send Text message
SendTextMsg: function(sCallId, sMessage)
{
if (this._isNull() )
{
return null;
}
return this._ocx.SendTextMsg(sCallId, sMessage);
},
// !function get skill info with accesscodes
GetSkillInfoByAccessCodes: function(sAccessCodes)
{
if (this._isNull() )
{
return null;
}
return this._ocx.GetSkillInfoByAccessCodes(sAccessCodes);
},
// !function get skill info with skillIds.skillIds,for example: [1,2,3]
GetSkillInfosBySkillIds: function(sSkillIds)
{
if (this._isNull() )
{
return null;
}
return this._ocx.GetSkillInfosBySkillIds(sSkillIds);
},
// !function request meeting
RequestMeeting: function(sCallId)
{
if (this._isNull() )
{
return null;
}
return this._ocx.RequestMeeting(sCallId);
},
// !function reinvite agents of call to join meeting
ReInviteMeeting: function(sConfId)
{
if (this._isNull() )
{
return null;
}
return this._ocx.ReInviteMeeting(sConfId);
},
// !function terminate meeting
TerminateMeeting: function(sConfId)
{
if (this._isNull() )
{
return null;
}
return this._ocx.TerminateMeeting(sConfId);
},
// !function report the result of joining meeting
ReportJoinMeetingResult: function(sConfId, sJoinSuccFlag, sResultCode)
{
if (this._isNull() )
{
return null;
}
return this._ocx.ReportJoinMeetingResult(sConfId, sJoinSuccFlag, sResultCode);
},
// !function get the description of the result code
GetResultDesc: function(sResultCode)
{
if (this._isNull() )
{
return null;
}
return this._ocx.GetResultDesc(sResultCode);
}
}