ue-softphone-sdk 3.0.11 → 3.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -21,6 +21,7 @@ interface InitOptions {
21
21
  isOpenNetwork?: boolean;
22
22
  pushHangupStatistics?: boolean;
23
23
  pushCallinRingStatistics?: boolean;
24
+ isOpenCallQueue?: boolean;
24
25
  }
25
26
  interface OnCallEventParams {
26
27
  success?: Function;
@@ -136,6 +137,7 @@ export default class ueSoftphone {
136
137
  static agentextras: any;
137
138
  static Socketinstance: any;
138
139
  static AudioTask: any;
140
+ static MonitorSocketinstance: any;
139
141
  static noop(): void;
140
142
  static debug: (msg: any) => void;
141
143
  static log: (msg: any) => void;
@@ -145,6 +147,7 @@ export default class ueSoftphone {
145
147
  static newWebSocket: (server: string, proto: any) => any;
146
148
  static request: (server: string, proto: any) => any;
147
149
  private attachEventCallbacks;
150
+ private attachMonitorEventCallbacks;
148
151
  constructor(options?: InitOptions);
149
152
  private init;
150
153
  private login;
@@ -154,6 +157,10 @@ export default class ueSoftphone {
154
157
  private attachNetworkCallbacks;
155
158
  private initnNetworkMonitoring;
156
159
  listenCallNetork: (callbacks: OnCallEventParams) => void;
160
+ private initAgentQueue;
161
+ private initQueue;
162
+ static createQueueMonitorEventHandle(callbacks?: any): void;
163
+ listenCallQueueEvent: (callbacks: any) => void;
157
164
  static useDefaultDependencies(deps: any): {
158
165
  newWebSocket(server: string, proto: any): any;
159
166
  request(url: string, options: any): any;
@@ -19,4 +19,4 @@ const t$1=Object.create(null);t$1.open="0",t$1.close="1",t$1.ping="2",t$1.pong="
19
19
  * @since jsrsasign 2.1
20
20
  * @license <a href="https://kjur.github.io/jsrsasign/license/">MIT License</a>
21
21
  */
22
- var KJUR={};void 0!==KJUR.asn1&&KJUR.asn1||(KJUR.asn1={}),KJUR.asn1.ASN1Util=new function(){this.integerToByteHex=function(e){var t=e.toString(16);return t.length%2==1&&(t="0"+t),t},this.bigIntToMinTwosComplementsHex=function(e){var t=e.toString(16);if("-"!=t.substr(0,1))t.length%2==1?t="0"+t:t.match(/^[0-7]/)||(t="00"+t);else{var n=t.substr(1).length;n%2==1?n+=1:t.match(/^[0-7]/)||(n+=2);for(var r="",i=0;i<n;i++)r+="f";t=new BigInteger(r,16).xor(e).add(BigInteger.ONE).toString(16).replace(/^-/,"")}return t},this.getPEMStringFromHex=function(e,t){return hextopem(e,t)},this.newObject=function(e){var t=KJUR.asn1,n=t.DERBoolean,r=t.DERInteger,i=t.DERBitString,s=t.DEROctetString,o=t.DERNull,a=t.DERObjectIdentifier,c=t.DEREnumerated,u=t.DERUTF8String,h=t.DERNumericString,l=t.DERPrintableString,d=t.DERTeletexString,p=t.DERIA5String,g=t.DERUTCTime,f=t.DERGeneralizedTime,m=t.DERSequence,v=t.DERSet,y=t.DERTaggedObject,b=t.ASN1Util.newObject,S=Object.keys(e);if(1!=S.length)throw"key of param shall be only one.";var T=S[0];if(-1==":bool:int:bitstr:octstr:null:oid:enum:utf8str:numstr:prnstr:telstr:ia5str:utctime:gentime:seq:set:tag:".indexOf(":"+T+":"))throw"undefined key: "+T;if("bool"==T)return new n(e[T]);if("int"==T)return new r(e[T]);if("bitstr"==T)return new i(e[T]);if("octstr"==T)return new s(e[T]);if("null"==T)return new o(e[T]);if("oid"==T)return new a(e[T]);if("enum"==T)return new c(e[T]);if("utf8str"==T)return new u(e[T]);if("numstr"==T)return new h(e[T]);if("prnstr"==T)return new l(e[T]);if("telstr"==T)return new d(e[T]);if("ia5str"==T)return new p(e[T]);if("utctime"==T)return new g(e[T]);if("gentime"==T)return new f(e[T]);if("seq"==T){for(var w=e[T],R=[],E=0;E<w.length;E++){var I=b(w[E]);R.push(I)}return new m({array:R})}if("set"==T){for(w=e[T],R=[],E=0;E<w.length;E++){I=b(w[E]);R.push(I)}return new v({array:R})}if("tag"==T){var _=e[T];if("[object Array]"===Object.prototype.toString.call(_)&&3==_.length){var A=b(_[2]);return new y({tag:_[0],explicit:_[1],obj:A})}var C={};if(void 0!==_.explicit&&(C.explicit=_.explicit),void 0!==_.tag&&(C.tag=_.tag),void 0===_.obj)throw"obj shall be specified for 'tag'.";return C.obj=b(_.obj),new y(C)}},this.jsonToASN1HEX=function(e){return this.newObject(e).getEncodedHex()}},KJUR.asn1.ASN1Util.oidHexToInt=function(e){for(var t="",n=parseInt(e.substr(0,2),16),r=(t=Math.floor(n/40)+"."+n%40,""),i=2;i<e.length;i+=2){var s=("00000000"+parseInt(e.substr(i,2),16).toString(2)).slice(-8);if(r+=s.substr(1,7),"0"==s.substr(0,1))t=t+"."+new BigInteger(r,2).toString(10),r=""}return t},KJUR.asn1.ASN1Util.oidIntToHex=function(e){var t=function(e){var t=e.toString(16);return 1==t.length&&(t="0"+t),t},n=function(e){var n="",r=new BigInteger(e,10).toString(2),i=7-r.length%7;7==i&&(i=0);for(var s="",o=0;o<i;o++)s+="0";r=s+r;for(o=0;o<r.length-1;o+=7){var a=r.substr(o,7);o!=r.length-7&&(a="1"+a),n+=t(parseInt(a,2))}return n};if(!e.match(/^[0-9.]+$/))throw"malformed oid string: "+e;var r="",i=e.split("."),s=40*parseInt(i[0])+parseInt(i[1]);r+=t(s),i.splice(0,2);for(var o=0;o<i.length;o++)r+=n(i[o]);return r},KJUR.asn1.ASN1Object=function(){this.getLengthHexFromValue=function(){if(void 0===this.hV||null==this.hV)throw"this.hV is null or undefined.";if(this.hV.length%2==1)throw"value hex must be even length: n=0,v="+this.hV;var e=this.hV.length/2,t=e.toString(16);if(t.length%2==1&&(t="0"+t),e<128)return t;var n=t.length/2;if(n>15)throw"ASN.1 length too long to represent by 8x: n = "+e.toString(16);return(128+n).toString(16)+t},this.getEncodedHex=function(){return(null==this.hTLV||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV},this.getValueHex=function(){return this.getEncodedHex(),this.hV},this.getFreshValueHex=function(){return""}},KJUR.asn1.DERAbstractString=function(e){KJUR.asn1.DERAbstractString.superclass.constructor.call(this),this.getString=function(){return this.s},this.setString=function(e){this.hTLV=null,this.isModified=!0,this.s=e,this.hV=stohex(this.s)},this.setStringHex=function(e){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=e},this.getFreshValueHex=function(){return this.hV},void 0!==e&&("string"==typeof e?this.setString(e):void 0!==e.str?this.setString(e.str):void 0!==e.hex&&this.setStringHex(e.hex))},YAHOO.lang.extend(KJUR.asn1.DERAbstractString,KJUR.asn1.ASN1Object),KJUR.asn1.DERAbstractTime=function(e){KJUR.asn1.DERAbstractTime.superclass.constructor.call(this),this.localDateToUTC=function(e){return utc=e.getTime()+6e4*e.getTimezoneOffset(),new Date(utc)},this.formatDate=function(e,t,n){var r=this.zeroPadding,i=this.localDateToUTC(e),s=String(i.getFullYear());"utc"==t&&(s=s.substr(2,2));var o=s+r(String(i.getMonth()+1),2)+r(String(i.getDate()),2)+r(String(i.getHours()),2)+r(String(i.getMinutes()),2)+r(String(i.getSeconds()),2);if(!0===n){var a=i.getMilliseconds();if(0!=a){var c=r(String(a),3);o=o+"."+(c=c.replace(/[0]+$/,""))}}return o+"Z"},this.zeroPadding=function(e,t){return e.length>=t?e:new Array(t-e.length+1).join("0")+e},this.getString=function(){return this.s},this.setString=function(e){this.hTLV=null,this.isModified=!0,this.s=e,this.hV=stohex(e)},this.setByDateValue=function(e,t,n,r,i,s){var o=new Date(Date.UTC(e,t-1,n,r,i,s,0));this.setByDate(o)},this.getFreshValueHex=function(){return this.hV}},YAHOO.lang.extend(KJUR.asn1.DERAbstractTime,KJUR.asn1.ASN1Object),KJUR.asn1.DERAbstractStructured=function(e){KJUR.asn1.DERAbstractString.superclass.constructor.call(this),this.setByASN1ObjectArray=function(e){this.hTLV=null,this.isModified=!0,this.asn1Array=e},this.appendASN1Object=function(e){this.hTLV=null,this.isModified=!0,this.asn1Array.push(e)},this.asn1Array=new Array,void 0!==e&&void 0!==e.array&&(this.asn1Array=e.array)},YAHOO.lang.extend(KJUR.asn1.DERAbstractStructured,KJUR.asn1.ASN1Object),KJUR.asn1.DERBoolean=function(){KJUR.asn1.DERBoolean.superclass.constructor.call(this),this.hT="01",this.hTLV="0101ff"},YAHOO.lang.extend(KJUR.asn1.DERBoolean,KJUR.asn1.ASN1Object),KJUR.asn1.DERInteger=function(e){KJUR.asn1.DERInteger.superclass.constructor.call(this),this.hT="02",this.setByBigInteger=function(e){this.hTLV=null,this.isModified=!0,this.hV=KJUR.asn1.ASN1Util.bigIntToMinTwosComplementsHex(e)},this.setByInteger=function(e){var t=new BigInteger(String(e),10);this.setByBigInteger(t)},this.setValueHex=function(e){this.hV=e},this.getFreshValueHex=function(){return this.hV},void 0!==e&&(void 0!==e.bigint?this.setByBigInteger(e.bigint):void 0!==e.int?this.setByInteger(e.int):"number"==typeof e?this.setByInteger(e):void 0!==e.hex&&this.setValueHex(e.hex))},YAHOO.lang.extend(KJUR.asn1.DERInteger,KJUR.asn1.ASN1Object),KJUR.asn1.DERBitString=function(e){if(void 0!==e&&void 0!==e.obj){var t=KJUR.asn1.ASN1Util.newObject(e.obj);e.hex="00"+t.getEncodedHex()}KJUR.asn1.DERBitString.superclass.constructor.call(this),this.hT="03",this.setHexValueIncludingUnusedBits=function(e){this.hTLV=null,this.isModified=!0,this.hV=e},this.setUnusedBitsAndHexValue=function(e,t){if(e<0||7<e)throw"unused bits shall be from 0 to 7: u = "+e;var n="0"+e;this.hTLV=null,this.isModified=!0,this.hV=n+t},this.setByBinaryString=function(e){var t=8-(e=e.replace(/0+$/,"")).length%8;8==t&&(t=0);for(var n=0;n<=t;n++)e+="0";var r="";for(n=0;n<e.length-1;n+=8){var i=e.substr(n,8),s=parseInt(i,2).toString(16);1==s.length&&(s="0"+s),r+=s}this.hTLV=null,this.isModified=!0,this.hV="0"+t+r},this.setByBooleanArray=function(e){for(var t="",n=0;n<e.length;n++)1==e[n]?t+="1":t+="0";this.setByBinaryString(t)},this.newFalseArray=function(e){for(var t=new Array(e),n=0;n<e;n++)t[n]=!1;return t},this.getFreshValueHex=function(){return this.hV},void 0!==e&&("string"==typeof e&&e.toLowerCase().match(/^[0-9a-f]+$/)?this.setHexValueIncludingUnusedBits(e):void 0!==e.hex?this.setHexValueIncludingUnusedBits(e.hex):void 0!==e.bin?this.setByBinaryString(e.bin):void 0!==e.array&&this.setByBooleanArray(e.array))},YAHOO.lang.extend(KJUR.asn1.DERBitString,KJUR.asn1.ASN1Object),KJUR.asn1.DEROctetString=function(e){if(void 0!==e&&void 0!==e.obj){var t=KJUR.asn1.ASN1Util.newObject(e.obj);e.hex=t.getEncodedHex()}KJUR.asn1.DEROctetString.superclass.constructor.call(this,e),this.hT="04"},YAHOO.lang.extend(KJUR.asn1.DEROctetString,KJUR.asn1.DERAbstractString),KJUR.asn1.DERNull=function(){KJUR.asn1.DERNull.superclass.constructor.call(this),this.hT="05",this.hTLV="0500"},YAHOO.lang.extend(KJUR.asn1.DERNull,KJUR.asn1.ASN1Object),KJUR.asn1.DERObjectIdentifier=function(e){var t=function(e){var t=e.toString(16);return 1==t.length&&(t="0"+t),t},n=function(e){var n="",r=new BigInteger(e,10).toString(2),i=7-r.length%7;7==i&&(i=0);for(var s="",o=0;o<i;o++)s+="0";r=s+r;for(o=0;o<r.length-1;o+=7){var a=r.substr(o,7);o!=r.length-7&&(a="1"+a),n+=t(parseInt(a,2))}return n};KJUR.asn1.DERObjectIdentifier.superclass.constructor.call(this),this.hT="06",this.setValueHex=function(e){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=e},this.setValueOidString=function(e){if(!e.match(/^[0-9.]+$/))throw"malformed oid string: "+e;var r="",i=e.split("."),s=40*parseInt(i[0])+parseInt(i[1]);r+=t(s),i.splice(0,2);for(var o=0;o<i.length;o++)r+=n(i[o]);this.hTLV=null,this.isModified=!0,this.s=null,this.hV=r},this.setValueName=function(e){var t=KJUR.asn1.x509.OID.name2oid(e);if(""===t)throw"DERObjectIdentifier oidName undefined: "+e;this.setValueOidString(t)},this.getFreshValueHex=function(){return this.hV},void 0!==e&&("string"==typeof e?e.match(/^[0-2].[0-9.]+$/)?this.setValueOidString(e):this.setValueName(e):void 0!==e.oid?this.setValueOidString(e.oid):void 0!==e.hex?this.setValueHex(e.hex):void 0!==e.name&&this.setValueName(e.name))},YAHOO.lang.extend(KJUR.asn1.DERObjectIdentifier,KJUR.asn1.ASN1Object),KJUR.asn1.DEREnumerated=function(e){KJUR.asn1.DEREnumerated.superclass.constructor.call(this),this.hT="0a",this.setByBigInteger=function(e){this.hTLV=null,this.isModified=!0,this.hV=KJUR.asn1.ASN1Util.bigIntToMinTwosComplementsHex(e)},this.setByInteger=function(e){var t=new BigInteger(String(e),10);this.setByBigInteger(t)},this.setValueHex=function(e){this.hV=e},this.getFreshValueHex=function(){return this.hV},void 0!==e&&(void 0!==e.int?this.setByInteger(e.int):"number"==typeof e?this.setByInteger(e):void 0!==e.hex&&this.setValueHex(e.hex))},YAHOO.lang.extend(KJUR.asn1.DEREnumerated,KJUR.asn1.ASN1Object),KJUR.asn1.DERUTF8String=function(e){KJUR.asn1.DERUTF8String.superclass.constructor.call(this,e),this.hT="0c"},YAHOO.lang.extend(KJUR.asn1.DERUTF8String,KJUR.asn1.DERAbstractString),KJUR.asn1.DERNumericString=function(e){KJUR.asn1.DERNumericString.superclass.constructor.call(this,e),this.hT="12"},YAHOO.lang.extend(KJUR.asn1.DERNumericString,KJUR.asn1.DERAbstractString),KJUR.asn1.DERPrintableString=function(e){KJUR.asn1.DERPrintableString.superclass.constructor.call(this,e),this.hT="13"},YAHOO.lang.extend(KJUR.asn1.DERPrintableString,KJUR.asn1.DERAbstractString),KJUR.asn1.DERTeletexString=function(e){KJUR.asn1.DERTeletexString.superclass.constructor.call(this,e),this.hT="14"},YAHOO.lang.extend(KJUR.asn1.DERTeletexString,KJUR.asn1.DERAbstractString),KJUR.asn1.DERIA5String=function(e){KJUR.asn1.DERIA5String.superclass.constructor.call(this,e),this.hT="16"},YAHOO.lang.extend(KJUR.asn1.DERIA5String,KJUR.asn1.DERAbstractString),KJUR.asn1.DERUTCTime=function(e){KJUR.asn1.DERUTCTime.superclass.constructor.call(this,e),this.hT="17",this.setByDate=function(e){this.hTLV=null,this.isModified=!0,this.date=e,this.s=this.formatDate(this.date,"utc"),this.hV=stohex(this.s)},this.getFreshValueHex=function(){return void 0===this.date&&void 0===this.s&&(this.date=new Date,this.s=this.formatDate(this.date,"utc"),this.hV=stohex(this.s)),this.hV},void 0!==e&&(void 0!==e.str?this.setString(e.str):"string"==typeof e&&e.match(/^[0-9]{12}Z$/)?this.setString(e):void 0!==e.hex?this.setStringHex(e.hex):void 0!==e.date&&this.setByDate(e.date))},YAHOO.lang.extend(KJUR.asn1.DERUTCTime,KJUR.asn1.DERAbstractTime),KJUR.asn1.DERGeneralizedTime=function(e){KJUR.asn1.DERGeneralizedTime.superclass.constructor.call(this,e),this.hT="18",this.withMillis=!1,this.setByDate=function(e){this.hTLV=null,this.isModified=!0,this.date=e,this.s=this.formatDate(this.date,"gen",this.withMillis),this.hV=stohex(this.s)},this.getFreshValueHex=function(){return void 0===this.date&&void 0===this.s&&(this.date=new Date,this.s=this.formatDate(this.date,"gen",this.withMillis),this.hV=stohex(this.s)),this.hV},void 0!==e&&(void 0!==e.str?this.setString(e.str):"string"==typeof e&&e.match(/^[0-9]{14}Z$/)?this.setString(e):void 0!==e.hex?this.setStringHex(e.hex):void 0!==e.date&&this.setByDate(e.date),!0===e.millis&&(this.withMillis=!0))},YAHOO.lang.extend(KJUR.asn1.DERGeneralizedTime,KJUR.asn1.DERAbstractTime),KJUR.asn1.DERSequence=function(e){KJUR.asn1.DERSequence.superclass.constructor.call(this,e),this.hT="30",this.getFreshValueHex=function(){for(var e="",t=0;t<this.asn1Array.length;t++){e+=this.asn1Array[t].getEncodedHex()}return this.hV=e,this.hV}},YAHOO.lang.extend(KJUR.asn1.DERSequence,KJUR.asn1.DERAbstractStructured),KJUR.asn1.DERSet=function(e){KJUR.asn1.DERSet.superclass.constructor.call(this,e),this.hT="31",this.sortFlag=!0,this.getFreshValueHex=function(){for(var e=new Array,t=0;t<this.asn1Array.length;t++){var n=this.asn1Array[t];e.push(n.getEncodedHex())}return 1==this.sortFlag&&e.sort(),this.hV=e.join(""),this.hV},void 0!==e&&void 0!==e.sortflag&&0==e.sortflag&&(this.sortFlag=!1)},YAHOO.lang.extend(KJUR.asn1.DERSet,KJUR.asn1.DERAbstractStructured),KJUR.asn1.DERTaggedObject=function(e){KJUR.asn1.DERTaggedObject.superclass.constructor.call(this),this.hT="a0",this.hV="",this.isExplicit=!0,this.asn1Object=null,this.setASN1Object=function(e,t,n){this.hT=t,this.isExplicit=e,this.asn1Object=n,this.isExplicit?(this.hV=this.asn1Object.getEncodedHex(),this.hTLV=null,this.isModified=!0):(this.hV=null,this.hTLV=n.getEncodedHex(),this.hTLV=this.hTLV.replace(/^../,t),this.isModified=!1)},this.getFreshValueHex=function(){return this.hV},void 0!==e&&(void 0!==e.tag&&(this.hT=e.tag),void 0!==e.explicit&&(this.isExplicit=e.explicit),void 0!==e.obj&&(this.asn1Object=e.obj,this.setASN1Object(this.isExplicit,this.hT,this.asn1Object)))},YAHOO.lang.extend(KJUR.asn1.DERTaggedObject,KJUR.asn1.ASN1Object);var __extends=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),JSEncryptRSAKey=function(e){function t(n){var r=e.call(this)||this;return n&&("string"==typeof n?r.parseKey(n):(t.hasPrivateKeyProperty(n)||t.hasPublicKeyProperty(n))&&r.parsePropertiesFrom(n)),r}return __extends(t,e),t.prototype.parseKey=function(e){try{var t=0,n=0,r=/^\s*(?:[0-9A-Fa-f][0-9A-Fa-f]\s*)+$/.test(e)?Hex.decode(e):Base64.unarmor(e),i=ASN1.decode(r);if(3===i.sub.length&&(i=i.sub[2].sub[0]),9===i.sub.length){t=i.sub[1].getHexStringValue(),this.n=parseBigInt(t,16),n=i.sub[2].getHexStringValue(),this.e=parseInt(n,16);var s=i.sub[3].getHexStringValue();this.d=parseBigInt(s,16);var o=i.sub[4].getHexStringValue();this.p=parseBigInt(o,16);var a=i.sub[5].getHexStringValue();this.q=parseBigInt(a,16);var c=i.sub[6].getHexStringValue();this.dmp1=parseBigInt(c,16);var u=i.sub[7].getHexStringValue();this.dmq1=parseBigInt(u,16);var h=i.sub[8].getHexStringValue();this.coeff=parseBigInt(h,16)}else{if(2!==i.sub.length)return!1;if(i.sub[0].sub){var l=i.sub[1].sub[0];t=l.sub[0].getHexStringValue(),this.n=parseBigInt(t,16),n=l.sub[1].getHexStringValue(),this.e=parseInt(n,16)}else t=i.sub[0].getHexStringValue(),this.n=parseBigInt(t,16),n=i.sub[1].getHexStringValue(),this.e=parseInt(n,16)}return!0}catch(e){return!1}},t.prototype.getPrivateBaseKey=function(){var e={array:[new KJUR.asn1.DERInteger({int:0}),new KJUR.asn1.DERInteger({bigint:this.n}),new KJUR.asn1.DERInteger({int:this.e}),new KJUR.asn1.DERInteger({bigint:this.d}),new KJUR.asn1.DERInteger({bigint:this.p}),new KJUR.asn1.DERInteger({bigint:this.q}),new KJUR.asn1.DERInteger({bigint:this.dmp1}),new KJUR.asn1.DERInteger({bigint:this.dmq1}),new KJUR.asn1.DERInteger({bigint:this.coeff})]};return new KJUR.asn1.DERSequence(e).getEncodedHex()},t.prototype.getPrivateBaseKeyB64=function(){return hex2b64(this.getPrivateBaseKey())},t.prototype.getPublicBaseKey=function(){var e=new KJUR.asn1.DERSequence({array:[new KJUR.asn1.DERObjectIdentifier({oid:"1.2.840.113549.1.1.1"}),new KJUR.asn1.DERNull]}),t=new KJUR.asn1.DERSequence({array:[new KJUR.asn1.DERInteger({bigint:this.n}),new KJUR.asn1.DERInteger({int:this.e})]}),n=new KJUR.asn1.DERBitString({hex:"00"+t.getEncodedHex()});return new KJUR.asn1.DERSequence({array:[e,n]}).getEncodedHex()},t.prototype.getPublicBaseKeyB64=function(){return hex2b64(this.getPublicBaseKey())},t.wordwrap=function(e,t){if(!e)return e;var n="(.{1,"+(t=t||64)+"})( +|$\n?)|(.{1,"+t+"})";return e.match(RegExp(n,"g")).join("\n")},t.prototype.getPrivateKey=function(){var e="-----BEGIN RSA PRIVATE KEY-----\n";return e+=t.wordwrap(this.getPrivateBaseKeyB64())+"\n",e+="-----END RSA PRIVATE KEY-----"},t.prototype.getPublicKey=function(){var e="-----BEGIN PUBLIC KEY-----\n";return e+=t.wordwrap(this.getPublicBaseKeyB64())+"\n",e+="-----END PUBLIC KEY-----"},t.hasPublicKeyProperty=function(e){return(e=e||{}).hasOwnProperty("n")&&e.hasOwnProperty("e")},t.hasPrivateKeyProperty=function(e){return(e=e||{}).hasOwnProperty("n")&&e.hasOwnProperty("e")&&e.hasOwnProperty("d")&&e.hasOwnProperty("p")&&e.hasOwnProperty("q")&&e.hasOwnProperty("dmp1")&&e.hasOwnProperty("dmq1")&&e.hasOwnProperty("coeff")},t.prototype.parsePropertiesFrom=function(e){this.n=e.n,this.e=e.e,e.hasOwnProperty("d")&&(this.d=e.d,this.p=e.p,this.q=e.q,this.dmp1=e.dmp1,this.dmq1=e.dmq1,this.coeff=e.coeff)},t}(RSAKey),_a,version=void 0!==browser$1?null===(_a=browser$1.env)||void 0===_a?void 0:_a.npm_package_version:void 0,JSEncrypt=function(){function e(e){void 0===e&&(e={}),e=e||{},this.default_key_size=e.default_key_size?parseInt(e.default_key_size,10):1024,this.default_public_exponent=e.default_public_exponent||"010001",this.log=e.log||!1,this.key=null}return e.prototype.setKey=function(e){this.log&&this.key&&console.warn("A key was already set, overriding existing."),this.key=new JSEncryptRSAKey(e)},e.prototype.setPrivateKey=function(e){this.setKey(e)},e.prototype.setPublicKey=function(e){this.setKey(e)},e.prototype.decrypt=function(e){try{return this.getKey().decrypt(b64tohex(e))}catch(e){return!1}},e.prototype.encrypt=function(e){try{return hex2b64(this.getKey().encrypt(e))}catch(e){return!1}},e.prototype.sign=function(e,t,n){try{return hex2b64(this.getKey().sign(e,t,n))}catch(e){return!1}},e.prototype.verify=function(e,t,n){try{return this.getKey().verify(e,b64tohex(t),n)}catch(e){return!1}},e.prototype.getKey=function(e){if(!this.key){if(this.key=new JSEncryptRSAKey,e&&"[object Function]"==={}.toString.call(e))return void this.key.generateAsync(this.default_key_size,this.default_public_exponent,e);this.key.generate(this.default_key_size,this.default_public_exponent)}return this.key},e.prototype.getPrivateKey=function(){return this.getKey().getPrivateKey()},e.prototype.getPrivateKeyB64=function(){return this.getKey().getPrivateBaseKeyB64()},e.prototype.getPublicKey=function(){return this.getKey().getPublicKey()},e.prototype.getPublicKeyB64=function(){return this.getKey().getPublicBaseKeyB64()},e.version=version,e}(),networkMonitoringConfig={requestState:!1,delay:0},ueSoftphone=function(){function e(e){void 0===e&&(e={});var n=this;this.getWebrtcInfo=function(e,n){t.request(e+"/call/api/sip/webrtc/config/query",{verb:"GET",loginToken:t.loginToken,sessionId:t.agentInfo._id,success:function(e){e.success&&e.data?(t.agentextras=e.data,t.initWebrtcEvent(e.data)):n.error(__assign$1({},e))},error:function(e){n.error({error:e})}})},this.initAttachEvent=function(e,r,i,s,o){n.attachEventCallbacks&&t.request(e+"/platform/action/refreshWsToken",{verb:"GET",loginToken:t.loginToken,sessionId:t.agentInfo._id,success:function(e){if(e&&e.data){var a="";i.forEach((function(e){"KF"===e.id&&(a=e.url)})),n.attachEventCallbacks.serve=a,n.attachEventCallbacks.SocketOptions={query:{accountId:s.accountId,agentNumber:s.agentNumber,agentId:s._id,token:e.data.wsToken,wsExtra:JSON.stringify({loginType:r,channelType:"SDK",ability:["call"]}),timestamp:e.data.timestamp,clientType:1,pushHangupStatistics:t.initOptions.pushHangupStatistics||!1,pushCallinRingStatistics:t.initOptions.pushCallinRingStatistics||!1},reconnectionDelay:3e3,"force new connection":!0,transports:["websocket"],timeout:5e3},n.attachEventCallbacks.suc=o,t.createEventHandle(n.attachEventCallbacks)}},error:function(e){i.error({error:e})}})},this.attachNetworkCallbacks={message:t.noop,error:t.noop,success:t.noop},this.initnNetworkMonitoring=function(e,r){var i="";e.forEach((function(e){if("MONITOR"===e.id){var t=document.location.protocol;"file:"===t&&(t="https:"),i=t+"//"+e.url}})),n.attachNetworkCallbacks.success(),n.attachNetworkCallbacks.message({delay:100}),setInterval((function(){var e=(new Date).getTime();networkMonitoringConfig.requestState=!0,t.request(i+"/ready",{method:"GET",success:function(t){if(t.success){var r=(new Date).getTime();networkMonitoringConfig.delay=(r-e)/2,n.attachNetworkCallbacks.message({delay:networkMonitoringConfig.delay})}else n.attachNetworkCallbacks.error(),networkMonitoringConfig.delay=500,networkMonitoringConfig.requestState=!1},error:function(e){n.attachNetworkCallbacks.error(),networkMonitoringConfig.delay=500,networkMonitoringConfig.requestState=!1}})}),1e4)},this.listenCallNetork=function(e){e&&(n.attachNetworkCallbacks.message=e.message&&"function"==typeof e.message?e.message:t.noop,n.attachNetworkCallbacks.success=e.success&&"function"==typeof e.success?e.success:t.noop,n.attachNetworkCallbacks.error=e.error&&"function"==typeof e.error?e.error:t.noop)},this.openMediaAudio=function(e,t){var n=navigator,r=n.mediaDevices,i=n.getUserMedia,s=n.webkitGetUserMedia,o=n.mozGetUserMedia,a=n.msGetUserMedia,c=(i||s||o||a).bind(navigator);return r?navigator.mediaDevices.getUserMedia({audio:!0}).catch((function(n){var r=n.message.includes(DENIED);return t?(r&&alert(AUDIO_FORBIDDEN.forbiddenAudioMsg),e&&!r&&alert(e),r?AUDIO_FORBIDDEN:NOT_OPEN_AUDIO):r?AUDIO_FORBIDDEN:NOT_OPEN_AUDIO})):new Promise((function(n,r){c?c({audio:!0},(function(e){n(!0)}),(function(n){t&&e&&alert(e),r(NOT_OPEN_AUDIO)})):r(NOT_OPEN_AUDIO)}))},this.listenCallEvent=function(e){n.attachEventCallbacks=e},this._callApi=function(){var e,r,i=n;return{callout:function(n){return __awaiter$1(this,void 0,void 0,(function(){var s,o,a,c,u,h;return __generator$1(this,(function(l){switch(l.label){case 0:if(n.success=n&&"function"==typeof n.success?n.success:t.noop,n.fail=n&&"function"==typeof n.fail?n.fail:t.noop,null===t.loginToken||void 0===t.loginToken)return n.fail({success:!1,message:"initialization not complete!"}),[2];if(null===t.agentInfo||void 0===t.agentInfo)return n.fail({success:!1,message:"initialization not complete!"}),[2];if(null===n.customerNumber||void 0===n.customerNumber)return n.fail({success:!1,message:"Parameter customerNumber is required!"}),[2];if("WEBRTC"!==t.initOptions.loginType)return[3,4];l.label=1;case 1:return l.trys.push([1,3,,4]),[4,navigator.mediaDevices.getUserMedia({audio:!0})];case 2:return l.sent(),[3,4];case 3:return l.sent(),n.fail({success:!1,message:"无麦克风权限!"}),[2];case 4:if(s=t.initOptions.server||t.callApiUrl,o={customerNumber:n.customerNumber,agentNumber:t.agentInfo.agentNumber,accountId:t.agentInfo.accountId,agentId:t.agentInfo._id,loginType:n.loginType||t.agentInfo.loginType||t.initOptions.loginType},n.agentTimeout&&(o.agentTimeout=n.agentTimeout),n.customerTimeout&&(o.customerTimeout=n.customerTimeout),n.agentDisNumber&&(o.agentDisNumber=n.agentDisNumber),n.customerDisNumber&&(o.customerDisNumber=n.customerDisNumber),n.extras&&(o.extras=n.extras),n.numberGroupId&&(o.numberGroupId=n.numberGroupId),n.numberGroupName&&(o.numberGroupName=n.numberGroupName),a=t.initOptions,c=!0,"WEBRTC"!==a.loginType)return[3,8];l.label=5;case 5:return l.trys.push([5,7,,8]),[4,i.openMediaAudio("请打开麦克风权限!",c)];case 6:return u=l.sent()||{},[3,8];case 7:return h=l.sent(),console.log(h),[3,8];case 8:return t.request(s+"/call/api/call/call/out",{verb:"POST",body:o,loginToken:t.loginToken,sessionId:t.agentInfo._id,encryptionAlgorithm:e,encryptionFields:r,success:function(e){e.success?n.success(__assign$1(__assign$1({success:!0,message:"callout success"},u),e.data)):n.fail(__assign$1({success:!1,message:e.message,code:e.code},u))}}),[2]}}))}))},hangup:function(n){if(n.success=n&&"function"==typeof n.success?n.success:t.noop,n.fail=n&&"function"==typeof n.fail?n.fail:t.noop,null!==t.loginToken&&void 0!==t.loginToken)if(null!==t.agentInfo&&void 0!==t.agentInfo){var i=t.initOptions.server||t.callApiUrl;t.request(i+"/call/api/call/hangup",{verb:"POST",body:{},loginToken:t.loginToken,sessionId:t.agentInfo._id,accountId:t.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:r,success:function(e){e.success?n.success({success:!0,message:"hangup success",data:e.data.response.data}):n.fail({success:!1,message:e.message,code:e.code})}})}else n.fail({success:!1,message:"initialization not complete!"});else n.fail({success:!1,message:"initialization not complete!"})},holdOrUnHold:function(n){if(n.success=n&&"function"==typeof n.success?n.success:t.noop,n.fail=n&&"function"==typeof n.fail?n.fail:t.noop,null!==t.loginToken&&void 0!==t.loginToken)if(null!==t.agentInfo&&void 0!==t.agentInfo)if(null!==n.type&&void 0!==n.type){var i=t.initOptions.server||t.callApiUrl,s={type:n.type};t.request(i+"/call/api/call/hold",{verb:"POST",body:s,loginToken:t.loginToken,sessionId:t.agentInfo._id,accountId:t.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:r,success:function(e){e.success?n.success({success:!0,message:"holdOrUnHold success"}):n.fail({success:!1,message:e.message,code:e.code})}})}else n.fail({success:!1,message:"Parameter type is required!"});else n.fail({success:!1,message:"initialization not complete!"});else n.fail({success:!1,message:"initialization not complete!"})},muteOrUnMute:function(n){if(n.success=n&&"function"==typeof n.success?n.success:t.noop,n.fail=n&&"function"==typeof n.fail?n.fail:t.noop,null!==t.loginToken&&void 0!==t.loginToken)if(null!==t.agentInfo&&void 0!==t.agentInfo)if(null!==n.type&&void 0!==n.type){var i=t.initOptions.server||t.callApiUrl,s={type:n.type,direction:n.direction||"all"};t.request(i+"/call/api/call/mute",{verb:"POST",body:s,loginToken:t.loginToken,sessionId:t.agentInfo._id,accountId:t.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:r,success:function(e){e.success?n.success({success:!0,message:"muteOrUnMute success"}):n.fail({success:!1,message:e.message,code:e.code})}})}else n.fail({success:!1,message:"Parameter type is required!"});else n.fail({success:!1,message:"initialization not complete!"});else n.fail({success:!1,message:"initialization not complete!"})},transfer:function(n){if(n.success=n&&"function"==typeof n.success?n.success:t.noop,n.fail=n&&"function"==typeof n.fail?n.fail:t.noop,null!==t.loginToken&&void 0!==t.loginToken)if(null!==t.agentInfo&&void 0!==t.agentInfo)if(null!==n.type&&void 0!==n.type)if(null!==n.number&&void 0!==n.number){var i=t.initOptions.server||t.callApiUrl;t.request(i+"/call/api/call/transfer",{verb:"POST",body:n,loginToken:t.loginToken,sessionId:t.agentInfo._id,accountId:t.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:r,success:function(e){e.success?n.success({success:!0,message:"transfer success",data:e.data.response.data}):n.fail({success:!1,message:e.message,code:e.code})}})}else n.fail({success:!1,message:"Parameter number is required!"});else n.fail({success:!1,message:"Parameter type is required!"});else n.fail({success:!1,message:"initialization not complete!"});else n.fail({success:!1,message:"initialization not complete!"})},consult:function(n){if(n.success=n&&"function"==typeof n.success?n.success:t.noop,n.fail=n&&"function"==typeof n.fail?n.fail:t.noop,null!==t.loginToken&&void 0!==t.loginToken)if(null!==t.agentInfo&&void 0!==t.agentInfo)if(null!==n.mode&&void 0!==n.mode)if(null!==n.number&&void 0!==n.number){n.agentNumber=t.agentInfo.agentNumber;var i=t.initOptions.server||t.callApiUrl;t.request(i+"/call/api/call/consult",{verb:"POST",body:n,loginToken:t.loginToken,sessionId:t.agentInfo._id,accountId:t.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:r,success:function(e){e.success?n.success({success:!0,message:"consult success",data:e.data.response.data}):n.fail({success:!1,message:e.message,code:e.code})}})}else n.fail({success:!1,message:"Parameter number is required!"});else n.fail({success:!1,message:"Parameter mode is required!"});else n.fail({success:!1,message:"initialization not complete!"});else n.fail({success:!1,message:"initialization not complete!"})},cancelconsult:function(n){if(n.success=n&&"function"==typeof n.success?n.success:t.noop,n.fail=n&&"function"==typeof n.fail?n.fail:t.noop,null!==t.loginToken&&void 0!==t.loginToken)if(null!==t.agentInfo&&void 0!==t.agentInfo){var i=t.initOptions.server||t.callApiUrl;t.request(i+"/call/api/call/consult/cancel",{verb:"POST",body:n,loginToken:t.loginToken,sessionId:t.agentInfo._id,accountId:t.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:r,success:function(e){e.success?n.success({success:!0,message:"cancelconsult success",data:e.data.response.data}):n.fail({success:!1,message:e.message,code:e.code})}})}else n.fail({success:!1,message:"initialization not complete!"});else n.fail({success:!1,message:"initialization not complete!"})},endConsult:function(n){if(n.success=n&&"function"==typeof n.success?n.success:t.noop,n.fail=n&&"function"==typeof n.fail?n.fail:t.noop,null!==t.loginToken&&void 0!==t.loginToken)if(null!==t.agentInfo&&void 0!==t.agentInfo){var i=t.initOptions.server||t.callApiUrl;t.request(i+"/call/api/call/consult/stop",{verb:"POST",body:n,loginToken:t.loginToken,sessionId:t.agentInfo._id,accountId:t.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:r,success:function(e){e.success?n.success({success:!0,message:"endConsult success",data:e.data.response.data}):n.fail({success:!1,message:e.message,code:e.code})}})}else n.fail({success:!1,message:"initialization not complete!"});else n.fail({success:!1,message:"initialization not complete!"})},callbackConsult:function(n){if(n.success=n&&"function"==typeof n.success?n.success:t.noop,n.fail=n&&"function"==typeof n.fail?n.fail:t.noop,null!==t.loginToken&&void 0!==t.loginToken)if(null!==t.agentInfo&&void 0!==t.agentInfo){var i=t.initOptions.server||t.callApiUrl;t.request(i+"/call/api/call/consult/resume",{verb:"POST",body:n,loginToken:t.loginToken,sessionId:t.agentInfo._id,accountId:t.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:r,success:function(e){e.success?n.success({success:!0,message:"resumeConsult success",data:e.data.response.data}):n.fail({success:!1,message:e.message,code:e.code})}})}else n.fail({success:!1,message:"initialization not complete!"});else n.fail({success:!1,message:"initialization not complete!"})},consultTransfer:function(n){if(n.success=n&&"function"==typeof n.success?n.success:t.noop,n.fail=n&&"function"==typeof n.fail?n.fail:t.noop,null!==t.loginToken&&void 0!==t.loginToken)if(null!==t.agentInfo&&void 0!==t.agentInfo){var i=t.initOptions.server||t.callApiUrl;t.request(i+"/call/api/call/consult/transfer",{verb:"POST",body:n,loginToken:t.loginToken,sessionId:t.agentInfo._id,accountId:t.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:r,success:function(e){e.success?n.success({success:!0,message:"consultTransfer success",data:e.data.response.data}):n.fail({success:!1,message:e.message,code:e.code})}})}else n.fail({success:!1,message:"initialization not complete!"});else n.fail({success:!1,message:"initialization not complete!"})},threeWayCall:function(n){if(n.success=n&&"function"==typeof n.success?n.success:t.noop,n.fail=n&&"function"==typeof n.fail?n.fail:t.noop,null!==t.loginToken&&void 0!==t.loginToken)if(null!==t.agentInfo&&void 0!==t.agentInfo){var i=t.initOptions.server||t.callApiUrl;t.request(i+"/call/api/call/threeway",{verb:"POST",body:n,loginToken:t.loginToken,sessionId:t.agentInfo._id,accountId:t.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:r,success:function(e){e.success?n.success({success:!0,message:"threeWayCall success",data:e.data.response.data}):n.fail({success:!1,message:e.message,code:e.code})}})}else n.fail({success:!1,message:"initialization not complete!"});else n.fail({success:!1,message:"initialization not complete!"})},evaluate:function(n){if(n.success=n&&"function"==typeof n.success?n.success:t.noop,n.fail=n&&"function"==typeof n.fail?n.fail:t.noop,null!==t.loginToken&&void 0!==t.loginToken)if(null!==t.agentInfo&&void 0!==t.agentInfo)if(null!==n.type&&void 0!==n.type){var i=t.initOptions.server||t.callApiUrl;t.request(i+"/call/api/call/evaluate",{verb:"POST",body:n,loginToken:t.loginToken,sessionId:t.agentInfo._id,accountId:t.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:r,success:function(e){e.success?n.success({success:!0,message:"evaluate success",data:e.data.response.data}):n.fail({success:!1,message:e.message,code:e.code})}})}else n.fail({success:!1,message:"Parameter type is required!"});else n.fail({success:!1,message:"initialization not complete!"});else n.fail({success:!1,message:"initialization not complete!"})},meeting:function(n){if(n.success=n&&"function"==typeof n.success?n.success:t.noop,n.fail=n&&"function"==typeof n.fail?n.fail:t.noop,null!==t.loginToken&&void 0!==t.loginToken)if(null!==t.agentInfo&&void 0!==t.agentInfo)if(null!==n.number&&void 0!==n.number){var i=t.initOptions.server||t.callApiUrl;t.request(i+"/call/api/call/meeting",{verb:"POST",body:{meetingType:"phone",number:n.number},loginToken:t.loginToken,sessionId:t.agentInfo._id,accountId:t.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:r,success:function(e){e.success?n.success({success:!0,message:"meeting success",data:e.data.response.data}):n.fail({success:!1,message:e.message,code:e.code})}})}else n.fail({success:!1,message:"Parameter number is required!"});else n.fail({success:!1,message:"initialization not complete!"});else n.fail({success:!1,message:"initialization not complete!"})}}},this._agentApi=function(){var e=n;return{switchLoginType:function(n){return __awaiter$1(this,void 0,void 0,(function(){var r,i,s,o,a,c,u=this;return __generator$1(this,(function(h){switch(h.label){case 0:if(r=null,n.success=n&&"function"==typeof n.success?n.success:t.noop,n.fail=n&&"function"==typeof n.fail?n.fail:t.noop,null===n.loginType||void 0===n.loginType)return n.fail({success:!1,message:"Parameter loginType is required!"}),[2];if(null===t.agentInfo||void 0===t.agentInfo)return n.fail({success:!1,message:"initialization not complete!"}),[2];if(null!==n.loginNumber&&void 0!==n.loginNumber&&(r=n.loginNumber),"PSTN"===n.loginType&&!(r=r||t.agentInfo.mobile))return alert("请给座席绑定手机号,或者传入号码参数!"),n.fail({success:!1,message:"Please bind your mobile number"}),[2];if("SIP"===n.loginType&&(r=r||t.agentInfo.sipNumber),"WEBRTC"===n.loginType&&(r=t.agentInfo.webrtcSipNumber),i=t.initOptions.server||t.callApiUrl,s={loginType:n.loginType,loginNumber:r},t.initOptions,a=!0,"WEBRTC"!==n.loginType)return[3,4];h.label=1;case 1:return h.trys.push([1,3,,4]),[4,e.openMediaAudio("请打开麦克风权限!",a)];case 2:return o=h.sent()||{},[3,4];case 3:return c=h.sent(),console.log(c),[3,4];case 4:return t.request(i+"/call/api/agent/v1/login-type/change",{verb:"POST",body:s,loginToken:t.loginToken,sessionId:t.agentInfo._id,accountId:t.agentInfo.accountId,success:function(r){return __awaiter$1(u,void 0,void 0,(function(){return __generator$1(this,(function(s){switch(s.label){case 0:return r.success?(n.success(__assign$1({success:!0,message:"updateLoginType success"},o)),t.agentInfo.loginType=n.loginType,t.initOptions.loginType=n.loginType,"WEBRTC"!==n.loginType?[3,1]:(e._webPhoneApi().connect(),[3,4])):[3,5];case 1:return"PSTN"!==n.loginType?[3,3]:[4,t.request(i+"/platform/action/updateCallConfig",{verb:"POST",body:{agentCallConfig:{},mobile:n.loginNumber},loginToken:t.loginToken,sessionId:t.agentInfo._id,accountId:t.agentInfo.accountId})];case 2:return s.sent(),e._webPhoneApi().disconnect(),[3,4];case 3:e._webPhoneApi().disconnect(),s.label=4;case 4:return[3,6];case 5:n.fail(__assign$1({success:!1,message:r.message,code:r.code},o)),s.label=6;case 6:return[2]}}))}))}}),[2]}}))}))},findPhoneBarList:function(e){if(e.success=e&&"function"==typeof e.success?e.success:t.noop,e.fail=e&&"function"==typeof e.fail?e.fail:t.noop,null!==t.agentInfo&&void 0!==t.agentInfo){var n=t.initOptions.server||t.callApiUrl;t.request(n+"/call/api/phone/bar/all",{verb:"GET",loginToken:t.loginToken,sessionId:t.agentInfo._id,accountId:t.agentInfo.accountId,success:function(t){if(t.success){var n=[];t.data.forEach((function(e){var t={name:e.name,number:e.number};n.push(t)})),e.success({success:!0,data:n})}else e.fail({success:!1,message:t.message,code:t.code})}})}else e.fail({success:!1,message:"initialization not complete!"})},switchPhoneBar:function(e){if(e.success=e&&"function"==typeof e.success?e.success:t.noop,e.fail=e&&"function"==typeof e.fail?e.fail:t.noop,null!==e.stateNumber&&void 0!==e.stateNumber)if(null!==t.agentInfo&&void 0!==t.agentInfo){var n=t.initOptions.server||t.callApiUrl,r={stateNumber:e.stateNumber,accountId:t.agentInfo.accountId,agentNumber:t.agentInfo.agentNumber};t.request(n+"/call/api/agent/status/switch",{verb:"POST",body:r,loginToken:t.loginToken,sessionId:t.agentInfo._id,success:function(t){t.success?e.success({success:!0}):e.fail({success:!1,message:t.message,code:t.code})}})}else e.fail({success:!1,message:"initialization not complete!"});else e.fail({success:!1,message:"Parameter stateNumber is required!"})},logout:function(e){if(e.success=e&&"function"==typeof e.success?e.success:t.noop,e.fail=e&&"function"==typeof e.fail?e.fail:t.noop,null!==t.agentInfo&&void 0!==t.agentInfo){null!==e.toAnswerOffline&&void 0!==e.toAnswerOffline||(e.toAnswerOffline="1");var n=t.initOptions.server||t.callApiUrl,r={toAnswerOffline:e.toAnswerOffline};t.request(n+"/call/api/sdk/agent/logout",{verb:"POST",body:r,loginToken:t.loginToken,sessionId:t.agentInfo._id,accountId:t.agentInfo.accountId,success:function(n){n.success?e&&(t.Socketinstance.disconnect(),"WEBRTC"===t.agentInfo.loginType&&t.webPhone.disconnect(),e.success({success:!0})):e&&e.fail({success:!1,message:n.message,code:n.code})}})}else e.fail({success:!1,message:"initialization not complete!"})},findIdleAgentsForQueue:function(e){if(e.success=e&&"function"==typeof e.success?e.success:t.noop,e.fail=e&&"function"==typeof e.fail?e.fail:t.noop,null!==t.agentInfo&&void 0!==t.agentInfo){var n=t.initOptions.server||t.callApiUrl;t.request(n+"/call/api/queue/acountFreeAgent/find",{verb:"POST",body:{},loginToken:t.loginToken,sessionId:t.agentInfo._id,accountId:t.agentInfo.accountId,success:function(t){t.success?e&&e.success({success:!0,dataList:t.data||[]}):e&&e.fail({success:!1,message:t.message,code:t.code})}})}else e.fail({success:!1,message:"initialization not complete!"})},getAvailableSipNumberList:function(e){if(e.success=e&&"function"==typeof e.success?e.success:t.noop,e.fail=e&&"function"==typeof e.fail?e.fail:t.noop,null!==t.agentInfo&&void 0!==t.agentInfo){var n=t.initOptions.server||t.callApiUrl;t.request(n+"/call/api/sip/avaliable/query",{verb:"POST",body:{},loginToken:t.loginToken,sessionId:t.agentInfo._id,success:function(t){if(t.success&&t.data){var n=[];t.data.forEach((function(e){var t={number:e.id,numberName:e.number};n.push(t)})),e.success({success:!0,data:n})}else e.fail({success:!1,message:t.message,code:t.code})}})}else e.fail({success:!1,message:"initialization not complete!"})}}},this._webPhoneApi=function(){return{accept:function(){t.webPhone.accept()},connect:function(){t.webPhone&&this.isConnected()||t.initWebrtcEvent(t.agentextras)},disconnect:function(){t.webPhone&&this.isConnected()&&t.webPhone.disconnect()},isConnected:function(){return t.webPhone.isConnected()},sendDTMF:function(e){t.webPhone.sendDTMF(e)}}},e.error="function"==typeof e.error?e.error:t.noop,e.success="function"==typeof e.success?e.success:t.noop,null!==e.agentNumber&&void 0!==e.agentNumber?(null!==e.loginType&&void 0!==e.loginType||(e.loginType="PSTN"),null!==e.pushHangupStatistics&&void 0!==e.pushHangupStatistics||(e.pushHangupStatistics=!1),null!==e.pushCallinRingStatistics&&void 0!==e.pushCallinRingStatistics||(e.pushCallinRingStatistics=!1),this.init(e)):e.error({message:"Invalid agentNumber"})}var t;return e.noop=function(){},e.prototype.init=function(e){if(void 0===e&&(e={}),t.trace=t.noop,t.debug=t.noop,t.log=t.noop,t.warn=t.noop,t.error=t.noop,!0===e.debug||"all"===e.debug)t.trace=console.trace.bind(console),t.debug=console.debug.bind(console),t.log=console.log.bind(console),t.warn=console.warn.bind(console),t.error=console.error.bind(console);else if(Array.isArray(e.debug))for(var n in e.debug){var r=e.debug[n];switch(r){case"trace":t.trace=console.trace.bind(console);break;case"debug":t.debug=console.debug.bind(console);break;case"log":t.log=console.log.bind(console);break;case"warn":t.warn=console.warn.bind(console);break;case"error":t.error=console.error.bind(console);break;default:console.error("Unknown debugging option '"+r+"' (supported: 'trace', 'debug', 'log', warn', 'error')")}}t.log("Initializing library");var i=t.useDefaultDependencies({WebSocket:ueWebsocket});t.newWebSocket=i.newWebSocket,t.request=i.request,this.login(e)},e.prototype.login=function(e){return __awaiter$1(this,void 0,void 0,(function(){var n,r,i,s,o,a,c,u,h=this;return __generator$1(this,(function(l){switch(l.label){case 0:if(console.log(e,"options"),n=e.server||t.callApiUrl,r=e.agentNumber+"@"+e.accountId,i=e.loginType,s=e.isOpenNetwork||!1,o={loginName:r,loginType:i,loginChannel:"SDK",password:""},a=!0,"WEBRTC"!==i)return[3,4];l.label=1;case 1:return l.trys.push([1,3,,4]),[4,this.openMediaAudio("请打开麦克风权限!",a)];case 2:return c=l.sent()||{},[3,4];case 3:return u=l.sent(),console.log(u),console.log("授权失败================================"),[3,4];case 4:return e.password&&(o.password=e.password),t.request(n+"/platform/public/loginPre",{verb:"GET",success:function(r){if(r&&r.success&&r.data){var a=decodeURIComponent(gBase64.decode(r.data.pk)),u=new JSEncrypt;u.setPublicKey(a);var l=md5(o.password),d=u.encrypt(l);o.password=d,t.request(n+"/platform/public/login",{verb:"POST",body:o,success:function(r){r.success?t.request(n+"/platform/action/loginInfo",{verb:"GET",loginToken:r.data.loginToken,sessionId:r.data.sessionId,success:function(r){r.success?(r.data.agent&&(t.agentInfo=r.data.agent,t.loginToken=r.data.loginToken,t.initOptions=__assign$1(__assign$1({},e),{audioInfo:c})),h.initAttachEvent(n,i,r.data.pushServer,r.data.agent,e.success),s&&h.initnNetworkMonitoring(r.data.pushServer,""),"WEBRTC"===i&&h.getWebrtcInfo(n,e)):e.error(__assign$1(__assign$1({},r),c))},error:function(t){e.error(__assign$1({error:t},c))}}):e.error(__assign$1(__assign$1({},r),c))},error:function(t){e.error(__assign$1({error:t},c))}})}else e.error(__assign$1(__assign$1({},r),c))},error:function(t){e.error(__assign$1({error:t},c))}}),[2]}}))}))},e.createEventHandle=function(e){var n=this;void 0===e&&(e={}),e.success="function"==typeof e.success?e.success:t.noop,e.error="function"==typeof e.error?e.error:t.noop,e.message="function"==typeof e.message?e.message:t.noop,e.event="function"==typeof e.event?e.event:t.noop,e.server=null===e.serve||void 0===e.serve?"ws://152.136.72.209:3201/phoneBarGateway":e.serve,null!==e.SocketOptions&&void 0!==e.SocketOptions||(e.SocketOptions={},t.error({message:"login response error!"})),this.Socketinstance=t.newWebSocket(e.server,e.SocketOptions),this.Socketinstance.on("connect",(function(){e.success("connect event serve success!"),e.suc()})),this.Socketinstance.on("error",(function(t,n){e.error({type:"socketError",error:t}),n&&"function"==typeof n&&n("error")})),this.Socketinstance.on("message",(function(n,r){e.message({subtype:n.subType,data:n.data}),"WEBRTC"===t.initOptions.loginType&&(n.data&&n.data.callType&&"callin"===n.data.callType&&n.data.eventType&&"ring"===n.data.eventType?(t.AudioTask||(t.AudioTask=new AudioTask("https://softphone.useasy.cn/ring.wav")),t.AudioTask.ringAudioPlay()):t.AudioTask&&t.AudioTask.ringAudioPause()),r&&"function"==typeof r&&r("success")})),this.Socketinstance.on("event",(function(r){if("KICK_OFF"===r.subType){n.Socketinstance.disconnect();try{t.webPhone.disconnect()}catch(e){}e.event({message:"坐席账户在其他地方登录"})}}))},e.useDefaultDependencies=function(e){var n=e&&e.fetch||fetch,r=e&&e.Promise||Promise,i=e&&e.WebSocket||WebSocket;return{newWebSocket:function(e,t){return new i(e,t)},request:function(e,i){var s={method:i.verb,cache:"no-cache",headers:{"Content-Type":"application/json",loginToken:i.loginToken||"",sessionId:i.sessionId||"",clienttype:0}};i.encryptionFields&&(s.headers["ue-encryption-algorithm"]=i.encryptionAlgorithm||"aes",s.headers["ue-encryption-fields"]=i.encryptionFields),void 0!==i.withCredentials&&(s.credentials=!0===i.withCredentials?"include":i.withCredentials?i.withCredentials:"omit"),void 0!==i.body&&(s.body=JSON.stringify(i.body));var o=n(e,s).catch((function(e){return r.reject({message:"Probably a network error, is the gateway down?",error:e})}));if(void 0!==i.timeout){var a=new r((function(e,t){var n=window.setTimeout((function(){return clearTimeout(n),i.error({message:"Request timed out",timeout:i.timeout}),t({message:"Request timed out",timeout:i.timeout})}),i.timeout)}));o=r.race([o,a])}return o.then((function(e){return e.ok?typeof i.success==typeof t.noop?e.json().then((function(e){i.success(e)})).catch((function(t){return i.error({message:"Failed to parse response body",error:t,response:e}),r.reject({message:"Failed to parse response body",error:t,response:e})})):void 0:(i.error({message:"API call failed",response:e}),r.reject({message:"API call failed",response:e}))})).catch((function(e){typeof i.error==typeof t.noop&&i.error(e.message||"<< internal error >>",e)})),o}}},Object.defineProperty(e.prototype,"agent",{get:function(){return this._agentApi()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"webrtc",{get:function(){return this._webPhoneApi()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"call",{get:function(){return this._callApi()},enumerable:!1,configurable:!0}),t=e,e.callApiUrl="https://app.useasy.cn/api",e.Socketinstance=null,e.AudioTask=null,e.initWebrtcEvent=function(e){return __awaiter$1(void 0,void 0,void 0,(function(){return __generator$1(t,(function(n){switch(n.label){case 0:return t.webPhone=new UeWebrtc({server:e.wssUrl,sip:e.sip,secret:e.password}),[4,this.webPhone.connect()];case 1:return n.sent(),this.webPhone.register(),[2]}}))}))},e}(),ueWebsocket=function(){function e(e,t){delete t.path,delete t.hostname,delete t.port,this.ws=_t.connect("wss://".concat(e),t)}return e.prototype.on=function(e,t){"connect"===e&&this.ws.on(e,t),"error"===e&&(this.ws.on("connect_error",t),this.ws.on("error",t),this.ws.on("disconnect",t),this.ws.on("reconnect_failed",t)),"message"===e&&this.ws.on("call",t),"event"===e&&this.ws.on("event",t)},e.prototype.emit=function(e,t,n){this.ws.emit(e,t,n)},e.prototype.disconnect=function(){this.ws.disconnect()},e}(),AudioTask=function(){function e(e){this.ringAudio=new Audio(e),this.ringAudio.loop=!0,this.ringAudioRunning=!1}return e.prototype.ringAudioPlay=function(){return __awaiter$1(this,void 0,void 0,(function(){return __generator$1(this,(function(e){switch(e.label){case 0:return this.ringAudioRunning?[2]:[3,1];case 1:return[4,this.ringAudio.play()];case 2:e.sent(),this.ringAudioRunning=!0,e.label=3;case 3:return[2]}}))}))},e.prototype.ringAudioPause=function(){return __awaiter$1(this,void 0,void 0,(function(){return __generator$1(this,(function(e){switch(e.label){case 0:return this.ringAudio.paused?[3,2]:[4,this.ringAudio.pause()];case 1:e.sent(),this.ringAudioRunning=!1,e.label=2;case 2:return[2]}}))}))},e}();return ueSoftphone}();
22
+ var KJUR={};void 0!==KJUR.asn1&&KJUR.asn1||(KJUR.asn1={}),KJUR.asn1.ASN1Util=new function(){this.integerToByteHex=function(e){var t=e.toString(16);return t.length%2==1&&(t="0"+t),t},this.bigIntToMinTwosComplementsHex=function(e){var t=e.toString(16);if("-"!=t.substr(0,1))t.length%2==1?t="0"+t:t.match(/^[0-7]/)||(t="00"+t);else{var n=t.substr(1).length;n%2==1?n+=1:t.match(/^[0-7]/)||(n+=2);for(var r="",i=0;i<n;i++)r+="f";t=new BigInteger(r,16).xor(e).add(BigInteger.ONE).toString(16).replace(/^-/,"")}return t},this.getPEMStringFromHex=function(e,t){return hextopem(e,t)},this.newObject=function(e){var t=KJUR.asn1,n=t.DERBoolean,r=t.DERInteger,i=t.DERBitString,s=t.DEROctetString,o=t.DERNull,a=t.DERObjectIdentifier,c=t.DEREnumerated,u=t.DERUTF8String,h=t.DERNumericString,l=t.DERPrintableString,d=t.DERTeletexString,p=t.DERIA5String,g=t.DERUTCTime,f=t.DERGeneralizedTime,m=t.DERSequence,v=t.DERSet,y=t.DERTaggedObject,b=t.ASN1Util.newObject,S=Object.keys(e);if(1!=S.length)throw"key of param shall be only one.";var T=S[0];if(-1==":bool:int:bitstr:octstr:null:oid:enum:utf8str:numstr:prnstr:telstr:ia5str:utctime:gentime:seq:set:tag:".indexOf(":"+T+":"))throw"undefined key: "+T;if("bool"==T)return new n(e[T]);if("int"==T)return new r(e[T]);if("bitstr"==T)return new i(e[T]);if("octstr"==T)return new s(e[T]);if("null"==T)return new o(e[T]);if("oid"==T)return new a(e[T]);if("enum"==T)return new c(e[T]);if("utf8str"==T)return new u(e[T]);if("numstr"==T)return new h(e[T]);if("prnstr"==T)return new l(e[T]);if("telstr"==T)return new d(e[T]);if("ia5str"==T)return new p(e[T]);if("utctime"==T)return new g(e[T]);if("gentime"==T)return new f(e[T]);if("seq"==T){for(var w=e[T],R=[],E=0;E<w.length;E++){var I=b(w[E]);R.push(I)}return new m({array:R})}if("set"==T){for(w=e[T],R=[],E=0;E<w.length;E++){I=b(w[E]);R.push(I)}return new v({array:R})}if("tag"==T){var _=e[T];if("[object Array]"===Object.prototype.toString.call(_)&&3==_.length){var A=b(_[2]);return new y({tag:_[0],explicit:_[1],obj:A})}var C={};if(void 0!==_.explicit&&(C.explicit=_.explicit),void 0!==_.tag&&(C.tag=_.tag),void 0===_.obj)throw"obj shall be specified for 'tag'.";return C.obj=b(_.obj),new y(C)}},this.jsonToASN1HEX=function(e){return this.newObject(e).getEncodedHex()}},KJUR.asn1.ASN1Util.oidHexToInt=function(e){for(var t="",n=parseInt(e.substr(0,2),16),r=(t=Math.floor(n/40)+"."+n%40,""),i=2;i<e.length;i+=2){var s=("00000000"+parseInt(e.substr(i,2),16).toString(2)).slice(-8);if(r+=s.substr(1,7),"0"==s.substr(0,1))t=t+"."+new BigInteger(r,2).toString(10),r=""}return t},KJUR.asn1.ASN1Util.oidIntToHex=function(e){var t=function(e){var t=e.toString(16);return 1==t.length&&(t="0"+t),t},n=function(e){var n="",r=new BigInteger(e,10).toString(2),i=7-r.length%7;7==i&&(i=0);for(var s="",o=0;o<i;o++)s+="0";r=s+r;for(o=0;o<r.length-1;o+=7){var a=r.substr(o,7);o!=r.length-7&&(a="1"+a),n+=t(parseInt(a,2))}return n};if(!e.match(/^[0-9.]+$/))throw"malformed oid string: "+e;var r="",i=e.split("."),s=40*parseInt(i[0])+parseInt(i[1]);r+=t(s),i.splice(0,2);for(var o=0;o<i.length;o++)r+=n(i[o]);return r},KJUR.asn1.ASN1Object=function(){this.getLengthHexFromValue=function(){if(void 0===this.hV||null==this.hV)throw"this.hV is null or undefined.";if(this.hV.length%2==1)throw"value hex must be even length: n=0,v="+this.hV;var e=this.hV.length/2,t=e.toString(16);if(t.length%2==1&&(t="0"+t),e<128)return t;var n=t.length/2;if(n>15)throw"ASN.1 length too long to represent by 8x: n = "+e.toString(16);return(128+n).toString(16)+t},this.getEncodedHex=function(){return(null==this.hTLV||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV},this.getValueHex=function(){return this.getEncodedHex(),this.hV},this.getFreshValueHex=function(){return""}},KJUR.asn1.DERAbstractString=function(e){KJUR.asn1.DERAbstractString.superclass.constructor.call(this),this.getString=function(){return this.s},this.setString=function(e){this.hTLV=null,this.isModified=!0,this.s=e,this.hV=stohex(this.s)},this.setStringHex=function(e){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=e},this.getFreshValueHex=function(){return this.hV},void 0!==e&&("string"==typeof e?this.setString(e):void 0!==e.str?this.setString(e.str):void 0!==e.hex&&this.setStringHex(e.hex))},YAHOO.lang.extend(KJUR.asn1.DERAbstractString,KJUR.asn1.ASN1Object),KJUR.asn1.DERAbstractTime=function(e){KJUR.asn1.DERAbstractTime.superclass.constructor.call(this),this.localDateToUTC=function(e){return utc=e.getTime()+6e4*e.getTimezoneOffset(),new Date(utc)},this.formatDate=function(e,t,n){var r=this.zeroPadding,i=this.localDateToUTC(e),s=String(i.getFullYear());"utc"==t&&(s=s.substr(2,2));var o=s+r(String(i.getMonth()+1),2)+r(String(i.getDate()),2)+r(String(i.getHours()),2)+r(String(i.getMinutes()),2)+r(String(i.getSeconds()),2);if(!0===n){var a=i.getMilliseconds();if(0!=a){var c=r(String(a),3);o=o+"."+(c=c.replace(/[0]+$/,""))}}return o+"Z"},this.zeroPadding=function(e,t){return e.length>=t?e:new Array(t-e.length+1).join("0")+e},this.getString=function(){return this.s},this.setString=function(e){this.hTLV=null,this.isModified=!0,this.s=e,this.hV=stohex(e)},this.setByDateValue=function(e,t,n,r,i,s){var o=new Date(Date.UTC(e,t-1,n,r,i,s,0));this.setByDate(o)},this.getFreshValueHex=function(){return this.hV}},YAHOO.lang.extend(KJUR.asn1.DERAbstractTime,KJUR.asn1.ASN1Object),KJUR.asn1.DERAbstractStructured=function(e){KJUR.asn1.DERAbstractString.superclass.constructor.call(this),this.setByASN1ObjectArray=function(e){this.hTLV=null,this.isModified=!0,this.asn1Array=e},this.appendASN1Object=function(e){this.hTLV=null,this.isModified=!0,this.asn1Array.push(e)},this.asn1Array=new Array,void 0!==e&&void 0!==e.array&&(this.asn1Array=e.array)},YAHOO.lang.extend(KJUR.asn1.DERAbstractStructured,KJUR.asn1.ASN1Object),KJUR.asn1.DERBoolean=function(){KJUR.asn1.DERBoolean.superclass.constructor.call(this),this.hT="01",this.hTLV="0101ff"},YAHOO.lang.extend(KJUR.asn1.DERBoolean,KJUR.asn1.ASN1Object),KJUR.asn1.DERInteger=function(e){KJUR.asn1.DERInteger.superclass.constructor.call(this),this.hT="02",this.setByBigInteger=function(e){this.hTLV=null,this.isModified=!0,this.hV=KJUR.asn1.ASN1Util.bigIntToMinTwosComplementsHex(e)},this.setByInteger=function(e){var t=new BigInteger(String(e),10);this.setByBigInteger(t)},this.setValueHex=function(e){this.hV=e},this.getFreshValueHex=function(){return this.hV},void 0!==e&&(void 0!==e.bigint?this.setByBigInteger(e.bigint):void 0!==e.int?this.setByInteger(e.int):"number"==typeof e?this.setByInteger(e):void 0!==e.hex&&this.setValueHex(e.hex))},YAHOO.lang.extend(KJUR.asn1.DERInteger,KJUR.asn1.ASN1Object),KJUR.asn1.DERBitString=function(e){if(void 0!==e&&void 0!==e.obj){var t=KJUR.asn1.ASN1Util.newObject(e.obj);e.hex="00"+t.getEncodedHex()}KJUR.asn1.DERBitString.superclass.constructor.call(this),this.hT="03",this.setHexValueIncludingUnusedBits=function(e){this.hTLV=null,this.isModified=!0,this.hV=e},this.setUnusedBitsAndHexValue=function(e,t){if(e<0||7<e)throw"unused bits shall be from 0 to 7: u = "+e;var n="0"+e;this.hTLV=null,this.isModified=!0,this.hV=n+t},this.setByBinaryString=function(e){var t=8-(e=e.replace(/0+$/,"")).length%8;8==t&&(t=0);for(var n=0;n<=t;n++)e+="0";var r="";for(n=0;n<e.length-1;n+=8){var i=e.substr(n,8),s=parseInt(i,2).toString(16);1==s.length&&(s="0"+s),r+=s}this.hTLV=null,this.isModified=!0,this.hV="0"+t+r},this.setByBooleanArray=function(e){for(var t="",n=0;n<e.length;n++)1==e[n]?t+="1":t+="0";this.setByBinaryString(t)},this.newFalseArray=function(e){for(var t=new Array(e),n=0;n<e;n++)t[n]=!1;return t},this.getFreshValueHex=function(){return this.hV},void 0!==e&&("string"==typeof e&&e.toLowerCase().match(/^[0-9a-f]+$/)?this.setHexValueIncludingUnusedBits(e):void 0!==e.hex?this.setHexValueIncludingUnusedBits(e.hex):void 0!==e.bin?this.setByBinaryString(e.bin):void 0!==e.array&&this.setByBooleanArray(e.array))},YAHOO.lang.extend(KJUR.asn1.DERBitString,KJUR.asn1.ASN1Object),KJUR.asn1.DEROctetString=function(e){if(void 0!==e&&void 0!==e.obj){var t=KJUR.asn1.ASN1Util.newObject(e.obj);e.hex=t.getEncodedHex()}KJUR.asn1.DEROctetString.superclass.constructor.call(this,e),this.hT="04"},YAHOO.lang.extend(KJUR.asn1.DEROctetString,KJUR.asn1.DERAbstractString),KJUR.asn1.DERNull=function(){KJUR.asn1.DERNull.superclass.constructor.call(this),this.hT="05",this.hTLV="0500"},YAHOO.lang.extend(KJUR.asn1.DERNull,KJUR.asn1.ASN1Object),KJUR.asn1.DERObjectIdentifier=function(e){var t=function(e){var t=e.toString(16);return 1==t.length&&(t="0"+t),t},n=function(e){var n="",r=new BigInteger(e,10).toString(2),i=7-r.length%7;7==i&&(i=0);for(var s="",o=0;o<i;o++)s+="0";r=s+r;for(o=0;o<r.length-1;o+=7){var a=r.substr(o,7);o!=r.length-7&&(a="1"+a),n+=t(parseInt(a,2))}return n};KJUR.asn1.DERObjectIdentifier.superclass.constructor.call(this),this.hT="06",this.setValueHex=function(e){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=e},this.setValueOidString=function(e){if(!e.match(/^[0-9.]+$/))throw"malformed oid string: "+e;var r="",i=e.split("."),s=40*parseInt(i[0])+parseInt(i[1]);r+=t(s),i.splice(0,2);for(var o=0;o<i.length;o++)r+=n(i[o]);this.hTLV=null,this.isModified=!0,this.s=null,this.hV=r},this.setValueName=function(e){var t=KJUR.asn1.x509.OID.name2oid(e);if(""===t)throw"DERObjectIdentifier oidName undefined: "+e;this.setValueOidString(t)},this.getFreshValueHex=function(){return this.hV},void 0!==e&&("string"==typeof e?e.match(/^[0-2].[0-9.]+$/)?this.setValueOidString(e):this.setValueName(e):void 0!==e.oid?this.setValueOidString(e.oid):void 0!==e.hex?this.setValueHex(e.hex):void 0!==e.name&&this.setValueName(e.name))},YAHOO.lang.extend(KJUR.asn1.DERObjectIdentifier,KJUR.asn1.ASN1Object),KJUR.asn1.DEREnumerated=function(e){KJUR.asn1.DEREnumerated.superclass.constructor.call(this),this.hT="0a",this.setByBigInteger=function(e){this.hTLV=null,this.isModified=!0,this.hV=KJUR.asn1.ASN1Util.bigIntToMinTwosComplementsHex(e)},this.setByInteger=function(e){var t=new BigInteger(String(e),10);this.setByBigInteger(t)},this.setValueHex=function(e){this.hV=e},this.getFreshValueHex=function(){return this.hV},void 0!==e&&(void 0!==e.int?this.setByInteger(e.int):"number"==typeof e?this.setByInteger(e):void 0!==e.hex&&this.setValueHex(e.hex))},YAHOO.lang.extend(KJUR.asn1.DEREnumerated,KJUR.asn1.ASN1Object),KJUR.asn1.DERUTF8String=function(e){KJUR.asn1.DERUTF8String.superclass.constructor.call(this,e),this.hT="0c"},YAHOO.lang.extend(KJUR.asn1.DERUTF8String,KJUR.asn1.DERAbstractString),KJUR.asn1.DERNumericString=function(e){KJUR.asn1.DERNumericString.superclass.constructor.call(this,e),this.hT="12"},YAHOO.lang.extend(KJUR.asn1.DERNumericString,KJUR.asn1.DERAbstractString),KJUR.asn1.DERPrintableString=function(e){KJUR.asn1.DERPrintableString.superclass.constructor.call(this,e),this.hT="13"},YAHOO.lang.extend(KJUR.asn1.DERPrintableString,KJUR.asn1.DERAbstractString),KJUR.asn1.DERTeletexString=function(e){KJUR.asn1.DERTeletexString.superclass.constructor.call(this,e),this.hT="14"},YAHOO.lang.extend(KJUR.asn1.DERTeletexString,KJUR.asn1.DERAbstractString),KJUR.asn1.DERIA5String=function(e){KJUR.asn1.DERIA5String.superclass.constructor.call(this,e),this.hT="16"},YAHOO.lang.extend(KJUR.asn1.DERIA5String,KJUR.asn1.DERAbstractString),KJUR.asn1.DERUTCTime=function(e){KJUR.asn1.DERUTCTime.superclass.constructor.call(this,e),this.hT="17",this.setByDate=function(e){this.hTLV=null,this.isModified=!0,this.date=e,this.s=this.formatDate(this.date,"utc"),this.hV=stohex(this.s)},this.getFreshValueHex=function(){return void 0===this.date&&void 0===this.s&&(this.date=new Date,this.s=this.formatDate(this.date,"utc"),this.hV=stohex(this.s)),this.hV},void 0!==e&&(void 0!==e.str?this.setString(e.str):"string"==typeof e&&e.match(/^[0-9]{12}Z$/)?this.setString(e):void 0!==e.hex?this.setStringHex(e.hex):void 0!==e.date&&this.setByDate(e.date))},YAHOO.lang.extend(KJUR.asn1.DERUTCTime,KJUR.asn1.DERAbstractTime),KJUR.asn1.DERGeneralizedTime=function(e){KJUR.asn1.DERGeneralizedTime.superclass.constructor.call(this,e),this.hT="18",this.withMillis=!1,this.setByDate=function(e){this.hTLV=null,this.isModified=!0,this.date=e,this.s=this.formatDate(this.date,"gen",this.withMillis),this.hV=stohex(this.s)},this.getFreshValueHex=function(){return void 0===this.date&&void 0===this.s&&(this.date=new Date,this.s=this.formatDate(this.date,"gen",this.withMillis),this.hV=stohex(this.s)),this.hV},void 0!==e&&(void 0!==e.str?this.setString(e.str):"string"==typeof e&&e.match(/^[0-9]{14}Z$/)?this.setString(e):void 0!==e.hex?this.setStringHex(e.hex):void 0!==e.date&&this.setByDate(e.date),!0===e.millis&&(this.withMillis=!0))},YAHOO.lang.extend(KJUR.asn1.DERGeneralizedTime,KJUR.asn1.DERAbstractTime),KJUR.asn1.DERSequence=function(e){KJUR.asn1.DERSequence.superclass.constructor.call(this,e),this.hT="30",this.getFreshValueHex=function(){for(var e="",t=0;t<this.asn1Array.length;t++){e+=this.asn1Array[t].getEncodedHex()}return this.hV=e,this.hV}},YAHOO.lang.extend(KJUR.asn1.DERSequence,KJUR.asn1.DERAbstractStructured),KJUR.asn1.DERSet=function(e){KJUR.asn1.DERSet.superclass.constructor.call(this,e),this.hT="31",this.sortFlag=!0,this.getFreshValueHex=function(){for(var e=new Array,t=0;t<this.asn1Array.length;t++){var n=this.asn1Array[t];e.push(n.getEncodedHex())}return 1==this.sortFlag&&e.sort(),this.hV=e.join(""),this.hV},void 0!==e&&void 0!==e.sortflag&&0==e.sortflag&&(this.sortFlag=!1)},YAHOO.lang.extend(KJUR.asn1.DERSet,KJUR.asn1.DERAbstractStructured),KJUR.asn1.DERTaggedObject=function(e){KJUR.asn1.DERTaggedObject.superclass.constructor.call(this),this.hT="a0",this.hV="",this.isExplicit=!0,this.asn1Object=null,this.setASN1Object=function(e,t,n){this.hT=t,this.isExplicit=e,this.asn1Object=n,this.isExplicit?(this.hV=this.asn1Object.getEncodedHex(),this.hTLV=null,this.isModified=!0):(this.hV=null,this.hTLV=n.getEncodedHex(),this.hTLV=this.hTLV.replace(/^../,t),this.isModified=!1)},this.getFreshValueHex=function(){return this.hV},void 0!==e&&(void 0!==e.tag&&(this.hT=e.tag),void 0!==e.explicit&&(this.isExplicit=e.explicit),void 0!==e.obj&&(this.asn1Object=e.obj,this.setASN1Object(this.isExplicit,this.hT,this.asn1Object)))},YAHOO.lang.extend(KJUR.asn1.DERTaggedObject,KJUR.asn1.ASN1Object);var __extends=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),JSEncryptRSAKey=function(e){function t(n){var r=e.call(this)||this;return n&&("string"==typeof n?r.parseKey(n):(t.hasPrivateKeyProperty(n)||t.hasPublicKeyProperty(n))&&r.parsePropertiesFrom(n)),r}return __extends(t,e),t.prototype.parseKey=function(e){try{var t=0,n=0,r=/^\s*(?:[0-9A-Fa-f][0-9A-Fa-f]\s*)+$/.test(e)?Hex.decode(e):Base64.unarmor(e),i=ASN1.decode(r);if(3===i.sub.length&&(i=i.sub[2].sub[0]),9===i.sub.length){t=i.sub[1].getHexStringValue(),this.n=parseBigInt(t,16),n=i.sub[2].getHexStringValue(),this.e=parseInt(n,16);var s=i.sub[3].getHexStringValue();this.d=parseBigInt(s,16);var o=i.sub[4].getHexStringValue();this.p=parseBigInt(o,16);var a=i.sub[5].getHexStringValue();this.q=parseBigInt(a,16);var c=i.sub[6].getHexStringValue();this.dmp1=parseBigInt(c,16);var u=i.sub[7].getHexStringValue();this.dmq1=parseBigInt(u,16);var h=i.sub[8].getHexStringValue();this.coeff=parseBigInt(h,16)}else{if(2!==i.sub.length)return!1;if(i.sub[0].sub){var l=i.sub[1].sub[0];t=l.sub[0].getHexStringValue(),this.n=parseBigInt(t,16),n=l.sub[1].getHexStringValue(),this.e=parseInt(n,16)}else t=i.sub[0].getHexStringValue(),this.n=parseBigInt(t,16),n=i.sub[1].getHexStringValue(),this.e=parseInt(n,16)}return!0}catch(e){return!1}},t.prototype.getPrivateBaseKey=function(){var e={array:[new KJUR.asn1.DERInteger({int:0}),new KJUR.asn1.DERInteger({bigint:this.n}),new KJUR.asn1.DERInteger({int:this.e}),new KJUR.asn1.DERInteger({bigint:this.d}),new KJUR.asn1.DERInteger({bigint:this.p}),new KJUR.asn1.DERInteger({bigint:this.q}),new KJUR.asn1.DERInteger({bigint:this.dmp1}),new KJUR.asn1.DERInteger({bigint:this.dmq1}),new KJUR.asn1.DERInteger({bigint:this.coeff})]};return new KJUR.asn1.DERSequence(e).getEncodedHex()},t.prototype.getPrivateBaseKeyB64=function(){return hex2b64(this.getPrivateBaseKey())},t.prototype.getPublicBaseKey=function(){var e=new KJUR.asn1.DERSequence({array:[new KJUR.asn1.DERObjectIdentifier({oid:"1.2.840.113549.1.1.1"}),new KJUR.asn1.DERNull]}),t=new KJUR.asn1.DERSequence({array:[new KJUR.asn1.DERInteger({bigint:this.n}),new KJUR.asn1.DERInteger({int:this.e})]}),n=new KJUR.asn1.DERBitString({hex:"00"+t.getEncodedHex()});return new KJUR.asn1.DERSequence({array:[e,n]}).getEncodedHex()},t.prototype.getPublicBaseKeyB64=function(){return hex2b64(this.getPublicBaseKey())},t.wordwrap=function(e,t){if(!e)return e;var n="(.{1,"+(t=t||64)+"})( +|$\n?)|(.{1,"+t+"})";return e.match(RegExp(n,"g")).join("\n")},t.prototype.getPrivateKey=function(){var e="-----BEGIN RSA PRIVATE KEY-----\n";return e+=t.wordwrap(this.getPrivateBaseKeyB64())+"\n",e+="-----END RSA PRIVATE KEY-----"},t.prototype.getPublicKey=function(){var e="-----BEGIN PUBLIC KEY-----\n";return e+=t.wordwrap(this.getPublicBaseKeyB64())+"\n",e+="-----END PUBLIC KEY-----"},t.hasPublicKeyProperty=function(e){return(e=e||{}).hasOwnProperty("n")&&e.hasOwnProperty("e")},t.hasPrivateKeyProperty=function(e){return(e=e||{}).hasOwnProperty("n")&&e.hasOwnProperty("e")&&e.hasOwnProperty("d")&&e.hasOwnProperty("p")&&e.hasOwnProperty("q")&&e.hasOwnProperty("dmp1")&&e.hasOwnProperty("dmq1")&&e.hasOwnProperty("coeff")},t.prototype.parsePropertiesFrom=function(e){this.n=e.n,this.e=e.e,e.hasOwnProperty("d")&&(this.d=e.d,this.p=e.p,this.q=e.q,this.dmp1=e.dmp1,this.dmq1=e.dmq1,this.coeff=e.coeff)},t}(RSAKey),_a,version=void 0!==browser$1?null===(_a=browser$1.env)||void 0===_a?void 0:_a.npm_package_version:void 0,JSEncrypt=function(){function e(e){void 0===e&&(e={}),e=e||{},this.default_key_size=e.default_key_size?parseInt(e.default_key_size,10):1024,this.default_public_exponent=e.default_public_exponent||"010001",this.log=e.log||!1,this.key=null}return e.prototype.setKey=function(e){this.log&&this.key&&console.warn("A key was already set, overriding existing."),this.key=new JSEncryptRSAKey(e)},e.prototype.setPrivateKey=function(e){this.setKey(e)},e.prototype.setPublicKey=function(e){this.setKey(e)},e.prototype.decrypt=function(e){try{return this.getKey().decrypt(b64tohex(e))}catch(e){return!1}},e.prototype.encrypt=function(e){try{return hex2b64(this.getKey().encrypt(e))}catch(e){return!1}},e.prototype.sign=function(e,t,n){try{return hex2b64(this.getKey().sign(e,t,n))}catch(e){return!1}},e.prototype.verify=function(e,t,n){try{return this.getKey().verify(e,b64tohex(t),n)}catch(e){return!1}},e.prototype.getKey=function(e){if(!this.key){if(this.key=new JSEncryptRSAKey,e&&"[object Function]"==={}.toString.call(e))return void this.key.generateAsync(this.default_key_size,this.default_public_exponent,e);this.key.generate(this.default_key_size,this.default_public_exponent)}return this.key},e.prototype.getPrivateKey=function(){return this.getKey().getPrivateKey()},e.prototype.getPrivateKeyB64=function(){return this.getKey().getPrivateBaseKeyB64()},e.prototype.getPublicKey=function(){return this.getKey().getPublicKey()},e.prototype.getPublicKeyB64=function(){return this.getKey().getPublicBaseKeyB64()},e.version=version,e}(),networkMonitoringConfig={requestState:!1,delay:0},ueSoftphone=function(){function e(e){void 0===e&&(e={});var n=this;this.getWebrtcInfo=function(e,n){t.request(e+"/call/api/sip/webrtc/config/query",{verb:"GET",loginToken:t.loginToken,sessionId:t.agentInfo._id,success:function(e){e.success&&e.data?(t.agentextras=e.data,t.initWebrtcEvent(e.data)):n.error(__assign$1({},e))},error:function(e){n.error({error:e})}})},this.initAttachEvent=function(e,r,i,s,o){n.attachEventCallbacks&&t.request(e+"/platform/action/refreshWsToken",{verb:"GET",loginToken:t.loginToken,sessionId:t.agentInfo._id,success:function(e){if(e&&e.data){var a="";i.forEach((function(e){"KF"===e.id&&(a=e.url)})),n.attachEventCallbacks.serve=a,n.attachEventCallbacks.SocketOptions={query:{accountId:s.accountId,agentNumber:s.agentNumber,agentId:s._id,token:e.data.wsToken,wsExtra:JSON.stringify({loginType:r,channelType:"SDK",ability:["call"]}),timestamp:e.data.timestamp,clientType:1,pushHangupStatistics:t.initOptions.pushHangupStatistics||!1,pushCallinRingStatistics:t.initOptions.pushCallinRingStatistics||!1},reconnectionDelay:3e3,"force new connection":!0,transports:["websocket"],timeout:5e3},n.attachEventCallbacks.suc=o,t.createEventHandle(n.attachEventCallbacks)}},error:function(e){i.error({error:e})}})},this.attachNetworkCallbacks={message:t.noop,error:t.noop,success:t.noop},this.initnNetworkMonitoring=function(e,r){var i="";e.forEach((function(e){if("MONITOR"===e.id){var t=document.location.protocol;"file:"===t&&(t="https:"),i=t+"//"+e.url}})),n.attachNetworkCallbacks.success(),n.attachNetworkCallbacks.message({delay:100}),setInterval((function(){var e=(new Date).getTime();networkMonitoringConfig.requestState=!0,t.request(i+"/ready",{method:"GET",success:function(t){if(t.success){var r=(new Date).getTime();networkMonitoringConfig.delay=(r-e)/2,n.attachNetworkCallbacks.message({delay:networkMonitoringConfig.delay})}else n.attachNetworkCallbacks.error(),networkMonitoringConfig.delay=500,networkMonitoringConfig.requestState=!1},error:function(e){n.attachNetworkCallbacks.error(),networkMonitoringConfig.delay=500,networkMonitoringConfig.requestState=!1}})}),1e4)},this.listenCallNetork=function(e){e&&(n.attachNetworkCallbacks.message=e.message&&"function"==typeof e.message?e.message:t.noop,n.attachNetworkCallbacks.success=e.success&&"function"==typeof e.success?e.success:t.noop,n.attachNetworkCallbacks.error=e.error&&"function"==typeof e.error?e.error:t.noop)},this.initAgentQueue=function(e,r,i,s,o){n.attachMonitorEventCallbacks&&t.request(e+"/platform/action/refreshWsToken",{verb:"GET",loginToken:t.loginToken,sessionId:t.agentInfo._id,success:function(e){if(e&&e.data){var a="";i.forEach((function(e){"MONITOR"===e.id&&(a=e.url)})),n.attachMonitorEventCallbacks.serve=a,n.attachMonitorEventCallbacks.SocketOptions={query:{accountId:s.accountId,agentNumber:s.agentNumber,agentId:s._id,token:e.data.wsToken,wsExtra:JSON.stringify({loginType:r,channelType:"SDK",ability:["call"]}),timestamp:e.data.timestamp,clientType:3},reconnectionDelay:3e3,"force new connection":!0,transports:["websocket"],timeout:5e3},n.attachMonitorEventCallbacks.suc=o,t.createQueueMonitorEventHandle(n.attachMonitorEventCallbacks)}},error:function(e){console.log("失败",e),i.error({error:e})}})},this.initQueue=function(e){t.request(e+"/call/monitor/agent/queue/query",{verb:"POST",body:{accountId:t.agentInfo.accountId,agentId:t.agentInfo._id},success:function(e){e&&e.data?n.attachMonitorEventCallbacks.message(e):n.attachMonitorEventCallbacks.error(e)},error:function(e){n.attachMonitorEventCallbacks.error(e)}})},this.listenCallQueueEvent=function(e){n.attachMonitorEventCallbacks=e},this.openMediaAudio=function(e,t){var n=navigator,r=n.mediaDevices,i=n.getUserMedia,s=n.webkitGetUserMedia,o=n.mozGetUserMedia,a=n.msGetUserMedia,c=(i||s||o||a).bind(navigator);return r?navigator.mediaDevices.getUserMedia({audio:!0}).catch((function(n){var r=n.message.includes(DENIED);return t?(r&&alert(AUDIO_FORBIDDEN.forbiddenAudioMsg),e&&!r&&alert(e),r?AUDIO_FORBIDDEN:NOT_OPEN_AUDIO):r?AUDIO_FORBIDDEN:NOT_OPEN_AUDIO})):new Promise((function(n,r){c?c({audio:!0},(function(e){n(!0)}),(function(n){t&&e&&alert(e),r(NOT_OPEN_AUDIO)})):r(NOT_OPEN_AUDIO)}))},this.listenCallEvent=function(e){n.attachEventCallbacks=e},this._callApi=function(){var e,r,i=n;return{callout:function(n){return __awaiter$1(this,void 0,void 0,(function(){var s,o,a,c,u,h;return __generator$1(this,(function(l){switch(l.label){case 0:if(n.success=n&&"function"==typeof n.success?n.success:t.noop,n.fail=n&&"function"==typeof n.fail?n.fail:t.noop,null===t.loginToken||void 0===t.loginToken)return n.fail({success:!1,message:"initialization not complete!"}),[2];if(null===t.agentInfo||void 0===t.agentInfo)return n.fail({success:!1,message:"initialization not complete!"}),[2];if(null===n.customerNumber||void 0===n.customerNumber)return n.fail({success:!1,message:"Parameter customerNumber is required!"}),[2];if("WEBRTC"!==t.initOptions.loginType)return[3,4];l.label=1;case 1:return l.trys.push([1,3,,4]),[4,navigator.mediaDevices.getUserMedia({audio:!0})];case 2:return l.sent(),[3,4];case 3:return l.sent(),n.fail({success:!1,message:"无麦克风权限!"}),[2];case 4:if(s=t.initOptions.server||t.callApiUrl,o={customerNumber:n.customerNumber,agentNumber:t.agentInfo.agentNumber,accountId:t.agentInfo.accountId,agentId:t.agentInfo._id,loginType:n.loginType||t.agentInfo.loginType||t.initOptions.loginType},n.agentTimeout&&(o.agentTimeout=n.agentTimeout),n.customerTimeout&&(o.customerTimeout=n.customerTimeout),n.agentDisNumber&&(o.agentDisNumber=n.agentDisNumber),n.customerDisNumber&&(o.customerDisNumber=n.customerDisNumber),n.extras&&(o.extras=n.extras),n.numberGroupId&&(o.numberGroupId=n.numberGroupId),n.numberGroupName&&(o.numberGroupName=n.numberGroupName),a=t.initOptions,c=!0,"WEBRTC"!==a.loginType)return[3,8];l.label=5;case 5:return l.trys.push([5,7,,8]),[4,i.openMediaAudio("请打开麦克风权限!",c)];case 6:return u=l.sent()||{},[3,8];case 7:return h=l.sent(),console.log(h),[3,8];case 8:return t.request(s+"/call/api/call/call/out",{verb:"POST",body:o,loginToken:t.loginToken,sessionId:t.agentInfo._id,encryptionAlgorithm:e,encryptionFields:r,success:function(e){e.success?n.success(__assign$1(__assign$1({success:!0,message:"callout success"},u),e.data)):n.fail(__assign$1({success:!1,message:e.message,code:e.code},u))}}),[2]}}))}))},hangup:function(n){if(n.success=n&&"function"==typeof n.success?n.success:t.noop,n.fail=n&&"function"==typeof n.fail?n.fail:t.noop,null!==t.loginToken&&void 0!==t.loginToken)if(null!==t.agentInfo&&void 0!==t.agentInfo){var i=t.initOptions.server||t.callApiUrl;t.request(i+"/call/api/call/hangup",{verb:"POST",body:{},loginToken:t.loginToken,sessionId:t.agentInfo._id,accountId:t.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:r,success:function(e){e.success?n.success({success:!0,message:"hangup success",data:e}):n.fail({success:!1,message:e.message,code:e.code})}})}else n.fail({success:!1,message:"initialization not complete!"});else n.fail({success:!1,message:"initialization not complete!"})},holdOrUnHold:function(n){if(n.success=n&&"function"==typeof n.success?n.success:t.noop,n.fail=n&&"function"==typeof n.fail?n.fail:t.noop,null!==t.loginToken&&void 0!==t.loginToken)if(null!==t.agentInfo&&void 0!==t.agentInfo)if(null!==n.type&&void 0!==n.type){var i=t.initOptions.server||t.callApiUrl,s={type:n.type};t.request(i+"/call/api/call/hold",{verb:"POST",body:s,loginToken:t.loginToken,sessionId:t.agentInfo._id,accountId:t.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:r,success:function(e){e.success?n.success({success:!0,message:"holdOrUnHold success"}):n.fail({success:!1,message:e.message,code:e.code})}})}else n.fail({success:!1,message:"Parameter type is required!"});else n.fail({success:!1,message:"initialization not complete!"});else n.fail({success:!1,message:"initialization not complete!"})},muteOrUnMute:function(n){if(n.success=n&&"function"==typeof n.success?n.success:t.noop,n.fail=n&&"function"==typeof n.fail?n.fail:t.noop,null!==t.loginToken&&void 0!==t.loginToken)if(null!==t.agentInfo&&void 0!==t.agentInfo)if(null!==n.type&&void 0!==n.type){var i=t.initOptions.server||t.callApiUrl,s={type:n.type,direction:n.direction||"all"};t.request(i+"/call/api/call/mute",{verb:"POST",body:s,loginToken:t.loginToken,sessionId:t.agentInfo._id,accountId:t.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:r,success:function(e){e.success?n.success({success:!0,message:"muteOrUnMute success"}):n.fail({success:!1,message:e.message,code:e.code})}})}else n.fail({success:!1,message:"Parameter type is required!"});else n.fail({success:!1,message:"initialization not complete!"});else n.fail({success:!1,message:"initialization not complete!"})},transfer:function(n){if(n.success=n&&"function"==typeof n.success?n.success:t.noop,n.fail=n&&"function"==typeof n.fail?n.fail:t.noop,null!==t.loginToken&&void 0!==t.loginToken)if(null!==t.agentInfo&&void 0!==t.agentInfo)if(null!==n.type&&void 0!==n.type)if(null!==n.number&&void 0!==n.number){var i=t.initOptions.server||t.callApiUrl;t.request(i+"/call/api/call/transfer",{verb:"POST",body:n,loginToken:t.loginToken,sessionId:t.agentInfo._id,accountId:t.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:r,success:function(e){e.success?n.success({success:!0,message:"transfer success",data:e.data.response.data}):n.fail({success:!1,message:e.message,code:e.code})}})}else n.fail({success:!1,message:"Parameter number is required!"});else n.fail({success:!1,message:"Parameter type is required!"});else n.fail({success:!1,message:"initialization not complete!"});else n.fail({success:!1,message:"initialization not complete!"})},consult:function(n){if(n.success=n&&"function"==typeof n.success?n.success:t.noop,n.fail=n&&"function"==typeof n.fail?n.fail:t.noop,null!==t.loginToken&&void 0!==t.loginToken)if(null!==t.agentInfo&&void 0!==t.agentInfo)if(null!==n.mode&&void 0!==n.mode)if(null!==n.number&&void 0!==n.number){n.agentNumber=t.agentInfo.agentNumber;var i=t.initOptions.server||t.callApiUrl;t.request(i+"/call/api/call/consult",{verb:"POST",body:n,loginToken:t.loginToken,sessionId:t.agentInfo._id,accountId:t.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:r,success:function(e){e.success?n.success({success:!0,message:"consult success",data:e.data.response.data}):n.fail({success:!1,message:e.message,code:e.code})}})}else n.fail({success:!1,message:"Parameter number is required!"});else n.fail({success:!1,message:"Parameter mode is required!"});else n.fail({success:!1,message:"initialization not complete!"});else n.fail({success:!1,message:"initialization not complete!"})},cancelconsult:function(n){if(n.success=n&&"function"==typeof n.success?n.success:t.noop,n.fail=n&&"function"==typeof n.fail?n.fail:t.noop,null!==t.loginToken&&void 0!==t.loginToken)if(null!==t.agentInfo&&void 0!==t.agentInfo){var i=t.initOptions.server||t.callApiUrl;t.request(i+"/call/api/call/consult/cancel",{verb:"POST",body:n,loginToken:t.loginToken,sessionId:t.agentInfo._id,accountId:t.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:r,success:function(e){e.success?n.success({success:!0,message:"cancelconsult success",data:e.data.response.data}):n.fail({success:!1,message:e.message,code:e.code})}})}else n.fail({success:!1,message:"initialization not complete!"});else n.fail({success:!1,message:"initialization not complete!"})},endConsult:function(n){if(n.success=n&&"function"==typeof n.success?n.success:t.noop,n.fail=n&&"function"==typeof n.fail?n.fail:t.noop,null!==t.loginToken&&void 0!==t.loginToken)if(null!==t.agentInfo&&void 0!==t.agentInfo){var i=t.initOptions.server||t.callApiUrl;t.request(i+"/call/api/call/consult/stop",{verb:"POST",body:n,loginToken:t.loginToken,sessionId:t.agentInfo._id,accountId:t.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:r,success:function(e){e.success?n.success({success:!0,message:"endConsult success",data:e.data.response.data}):n.fail({success:!1,message:e.message,code:e.code})}})}else n.fail({success:!1,message:"initialization not complete!"});else n.fail({success:!1,message:"initialization not complete!"})},callbackConsult:function(n){if(n.success=n&&"function"==typeof n.success?n.success:t.noop,n.fail=n&&"function"==typeof n.fail?n.fail:t.noop,null!==t.loginToken&&void 0!==t.loginToken)if(null!==t.agentInfo&&void 0!==t.agentInfo){var i=t.initOptions.server||t.callApiUrl;t.request(i+"/call/api/call/consult/resume",{verb:"POST",body:n,loginToken:t.loginToken,sessionId:t.agentInfo._id,accountId:t.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:r,success:function(e){e.success?n.success({success:!0,message:"resumeConsult success",data:e.data.response.data}):n.fail({success:!1,message:e.message,code:e.code})}})}else n.fail({success:!1,message:"initialization not complete!"});else n.fail({success:!1,message:"initialization not complete!"})},consultTransfer:function(n){if(n.success=n&&"function"==typeof n.success?n.success:t.noop,n.fail=n&&"function"==typeof n.fail?n.fail:t.noop,null!==t.loginToken&&void 0!==t.loginToken)if(null!==t.agentInfo&&void 0!==t.agentInfo){var i=t.initOptions.server||t.callApiUrl;t.request(i+"/call/api/call/consult/transfer",{verb:"POST",body:n,loginToken:t.loginToken,sessionId:t.agentInfo._id,accountId:t.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:r,success:function(e){e.success?n.success({success:!0,message:"consultTransfer success",data:e.data.response.data}):n.fail({success:!1,message:e.message,code:e.code})}})}else n.fail({success:!1,message:"initialization not complete!"});else n.fail({success:!1,message:"initialization not complete!"})},threeWayCall:function(n){if(n.success=n&&"function"==typeof n.success?n.success:t.noop,n.fail=n&&"function"==typeof n.fail?n.fail:t.noop,null!==t.loginToken&&void 0!==t.loginToken)if(null!==t.agentInfo&&void 0!==t.agentInfo){var i=t.initOptions.server||t.callApiUrl;t.request(i+"/call/api/call/threeway",{verb:"POST",body:n,loginToken:t.loginToken,sessionId:t.agentInfo._id,accountId:t.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:r,success:function(e){e.success?n.success({success:!0,message:"threeWayCall success",data:e.data.response.data}):n.fail({success:!1,message:e.message,code:e.code})}})}else n.fail({success:!1,message:"initialization not complete!"});else n.fail({success:!1,message:"initialization not complete!"})},evaluate:function(n){if(n.success=n&&"function"==typeof n.success?n.success:t.noop,n.fail=n&&"function"==typeof n.fail?n.fail:t.noop,null!==t.loginToken&&void 0!==t.loginToken)if(null!==t.agentInfo&&void 0!==t.agentInfo)if(null!==n.type&&void 0!==n.type){var i=t.initOptions.server||t.callApiUrl;t.request(i+"/call/api/call/evaluate",{verb:"POST",body:n,loginToken:t.loginToken,sessionId:t.agentInfo._id,accountId:t.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:r,success:function(e){e.success?n.success({success:!0,message:"evaluate success",data:e.data.response.data}):n.fail({success:!1,message:e.message,code:e.code})}})}else n.fail({success:!1,message:"Parameter type is required!"});else n.fail({success:!1,message:"initialization not complete!"});else n.fail({success:!1,message:"initialization not complete!"})},meeting:function(n){if(n.success=n&&"function"==typeof n.success?n.success:t.noop,n.fail=n&&"function"==typeof n.fail?n.fail:t.noop,null!==t.loginToken&&void 0!==t.loginToken)if(null!==t.agentInfo&&void 0!==t.agentInfo)if(null!==n.number&&void 0!==n.number){var i=t.initOptions.server||t.callApiUrl;t.request(i+"/call/api/call/meeting",{verb:"POST",body:{meetingType:"phone",number:n.number},loginToken:t.loginToken,sessionId:t.agentInfo._id,accountId:t.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:r,success:function(e){e.success?n.success({success:!0,message:"meeting success",data:e.data.response.data}):n.fail({success:!1,message:e.message,code:e.code})}})}else n.fail({success:!1,message:"Parameter number is required!"});else n.fail({success:!1,message:"initialization not complete!"});else n.fail({success:!1,message:"initialization not complete!"})}}},this._agentApi=function(){var e=n;return{switchLoginType:function(n){return __awaiter$1(this,void 0,void 0,(function(){var r,i,s,o,a,c,u=this;return __generator$1(this,(function(h){switch(h.label){case 0:if(r=null,n.success=n&&"function"==typeof n.success?n.success:t.noop,n.fail=n&&"function"==typeof n.fail?n.fail:t.noop,null===n.loginType||void 0===n.loginType)return n.fail({success:!1,message:"Parameter loginType is required!"}),[2];if(null===t.agentInfo||void 0===t.agentInfo)return n.fail({success:!1,message:"initialization not complete!"}),[2];if(null!==n.loginNumber&&void 0!==n.loginNumber&&(r=n.loginNumber),"PSTN"===n.loginType&&!(r=r||t.agentInfo.mobile))return alert("请给座席绑定手机号,或者传入号码参数!"),n.fail({success:!1,message:"Please bind your mobile number"}),[2];if("SIP"===n.loginType&&(r=r||t.agentInfo.sipNumber),"WEBRTC"===n.loginType&&(r=t.agentInfo.webrtcSipNumber),i=t.initOptions.server||t.callApiUrl,s={loginType:n.loginType,loginNumber:r},t.initOptions,a=!0,"WEBRTC"!==n.loginType)return[3,4];h.label=1;case 1:return h.trys.push([1,3,,4]),[4,e.openMediaAudio("请打开麦克风权限!",a)];case 2:return o=h.sent()||{},[3,4];case 3:return c=h.sent(),console.log(c),[3,4];case 4:return t.request(i+"/call/api/agent/v1/login-type/change",{verb:"POST",body:s,loginToken:t.loginToken,sessionId:t.agentInfo._id,accountId:t.agentInfo.accountId,success:function(r){return __awaiter$1(u,void 0,void 0,(function(){return __generator$1(this,(function(s){switch(s.label){case 0:return r.success?(n.success(__assign$1({success:!0,message:"updateLoginType success"},o)),t.agentInfo.loginType=n.loginType,t.initOptions.loginType=n.loginType,"WEBRTC"!==n.loginType?[3,1]:(e._webPhoneApi().connect(),[3,4])):[3,5];case 1:return"PSTN"!==n.loginType?[3,3]:[4,t.request(i+"/platform/action/updateCallConfig",{verb:"POST",body:{agentCallConfig:{},mobile:n.loginNumber},loginToken:t.loginToken,sessionId:t.agentInfo._id,accountId:t.agentInfo.accountId})];case 2:return s.sent(),e._webPhoneApi().disconnect(),[3,4];case 3:e._webPhoneApi().disconnect(),s.label=4;case 4:return[3,6];case 5:n.fail(__assign$1({success:!1,message:r.message,code:r.code},o)),s.label=6;case 6:return[2]}}))}))}}),[2]}}))}))},findPhoneBarList:function(e){if(e.success=e&&"function"==typeof e.success?e.success:t.noop,e.fail=e&&"function"==typeof e.fail?e.fail:t.noop,null!==t.agentInfo&&void 0!==t.agentInfo){var n=t.initOptions.server||t.callApiUrl;t.request(n+"/call/api/phone/bar/all",{verb:"GET",loginToken:t.loginToken,sessionId:t.agentInfo._id,accountId:t.agentInfo.accountId,success:function(t){if(t.success){var n=[];t.data.forEach((function(e){var t={name:e.name,number:e.number};n.push(t)})),e.success({success:!0,data:n})}else e.fail({success:!1,message:t.message,code:t.code})}})}else e.fail({success:!1,message:"initialization not complete!"})},switchPhoneBar:function(e){if(e.success=e&&"function"==typeof e.success?e.success:t.noop,e.fail=e&&"function"==typeof e.fail?e.fail:t.noop,null!==e.stateNumber&&void 0!==e.stateNumber)if(null!==t.agentInfo&&void 0!==t.agentInfo){var n=t.initOptions.server||t.callApiUrl,r={stateNumber:e.stateNumber,accountId:t.agentInfo.accountId,agentNumber:t.agentInfo.agentNumber};t.request(n+"/call/api/agent/status/switch",{verb:"POST",body:r,loginToken:t.loginToken,sessionId:t.agentInfo._id,success:function(t){t.success?e.success({success:!0}):e.fail({success:!1,message:t.message,code:t.code})}})}else e.fail({success:!1,message:"initialization not complete!"});else e.fail({success:!1,message:"Parameter stateNumber is required!"})},logout:function(e){if(e.success=e&&"function"==typeof e.success?e.success:t.noop,e.fail=e&&"function"==typeof e.fail?e.fail:t.noop,null!==t.agentInfo&&void 0!==t.agentInfo){null!==e.toAnswerOffline&&void 0!==e.toAnswerOffline||(e.toAnswerOffline="1");var n=t.initOptions.server||t.callApiUrl,r={toAnswerOffline:e.toAnswerOffline};t.request(n+"/call/api/sdk/agent/logout",{verb:"POST",body:r,loginToken:t.loginToken,sessionId:t.agentInfo._id,accountId:t.agentInfo.accountId,success:function(n){n.success?e&&(t.Socketinstance.disconnect(),"WEBRTC"===t.agentInfo.loginType&&t.webPhone.disconnect(),e.success({success:!0})):e&&e.fail({success:!1,message:n.message,code:n.code})}})}else e.fail({success:!1,message:"initialization not complete!"})},findIdleAgentsForQueue:function(e){if(e.success=e&&"function"==typeof e.success?e.success:t.noop,e.fail=e&&"function"==typeof e.fail?e.fail:t.noop,null!==t.agentInfo&&void 0!==t.agentInfo){var n=t.initOptions.server||t.callApiUrl;t.request(n+"/call/api/queue/acountFreeAgent/find",{verb:"POST",body:{},loginToken:t.loginToken,sessionId:t.agentInfo._id,accountId:t.agentInfo.accountId,success:function(t){t.success?e&&e.success({success:!0,dataList:t.data||[]}):e&&e.fail({success:!1,message:t.message,code:t.code})}})}else e.fail({success:!1,message:"initialization not complete!"})},getAvailableSipNumberList:function(e){if(e.success=e&&"function"==typeof e.success?e.success:t.noop,e.fail=e&&"function"==typeof e.fail?e.fail:t.noop,null!==t.agentInfo&&void 0!==t.agentInfo){var n=t.initOptions.server||t.callApiUrl;t.request(n+"/call/api/sip/avaliable/query",{verb:"POST",body:{},loginToken:t.loginToken,sessionId:t.agentInfo._id,success:function(t){if(t.success&&t.data){var n=[];t.data.forEach((function(e){var t={number:e.id,numberName:e.number};n.push(t)})),e.success({success:!0,data:n})}else e.fail({success:!1,message:t.message,code:t.code})}})}else e.fail({success:!1,message:"initialization not complete!"})}}},this._webPhoneApi=function(){return{accept:function(){t.webPhone.accept()},connect:function(){t.webPhone&&this.isConnected()||t.initWebrtcEvent(t.agentextras)},disconnect:function(){t.webPhone&&this.isConnected()&&t.webPhone.disconnect()},isConnected:function(){return t.webPhone.isConnected()},sendDTMF:function(e){t.webPhone.sendDTMF(e)}}},e.error="function"==typeof e.error?e.error:t.noop,e.success="function"==typeof e.success?e.success:t.noop,null!==e.agentNumber&&void 0!==e.agentNumber?(null!==e.loginType&&void 0!==e.loginType||(e.loginType="PSTN"),null!==e.pushHangupStatistics&&void 0!==e.pushHangupStatistics||(e.pushHangupStatistics=!1),null!==e.pushCallinRingStatistics&&void 0!==e.pushCallinRingStatistics||(e.pushCallinRingStatistics=!1),this.init(e)):e.error({message:"Invalid agentNumber"})}var t;return e.noop=function(){},e.prototype.init=function(e){if(void 0===e&&(e={}),t.trace=t.noop,t.debug=t.noop,t.log=t.noop,t.warn=t.noop,t.error=t.noop,!0===e.debug||"all"===e.debug)t.trace=console.trace.bind(console),t.debug=console.debug.bind(console),t.log=console.log.bind(console),t.warn=console.warn.bind(console),t.error=console.error.bind(console);else if(Array.isArray(e.debug))for(var n in e.debug){var r=e.debug[n];switch(r){case"trace":t.trace=console.trace.bind(console);break;case"debug":t.debug=console.debug.bind(console);break;case"log":t.log=console.log.bind(console);break;case"warn":t.warn=console.warn.bind(console);break;case"error":t.error=console.error.bind(console);break;default:console.error("Unknown debugging option '"+r+"' (supported: 'trace', 'debug', 'log', warn', 'error')")}}t.log("Initializing library");var i=t.useDefaultDependencies({WebSocket:ueWebsocket});t.newWebSocket=i.newWebSocket,t.request=i.request,this.login(e)},e.prototype.login=function(e){return __awaiter$1(this,void 0,void 0,(function(){var n,r,i,s,o,a,c,u,h,l=this;return __generator$1(this,(function(d){switch(d.label){case 0:if(console.log(e,"options"),n=e.server||t.callApiUrl,r=e.agentNumber+"@"+e.accountId,i=e.loginType,s=e.isOpenNetwork||!1,o=e.isOpenCallQueue||!1,a={loginName:r,loginType:i,loginChannel:"SDK",password:""},c=!0,"WEBRTC"!==i)return[3,4];d.label=1;case 1:return d.trys.push([1,3,,4]),[4,this.openMediaAudio("请打开麦克风权限!",c)];case 2:return u=d.sent()||{},[3,4];case 3:return h=d.sent(),console.log(h),console.log("授权失败================================"),[3,4];case 4:return e.password&&(a.password=e.password),t.request(n+"/platform/public/loginPre",{verb:"GET",success:function(r){if(r&&r.success&&r.data){var c=decodeURIComponent(gBase64.decode(r.data.pk)),h=new JSEncrypt;h.setPublicKey(c);var d=md5(a.password),p=h.encrypt(d);a.password=p,t.request(n+"/platform/public/login",{verb:"POST",body:a,success:function(r){r.success?t.request(n+"/platform/action/loginInfo",{verb:"GET",loginToken:r.data.loginToken,sessionId:r.data.sessionId,success:function(r){r.success?(r.data.agent&&(t.agentInfo=r.data.agent,t.loginToken=r.data.loginToken,t.initOptions=__assign$1(__assign$1({},e),{audioInfo:u})),l.initAttachEvent(n,i,r.data.pushServer,r.data.agent,e.success),s&&l.initnNetworkMonitoring(r.data.pushServer,""),o&&(l.initAgentQueue(n,i,r.data.pushServer,r.data.agent,e.success),l.initQueue(n)),"WEBRTC"===i&&l.getWebrtcInfo(n,e)):e.error(__assign$1(__assign$1({},r),u))},error:function(t){e.error(__assign$1({error:t},u))}}):e.error(__assign$1(__assign$1({},r),u))},error:function(t){e.error(__assign$1({error:t},u))}})}else e.error(__assign$1(__assign$1({},r),u))},error:function(t){e.error(__assign$1({error:t},u))}}),[2]}}))}))},e.createEventHandle=function(e){var n=this;void 0===e&&(e={}),e.success="function"==typeof e.success?e.success:t.noop,e.error="function"==typeof e.error?e.error:t.noop,e.message="function"==typeof e.message?e.message:t.noop,e.event="function"==typeof e.event?e.event:t.noop,e.server=null===e.serve||void 0===e.serve?"ws://152.136.72.209:3201/phoneBarGateway":e.serve,null!==e.SocketOptions&&void 0!==e.SocketOptions||(e.SocketOptions={},t.error({message:"login response error!"})),this.Socketinstance=t.newWebSocket(e.server,e.SocketOptions),this.Socketinstance.on("connect",(function(){e.success("connect event serve success!"),e.suc()})),this.Socketinstance.on("error",(function(t,n){e.error({type:"socketError",error:t}),n&&"function"==typeof n&&n("error")})),this.Socketinstance.on("message",(function(n,r){e.message({subtype:n.subType,data:n.data}),"WEBRTC"===t.initOptions.loginType&&(n.data&&n.data.callType&&"callin"===n.data.callType&&n.data.eventType&&"ring"===n.data.eventType?(t.AudioTask||(t.AudioTask=new AudioTask("https://softphone.useasy.cn/ring.wav")),t.AudioTask.ringAudioPlay()):t.AudioTask&&t.AudioTask.ringAudioPause()),r&&"function"==typeof r&&r("success")})),this.Socketinstance.on("event",(function(r){if("KICK_OFF"===r.subType){n.Socketinstance.disconnect();try{t.webPhone.disconnect()}catch(e){}e.event({message:"坐席账户在其他地方登录"})}}))},e.createQueueMonitorEventHandle=function(e){void 0===e&&(e={}),e.success="function"==typeof e.success?e.success:t.noop,e.error="function"==typeof e.error?e.error:t.noop,e.message="function"==typeof e.message?e.message:t.noop,e.server=null===e.serve||void 0===e.serve?"ue-dev1.useasy.cn":e.serve,null!==e.SocketOptions&&void 0!==e.SocketOptions||(e.SocketOptions={},t.error({message:"login response error!"})),this.MonitorSocketinstance=t.newWebSocket(e.server,e.SocketOptions),this.MonitorSocketinstance.on("connect",(function(){e.success("connect event serve success!"),e.suc(),t.log("监控connect========")})),this.MonitorSocketinstance.on("error",(function(t,n){e.error({type:"socketError",error:t}),n&&"function"==typeof n&&n("error")})),this.MonitorSocketinstance.on("message",(function(t,n){e.message({subtype:t.subType,data:t.data})})),this.MonitorSocketinstance.on("event",(function(t,n){e.message(t)}))},e.useDefaultDependencies=function(e){var n=e&&e.fetch||fetch,r=e&&e.Promise||Promise,i=e&&e.WebSocket||WebSocket;return{newWebSocket:function(e,t){return new i(e,t)},request:function(e,i){var s={method:i.verb,cache:"no-cache",headers:{"Content-Type":"application/json",loginToken:i.loginToken||"",sessionId:i.sessionId||"",clienttype:0}};i.encryptionFields&&(s.headers["ue-encryption-algorithm"]=i.encryptionAlgorithm||"aes",s.headers["ue-encryption-fields"]=i.encryptionFields),void 0!==i.withCredentials&&(s.credentials=!0===i.withCredentials?"include":i.withCredentials?i.withCredentials:"omit"),void 0!==i.body&&(s.body=JSON.stringify(i.body));var o=n(e,s).catch((function(e){return r.reject({message:"Probably a network error, is the gateway down?",error:e})}));if(void 0!==i.timeout){var a=new r((function(e,t){var n=window.setTimeout((function(){return clearTimeout(n),i.error({message:"Request timed out",timeout:i.timeout}),t({message:"Request timed out",timeout:i.timeout})}),i.timeout)}));o=r.race([o,a])}return o.then((function(e){return e.ok?typeof i.success==typeof t.noop?e.json().then((function(e){i.success(e)})).catch((function(t){return i.error({message:"Failed to parse response body",error:t,response:e}),r.reject({message:"Failed to parse response body",error:t,response:e})})):void 0:(i.error({message:"API call failed",response:e}),r.reject({message:"API call failed",response:e}))})).catch((function(e){typeof i.error==typeof t.noop&&i.error(e.message||"<< internal error >>",e)})),o}}},Object.defineProperty(e.prototype,"agent",{get:function(){return this._agentApi()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"webrtc",{get:function(){return this._webPhoneApi()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"call",{get:function(){return this._callApi()},enumerable:!1,configurable:!0}),t=e,e.callApiUrl="https://app.useasy.cn/api",e.Socketinstance=null,e.AudioTask=null,e.MonitorSocketinstance=null,e.initWebrtcEvent=function(e){return __awaiter$1(void 0,void 0,void 0,(function(){return __generator$1(t,(function(n){switch(n.label){case 0:return t.webPhone=new UeWebrtc({server:e.wssUrl,sip:e.sip,secret:e.password}),[4,this.webPhone.connect()];case 1:return n.sent(),this.webPhone.register(),[2]}}))}))},e}(),ueWebsocket=function(){function e(e,t){delete t.path,delete t.hostname,delete t.port,this.ws=_t.connect("wss://".concat(e),t)}return e.prototype.on=function(e,t){"connect"===e&&this.ws.on(e,t),"error"===e&&(this.ws.on("connect_error",t),this.ws.on("error",t),this.ws.on("disconnect",t),this.ws.on("reconnect_failed",t)),"message"===e&&this.ws.on("call",t),"event"===e&&this.ws.on("event",t)},e.prototype.emit=function(e,t,n){this.ws.emit(e,t,n)},e.prototype.disconnect=function(){this.ws.disconnect()},e}(),AudioTask=function(){function e(e){this.ringAudio=new Audio(e),this.ringAudio.loop=!0,this.ringAudioRunning=!1}return e.prototype.ringAudioPlay=function(){return __awaiter$1(this,void 0,void 0,(function(){return __generator$1(this,(function(e){switch(e.label){case 0:return this.ringAudioRunning?[2]:[3,1];case 1:return[4,this.ringAudio.play()];case 2:e.sent(),this.ringAudioRunning=!0,e.label=3;case 3:return[2]}}))}))},e.prototype.ringAudioPause=function(){return __awaiter$1(this,void 0,void 0,(function(){return __generator$1(this,(function(e){switch(e.label){case 0:return this.ringAudio.paused?[3,2]:[4,this.ringAudio.pause()];case 1:e.sent(),this.ringAudioRunning=!1,e.label=2;case 2:return[2]}}))}))},e}();return ueSoftphone}();
@@ -15,17 +15,19 @@
15
15
  <script src="../dist/lib/ue-soft-phone.min.js"></script>
16
16
  <!-- <script src="https://softphone.useasy.cn/lib/ue-soft-phone.min.js"></script> -->
17
17
  <button id="call">外呼</button>
18
+ <button id="hangup">挂断</button>
18
19
  <script>
19
20
  window.ue = new ueSoftPhone({
20
21
  accountId: 'uecs1',
21
- agentNumber: '8010',
22
+ agentNumber: '8006',
22
23
  password: '123456Aa',
23
24
  loginType: 'WEBRTC',
24
25
  // debugger: true,
25
26
  server: 'https://dev1.useasy.cn/api',
26
27
  // isOpenNetwork: true,
27
28
  pushCallinRingStatistics: true,
28
- pushHangupStatistics: true
29
+ pushHangupStatistics: true,
30
+ isOpenCallQueue: true, // 是否开启呼叫队列的socket
29
31
  // success(res) {
30
32
  // console.log(787877,res);
31
33
  // },
@@ -34,11 +36,7 @@
34
36
  // },
35
37
  })
36
38
 
37
- // var aa = ue.call.callOut({
38
- // customerNumber: '18582599309'
39
- // })
40
39
  ue.listenCallEvent({
41
- message:1,
42
40
  success(res) {
43
41
  console.log(7878778998,res);
44
42
  },
@@ -46,11 +44,23 @@
46
44
  console.log(res, 'rrrrrrrrrrrreeeeeeeeeeee')
47
45
  }
48
46
  })
47
+
48
+ // 监听网络检测
49
49
  ue.listenCallNetork({
50
50
  message(res) {
51
51
  console.log(566,res);
52
52
  }
53
53
  })
54
+
55
+ // 监听呼叫队列socket
56
+ ue.listenCallQueueEvent({
57
+ success(res) {
58
+ console.log('监听呼叫队列socket成功',res);
59
+ },
60
+ message: (error) => {
61
+ console.log(error, '获取呼叫队列数据成功')
62
+ }
63
+ })
54
64
  document.getElementById('call').addEventListener('click', function(){
55
65
  console.log('ssss')
56
66
  window.ue.call.callout({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ue-softphone-sdk",
3
- "version": "3.0.11",
3
+ "version": "3.0.13",
4
4
  "description": "ue-softphone-sdk",
5
5
  "main": "dist/ue-softphone-sdk.js",
6
6
  "types": "dist/types/index.d.ts",
package/src/index.ts CHANGED
@@ -49,14 +49,15 @@ interface InitOptions {
49
49
 
50
50
  pushHangupStatistics?: boolean;
51
51
  pushCallinRingStatistics?: boolean;
52
+ isOpenCallQueue?: boolean; //是否开启呼叫队列推送
53
+ }
54
+ interface SocketMonitorOptions {
55
+ transport: String;
56
+ logintoken: String;
57
+ sessionid: String;
58
+ sdkMonitorUrl: String;
59
+ sdkMonitorType?: any;
52
60
  }
53
- // interface SocketMonitorOptions {
54
- // transport: String;
55
- // logintoken: String;
56
- // sessionid: String;
57
- // sdkMonitorUrl: String;
58
- // sdkMonitorType?: any;
59
- // }
60
61
  // interface SocketOptions {
61
62
  // namespace: String;
62
63
  // phoneBarSdkIp: String;
@@ -252,7 +253,7 @@ export default class ueSoftphone {
252
253
  static agentextras: any;
253
254
  static Socketinstance: any = null;
254
255
  static AudioTask: any = null
255
- // static MonitorSocketinstance: any = null;
256
+ static MonitorSocketinstance: any = null;
256
257
  static noop(): void {}
257
258
  static debug: (msg: any) => void;
258
259
  static log: (msg: any) => void;
@@ -264,7 +265,7 @@ export default class ueSoftphone {
264
265
 
265
266
  private attachEventCallbacks: any;
266
267
 
267
- // private attachMonitorEventCallbacks: any;
268
+ private attachMonitorEventCallbacks: any;
268
269
 
269
270
  constructor(options: InitOptions = {}) {
270
271
  options.error = typeof options.error == "function" ? options.error : ueSoftphone.noop;
@@ -361,6 +362,7 @@ export default class ueSoftphone {
361
362
  // const hasMonitor = options.hasMonitor || false; // 是否需要监控,若需要则会挂监控socket,并事件回吐给客户
362
363
 
363
364
  const isOpenNetwork = options.isOpenNetwork || false; // 是否开启网络检测,若需要则会挂监控网络状态,并将值回吐给客户
365
+ const isOpenCallQueue = options.isOpenCallQueue || false; // 是否开启呼叫队列推送,若需要则会挂呼叫队列socket,并将事件回吐给客户
364
366
  let actionData = {
365
367
  loginName: loginName,
366
368
  loginType: loginType,
@@ -414,7 +416,7 @@ export default class ueSoftphone {
414
416
  };
415
417
  }
416
418
  // if (hasMonitor) { // 需要监控,挂载监控
417
- // this.initMonitorAttachEvent(loginInfo.data.pushServer, loginInfo.data.agent)
419
+ // this.initMonitorAttachEvent(loginInfo.data.pushServer, loginInfo.data.agent)
418
420
  // }
419
421
 
420
422
  this.initAttachEvent(
@@ -429,6 +431,21 @@ export default class ueSoftphone {
429
431
  if(isOpenNetwork) {
430
432
  this.initnNetworkMonitoring(loginInfo.data.pushServer,'')
431
433
  }
434
+
435
+ // 是否开启呼叫队列推送
436
+ if(isOpenCallQueue) {
437
+ // 呼叫队列推送
438
+ this.initAgentQueue(
439
+ server,
440
+ loginType,
441
+ loginInfo.data.pushServer,
442
+ loginInfo.data.agent,
443
+ options.success
444
+ );
445
+ // 初始化获取呼叫队列数据
446
+ this.initQueue(server);
447
+ }
448
+
432
449
  if (loginType === "WEBRTC") {
433
450
  this.getWebrtcInfo(server, options);
434
451
  }
@@ -476,56 +493,6 @@ export default class ueSoftphone {
476
493
  });
477
494
  }
478
495
 
479
- // static createMonitorEventHandle(callbacks: any = {}) {
480
- // // 目前还没有socket,暂时不可用,地址瞎写的
481
- // callbacks.success =
482
- // typeof callbacks.success == "function" ? callbacks.success : ueSoftphone.noop;
483
- // callbacks.error = typeof callbacks.error == "function" ? callbacks.error : ueSoftphone.noop;
484
- // callbacks.message =
485
- // typeof callbacks.message == "function" ? callbacks.message : ueSoftphone.noop;
486
- // callbacks.server =
487
- // callbacks.serve === null || callbacks.serve === undefined
488
- // ? "ue-dev1.useasy.net"
489
- // : callbacks.serve;
490
-
491
- // if (callbacks.SocketOptions === null || callbacks.SocketOptions === undefined) {
492
- // callbacks.SocketOptions = {};
493
- // ueSoftphone.error({ message: "login response error!" });
494
- // }
495
- // this.MonitorSocketinstance = ueSoftphone.newWebSocket(
496
- // callbacks.server,
497
- // callbacks.SocketOptions
498
- // );
499
- // this.MonitorSocketinstance.on("connect", () => {
500
- // callbacks.success("connect event serve success!");
501
- // ueSoftphone.log("监控connect========");
502
- // });
503
- // this.MonitorSocketinstance.on("error", (error: string, fn: Function) => {
504
- // callbacks.error({
505
- // type: "socketError",
506
- // error: error
507
- // });
508
- // if (fn && typeof fn === "function") {
509
- // fn("error");
510
- // }
511
- // });
512
- // this.MonitorSocketinstance.on("message", (event, m) => {
513
- // callbacks.message(m);
514
- // });
515
- // if (callbacks.sdkMonitorType) {
516
- // const sdkMonitorTypeArr = callbacks.sdkMonitorType || [];
517
- // if (Array.isArray(sdkMonitorTypeArr)) {
518
- // clearInterval(ueSoftphone.ueTimer);
519
- // ueSoftphone.ueTimer = window.setInterval(() => {
520
- // // category: summary: 概览数据, agent: 座席监控, queue: 技能组监控, trunkNumber: 服务号监控
521
- // sdkMonitorTypeArr.forEach((item) => {
522
- // this.MonitorSocketinstance.emit("monitor", "bizMonitor", { category: item });
523
- // });
524
- // }, 3000);
525
- // }
526
- // }
527
- // }
528
-
529
496
  static createEventHandle(callbacks: any = {}) {
530
497
  callbacks.success =
531
498
  typeof callbacks.success == "function" ? callbacks.success : ueSoftphone.noop;
@@ -630,6 +597,8 @@ export default class ueSoftphone {
630
597
  };
631
598
  // 监控事件回调
632
599
  // private initMonitorAttachEvent = (options: SocketMonitorOptions, userOptions: any) => {
600
+ // console.log("initMonitorAttachEvent", options,userOptions);
601
+
633
602
  // if (this.attachMonitorEventCallbacks) {
634
603
  // this.attachMonitorEventCallbacks.serve = options.sdkMonitorUrl;
635
604
  // // this.attachMonitorEventCallbacks.sdkMonitorType =
@@ -643,7 +612,7 @@ export default class ueSoftphone {
643
612
  // reconnectionDelay: 3000,
644
613
  // "force new connection": true
645
614
  // };
646
- // ueSoftphone.createMonitorEventHandle(this.attachMonitorEventCallbacks);
615
+ // ueSoftphone.createQueueMonitorEventHandle(this.attachMonitorEventCallbacks);
647
616
  // }
648
617
  // };
649
618
  // 电话条事件回调
@@ -762,6 +731,150 @@ export default class ueSoftphone {
762
731
  }
763
732
  };
764
733
 
734
+ // 呼叫队列
735
+ private initAgentQueue = (
736
+ server: any,
737
+ loginType: string,
738
+ options: any,
739
+ userOptions: any,
740
+ suc: any
741
+ ) => {
742
+ if (this.attachMonitorEventCallbacks) {
743
+ // 每次创建链接的时候,要获取最新的ws token
744
+ ueSoftphone.request(server + "/platform/action/refreshWsToken", {
745
+ verb: "GET",
746
+ loginToken: ueSoftphone.loginToken,
747
+ sessionId: ueSoftphone.agentInfo._id,
748
+ success: (res: any) => {
749
+ if (res && res.data) {
750
+ let serverUrl = "";
751
+ options.forEach((item: any) => {
752
+ if (item.id === "MONITOR") {
753
+ serverUrl = item.url;
754
+ }
755
+ });
756
+ this.attachMonitorEventCallbacks.serve = serverUrl;
757
+ this.attachMonitorEventCallbacks.SocketOptions = {
758
+ query: {
759
+ accountId: userOptions.accountId,
760
+ agentNumber: userOptions.agentNumber,
761
+ agentId: userOptions._id,
762
+ token: res.data.wsToken,
763
+ wsExtra: JSON.stringify({
764
+ loginType: loginType,
765
+ channelType: "SDK",
766
+ ability: ["call"]
767
+ }),
768
+ timestamp: res.data.timestamp,
769
+ clientType: 3
770
+ },
771
+ reconnectionDelay: 3000,
772
+ "force new connection": true,
773
+ transports: ["websocket"],
774
+ timeout: 5000
775
+ };
776
+ this.attachMonitorEventCallbacks.suc = suc;
777
+ ueSoftphone.createQueueMonitorEventHandle(this.attachMonitorEventCallbacks);
778
+ }
779
+ },
780
+ error: (error: any) => {
781
+ console.log('失败',error);
782
+ (options.error as Function)({
783
+ error
784
+ });
785
+ }
786
+ });
787
+ }
788
+ };
789
+ // 初始化获取呼叫队列数据
790
+ private initQueue = (
791
+ server: any
792
+ ) => {
793
+ ueSoftphone.request(server + "/call/monitor/agent/queue/query", {
794
+ verb: "POST",
795
+ body: {
796
+ accountId: ueSoftphone.agentInfo.accountId,
797
+ agentId: ueSoftphone.agentInfo._id
798
+ },
799
+ success: (res: any) => {
800
+ if (res && res.data) {
801
+ this.attachMonitorEventCallbacks.message(res)
802
+ }else{
803
+ this.attachMonitorEventCallbacks.error(res)
804
+ }
805
+ },
806
+ error: (error: any) => {
807
+ this.attachMonitorEventCallbacks.error(error)
808
+ }
809
+ })
810
+ }
811
+ // 更新呼叫队列socket消息推送
812
+ static createQueueMonitorEventHandle(callbacks: any = {}) {
813
+ callbacks.success =
814
+ typeof callbacks.success == "function" ? callbacks.success : ueSoftphone.noop;
815
+ callbacks.error = typeof callbacks.error == "function" ? callbacks.error : ueSoftphone.noop;
816
+ callbacks.message =
817
+ typeof callbacks.message == "function" ? callbacks.message : ueSoftphone.noop;
818
+ callbacks.server =
819
+ callbacks.serve === null || callbacks.serve === undefined
820
+ ? "ue-dev1.useasy.cn"
821
+ : callbacks.serve;
822
+
823
+ if (callbacks.SocketOptions === null || callbacks.SocketOptions === undefined) {
824
+ callbacks.SocketOptions = {};
825
+ ueSoftphone.error({ message: "login response error!" });
826
+ }
827
+
828
+ this.MonitorSocketinstance = ueSoftphone.newWebSocket(
829
+ callbacks.server,
830
+ callbacks.SocketOptions
831
+ );
832
+
833
+ this.MonitorSocketinstance.on("connect", () => {
834
+ callbacks.success("connect event serve success!");
835
+ callbacks.suc();
836
+ ueSoftphone.log("监控connect========");
837
+ });
838
+
839
+ this.MonitorSocketinstance.on("error", (error: string, fn: Function) => {
840
+ callbacks.error({
841
+ type: "socketError",
842
+ error: error
843
+ });
844
+ if (fn && typeof fn === "function") {
845
+ fn("error");
846
+ }
847
+ });
848
+ // 呼叫对列消息更新
849
+ this.MonitorSocketinstance.on("message", (event, m) => {
850
+ // callbacks.message(event);
851
+ callbacks.message({
852
+ subtype: event.subType,
853
+ data: event.data
854
+ });
855
+ });
856
+ this.MonitorSocketinstance.on("event", (event, m) => {
857
+ callbacks.message(event);
858
+ });
859
+ // if (callbacks.sdkMonitorType) {
860
+ // const sdkMonitorTypeArr = callbacks.sdkMonitorType || [];
861
+ // if (Array.isArray(sdkMonitorTypeArr)) {
862
+ // clearInterval(ueSoftphone.ueTimer);
863
+ // ueSoftphone.ueTimer = window.setInterval(() => {
864
+ // // category: summary: 概览数据, agent: 座席监控, queue: 技能组监控, trunkNumber: 服务号监控
865
+ // sdkMonitorTypeArr.forEach((item) => {
866
+ // this.MonitorSocketinstance.emit("monitor", "bizMonitor", { category: item });
867
+ // });
868
+ // }, 3000);
869
+ // }
870
+ // }
871
+ }
872
+ // 对外暴露监听呼叫队列socket方法
873
+ public listenCallQueueEvent = (callbacks: any) => {
874
+ // 若客户对接的demo中无attachMonitorEventCallbacks回调,则无法接收到监控的事件回吐
875
+ this.attachMonitorEventCallbacks = callbacks;
876
+ };
877
+
765
878
  static useDefaultDependencies(deps: any) {
766
879
  const f = (deps && deps.fetch) || fetch;
767
880
  const p = (deps && deps.Promise) || Promise;
@@ -918,11 +1031,6 @@ export default class ueSoftphone {
918
1031
  this.attachEventCallbacks = callbacks;
919
1032
  };
920
1033
 
921
- // public attachMonitorEvent = (callbacks: any) => {
922
- // // 若客户对接的demo中无attachMonitorEventCallbacks回调,则无法接收到监控的事件回吐
923
- // this.attachMonitorEventCallbacks = callbacks;
924
- // };
925
-
926
1034
  public get agent() {
927
1035
  return this._agentApi();
928
1036
  }
@@ -1102,9 +1210,10 @@ export default class ueSoftphone {
1102
1210
  if (res.success) {
1103
1211
  (params.success as Function)({
1104
1212
  success: true,
1105
- message: "hangup success"
1213
+ message: "hangup success",
1106
1214
  // res.data是null,抛出去异常,导致无法挂断
1107
1215
  // data: res.data.response.data
1216
+ data: res
1108
1217
  });
1109
1218
  } else {
1110
1219
  (params.fail as Function)({
@@ -1,11 +0,0 @@
1
- export declare const NOT_OPEN_AUDIO: {
2
- notOpenAudioMsg: string;
3
- notOpenAudioCode: number;
4
- notOpenAudioMsgEn: string;
5
- };
6
- export declare const AUDIO_FORBIDDEN: {
7
- forbiddenAudioMsg: string;
8
- forbiddenAudioCode: number;
9
- forbiddenAudioMsgEn: string;
10
- };
11
- export declare const DENIED = "denied";
@@ -1,204 +0,0 @@
1
- type DebugType = "trace" | "debug" | "log" | "warn" | "error" | "all";
2
- type ExtenType = "PSTN" | "SIP" | "WEBRTC";
3
- interface AudioInfo {
4
- notOpenAudioMsg: string;
5
- notOpenAudioCode: number;
6
- notOpenAudioMsgEn: string;
7
- forbiddenAudioMsg: string;
8
- forbiddenAudioCode: number;
9
- forbiddenAudioMsgEn: string;
10
- }
11
- interface InitOptions {
12
- accountId?: string;
13
- agentNumber?: string;
14
- password?: string;
15
- loginType?: ExtenType;
16
- debug?: DebugType | DebugType[] | boolean;
17
- success?: Function;
18
- error?: Function;
19
- server?: string;
20
- audioInfo?: AudioInfo;
21
- isOpenNetwork?: boolean;
22
- pushHangupStatistics?: boolean;
23
- pushCallinRingStatistics?: boolean;
24
- }
25
- interface OnCallEventParams {
26
- success?: Function;
27
- message?: Function;
28
- error?: Function;
29
- }
30
- interface DialoutParams {
31
- agentNumber?: String;
32
- accountId: String;
33
- agentId: String;
34
- loginType?: String;
35
- customerNumber: String;
36
- agentTimeout?: String;
37
- customerTimeout?: String;
38
- agentDisNumber?: String;
39
- customerDisNumber?: String;
40
- extras?: any;
41
- success?: Function;
42
- fail?: Function;
43
- numberGroupId?: String;
44
- numberGroupName?: String;
45
- }
46
- interface HangupParams {
47
- success?: Function;
48
- fail?: Function;
49
- }
50
- interface HoldOrUnHoldParams {
51
- type: String;
52
- success?: Function;
53
- fail?: Function;
54
- }
55
- interface MuteOrUnMuteParams {
56
- type: String;
57
- direction: String;
58
- success?: Function;
59
- fail?: Function;
60
- }
61
- interface TransferParams {
62
- type: String;
63
- number: String;
64
- agentNumber?: String;
65
- success?: Function;
66
- fail?: Function;
67
- }
68
- interface UpdateLoginTypeParams {
69
- loginType: ExtenType;
70
- loginNumber?: String;
71
- success?: Function;
72
- fail?: Function;
73
- }
74
- interface GetAgentPhoneBarParams {
75
- success?: Function;
76
- fail?: Function;
77
- }
78
- interface GetQueueOnlineAgentsParams {
79
- success?: Function;
80
- fail?: Function;
81
- }
82
- interface AgentOfflineParams {
83
- success?: Function;
84
- fail?: Function;
85
- toAnswerOffline?: String;
86
- }
87
- interface UpdateAgentStatusParams {
88
- stateNumber: String;
89
- success?: Function;
90
- fail?: Function;
91
- }
92
- interface consultParams {
93
- mode: String;
94
- number: String;
95
- agentNumber: String;
96
- success?: Function;
97
- fail?: Function;
98
- }
99
- interface cancleConsultParams {
100
- success?: Function;
101
- fail?: Function;
102
- }
103
- interface stopConsultParams {
104
- success?: Function;
105
- fail?: Function;
106
- }
107
- interface resumeConsultParams {
108
- success?: Function;
109
- fail?: Function;
110
- }
111
- interface consultTransferParams {
112
- success?: Function;
113
- fail?: Function;
114
- }
115
- interface threeWayCallParams {
116
- success?: Function;
117
- fail?: Function;
118
- }
119
- interface satisfactionParams {
120
- type: String;
121
- success?: Function;
122
- fail?: Function;
123
- }
124
- interface meetingParams {
125
- number: String;
126
- success?: Function;
127
- fail?: Function;
128
- }
129
- export default class ueSoftphone {
130
- static ueTimer: any;
131
- static loginToken: String | undefined;
132
- static agentInfo: any;
133
- static initOptions: InitOptions;
134
- static webPhone: any;
135
- static callApiUrl: String;
136
- static agentextras: any;
137
- static Socketinstance: any;
138
- static AudioTask: any;
139
- static noop(): void;
140
- static debug: (msg: any) => void;
141
- static log: (msg: any) => void;
142
- static warn: (msg: any) => void;
143
- static error: (msg: any) => void;
144
- static trace: (msg: any) => void;
145
- static newWebSocket: (server: string, proto: any) => any;
146
- static request: (server: string, proto: any) => any;
147
- private attachEventCallbacks;
148
- constructor(options?: InitOptions);
149
- private init;
150
- private login;
151
- static createEventHandle(callbacks?: any): void;
152
- private getWebrtcInfo;
153
- private initAttachEvent;
154
- private attachNetworkCallbacks;
155
- private initnNetworkMonitoring;
156
- listenCallNetork: (callbacks: OnCallEventParams) => void;
157
- static useDefaultDependencies(deps: any): {
158
- newWebSocket(server: string, proto: any): any;
159
- request(url: string, options: any): any;
160
- };
161
- private static initWebrtcEvent;
162
- private openMediaAudio;
163
- listenCallEvent: (callbacks: OnCallEventParams) => void;
164
- get agent(): {
165
- switchLoginType(params: UpdateLoginTypeParams): Promise<void>;
166
- findPhoneBarList(params: GetAgentPhoneBarParams): void;
167
- switchPhoneBar(params: UpdateAgentStatusParams): void;
168
- logout(params: AgentOfflineParams): void;
169
- findIdleAgentsForQueue(params: GetQueueOnlineAgentsParams): void;
170
- getAvailableSipNumberList(params: any): void;
171
- };
172
- get webrtc(): {
173
- accept(): void;
174
- connect(): void;
175
- disconnect(): void;
176
- isConnected(): any;
177
- sendDTMF(tone: string): void;
178
- };
179
- get call(): {
180
- callout(params: DialoutParams): Promise<void>;
181
- hangup(params: HangupParams): void;
182
- holdOrUnHold(params: HoldOrUnHoldParams): void;
183
- muteOrUnMute(params: MuteOrUnMuteParams): void;
184
- transfer(params: TransferParams): void;
185
- consult(params: consultParams): void;
186
- cancelconsult(params: cancleConsultParams): void;
187
- endConsult(params: stopConsultParams): void;
188
- callbackConsult(params: resumeConsultParams): void;
189
- consultTransfer(params: consultTransferParams): void;
190
- threeWayCall(params: threeWayCallParams): void;
191
- evaluate(params: satisfactionParams): void;
192
- meeting(params: meetingParams): void;
193
- };
194
- private _callApi;
195
- private _agentApi;
196
- _webPhoneApi: () => {
197
- accept(): void;
198
- connect(): void;
199
- disconnect(): void;
200
- isConnected(): any;
201
- sendDTMF(tone: string): void;
202
- };
203
- }
204
- export {};
@@ -1,7 +0,0 @@
1
- "use strict";var e=require("ue-webrtc"),t=require("js-base64"),s=require("js-md5"),n=require("jsencrypt"),i=function(){return i=Object.assign||function(e){for(var t,s=1,n=arguments.length;s<n;s++)for(var i in t=arguments[s])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},i.apply(this,arguments)};function o(e,t,s,n){return new(s||(s=Promise))((function(i,o){function r(e){try{a(n.next(e))}catch(e){o(e)}}function c(e){try{a(n.throw(e))}catch(e){o(e)}}function a(e){var t;e.done?i(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(r,c)}a((n=n.apply(e,t||[])).next())}))}function r(e,t){var s,n,i,o,r={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(c){return function(a){return function(c){if(s)throw new TypeError("Generator is already executing.");for(;o&&(o=0,c[0]&&(r=0)),r;)try{if(s=1,n&&(i=2&c[0]?n.return:c[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,c[1])).done)return i;switch(n=0,i&&(c=[2&c[0],i.value]),c[0]){case 0:case 1:i=c;break;case 4:return r.label++,{value:c[1],done:!1};case 5:r.label++,n=c[1],c=[0];continue;case 7:c=r.ops.pop(),r.trys.pop();continue;default:if(!(i=r.trys,(i=i.length>0&&i[i.length-1])||6!==c[0]&&2!==c[0])){r=0;continue}if(3===c[0]&&(!i||c[1]>i[0]&&c[1]<i[3])){r.label=c[1];break}if(6===c[0]&&r.label<i[1]){r.label=i[1],i=c;break}if(i&&r.label<i[2]){r.label=i[2],r.ops.push(c);break}i[2]&&r.ops.pop(),r.trys.pop();continue}c=t.call(e,r)}catch(e){c=[6,e],n=0}finally{s=i=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,a])}}}"function"==typeof SuppressedError&&SuppressedError;
2
- /*!
3
- * Socket.IO v4.7.2
4
- * (c) 2014-2023 Guillermo Rauch
5
- * Released under the MIT License.
6
- */
7
- const c=Object.create(null);c.open="0",c.close="1",c.ping="2",c.pong="3",c.message="4",c.upgrade="5",c.noop="6";const a=Object.create(null);Object.keys(c).forEach((e=>{a[c[e]]=e}));const u={type:"error",data:"parser error"},l="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Object.prototype.toString.call(Blob),h="function"==typeof ArrayBuffer,p=e=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,f=({type:e,data:t},s,n)=>l&&t instanceof Blob?s?n(t):d(t,n):h&&(t instanceof ArrayBuffer||p(t))?s?n(t):d(new Blob([t]),n):n(c[e]+(t||"")),d=(e,t)=>{const s=new FileReader;return s.onload=function(){const e=s.result.split(",")[1];t("b"+(e||""))},s.readAsDataURL(e)};function g(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}let m;const y="undefined"==typeof Uint8Array?[]:new Uint8Array(256);for(let e=0;e<64;e++)y["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charCodeAt(e)]=e;const b="function"==typeof ArrayBuffer,v=(e,t)=>{if("string"!=typeof e)return{type:"message",data:w(e,t)};const s=e.charAt(0);return"b"===s?{type:"message",data:k(e.substring(1),t)}:a[s]?e.length>1?{type:a[s],data:e.substring(1)}:{type:a[s]}:u},k=(e,t)=>{if(b){const s=(e=>{let t,s,n,i,o,r=.75*e.length,c=e.length,a=0;"="===e[e.length-1]&&(r--,"="===e[e.length-2]&&r--);const u=new ArrayBuffer(r),l=new Uint8Array(u);for(t=0;t<c;t+=4)s=y[e.charCodeAt(t)],n=y[e.charCodeAt(t+1)],i=y[e.charCodeAt(t+2)],o=y[e.charCodeAt(t+3)],l[a++]=s<<2|n>>4,l[a++]=(15&n)<<4|i>>2,l[a++]=(3&i)<<6|63&o;return u})(e);return w(s,t)}return{base64:!0,data:e}},w=(e,t)=>"blob"===t?e instanceof Blob?e:new Blob([e]):e instanceof ArrayBuffer?e:e.buffer,T=String.fromCharCode(30);function I(){return new TransformStream({transform(e,t){!function(e,t){l&&e.data instanceof Blob?e.data.arrayBuffer().then(g).then(t):h&&(e.data instanceof ArrayBuffer||p(e.data))?t(g(e.data)):f(e,!1,(e=>{m||(m=new TextEncoder),t(m.encode(e))}))}(e,(s=>{const n=s.length;let i;if(n<126)i=new Uint8Array(1),new DataView(i.buffer).setUint8(0,n);else if(n<65536){i=new Uint8Array(3);const e=new DataView(i.buffer);e.setUint8(0,126),e.setUint16(1,n)}else{i=new Uint8Array(9);const e=new DataView(i.buffer);e.setUint8(0,127),e.setBigUint64(1,BigInt(n))}e.data&&"string"!=typeof e.data&&(i[0]|=128),t.enqueue(i),t.enqueue(s)}))}})}let A;function _(e){return e.reduce(((e,t)=>e+t.length),0)}function O(e,t){if(e[0].length===t)return e.shift();const s=new Uint8Array(t);let n=0;for(let i=0;i<t;i++)s[i]=e[0][n++],n===e[0].length&&(e.shift(),n=0);return e.length&&n<e[0].length&&(e[0]=e[0].slice(n)),s}function E(e){if(e)return function(e){for(var t in E.prototype)e[t]=E.prototype[t];return e}(e)}E.prototype.on=E.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},E.prototype.once=function(e,t){function s(){this.off(e,s),t.apply(this,arguments)}return s.fn=t,this.on(e,s),this},E.prototype.off=E.prototype.removeListener=E.prototype.removeAllListeners=E.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var s,n=this._callbacks["$"+e];if(!n)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var i=0;i<n.length;i++)if((s=n[i])===t||s.fn===t){n.splice(i,1);break}return 0===n.length&&delete this._callbacks["$"+e],this},E.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var t=new Array(arguments.length-1),s=this._callbacks["$"+e],n=1;n<arguments.length;n++)t[n-1]=arguments[n];if(s){n=0;for(var i=(s=s.slice(0)).length;n<i;++n)s[n].apply(this,t)}return this},E.prototype.emitReserved=E.prototype.emit,E.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks["$"+e]||[]},E.prototype.hasListeners=function(e){return!!this.listeners(e).length};const C="undefined"!=typeof self?self:"undefined"!=typeof window?window:Function("return this")();function S(e,...t){return t.reduce(((t,s)=>(e.hasOwnProperty(s)&&(t[s]=e[s]),t)),{})}const N=C.setTimeout,R=C.clearTimeout;function P(e,t){t.useNativeTimers?(e.setTimeoutFn=N.bind(C),e.clearTimeoutFn=R.bind(C)):(e.setTimeoutFn=C.setTimeout.bind(C),e.clearTimeoutFn=C.clearTimeout.bind(C))}class q extends Error{constructor(e,t,s){super(e),this.description=t,this.context=s,this.type="TransportError"}}class B extends E{constructor(e){super(),this.writable=!1,P(this,e),this.opts=e,this.query=e.query,this.socket=e.socket}onError(e,t,s){return super.emitReserved("error",new q(e,t,s)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return"opening"!==this.readyState&&"open"!==this.readyState||(this.doClose(),this.onClose()),this}send(e){"open"===this.readyState&&this.write(e)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(e){const t=v(e,this.socket.binaryType);this.onPacket(t)}onPacket(e){super.emitReserved("packet",e)}onClose(e){this.readyState="closed",super.emitReserved("close",e)}pause(e){}createUri(e,t={}){return e+"://"+this._hostname()+this._port()+this.opts.path+this._query(t)}_hostname(){const e=this.opts.hostname;return-1===e.indexOf(":")?e:"["+e+"]"}_port(){return this.opts.port&&(this.opts.secure&&Number(443!==this.opts.port)||!this.opts.secure&&80!==Number(this.opts.port))?":"+this.opts.port:""}_query(e){const t=function(e){let t="";for(let s in e)e.hasOwnProperty(s)&&(t.length&&(t+="&"),t+=encodeURIComponent(s)+"="+encodeURIComponent(e[s]));return t}(e);return t.length?"?"+t:""}}const x="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),L=64,U={};let D,j=0,F=0;function M(e){let t="";do{t=x[e%L]+t,e=Math.floor(e/L)}while(e>0);return t}function z(){const e=M(+new Date);return e!==D?(j=0,D=e):e+"."+M(j++)}for(;F<L;F++)U[x[F]]=F;let W=!1;try{W="undefined"!=typeof XMLHttpRequest&&"withCredentials"in new XMLHttpRequest}catch(c){}const V=W;function H(e){const t=e.xdomain;try{if("undefined"!=typeof XMLHttpRequest&&(!t||V))return new XMLHttpRequest}catch(e){}if(!t)try{return new(C[["Active"].concat("Object").join("X")])("Microsoft.XMLHTTP")}catch(e){}}function K(){}const G=null!=new H({xdomain:!1}).responseType;class J extends E{constructor(e,t){super(),P(this,t),this.opts=t,this.method=t.method||"GET",this.uri=e,this.data=void 0!==t.data?t.data:null,this.create()}create(){var e;const t=S(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");t.xdomain=!!this.opts.xd;const s=this.xhr=new H(t);try{s.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders){s.setDisableHeaderCheck&&s.setDisableHeaderCheck(!0);for(let e in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(e)&&s.setRequestHeader(e,this.opts.extraHeaders[e])}}catch(e){}if("POST"===this.method)try{s.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(e){}try{s.setRequestHeader("Accept","*/*")}catch(e){}null===(e=this.opts.cookieJar)||void 0===e||e.addCookies(s),"withCredentials"in s&&(s.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(s.timeout=this.opts.requestTimeout),s.onreadystatechange=()=>{var e;3===s.readyState&&(null===(e=this.opts.cookieJar)||void 0===e||e.parseCookies(s)),4===s.readyState&&(200===s.status||1223===s.status?this.onLoad():this.setTimeoutFn((()=>{this.onError("number"==typeof s.status?s.status:0)}),0))},s.send(this.data)}catch(e){return void this.setTimeoutFn((()=>{this.onError(e)}),0)}"undefined"!=typeof document&&(this.index=J.requestsCount++,J.requests[this.index]=this)}onError(e){this.emitReserved("error",e,this.xhr),this.cleanup(!0)}cleanup(e){if(void 0!==this.xhr&&null!==this.xhr){if(this.xhr.onreadystatechange=K,e)try{this.xhr.abort()}catch(e){}"undefined"!=typeof document&&delete J.requests[this.index],this.xhr=null}}onLoad(){const e=this.xhr.responseText;null!==e&&(this.emitReserved("data",e),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}}function Y(){for(let e in J.requests)J.requests.hasOwnProperty(e)&&J.requests[e].abort()}J.requestsCount=0,J.requests={},"undefined"!=typeof document&&("function"==typeof attachEvent?attachEvent("onunload",Y):"function"==typeof addEventListener&&addEventListener("onpagehide"in C?"pagehide":"unload",Y,!1));const $="function"==typeof Promise&&"function"==typeof Promise.resolve?e=>Promise.resolve().then(e):(e,t)=>t(e,0),Q=C.WebSocket||C.MozWebSocket,X="undefined"!=typeof navigator&&"string"==typeof navigator.product&&"reactnative"===navigator.product.toLowerCase(),Z={websocket:class extends B{constructor(e){super(e),this.supportsBinary=!e.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protocols,s=X?{}:S(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(s.headers=this.opts.extraHeaders);try{this.ws=X?new Q(e,t,s):t?new Q(e,t):new Q(e)}catch(e){return this.emitReserved("error",e)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:"websocket connection closed",context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError("websocket error",e)}write(e){this.writable=!1;for(let t=0;t<e.length;t++){const s=e[t],n=t===e.length-1;f(s,this.supportsBinary,(e=>{try{this.ws.send(e)}catch(e){}n&&$((()=>{this.writable=!0,this.emitReserved("drain")}),this.setTimeoutFn)}))}}doClose(){void 0!==this.ws&&(this.ws.close(),this.ws=null)}uri(){const e=this.opts.secure?"wss":"ws",t=this.query||{};return this.opts.timestampRequests&&(t[this.opts.timestampParam]=z()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}check(){return!!Q}},webtransport:class extends B{get name(){return"webtransport"}doOpen(){"function"==typeof WebTransport&&(this.transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name]),this.transport.closed.then((()=>{this.onClose()})).catch((e=>{this.onError("webtransport error",e)})),this.transport.ready.then((()=>{this.transport.createBidirectionalStream().then((e=>{const t=function(e,t){A||(A=new TextDecoder);const s=[];let n=0,i=-1,o=!1;return new TransformStream({transform(r,c){for(s.push(r);;){if(0===n){if(_(s)<1)break;const e=O(s,1);o=128==(128&e[0]),i=127&e[0],n=i<126?3:126===i?1:2}else if(1===n){if(_(s)<2)break;const e=O(s,2);i=new DataView(e.buffer,e.byteOffset,e.length).getUint16(0),n=3}else if(2===n){if(_(s)<8)break;const e=O(s,8),t=new DataView(e.buffer,e.byteOffset,e.length),o=t.getUint32(0);if(o>Math.pow(2,21)-1){c.enqueue(u);break}i=o*Math.pow(2,32)+t.getUint32(4),n=3}else{if(_(s)<i)break;const e=O(s,i);c.enqueue(v(o?e:A.decode(e),t)),n=0}if(0===i||i>e){c.enqueue(u);break}}}})}(Number.MAX_SAFE_INTEGER,this.socket.binaryType),s=e.readable.pipeThrough(t).getReader(),n=I();n.readable.pipeTo(e.writable),this.writer=n.writable.getWriter();const i=()=>{s.read().then((({done:e,value:t})=>{e||(this.onPacket(t),i())})).catch((e=>{}))};i();const o={type:"open"};this.query.sid&&(o.data=`{"sid":"${this.query.sid}"}`),this.writer.write(o).then((()=>this.onOpen()))}))})))}write(e){this.writable=!1;for(let t=0;t<e.length;t++){const s=e[t],n=t===e.length-1;this.writer.write(s).then((()=>{n&&$((()=>{this.writable=!0,this.emitReserved("drain")}),this.setTimeoutFn)}))}}doClose(){var e;null===(e=this.transport)||void 0===e||e.close()}},polling:class extends B{constructor(e){if(super(e),this.polling=!1,"undefined"!=typeof location){const t="https:"===location.protocol;let s=location.port;s||(s=t?"443":"80"),this.xd="undefined"!=typeof location&&e.hostname!==location.hostname||s!==e.port}const t=e&&e.forceBase64;this.supportsBinary=G&&!t,this.opts.withCredentials&&(this.cookieJar=void 0)}get name(){return"polling"}doOpen(){this.poll()}pause(e){this.readyState="pausing";const t=()=>{this.readyState="paused",e()};if(this.polling||!this.writable){let e=0;this.polling&&(e++,this.once("pollComplete",(function(){--e||t()}))),this.writable||(e++,this.once("drain",(function(){--e||t()})))}else t()}poll(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){((e,t)=>{const s=e.split(T),n=[];for(let e=0;e<s.length;e++){const i=v(s[e],t);if(n.push(i),"error"===i.type)break}return n})(e,this.socket.binaryType).forEach((e=>{if("opening"===this.readyState&&"open"===e.type&&this.onOpen(),"close"===e.type)return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(e)})),"closed"!==this.readyState&&(this.polling=!1,this.emitReserved("pollComplete"),"open"===this.readyState&&this.poll())}doClose(){const e=()=>{this.write([{type:"close"}])};"open"===this.readyState?e():this.once("open",e)}write(e){this.writable=!1,((e,t)=>{const s=e.length,n=new Array(s);let i=0;e.forEach(((e,o)=>{f(e,!1,(e=>{n[o]=e,++i===s&&t(n.join(T))}))}))})(e,(e=>{this.doWrite(e,(()=>{this.writable=!0,this.emitReserved("drain")}))}))}uri(){const e=this.opts.secure?"https":"http",t=this.query||{};return!1!==this.opts.timestampRequests&&(t[this.opts.timestampParam]=z()),this.supportsBinary||t.sid||(t.b64=1),this.createUri(e,t)}request(e={}){return Object.assign(e,{xd:this.xd,cookieJar:this.cookieJar},this.opts),new J(this.uri(),e)}doWrite(e,t){const s=this.request({method:"POST",data:e});s.on("success",t),s.on("error",((e,t)=>{this.onError("xhr post error",e,t)}))}doPoll(){const e=this.request();e.on("data",this.onData.bind(this)),e.on("error",((e,t)=>{this.onError("xhr poll error",e,t)})),this.pollXhr=e}}},ee=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,te=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function se(e){const t=e,s=e.indexOf("["),n=e.indexOf("]");-1!=s&&-1!=n&&(e=e.substring(0,s)+e.substring(s,n).replace(/:/g,";")+e.substring(n,e.length));let i=ee.exec(e||""),o={},r=14;for(;r--;)o[te[r]]=i[r]||"";return-1!=s&&-1!=n&&(o.source=t,o.host=o.host.substring(1,o.host.length-1).replace(/;/g,":"),o.authority=o.authority.replace("[","").replace("]","").replace(/;/g,":"),o.ipv6uri=!0),o.pathNames=function(e,t){const s=t.replace(/\/{2,9}/g,"/").split("/");return"/"!=t.slice(0,1)&&0!==t.length||s.splice(0,1),"/"==t.slice(-1)&&s.splice(s.length-1,1),s}(0,o.path),o.queryKey=function(e,t){const s={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,(function(e,t,n){t&&(s[t]=n)})),s}(0,o.query),o}class ne extends E{constructor(e,t={}){super(),this.binaryType="arraybuffer",this.writeBuffer=[],e&&"object"==typeof e&&(t=e,e=null),e?(e=se(e),t.hostname=e.host,t.secure="https"===e.protocol||"wss"===e.protocol,t.port=e.port,e.query&&(t.query=e.query)):t.host&&(t.hostname=se(t.host).host),P(this,t),this.secure=null!=t.secure?t.secure:"undefined"!=typeof location&&"https:"===location.protocol,t.hostname&&!t.port&&(t.port=this.secure?"443":"80"),this.hostname=t.hostname||("undefined"!=typeof location?location.hostname:"localhost"),this.port=t.port||("undefined"!=typeof location&&location.port?location.port:this.secure?"443":"80"),this.transports=t.transports||["polling","websocket","webtransport"],this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},t),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),"string"==typeof this.opts.query&&(this.opts.query=function(e){let t={},s=e.split("&");for(let e=0,n=s.length;e<n;e++){let n=s[e].split("=");t[decodeURIComponent(n[0])]=decodeURIComponent(n[1])}return t}(this.opts.query)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingTimeoutTimer=null,"function"==typeof addEventListener&&(this.opts.closeOnBeforeunload&&(this.beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this.beforeunloadEventListener,!1)),"localhost"!==this.hostname&&(this.offlineEventListener=()=>{this.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",this.offlineEventListener,!1))),this.open()}createTransport(e){const t=Object.assign({},this.opts.query);t.EIO=4,t.transport=e,this.id&&(t.sid=this.id);const s=Object.assign({},this.opts,{query:t,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[e]);return new Z[e](s)}open(){let e;if(this.opts.rememberUpgrade&&ne.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket"))e="websocket";else{if(0===this.transports.length)return void this.setTimeoutFn((()=>{this.emitReserved("error","No transports available")}),0);e=this.transports[0]}this.readyState="opening";try{e=this.createTransport(e)}catch(e){return this.transports.shift(),void this.open()}e.open(),this.setTransport(e)}setTransport(e){this.transport&&this.transport.removeAllListeners(),this.transport=e,e.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",(e=>this.onClose("transport close",e)))}probe(e){let t=this.createTransport(e),s=!1;ne.priorWebsocketSuccess=!1;const n=()=>{s||(t.send([{type:"ping",data:"probe"}]),t.once("packet",(e=>{if(!s)if("pong"===e.type&&"probe"===e.data){if(this.upgrading=!0,this.emitReserved("upgrading",t),!t)return;ne.priorWebsocketSuccess="websocket"===t.name,this.transport.pause((()=>{s||"closed"!==this.readyState&&(u(),this.setTransport(t),t.send([{type:"upgrade"}]),this.emitReserved("upgrade",t),t=null,this.upgrading=!1,this.flush())}))}else{const e=new Error("probe error");e.transport=t.name,this.emitReserved("upgradeError",e)}})))};function i(){s||(s=!0,u(),t.close(),t=null)}const o=e=>{const s=new Error("probe error: "+e);s.transport=t.name,i(),this.emitReserved("upgradeError",s)};function r(){o("transport closed")}function c(){o("socket closed")}function a(e){t&&e.name!==t.name&&i()}const u=()=>{t.removeListener("open",n),t.removeListener("error",o),t.removeListener("close",r),this.off("close",c),this.off("upgrading",a)};t.once("open",n),t.once("error",o),t.once("close",r),this.once("close",c),this.once("upgrading",a),-1!==this.upgrades.indexOf("webtransport")&&"webtransport"!==e?this.setTimeoutFn((()=>{s||t.open()}),200):t.open()}onOpen(){if(this.readyState="open",ne.priorWebsocketSuccess="websocket"===this.transport.name,this.emitReserved("open"),this.flush(),"open"===this.readyState&&this.opts.upgrade){let e=0;const t=this.upgrades.length;for(;e<t;e++)this.probe(this.upgrades[e])}}onPacket(e){if("opening"===this.readyState||"open"===this.readyState||"closing"===this.readyState)switch(this.emitReserved("packet",e),this.emitReserved("heartbeat"),this.resetPingTimeout(),e.type){case"open":this.onHandshake(JSON.parse(e.data));break;case"ping":this.sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong");break;case"error":const t=new Error("server error");t.code=e.data,this.onError(t);break;case"message":this.emitReserved("data",e.data),this.emitReserved("message",e.data)}}onHandshake(e){this.emitReserved("handshake",e),this.id=e.sid,this.transport.query.sid=e.sid,this.upgrades=this.filterUpgrades(e.upgrades),this.pingInterval=e.pingInterval,this.pingTimeout=e.pingTimeout,this.maxPayload=e.maxPayload,this.onOpen(),"closed"!==this.readyState&&this.resetPingTimeout()}resetPingTimeout(){this.clearTimeoutFn(this.pingTimeoutTimer),this.pingTimeoutTimer=this.setTimeoutFn((()=>{this.onClose("ping timeout")}),this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,0===this.writeBuffer.length?this.emitReserved("drain"):this.flush()}flush(){if("closed"!==this.readyState&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const e=this.getWritablePackets();this.transport.send(e),this.prevBufferLen=e.length,this.emitReserved("flush")}}getWritablePackets(){if(!(this.maxPayload&&"polling"===this.transport.name&&this.writeBuffer.length>1))return this.writeBuffer;let e=1;for(let s=0;s<this.writeBuffer.length;s++){const n=this.writeBuffer[s].data;if(n&&(e+="string"==typeof(t=n)?function(e){let t=0,s=0;for(let n=0,i=e.length;n<i;n++)t=e.charCodeAt(n),t<128?s+=1:t<2048?s+=2:t<55296||t>=57344?s+=3:(n++,s+=4);return s}(t):Math.ceil(1.33*(t.byteLength||t.size))),s>0&&e>this.maxPayload)return this.writeBuffer.slice(0,s);e+=2}var t;return this.writeBuffer}write(e,t,s){return this.sendPacket("message",e,t,s),this}send(e,t,s){return this.sendPacket("message",e,t,s),this}sendPacket(e,t,s,n){if("function"==typeof t&&(n=t,t=void 0),"function"==typeof s&&(n=s,s=null),"closing"===this.readyState||"closed"===this.readyState)return;(s=s||{}).compress=!1!==s.compress;const i={type:e,data:t,options:s};this.emitReserved("packetCreate",i),this.writeBuffer.push(i),n&&this.once("flush",n),this.flush()}close(){const e=()=>{this.onClose("forced close"),this.transport.close()},t=()=>{this.off("upgrade",t),this.off("upgradeError",t),e()},s=()=>{this.once("upgrade",t),this.once("upgradeError",t)};return"opening"!==this.readyState&&"open"!==this.readyState||(this.readyState="closing",this.writeBuffer.length?this.once("drain",(()=>{this.upgrading?s():e()})):this.upgrading?s():e()),this}onError(e){ne.priorWebsocketSuccess=!1,this.emitReserved("error",e),this.onClose("transport error",e)}onClose(e,t){"opening"!==this.readyState&&"open"!==this.readyState&&"closing"!==this.readyState||(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),"function"==typeof removeEventListener&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",e,t),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(e){const t=[];let s=0;const n=e.length;for(;s<n;s++)~this.transports.indexOf(e[s])&&t.push(e[s]);return t}}ne.protocol=4;const ie="function"==typeof ArrayBuffer,oe=e=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,re=Object.prototype.toString,ce="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===re.call(Blob),ae="function"==typeof File||"undefined"!=typeof File&&"[object FileConstructor]"===re.call(File);function ue(e){return ie&&(e instanceof ArrayBuffer||oe(e))||ce&&e instanceof Blob||ae&&e instanceof File}function le(e,t){if(!e||"object"!=typeof e)return!1;if(Array.isArray(e)){for(let t=0,s=e.length;t<s;t++)if(le(e[t]))return!0;return!1}if(ue(e))return!0;if(e.toJSON&&"function"==typeof e.toJSON&&1===arguments.length)return le(e.toJSON(),!0);for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&le(e[t]))return!0;return!1}function he(e){const t=[],s=e.data,n=e;return n.data=pe(s,t),n.attachments=t.length,{packet:n,buffers:t}}function pe(e,t){if(!e)return e;if(ue(e)){const s={_placeholder:!0,num:t.length};return t.push(e),s}if(Array.isArray(e)){const s=new Array(e.length);for(let n=0;n<e.length;n++)s[n]=pe(e[n],t);return s}if("object"==typeof e&&!(e instanceof Date)){const s={};for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(s[n]=pe(e[n],t));return s}return e}function fe(e,t){return e.data=de(e.data,t),delete e.attachments,e}function de(e,t){if(!e)return e;if(e&&!0===e._placeholder){if("number"==typeof e.num&&e.num>=0&&e.num<t.length)return t[e.num];throw new Error("illegal attachments")}if(Array.isArray(e))for(let s=0;s<e.length;s++)e[s]=de(e[s],t);else if("object"==typeof e)for(const s in e)Object.prototype.hasOwnProperty.call(e,s)&&(e[s]=de(e[s],t));return e}const ge=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];var me;function ye(e){return"[object Object]"===Object.prototype.toString.call(e)}!function(e){e[e.CONNECT=0]="CONNECT",e[e.DISCONNECT=1]="DISCONNECT",e[e.EVENT=2]="EVENT",e[e.ACK=3]="ACK",e[e.CONNECT_ERROR=4]="CONNECT_ERROR",e[e.BINARY_EVENT=5]="BINARY_EVENT",e[e.BINARY_ACK=6]="BINARY_ACK"}(me||(me={}));class be extends E{constructor(e){super(),this.reviver=e}add(e){let t;if("string"==typeof e){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");t=this.decodeString(e);const s=t.type===me.BINARY_EVENT;s||t.type===me.BINARY_ACK?(t.type=s?me.EVENT:me.ACK,this.reconstructor=new ve(t),0===t.attachments&&super.emitReserved("decoded",t)):super.emitReserved("decoded",t)}else{if(!ue(e)&&!e.base64)throw new Error("Unknown type: "+e);if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");t=this.reconstructor.takeBinaryData(e),t&&(this.reconstructor=null,super.emitReserved("decoded",t))}}decodeString(e){let t=0;const s={type:Number(e.charAt(0))};if(void 0===me[s.type])throw new Error("unknown packet type "+s.type);if(s.type===me.BINARY_EVENT||s.type===me.BINARY_ACK){const n=t+1;for(;"-"!==e.charAt(++t)&&t!=e.length;);const i=e.substring(n,t);if(i!=Number(i)||"-"!==e.charAt(t))throw new Error("Illegal attachments");s.attachments=Number(i)}if("/"===e.charAt(t+1)){const n=t+1;for(;++t&&","!==e.charAt(t)&&t!==e.length;);s.nsp=e.substring(n,t)}else s.nsp="/";const n=e.charAt(t+1);if(""!==n&&Number(n)==n){const n=t+1;for(;++t;){const s=e.charAt(t);if(null==s||Number(s)!=s){--t;break}if(t===e.length)break}s.id=Number(e.substring(n,t+1))}if(e.charAt(++t)){const n=this.tryParse(e.substr(t));if(!be.isPayloadValid(s.type,n))throw new Error("invalid payload");s.data=n}return s}tryParse(e){try{return JSON.parse(e,this.reviver)}catch(e){return!1}}static isPayloadValid(e,t){switch(e){case me.CONNECT:return ye(t);case me.DISCONNECT:return void 0===t;case me.CONNECT_ERROR:return"string"==typeof t||ye(t);case me.EVENT:case me.BINARY_EVENT:return Array.isArray(t)&&("number"==typeof t[0]||"string"==typeof t[0]&&-1===ge.indexOf(t[0]));case me.ACK:case me.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class ve{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){const e=fe(this.reconPack,this.buffers);return this.finishedReconstruction(),e}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}var ke=Object.freeze({__proto__:null,protocol:5,get PacketType(){return me},Encoder:class{constructor(e){this.replacer=e}encode(e){return e.type!==me.EVENT&&e.type!==me.ACK||!le(e)?[this.encodeAsString(e)]:this.encodeAsBinary({type:e.type===me.EVENT?me.BINARY_EVENT:me.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id})}encodeAsString(e){let t=""+e.type;return e.type!==me.BINARY_EVENT&&e.type!==me.BINARY_ACK||(t+=e.attachments+"-"),e.nsp&&"/"!==e.nsp&&(t+=e.nsp+","),null!=e.id&&(t+=e.id),null!=e.data&&(t+=JSON.stringify(e.data,this.replacer)),t}encodeAsBinary(e){const t=he(e),s=this.encodeAsString(t.packet),n=t.buffers;return n.unshift(s),n}},Decoder:be});function we(e,t,s){return e.on(t,s),function(){e.off(t,s)}}const Te=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class Ie extends E{constructor(e,t,s){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=e,this.nsp=t,s&&s.auth&&(this.auth=s.auth),this._opts=Object.assign({},s),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const e=this.io;this.subs=[we(e,"open",this.onopen.bind(this)),we(e,"packet",this.onpacket.bind(this)),we(e,"error",this.onerror.bind(this)),we(e,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected||(this.subEvents(),this.io._reconnecting||this.io.open(),"open"===this.io._readyState&&this.onopen()),this}open(){return this.connect()}send(...e){return e.unshift("message"),this.emit.apply(this,e),this}emit(e,...t){if(Te.hasOwnProperty(e))throw new Error('"'+e.toString()+'" is a reserved event name');if(t.unshift(e),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(t),this;const s={type:me.EVENT,data:t,options:{}};if(s.options.compress=!1!==this.flags.compress,"function"==typeof t[t.length-1]){const e=this.ids++,n=t.pop();this._registerAckCallback(e,n),s.id=e}const n=this.io.engine&&this.io.engine.transport&&this.io.engine.transport.writable;return this.flags.volatile&&(!n||!this.connected)||(this.connected?(this.notifyOutgoingListeners(s),this.packet(s)):this.sendBuffer.push(s)),this.flags={},this}_registerAckCallback(e,t){var s;const n=null!==(s=this.flags.timeout)&&void 0!==s?s:this._opts.ackTimeout;if(void 0===n)return void(this.acks[e]=t);const i=this.io.setTimeoutFn((()=>{delete this.acks[e];for(let t=0;t<this.sendBuffer.length;t++)this.sendBuffer[t].id===e&&this.sendBuffer.splice(t,1);t.call(this,new Error("operation has timed out"))}),n);this.acks[e]=(...e)=>{this.io.clearTimeoutFn(i),t.apply(this,[null,...e])}}emitWithAck(e,...t){const s=void 0!==this.flags.timeout||void 0!==this._opts.ackTimeout;return new Promise(((n,i)=>{t.push(((e,t)=>s?e?i(e):n(t):n(e))),this.emit(e,...t)}))}_addToQueue(e){let t;"function"==typeof e[e.length-1]&&(t=e.pop());const s={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push(((e,...n)=>{if(s===this._queue[0])return null!==e?s.tryCount>this._opts.retries&&(this._queue.shift(),t&&t(e)):(this._queue.shift(),t&&t(null,...n)),s.pending=!1,this._drainQueue()})),this._queue.push(s),this._drainQueue()}_drainQueue(e=!1){if(!this.connected||0===this._queue.length)return;const t=this._queue[0];t.pending&&!e||(t.pending=!0,t.tryCount++,this.flags=t.flags,this.emit.apply(this,t.args))}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){"function"==typeof this.auth?this.auth((e=>{this._sendConnectPacket(e)})):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:me.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved("connect_error",e)}onclose(e,t){this.connected=!1,delete this.id,this.emitReserved("disconnect",e,t)}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case me.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case me.EVENT:case me.BINARY_EVENT:this.onevent(e);break;case me.ACK:case me.BINARY_ACK:this.onack(e);break;case me.DISCONNECT:this.ondisconnect();break;case me.CONNECT_ERROR:this.destroy();const t=new Error(e.data.message);t.data=e.data.data,this.emitReserved("connect_error",t)}}onevent(e){const t=e.data||[];null!=e.id&&t.push(this.ack(e.id)),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){const t=this._anyListeners.slice();for(const s of t)s.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&"string"==typeof e[e.length-1]&&(this._lastOffset=e[e.length-1])}ack(e){const t=this;let s=!1;return function(...n){s||(s=!0,t.packet({type:me.ACK,id:e,data:n}))}}onack(e){const t=this.acks[e.id];"function"==typeof t&&(t.apply(this,e.data),delete this.acks[e.id])}onconnect(e,t){this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach((e=>this.emitEvent(e))),this.receiveBuffer=[],this.sendBuffer.forEach((e=>{this.notifyOutgoingListeners(e),this.packet(e)})),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach((e=>e())),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:me.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){const t=this._anyListeners;for(let s=0;s<t.length;s++)if(e===t[s])return t.splice(s,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(e),this}prependAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(e),this}offAnyOutgoing(e){if(!this._anyOutgoingListeners)return this;if(e){const t=this._anyOutgoingListeners;for(let s=0;s<t.length;s++)if(e===t[s])return t.splice(s,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(e){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){const t=this._anyOutgoingListeners.slice();for(const s of t)s.apply(this,e.data)}}}function Ae(e){e=e||{},this.ms=e.min||100,this.max=e.max||1e4,this.factor=e.factor||2,this.jitter=e.jitter>0&&e.jitter<=1?e.jitter:0,this.attempts=0}Ae.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var t=Math.random(),s=Math.floor(t*this.jitter*e);e=0==(1&Math.floor(10*t))?e-s:e+s}return 0|Math.min(e,this.max)},Ae.prototype.reset=function(){this.attempts=0},Ae.prototype.setMin=function(e){this.ms=e},Ae.prototype.setMax=function(e){this.max=e},Ae.prototype.setJitter=function(e){this.jitter=e};class _e extends E{constructor(e,t){var s;super(),this.nsps={},this.subs=[],e&&"object"==typeof e&&(t=e,e=void 0),(t=t||{}).path=t.path||"/socket.io",this.opts=t,P(this,t),this.reconnection(!1!==t.reconnection),this.reconnectionAttempts(t.reconnectionAttempts||1/0),this.reconnectionDelay(t.reconnectionDelay||1e3),this.reconnectionDelayMax(t.reconnectionDelayMax||5e3),this.randomizationFactor(null!==(s=t.randomizationFactor)&&void 0!==s?s:.5),this.backoff=new Ae({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(null==t.timeout?2e4:t.timeout),this._readyState="closed",this.uri=e;const n=t.parser||ke;this.encoder=new n.Encoder,this.decoder=new n.Decoder,this._autoConnect=!1!==t.autoConnect,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,this):this._reconnection}reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(this._reconnectionDelay=e,null===(t=this.backoff)||void 0===t||t.setMin(e),this)}randomizationFactor(e){var t;return void 0===e?this._randomizationFactor:(this._randomizationFactor=e,null===(t=this.backoff)||void 0===t||t.setJitter(e),this)}reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,null===(t=this.backoff)||void 0===t||t.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===this.backoff.attempts&&this.reconnect()}open(e){if(~this._readyState.indexOf("open"))return this;this.engine=new ne(this.uri,this.opts);const t=this.engine,s=this;this._readyState="opening",this.skipReconnect=!1;const n=we(t,"open",(function(){s.onopen(),e&&e()})),i=t=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",t),e?e(t):this.maybeReconnectOnOpen()},o=we(t,"error",i);if(!1!==this._timeout){const e=this._timeout,s=this.setTimeoutFn((()=>{n(),i(new Error("timeout")),t.close()}),e);this.opts.autoUnref&&s.unref(),this.subs.push((()=>{this.clearTimeoutFn(s)}))}return this.subs.push(n),this.subs.push(o),this}connect(e){return this.open(e)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const e=this.engine;this.subs.push(we(e,"ping",this.onping.bind(this)),we(e,"data",this.ondata.bind(this)),we(e,"error",this.onerror.bind(this)),we(e,"close",this.onclose.bind(this)),we(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(e){try{this.decoder.add(e)}catch(e){this.onclose("parse error",e)}}ondecoded(e){$((()=>{this.emitReserved("packet",e)}),this.setTimeoutFn)}onerror(e){this.emitReserved("error",e)}socket(e,t){let s=this.nsps[e];return s?this._autoConnect&&!s.active&&s.connect():(s=new Ie(this,e,t),this.nsps[e]=s),s}_destroy(e){const t=Object.keys(this.nsps);for(const e of t)if(this.nsps[e].active)return;this._close()}_packet(e){const t=this.encoder.encode(e);for(let s=0;s<t.length;s++)this.engine.write(t[s],e.options)}cleanup(){this.subs.forEach((e=>e())),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(e,t){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const e=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const t=this.backoff.duration();this._reconnecting=!0;const s=this.setTimeoutFn((()=>{e.skipReconnect||(this.emitReserved("reconnect_attempt",e.backoff.attempts),e.skipReconnect||e.open((t=>{t?(e._reconnecting=!1,e.reconnect(),this.emitReserved("reconnect_error",t)):e.onreconnect()})))}),t);this.opts.autoUnref&&s.unref(),this.subs.push((()=>{this.clearTimeoutFn(s)}))}}onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}}const Oe={};function Ee(e,t){"object"==typeof e&&(t=e,e=void 0);const s=function(e,t="",s){let n=e;s=s||"undefined"!=typeof location&&location,null==e&&(e=s.protocol+"//"+s.host),"string"==typeof e&&("/"===e.charAt(0)&&(e="/"===e.charAt(1)?s.protocol+e:s.host+e),/^(https?|wss?):\/\//.test(e)||(e=void 0!==s?s.protocol+"//"+e:"https://"+e),n=se(e)),n.port||(/^(http|ws)$/.test(n.protocol)?n.port="80":/^(http|ws)s$/.test(n.protocol)&&(n.port="443")),n.path=n.path||"/";const i=-1!==n.host.indexOf(":")?"["+n.host+"]":n.host;return n.id=n.protocol+"://"+i+":"+n.port+t,n.href=n.protocol+"://"+i+(s&&s.port===n.port?"":":"+n.port),n}(e,(t=t||{}).path||"/socket.io"),n=s.source,i=s.id,o=s.path,r=Oe[i]&&o in Oe[i].nsps;let c;return t.forceNew||t["force new connection"]||!1===t.multiplex||r?c=new _e(n,t):(Oe[i]||(Oe[i]=new _e(n,t)),c=Oe[i]),s.query&&!t.query&&(t.query=s.queryKey),c.socket(s.path,t)}Object.assign(Ee,{Manager:_e,Socket:Ie,io:Ee,connect:Ee});var Ce={notOpenAudioMsg:"麦克风没有开启",notOpenAudioCode:403,notOpenAudioMsgEn:"Permission dismissed"},Se={forbiddenAudioMsg:"请先检查您的麦克风是否开启",forbiddenAudioCode:0,forbiddenAudioMsgEn:"Permission denied"},Ne={requestState:!1,delay:0},Re=function(){function c(e){void 0===e&&(e={});var t=this;this.getWebrtcInfo=function(e,t){a.request(e+"/call/api/sip/webrtc/config/query",{verb:"GET",loginToken:a.loginToken,sessionId:a.agentInfo._id,success:function(e){e.success&&e.data?(a.agentextras=e.data,a.initWebrtcEvent(e.data)):t.error(i({},e))},error:function(e){t.error({error:e})}})},this.initAttachEvent=function(e,s,n,i,o){t.attachEventCallbacks&&a.request(e+"/platform/action/refreshWsToken",{verb:"GET",loginToken:a.loginToken,sessionId:a.agentInfo._id,success:function(e){if(e&&e.data){var r="";n.forEach((function(e){"KF"===e.id&&(r=e.url)})),t.attachEventCallbacks.serve=r,t.attachEventCallbacks.SocketOptions={query:{accountId:i.accountId,agentNumber:i.agentNumber,agentId:i._id,token:e.data.wsToken,wsExtra:JSON.stringify({loginType:s,channelType:"SDK",ability:["call"]}),timestamp:e.data.timestamp,clientType:1,pushHangupStatistics:a.initOptions.pushHangupStatistics||!1,pushCallinRingStatistics:a.initOptions.pushCallinRingStatistics||!1},reconnectionDelay:3e3,"force new connection":!0,transports:["websocket"],timeout:5e3},t.attachEventCallbacks.suc=o,a.createEventHandle(t.attachEventCallbacks)}},error:function(e){n.error({error:e})}})},this.attachNetworkCallbacks={message:a.noop,error:a.noop,success:a.noop},this.initnNetworkMonitoring=function(e,s){var n="";e.forEach((function(e){if("MONITOR"===e.id){var t=document.location.protocol;"file:"===t&&(t="https:"),n=t+"//"+e.url}})),t.attachNetworkCallbacks.success(),t.attachNetworkCallbacks.message({delay:100}),setInterval((function(){var e=(new Date).getTime();Ne.requestState=!0,a.request(n+"/ready",{method:"GET",success:function(s){if(s.success){var n=(new Date).getTime();Ne.delay=(n-e)/2,t.attachNetworkCallbacks.message({delay:Ne.delay})}else t.attachNetworkCallbacks.error(),Ne.delay=500,Ne.requestState=!1},error:function(e){t.attachNetworkCallbacks.error(),Ne.delay=500,Ne.requestState=!1}})}),1e4)},this.listenCallNetork=function(e){e&&(t.attachNetworkCallbacks.message=e.message&&"function"==typeof e.message?e.message:a.noop,t.attachNetworkCallbacks.success=e.success&&"function"==typeof e.success?e.success:a.noop,t.attachNetworkCallbacks.error=e.error&&"function"==typeof e.error?e.error:a.noop)},this.openMediaAudio=function(e,t){var s=navigator,n=s.mediaDevices,i=s.getUserMedia,o=s.webkitGetUserMedia,r=s.mozGetUserMedia,c=s.msGetUserMedia,a=(i||o||r||c).bind(navigator);return n?navigator.mediaDevices.getUserMedia({audio:!0}).catch((function(s){var n=s.message.includes("denied");return t?(n&&alert(Se.forbiddenAudioMsg),e&&!n&&alert(e),n?Se:Ce):n?Se:Ce})):new Promise((function(s,n){a?a({audio:!0},(function(e){s(!0)}),(function(s){t&&e&&alert(e),n(Ce)})):n(Ce)}))},this.listenCallEvent=function(e){t.attachEventCallbacks=e},this._callApi=function(){var e,s,n=t;return{callout:function(t){return o(this,void 0,void 0,(function(){var o,c,u,l,h,p;return r(this,(function(r){switch(r.label){case 0:if(t.success=t&&"function"==typeof t.success?t.success:a.noop,t.fail=t&&"function"==typeof t.fail?t.fail:a.noop,null===a.loginToken||void 0===a.loginToken)return t.fail({success:!1,message:"initialization not complete!"}),[2];if(null===a.agentInfo||void 0===a.agentInfo)return t.fail({success:!1,message:"initialization not complete!"}),[2];if(null===t.customerNumber||void 0===t.customerNumber)return t.fail({success:!1,message:"Parameter customerNumber is required!"}),[2];if("WEBRTC"!==a.initOptions.loginType)return[3,4];r.label=1;case 1:return r.trys.push([1,3,,4]),[4,navigator.mediaDevices.getUserMedia({audio:!0})];case 2:return r.sent(),[3,4];case 3:return r.sent(),t.fail({success:!1,message:"无麦克风权限!"}),[2];case 4:if(o=a.initOptions.server||a.callApiUrl,c={customerNumber:t.customerNumber,agentNumber:a.agentInfo.agentNumber,accountId:a.agentInfo.accountId,agentId:a.agentInfo._id,loginType:t.loginType||a.agentInfo.loginType||a.initOptions.loginType},t.agentTimeout&&(c.agentTimeout=t.agentTimeout),t.customerTimeout&&(c.customerTimeout=t.customerTimeout),t.agentDisNumber&&(c.agentDisNumber=t.agentDisNumber),t.customerDisNumber&&(c.customerDisNumber=t.customerDisNumber),t.extras&&(c.extras=t.extras),t.numberGroupId&&(c.numberGroupId=t.numberGroupId),t.numberGroupName&&(c.numberGroupName=t.numberGroupName),u=a.initOptions,l=!0,"WEBRTC"!==u.loginType)return[3,8];r.label=5;case 5:return r.trys.push([5,7,,8]),[4,n.openMediaAudio("请打开麦克风权限!",l)];case 6:return h=r.sent()||{},[3,8];case 7:return p=r.sent(),console.log(p),[3,8];case 8:return a.request(o+"/call/api/call/call/out",{verb:"POST",body:c,loginToken:a.loginToken,sessionId:a.agentInfo._id,encryptionAlgorithm:e,encryptionFields:s,success:function(e){e.success?t.success(i(i({success:!0,message:"callout success"},h),e.data)):t.fail(i({success:!1,message:e.message,code:e.code},h))}}),[2]}}))}))},hangup:function(t){if(t.success=t&&"function"==typeof t.success?t.success:a.noop,t.fail=t&&"function"==typeof t.fail?t.fail:a.noop,null!==a.loginToken&&void 0!==a.loginToken)if(null!==a.agentInfo&&void 0!==a.agentInfo){var n=a.initOptions.server||a.callApiUrl;a.request(n+"/call/api/call/hangup",{verb:"POST",body:{},loginToken:a.loginToken,sessionId:a.agentInfo._id,accountId:a.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:s,success:function(e){e.success?t.success({success:!0,message:"hangup success"}):t.fail({success:!1,message:e.message,code:e.code})}})}else t.fail({success:!1,message:"initialization not complete!"});else t.fail({success:!1,message:"initialization not complete!"})},holdOrUnHold:function(t){if(t.success=t&&"function"==typeof t.success?t.success:a.noop,t.fail=t&&"function"==typeof t.fail?t.fail:a.noop,null!==a.loginToken&&void 0!==a.loginToken)if(null!==a.agentInfo&&void 0!==a.agentInfo)if(null!==t.type&&void 0!==t.type){var n=a.initOptions.server||a.callApiUrl,i={type:t.type};a.request(n+"/call/api/call/hold",{verb:"POST",body:i,loginToken:a.loginToken,sessionId:a.agentInfo._id,accountId:a.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:s,success:function(e){e.success?t.success({success:!0,message:"holdOrUnHold success"}):t.fail({success:!1,message:e.message,code:e.code})}})}else t.fail({success:!1,message:"Parameter type is required!"});else t.fail({success:!1,message:"initialization not complete!"});else t.fail({success:!1,message:"initialization not complete!"})},muteOrUnMute:function(t){if(t.success=t&&"function"==typeof t.success?t.success:a.noop,t.fail=t&&"function"==typeof t.fail?t.fail:a.noop,null!==a.loginToken&&void 0!==a.loginToken)if(null!==a.agentInfo&&void 0!==a.agentInfo)if(null!==t.type&&void 0!==t.type){var n=a.initOptions.server||a.callApiUrl,i={type:t.type,direction:t.direction||"all"};a.request(n+"/call/api/call/mute",{verb:"POST",body:i,loginToken:a.loginToken,sessionId:a.agentInfo._id,accountId:a.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:s,success:function(e){e.success?t.success({success:!0,message:"muteOrUnMute success"}):t.fail({success:!1,message:e.message,code:e.code})}})}else t.fail({success:!1,message:"Parameter type is required!"});else t.fail({success:!1,message:"initialization not complete!"});else t.fail({success:!1,message:"initialization not complete!"})},transfer:function(t){if(t.success=t&&"function"==typeof t.success?t.success:a.noop,t.fail=t&&"function"==typeof t.fail?t.fail:a.noop,null!==a.loginToken&&void 0!==a.loginToken)if(null!==a.agentInfo&&void 0!==a.agentInfo)if(null!==t.type&&void 0!==t.type)if(null!==t.number&&void 0!==t.number){var n=a.initOptions.server||a.callApiUrl;a.request(n+"/call/api/call/transfer",{verb:"POST",body:t,loginToken:a.loginToken,sessionId:a.agentInfo._id,accountId:a.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:s,success:function(e){e.success?t.success({success:!0,message:"transfer success",data:e.data.response.data}):t.fail({success:!1,message:e.message,code:e.code})}})}else t.fail({success:!1,message:"Parameter number is required!"});else t.fail({success:!1,message:"Parameter type is required!"});else t.fail({success:!1,message:"initialization not complete!"});else t.fail({success:!1,message:"initialization not complete!"})},consult:function(t){if(t.success=t&&"function"==typeof t.success?t.success:a.noop,t.fail=t&&"function"==typeof t.fail?t.fail:a.noop,null!==a.loginToken&&void 0!==a.loginToken)if(null!==a.agentInfo&&void 0!==a.agentInfo)if(null!==t.mode&&void 0!==t.mode)if(null!==t.number&&void 0!==t.number){t.agentNumber=a.agentInfo.agentNumber;var n=a.initOptions.server||a.callApiUrl;a.request(n+"/call/api/call/consult",{verb:"POST",body:t,loginToken:a.loginToken,sessionId:a.agentInfo._id,accountId:a.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:s,success:function(e){e.success?t.success({success:!0,message:"consult success",data:e.data.response.data}):t.fail({success:!1,message:e.message,code:e.code})}})}else t.fail({success:!1,message:"Parameter number is required!"});else t.fail({success:!1,message:"Parameter mode is required!"});else t.fail({success:!1,message:"initialization not complete!"});else t.fail({success:!1,message:"initialization not complete!"})},cancelconsult:function(t){if(t.success=t&&"function"==typeof t.success?t.success:a.noop,t.fail=t&&"function"==typeof t.fail?t.fail:a.noop,null!==a.loginToken&&void 0!==a.loginToken)if(null!==a.agentInfo&&void 0!==a.agentInfo){var n=a.initOptions.server||a.callApiUrl;a.request(n+"/call/api/call/consult/cancel",{verb:"POST",body:t,loginToken:a.loginToken,sessionId:a.agentInfo._id,accountId:a.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:s,success:function(e){e.success?t.success({success:!0,message:"cancelconsult success",data:e.data.response.data}):t.fail({success:!1,message:e.message,code:e.code})}})}else t.fail({success:!1,message:"initialization not complete!"});else t.fail({success:!1,message:"initialization not complete!"})},endConsult:function(t){if(t.success=t&&"function"==typeof t.success?t.success:a.noop,t.fail=t&&"function"==typeof t.fail?t.fail:a.noop,null!==a.loginToken&&void 0!==a.loginToken)if(null!==a.agentInfo&&void 0!==a.agentInfo){var n=a.initOptions.server||a.callApiUrl;a.request(n+"/call/api/call/consult/stop",{verb:"POST",body:t,loginToken:a.loginToken,sessionId:a.agentInfo._id,accountId:a.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:s,success:function(e){e.success?t.success({success:!0,message:"endConsult success",data:e.data.response.data}):t.fail({success:!1,message:e.message,code:e.code})}})}else t.fail({success:!1,message:"initialization not complete!"});else t.fail({success:!1,message:"initialization not complete!"})},callbackConsult:function(t){if(t.success=t&&"function"==typeof t.success?t.success:a.noop,t.fail=t&&"function"==typeof t.fail?t.fail:a.noop,null!==a.loginToken&&void 0!==a.loginToken)if(null!==a.agentInfo&&void 0!==a.agentInfo){var n=a.initOptions.server||a.callApiUrl;a.request(n+"/call/api/call/consult/resume",{verb:"POST",body:t,loginToken:a.loginToken,sessionId:a.agentInfo._id,accountId:a.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:s,success:function(e){e.success?t.success({success:!0,message:"resumeConsult success",data:e.data.response.data}):t.fail({success:!1,message:e.message,code:e.code})}})}else t.fail({success:!1,message:"initialization not complete!"});else t.fail({success:!1,message:"initialization not complete!"})},consultTransfer:function(t){if(t.success=t&&"function"==typeof t.success?t.success:a.noop,t.fail=t&&"function"==typeof t.fail?t.fail:a.noop,null!==a.loginToken&&void 0!==a.loginToken)if(null!==a.agentInfo&&void 0!==a.agentInfo){var n=a.initOptions.server||a.callApiUrl;a.request(n+"/call/api/call/consult/transfer",{verb:"POST",body:t,loginToken:a.loginToken,sessionId:a.agentInfo._id,accountId:a.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:s,success:function(e){e.success?t.success({success:!0,message:"consultTransfer success",data:e.data.response.data}):t.fail({success:!1,message:e.message,code:e.code})}})}else t.fail({success:!1,message:"initialization not complete!"});else t.fail({success:!1,message:"initialization not complete!"})},threeWayCall:function(t){if(t.success=t&&"function"==typeof t.success?t.success:a.noop,t.fail=t&&"function"==typeof t.fail?t.fail:a.noop,null!==a.loginToken&&void 0!==a.loginToken)if(null!==a.agentInfo&&void 0!==a.agentInfo){var n=a.initOptions.server||a.callApiUrl;a.request(n+"/call/api/call/threeway",{verb:"POST",body:t,loginToken:a.loginToken,sessionId:a.agentInfo._id,accountId:a.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:s,success:function(e){e.success?t.success({success:!0,message:"threeWayCall success",data:e.data.response.data}):t.fail({success:!1,message:e.message,code:e.code})}})}else t.fail({success:!1,message:"initialization not complete!"});else t.fail({success:!1,message:"initialization not complete!"})},evaluate:function(t){if(t.success=t&&"function"==typeof t.success?t.success:a.noop,t.fail=t&&"function"==typeof t.fail?t.fail:a.noop,null!==a.loginToken&&void 0!==a.loginToken)if(null!==a.agentInfo&&void 0!==a.agentInfo)if(null!==t.type&&void 0!==t.type){var n=a.initOptions.server||a.callApiUrl;a.request(n+"/call/api/call/evaluate",{verb:"POST",body:t,loginToken:a.loginToken,sessionId:a.agentInfo._id,accountId:a.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:s,success:function(e){e.success?t.success({success:!0,message:"evaluate success",data:e.data.response.data}):t.fail({success:!1,message:e.message,code:e.code})}})}else t.fail({success:!1,message:"Parameter type is required!"});else t.fail({success:!1,message:"initialization not complete!"});else t.fail({success:!1,message:"initialization not complete!"})},meeting:function(t){if(t.success=t&&"function"==typeof t.success?t.success:a.noop,t.fail=t&&"function"==typeof t.fail?t.fail:a.noop,null!==a.loginToken&&void 0!==a.loginToken)if(null!==a.agentInfo&&void 0!==a.agentInfo)if(null!==t.number&&void 0!==t.number){var n=a.initOptions.server||a.callApiUrl;a.request(n+"/call/api/call/meeting",{verb:"POST",body:{meetingType:"phone",number:t.number},loginToken:a.loginToken,sessionId:a.agentInfo._id,accountId:a.agentInfo.accountId,encryptionAlgorithm:e,encryptionFields:s,success:function(e){e.success?t.success({success:!0,message:"meeting success",data:e.data.response.data}):t.fail({success:!1,message:e.message,code:e.code})}})}else t.fail({success:!1,message:"Parameter number is required!"});else t.fail({success:!1,message:"initialization not complete!"});else t.fail({success:!1,message:"initialization not complete!"})}}},this._agentApi=function(){var e=t;return{switchLoginType:function(t){return o(this,void 0,void 0,(function(){var s,n,c,u,l,h,p=this;return r(this,(function(f){switch(f.label){case 0:if(s=null,t.success=t&&"function"==typeof t.success?t.success:a.noop,t.fail=t&&"function"==typeof t.fail?t.fail:a.noop,null===t.loginType||void 0===t.loginType)return t.fail({success:!1,message:"Parameter loginType is required!"}),[2];if(null===a.agentInfo||void 0===a.agentInfo)return t.fail({success:!1,message:"initialization not complete!"}),[2];if(null!==t.loginNumber&&void 0!==t.loginNumber&&(s=t.loginNumber),"PSTN"===t.loginType&&!(s=s||a.agentInfo.mobile))return alert("请给座席绑定手机号,或者传入号码参数!"),t.fail({success:!1,message:"Please bind your mobile number"}),[2];if("SIP"===t.loginType&&(s=s||a.agentInfo.sipNumber),"WEBRTC"===t.loginType&&(s=a.agentInfo.webrtcSipNumber),n=a.initOptions.server||a.callApiUrl,c={loginType:t.loginType,loginNumber:s},a.initOptions,l=!0,"WEBRTC"!==t.loginType)return[3,4];f.label=1;case 1:return f.trys.push([1,3,,4]),[4,e.openMediaAudio("请打开麦克风权限!",l)];case 2:return u=f.sent()||{},[3,4];case 3:return h=f.sent(),console.log(h),[3,4];case 4:return a.request(n+"/call/api/agent/v1/login-type/change",{verb:"POST",body:c,loginToken:a.loginToken,sessionId:a.agentInfo._id,accountId:a.agentInfo.accountId,success:function(s){return o(p,void 0,void 0,(function(){return r(this,(function(o){switch(o.label){case 0:return s.success?(t.success(i({success:!0,message:"updateLoginType success"},u)),a.agentInfo.loginType=t.loginType,a.initOptions.loginType=t.loginType,"WEBRTC"!==t.loginType?[3,1]:(e._webPhoneApi().connect(),[3,4])):[3,5];case 1:return"PSTN"!==t.loginType?[3,3]:[4,a.request(n+"/platform/action/updateCallConfig",{verb:"POST",body:{agentCallConfig:{},mobile:t.loginNumber},loginToken:a.loginToken,sessionId:a.agentInfo._id,accountId:a.agentInfo.accountId})];case 2:return o.sent(),e._webPhoneApi().disconnect(),[3,4];case 3:e._webPhoneApi().disconnect(),o.label=4;case 4:return[3,6];case 5:t.fail(i({success:!1,message:s.message,code:s.code},u)),o.label=6;case 6:return[2]}}))}))}}),[2]}}))}))},findPhoneBarList:function(e){if(e.success=e&&"function"==typeof e.success?e.success:a.noop,e.fail=e&&"function"==typeof e.fail?e.fail:a.noop,null!==a.agentInfo&&void 0!==a.agentInfo){var t=a.initOptions.server||a.callApiUrl;a.request(t+"/call/api/phone/bar/all",{verb:"GET",loginToken:a.loginToken,sessionId:a.agentInfo._id,accountId:a.agentInfo.accountId,success:function(t){if(t.success){var s=[];t.data.forEach((function(e){var t={name:e.name,number:e.number};s.push(t)})),e.success({success:!0,data:s})}else e.fail({success:!1,message:t.message,code:t.code})}})}else e.fail({success:!1,message:"initialization not complete!"})},switchPhoneBar:function(e){if(e.success=e&&"function"==typeof e.success?e.success:a.noop,e.fail=e&&"function"==typeof e.fail?e.fail:a.noop,null!==e.stateNumber&&void 0!==e.stateNumber)if(null!==a.agentInfo&&void 0!==a.agentInfo){var t=a.initOptions.server||a.callApiUrl,s={stateNumber:e.stateNumber,accountId:a.agentInfo.accountId,agentNumber:a.agentInfo.agentNumber};a.request(t+"/call/api/agent/status/switch",{verb:"POST",body:s,loginToken:a.loginToken,sessionId:a.agentInfo._id,success:function(t){t.success?e.success({success:!0}):e.fail({success:!1,message:t.message,code:t.code})}})}else e.fail({success:!1,message:"initialization not complete!"});else e.fail({success:!1,message:"Parameter stateNumber is required!"})},logout:function(e){if(e.success=e&&"function"==typeof e.success?e.success:a.noop,e.fail=e&&"function"==typeof e.fail?e.fail:a.noop,null!==a.agentInfo&&void 0!==a.agentInfo){null!==e.toAnswerOffline&&void 0!==e.toAnswerOffline||(e.toAnswerOffline="1");var t=a.initOptions.server||a.callApiUrl,s={toAnswerOffline:e.toAnswerOffline};a.request(t+"/call/api/sdk/agent/logout",{verb:"POST",body:s,loginToken:a.loginToken,sessionId:a.agentInfo._id,accountId:a.agentInfo.accountId,success:function(t){t.success?e&&(a.Socketinstance.disconnect(),"WEBRTC"===a.agentInfo.loginType&&a.webPhone.disconnect(),e.success({success:!0})):e&&e.fail({success:!1,message:t.message,code:t.code})}})}else e.fail({success:!1,message:"initialization not complete!"})},findIdleAgentsForQueue:function(e){if(e.success=e&&"function"==typeof e.success?e.success:a.noop,e.fail=e&&"function"==typeof e.fail?e.fail:a.noop,null!==a.agentInfo&&void 0!==a.agentInfo){var t=a.initOptions.server||a.callApiUrl;a.request(t+"/call/api/queue/acountFreeAgent/find",{verb:"POST",body:{},loginToken:a.loginToken,sessionId:a.agentInfo._id,accountId:a.agentInfo.accountId,success:function(t){t.success?e&&e.success({success:!0,dataList:t.data||[]}):e&&e.fail({success:!1,message:t.message,code:t.code})}})}else e.fail({success:!1,message:"initialization not complete!"})},getAvailableSipNumberList:function(e){if(e.success=e&&"function"==typeof e.success?e.success:a.noop,e.fail=e&&"function"==typeof e.fail?e.fail:a.noop,null!==a.agentInfo&&void 0!==a.agentInfo){var t=a.initOptions.server||a.callApiUrl;a.request(t+"/call/api/sip/avaliable/query",{verb:"POST",body:{},loginToken:a.loginToken,sessionId:a.agentInfo._id,success:function(t){if(t.success&&t.data){var s=[];t.data.forEach((function(e){var t={number:e.id,numberName:e.number};s.push(t)})),e.success({success:!0,data:s})}else e.fail({success:!1,message:t.message,code:t.code})}})}else e.fail({success:!1,message:"initialization not complete!"})}}},this._webPhoneApi=function(){return{accept:function(){a.webPhone.accept()},connect:function(){a.webPhone&&this.isConnected()||a.initWebrtcEvent(a.agentextras)},disconnect:function(){a.webPhone&&this.isConnected()&&a.webPhone.disconnect()},isConnected:function(){return a.webPhone.isConnected()},sendDTMF:function(e){a.webPhone.sendDTMF(e)}}},e.error="function"==typeof e.error?e.error:a.noop,e.success="function"==typeof e.success?e.success:a.noop,null!==e.agentNumber&&void 0!==e.agentNumber?(null!==e.loginType&&void 0!==e.loginType||(e.loginType="PSTN"),null!==e.pushHangupStatistics&&void 0!==e.pushHangupStatistics||(e.pushHangupStatistics=!1),null!==e.pushCallinRingStatistics&&void 0!==e.pushCallinRingStatistics||(e.pushCallinRingStatistics=!1),this.init(e)):e.error({message:"Invalid agentNumber"})}var a;return c.noop=function(){},c.prototype.init=function(e){if(void 0===e&&(e={}),a.trace=a.noop,a.debug=a.noop,a.log=a.noop,a.warn=a.noop,a.error=a.noop,!0===e.debug||"all"===e.debug)a.trace=console.trace.bind(console),a.debug=console.debug.bind(console),a.log=console.log.bind(console),a.warn=console.warn.bind(console),a.error=console.error.bind(console);else if(Array.isArray(e.debug))for(var t in e.debug){var s=e.debug[t];switch(s){case"trace":a.trace=console.trace.bind(console);break;case"debug":a.debug=console.debug.bind(console);break;case"log":a.log=console.log.bind(console);break;case"warn":a.warn=console.warn.bind(console);break;case"error":a.error=console.error.bind(console);break;default:console.error("Unknown debugging option '"+s+"' (supported: 'trace', 'debug', 'log', warn', 'error')")}}a.log("Initializing library");var n=a.useDefaultDependencies({WebSocket:Pe});a.newWebSocket=n.newWebSocket,a.request=n.request,this.login(e)},c.prototype.login=function(e){return o(this,void 0,void 0,(function(){var o,c,u,l,h,p,f,d,g=this;return r(this,(function(r){switch(r.label){case 0:if(console.log(e,"options"),o=e.server||a.callApiUrl,c=e.agentNumber+"@"+e.accountId,u=e.loginType,l=e.isOpenNetwork||!1,h={loginName:c,loginType:u,loginChannel:"SDK",password:""},p=!0,"WEBRTC"!==u)return[3,4];r.label=1;case 1:return r.trys.push([1,3,,4]),[4,this.openMediaAudio("请打开麦克风权限!",p)];case 2:return f=r.sent()||{},[3,4];case 3:return d=r.sent(),console.log(d),console.log("授权失败================================"),[3,4];case 4:return e.password&&(h.password=e.password),a.request(o+"/platform/public/loginPre",{verb:"GET",success:function(r){if(r&&r.success&&r.data){var c=decodeURIComponent(t.Base64.decode(r.data.pk)),p=new n.JSEncrypt;p.setPublicKey(c);var d=s(h.password),m=p.encrypt(d);h.password=m,a.request(o+"/platform/public/login",{verb:"POST",body:h,success:function(t){t.success?a.request(o+"/platform/action/loginInfo",{verb:"GET",loginToken:t.data.loginToken,sessionId:t.data.sessionId,success:function(t){t.success?(t.data.agent&&(a.agentInfo=t.data.agent,a.loginToken=t.data.loginToken,a.initOptions=i(i({},e),{audioInfo:f})),g.initAttachEvent(o,u,t.data.pushServer,t.data.agent,e.success),l&&g.initnNetworkMonitoring(t.data.pushServer,""),"WEBRTC"===u&&g.getWebrtcInfo(o,e)):e.error(i(i({},t),f))},error:function(t){e.error(i({error:t},f))}}):e.error(i(i({},t),f))},error:function(t){e.error(i({error:t},f))}})}else e.error(i(i({},r),f))},error:function(t){e.error(i({error:t},f))}}),[2]}}))}))},c.createEventHandle=function(e){var t=this;void 0===e&&(e={}),e.success="function"==typeof e.success?e.success:a.noop,e.error="function"==typeof e.error?e.error:a.noop,e.message="function"==typeof e.message?e.message:a.noop,e.event="function"==typeof e.event?e.event:a.noop,e.server=null===e.serve||void 0===e.serve?"ws://152.136.72.209:3201/phoneBarGateway":e.serve,null!==e.SocketOptions&&void 0!==e.SocketOptions||(e.SocketOptions={},a.error({message:"login response error!"})),this.Socketinstance=a.newWebSocket(e.server,e.SocketOptions),this.Socketinstance.on("connect",(function(){e.success("connect event serve success!"),e.suc()})),this.Socketinstance.on("error",(function(t,s){e.error({type:"socketError",error:t}),s&&"function"==typeof s&&s("error")})),this.Socketinstance.on("message",(function(t,s){e.message({subtype:t.subType,data:t.data}),"WEBRTC"===a.initOptions.loginType&&(t.data&&t.data.callType&&"callin"===t.data.callType&&t.data.eventType&&"ring"===t.data.eventType?(a.AudioTask||(a.AudioTask=new qe("https://softphone.useasy.cn/ring.wav")),a.AudioTask.ringAudioPlay()):a.AudioTask&&a.AudioTask.ringAudioPause()),s&&"function"==typeof s&&s("success")})),this.Socketinstance.on("event",(function(s){if("KICK_OFF"===s.subType){t.Socketinstance.disconnect();try{a.webPhone.disconnect()}catch(e){}e.event({message:"坐席账户在其他地方登录"})}}))},c.useDefaultDependencies=function(e){var t=e&&e.fetch||fetch,s=e&&e.Promise||Promise,n=e&&e.WebSocket||WebSocket;return{newWebSocket:function(e,t){return new n(e,t)},request:function(e,n){var i={method:n.verb,cache:"no-cache",headers:{"Content-Type":"application/json",loginToken:n.loginToken||"",sessionId:n.sessionId||"",clienttype:0}};n.encryptionFields&&(i.headers["ue-encryption-algorithm"]=n.encryptionAlgorithm||"aes",i.headers["ue-encryption-fields"]=n.encryptionFields),void 0!==n.withCredentials&&(i.credentials=!0===n.withCredentials?"include":n.withCredentials?n.withCredentials:"omit"),void 0!==n.body&&(i.body=JSON.stringify(n.body));var o=t(e,i).catch((function(e){return s.reject({message:"Probably a network error, is the gateway down?",error:e})}));if(void 0!==n.timeout){var r=new s((function(e,t){var s=window.setTimeout((function(){return clearTimeout(s),n.error({message:"Request timed out",timeout:n.timeout}),t({message:"Request timed out",timeout:n.timeout})}),n.timeout)}));o=s.race([o,r])}return o.then((function(e){return e.ok?typeof n.success==typeof a.noop?e.json().then((function(e){n.success(e)})).catch((function(t){return n.error({message:"Failed to parse response body",error:t,response:e}),s.reject({message:"Failed to parse response body",error:t,response:e})})):void 0:(n.error({message:"API call failed",response:e}),s.reject({message:"API call failed",response:e}))})).catch((function(e){typeof n.error==typeof a.noop&&n.error(e.message||"<< internal error >>",e)})),o}}},Object.defineProperty(c.prototype,"agent",{get:function(){return this._agentApi()},enumerable:!1,configurable:!0}),Object.defineProperty(c.prototype,"webrtc",{get:function(){return this._webPhoneApi()},enumerable:!1,configurable:!0}),Object.defineProperty(c.prototype,"call",{get:function(){return this._callApi()},enumerable:!1,configurable:!0}),a=c,c.callApiUrl="https://app.useasy.cn/api",c.Socketinstance=null,c.AudioTask=null,c.initWebrtcEvent=function(t){return o(void 0,void 0,void 0,(function(){return r(a,(function(s){switch(s.label){case 0:return a.webPhone=new e.UeWebrtc({server:t.wssUrl,sip:t.sip,secret:t.password}),[4,this.webPhone.connect()];case 1:return s.sent(),this.webPhone.register(),[2]}}))}))},c}(),Pe=function(){function e(e,t){delete t.path,delete t.hostname,delete t.port,this.ws=Ee.connect("wss://".concat(e),t)}return e.prototype.on=function(e,t){"connect"===e&&this.ws.on(e,t),"error"===e&&(this.ws.on("connect_error",t),this.ws.on("error",t),this.ws.on("disconnect",t),this.ws.on("reconnect_failed",t)),"message"===e&&this.ws.on("call",t),"event"===e&&this.ws.on("event",t)},e.prototype.emit=function(e,t,s){this.ws.emit(e,t,s)},e.prototype.disconnect=function(){this.ws.disconnect()},e}(),qe=function(){function e(e){this.ringAudio=new Audio(e),this.ringAudio.loop=!0,this.ringAudioRunning=!1}return e.prototype.ringAudioPlay=function(){return o(this,void 0,void 0,(function(){return r(this,(function(e){switch(e.label){case 0:return this.ringAudioRunning?[2]:[3,1];case 1:return[4,this.ringAudio.play()];case 2:e.sent(),this.ringAudioRunning=!0,e.label=3;case 3:return[2]}}))}))},e.prototype.ringAudioPause=function(){return o(this,void 0,void 0,(function(){return r(this,(function(e){switch(e.label){case 0:return this.ringAudio.paused?[3,2]:[4,this.ringAudio.pause()];case 1:e.sent(),this.ringAudioRunning=!1,e.label=2;case 2:return[2]}}))}))},e}();module.exports=Re;