ysyt-agent-sdk 1.0.20 → 1.0.21
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.
|
@@ -177,11 +177,11 @@ const Zs=e=>(t,s)=>{void 0!==s?s.addInitializer(()=>{customElements.define(e,t)}
|
|
|
177
177
|
}
|
|
178
178
|
|
|
179
179
|
.popover {
|
|
180
|
-
position:
|
|
180
|
+
position: fixed;
|
|
181
181
|
background: white;
|
|
182
182
|
border-radius: 4px;
|
|
183
183
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
|
184
|
-
z-index:
|
|
184
|
+
z-index: 9999999;
|
|
185
185
|
opacity: 0;
|
|
186
186
|
transform: translateY(0px);
|
|
187
187
|
transition:
|
|
@@ -200,15 +200,12 @@ const Zs=e=>(t,s)=>{void 0!==s?s.addInitializer(()=>{customElements.define(e,t)}
|
|
|
200
200
|
.popover[data-placement='top'].visible {
|
|
201
201
|
transform: translateY(-8px);
|
|
202
202
|
}
|
|
203
|
-
|
|
204
203
|
.popover[data-placement='bottom'].visible {
|
|
205
204
|
transform: translateY(8px);
|
|
206
205
|
}
|
|
207
|
-
|
|
208
206
|
.popover[data-placement='left'].visible {
|
|
209
207
|
transform: translateX(-8px);
|
|
210
208
|
}
|
|
211
|
-
|
|
212
209
|
.popover[data-placement='right'].visible {
|
|
213
210
|
transform: translateX(8px);
|
|
214
211
|
}
|
|
@@ -224,12 +221,14 @@ const Zs=e=>(t,s)=>{void 0!==s?s.addInitializer(()=>{customElements.define(e,t)}
|
|
|
224
221
|
bottom: -6px;
|
|
225
222
|
border-width: 6px 6px 0 6px;
|
|
226
223
|
border-color: #fff transparent transparent transparent;
|
|
224
|
+
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
|
|
227
225
|
}
|
|
228
226
|
|
|
229
227
|
.arrow[data-placement='bottom'] {
|
|
230
228
|
top: -6px;
|
|
231
229
|
border-width: 0 6px 6px 6px;
|
|
232
230
|
border-color: transparent transparent #fff transparent;
|
|
231
|
+
box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.05);
|
|
233
232
|
}
|
|
234
233
|
|
|
235
234
|
.arrow[data-placement='left'] {
|
|
@@ -243,7 +242,7 @@ const Zs=e=>(t,s)=>{void 0!==s?s.addInitializer(()=>{customElements.define(e,t)}
|
|
|
243
242
|
border-width: 6px 6px 6px 0;
|
|
244
243
|
border-color: transparent #fff transparent transparent;
|
|
245
244
|
}
|
|
246
|
-
`}firstUpdated(){this.triggerEl=this.renderRoot.querySelector(".trigger"),this.popoverEl=this.renderRoot.querySelector(".popover"),"click"===this.triggerType?(this.triggerEl.addEventListener("click",this.onTogglePopover),document.addEventListener("click",this.onOutsideClick)):(this.triggerEl.addEventListener("mouseenter",this.showPopover),this.triggerEl.addEventListener("mouseleave",this.hidePopoverDelayed),this.popoverEl.addEventListener("mouseenter",this.clearHideTimer),this.popoverEl.addEventListener("mouseleave",this.hidePopoverDelayed))}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("click",this.onOutsideClick),this.triggerEl&&("click"===this.triggerType?(this.triggerEl.removeEventListener("click",this.onTogglePopover),document.removeEventListener("click",this.onOutsideClick)):(this.triggerEl.removeEventListener("mouseenter",this.showPopover),this.triggerEl.removeEventListener("mouseleave",this.hidePopoverDelayed),this.popoverEl.removeEventListener("mouseenter",this.clearHideTimer),this.popoverEl.removeEventListener("mouseleave",this.hidePopoverDelayed)))}updatePosition(){const e=this.triggerEl
|
|
245
|
+
`}firstUpdated(){this.triggerEl=this.renderRoot.querySelector(".trigger"),this.popoverEl=this.renderRoot.querySelector(".popover"),"click"===this.triggerType?(this.triggerEl.addEventListener("click",this.onTogglePopover),document.addEventListener("click",this.onOutsideClick)):(this.triggerEl.addEventListener("mouseenter",this.showPopover),this.triggerEl.addEventListener("mouseleave",this.hidePopoverDelayed),this.popoverEl.addEventListener("mouseenter",this.clearHideTimer),this.popoverEl.addEventListener("mouseleave",this.hidePopoverDelayed))}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("click",this.onOutsideClick),this.triggerEl&&("click"===this.triggerType?(this.triggerEl.removeEventListener("click",this.onTogglePopover),document.removeEventListener("click",this.onOutsideClick)):(this.triggerEl.removeEventListener("mouseenter",this.showPopover),this.triggerEl.removeEventListener("mouseleave",this.hidePopoverDelayed),this.popoverEl.removeEventListener("mouseenter",this.clearHideTimer),this.popoverEl.removeEventListener("mouseleave",this.hidePopoverDelayed)))}updatePosition(){const e=this.triggerEl.getBoundingClientRect(),t=this.popoverEl;let s=0,i=0;switch(this.placement){case"top":s=e.top-t.offsetHeight-8,i=e.left+(e.width-t.offsetWidth)/2;break;case"bottom":s=e.bottom+8,i=e.left+(e.width-t.offsetWidth)/2;break;case"left":s=e.top+(e.height-t.offsetHeight)/2,i=e.left-t.offsetWidth-8;break;case"right":s=e.top+(e.height-t.offsetHeight)/2,i=e.right+8}t.style.top=`${s}px`,t.style.left=`${i}px`,t.setAttribute("data-placement",this.placement);const r=this.renderRoot.querySelector(".arrow");if(r)if("top"===this.placement||"bottom"===this.placement){const s=e.left+e.width/2-i-6;r.style.left=`${Math.min(Math.max(s,10),t.offsetWidth-16)}px`,r.style.top=""}else{const i=e.top+e.height/2-s-6;r.style.top=`${Math.min(Math.max(i,10),t.offsetHeight-16)}px`,r.style.left=""}}render(){return Ds`
|
|
247
246
|
<div class="trigger">
|
|
248
247
|
<slot name="trigger"></slot>
|
|
249
248
|
</div>
|
|
@@ -553,9 +552,7 @@ const Zs=e=>(t,s)=>{void 0!==s?s.addInitializer(()=>{customElements.define(e,t)}
|
|
|
553
552
|
`:Ds``}_onCancel(){this.dispatchEvent(new CustomEvent("cancel")),this.visible=!1}_onOk(){this.dispatchEvent(new CustomEvent("ok"))}_onMaskClick(){this._onCancel()}};jt([ei({type:Boolean})],ki.prototype,"visible",void 0),jt([ei({type:Boolean})],ki.prototype,"showFooter",void 0),jt([ei({type:String})],ki.prototype,"width",void 0),jt([ei({type:String})],ki.prototype,"title",void 0),ki=jt([Zs("my-modal-wrapper")],ki);class Ni{constructor(){this.roleData={agentInfo:()=>{if(!pi.agentInfo?.agent_no)throw new Error("请先登录")},requestInfo:e=>{if(!e.data)throw new Error("请传入参数")},changeDevice:e=>{if(!e)throw new Error('Parameter "device" is required');const{answer_devices:t}=pi.agentInfo;if(!t.split(",").map(e=>Number(e)).includes(e))throw new Error("当前设备不支持")},changeState:(e,t)=>{if(!e)throw new Error('Parameter "state" is required');if(!t)throw new Error('Parameter "state_name" is required');if(2===e&&"通话中"===t)throw new Error("当前状态不支持");if(![1,2].includes(e))throw new Error("当前状态不支持")}}}async _agentLogin(e){try{const s=await(t={agent_no:e},ui(`${hi}/agent/login`,t));pi.agentInfo=s.data}catch(e){throw console.log(e),new Error("登录失败")}var t}async changeDevice(e){try{this.roleData.agentInfo(),this.roleData.requestInfo(e);const{data:t,success:s}=e,{device:i}=t;this.roleData.changeDevice(i);const{agent_no:r}=pi.agentInfo;await(e=>ui(`${hi}/device/change`,e))({agent_no:r,answer_device:i}),dt.updateAnswerDevice(i),s?.({code:0,msg:"请求成功"})}catch(e){throw console.log(e),new Error("切换设备失败")}}async changeState(e){try{pi.autoStateTimer&&(clearTimeout(pi.autoStateTimer),pi.autoStateTimer=null),this.roleData.agentInfo(),this.roleData.requestInfo(e);const{data:t,success:s}=e,{state:i,state_name:r}=t;this.roleData.changeState(i,r);const{agent_no:n}=pi.agentInfo;await(e=>ui(`${hi}/state/change`,e))({agent_no:n,state_name:r,state:i}),i===et.IDLE?dt.updateActionConfigs(wi):i===et.BUSY&&dt.updateActionConfigs(yi),pi.stateObject={state:i,state_name:r},s?.({code:0,msg:"请求成功"})}catch(e){console.log(e)}}async getIdleAgentList(e){const{agent_no:t}=pi.agentInfo;try{this.roleData.agentInfo();const s=await(e=>ui(`${hi}/agent/free`,e))({agent_no:t});e.success?.(s)}catch(e){console.log(e)}}async getAgentState(e){try{const t=await ui(`${ci}/agent/statecfg/list`,{}),s=(t.data||[]).filter(e=>0===e.enable).filter(e=>0!==e.state&&3!==e.state).map(e=>({state:e.state,state_name:e.state_name})).reverse();e.success?.({...t,data:s})}catch(e){console.log(e)}}}class Hi{constructor({container:e,rttHTML:t,statusParams:s},i){this.VoiceSDKInstance=i,this.apiClient=new Ni,this.isOpenSelect=!1,this.statusParams={state:et.IDLE,statusName:"空闲"},this.consultShow=!1,this.modalRoot=null,this.agentStateData=[],this.handleNetworkInfoChange=e=>{this.rttHTML&&this.renderRtt(e.rttObject)},this.handleCallInfoChange=e=>{this.render()},this.hiddenSelect=()=>{if(!this.isOpenSelect)return;const e=document.querySelector(".ysyt-select");e.style.height="0px",setTimeout(()=>{e.style.padding="0px"},100),this.isOpenSelect=!1,this.render()},this.toggle=e=>{e.stopPropagation(),this.isOpenSelect=!this.isOpenSelect;const t=document.querySelector(".ysyt-select");this.isOpenSelect?(t.style.height=t.scrollHeight+"px",t.style.padding="4px 0px",this.render()):this.hiddenSelect()},this.changeStatus=async e=>{const{state:t,statusName:s}=e;await this.apiClient.changeState({data:{state:t,state_name:s},success:()=>{this.statusParams=e;const t=document.getElementById("my-timer");t?.reset(),this.hiddenSelect()}})},this.onChangeDevices=async e=>{await this.apiClient.changeDevice({data:{device:e},success:({code:t})=>{0===t&&(1!==e&&this.VoiceSDKInstance.destroyRtc(),ni("切换成功"),this.render())}})},this.ruleCall=async e=>{if(e)try{await this.VoiceSDKInstance.call_api.makeCall(e)}catch(e){console.error(e)}},this.onCall=()=>{const e=document.querySelector("my-input");this.ruleCall(e.value)},this.renderCallPopover=()=>Ds`
|
|
554
553
|
<my-popover>
|
|
555
554
|
<div slot="trigger">
|
|
556
|
-
<
|
|
557
|
-
<i class="ysyt icon-boda my-icon"></i>
|
|
558
|
-
</my-tooltip>
|
|
555
|
+
<i class="ysyt icon-boda my-icon"></i>
|
|
559
556
|
</div>
|
|
560
557
|
<div slot="content" class="content-call-key">
|
|
561
558
|
<my-input
|
|
@@ -177,11 +177,11 @@ const Qs=e=>(t,s)=>{void 0!==s?s.addInitializer(()=>{customElements.define(e,t)}
|
|
|
177
177
|
}
|
|
178
178
|
|
|
179
179
|
.popover {
|
|
180
|
-
position:
|
|
180
|
+
position: fixed;
|
|
181
181
|
background: white;
|
|
182
182
|
border-radius: 4px;
|
|
183
183
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
|
184
|
-
z-index:
|
|
184
|
+
z-index: 9999999;
|
|
185
185
|
opacity: 0;
|
|
186
186
|
transform: translateY(0px);
|
|
187
187
|
transition:
|
|
@@ -200,15 +200,12 @@ const Qs=e=>(t,s)=>{void 0!==s?s.addInitializer(()=>{customElements.define(e,t)}
|
|
|
200
200
|
.popover[data-placement='top'].visible {
|
|
201
201
|
transform: translateY(-8px);
|
|
202
202
|
}
|
|
203
|
-
|
|
204
203
|
.popover[data-placement='bottom'].visible {
|
|
205
204
|
transform: translateY(8px);
|
|
206
205
|
}
|
|
207
|
-
|
|
208
206
|
.popover[data-placement='left'].visible {
|
|
209
207
|
transform: translateX(-8px);
|
|
210
208
|
}
|
|
211
|
-
|
|
212
209
|
.popover[data-placement='right'].visible {
|
|
213
210
|
transform: translateX(8px);
|
|
214
211
|
}
|
|
@@ -224,12 +221,14 @@ const Qs=e=>(t,s)=>{void 0!==s?s.addInitializer(()=>{customElements.define(e,t)}
|
|
|
224
221
|
bottom: -6px;
|
|
225
222
|
border-width: 6px 6px 0 6px;
|
|
226
223
|
border-color: #fff transparent transparent transparent;
|
|
224
|
+
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
|
|
227
225
|
}
|
|
228
226
|
|
|
229
227
|
.arrow[data-placement='bottom'] {
|
|
230
228
|
top: -6px;
|
|
231
229
|
border-width: 0 6px 6px 6px;
|
|
232
230
|
border-color: transparent transparent #fff transparent;
|
|
231
|
+
box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.05);
|
|
233
232
|
}
|
|
234
233
|
|
|
235
234
|
.arrow[data-placement='left'] {
|
|
@@ -243,7 +242,7 @@ const Qs=e=>(t,s)=>{void 0!==s?s.addInitializer(()=>{customElements.define(e,t)}
|
|
|
243
242
|
border-width: 6px 6px 6px 0;
|
|
244
243
|
border-color: transparent #fff transparent transparent;
|
|
245
244
|
}
|
|
246
|
-
`}firstUpdated(){this.triggerEl=this.renderRoot.querySelector(".trigger"),this.popoverEl=this.renderRoot.querySelector(".popover"),"click"===this.triggerType?(this.triggerEl.addEventListener("click",this.onTogglePopover),document.addEventListener("click",this.onOutsideClick)):(this.triggerEl.addEventListener("mouseenter",this.showPopover),this.triggerEl.addEventListener("mouseleave",this.hidePopoverDelayed),this.popoverEl.addEventListener("mouseenter",this.clearHideTimer),this.popoverEl.addEventListener("mouseleave",this.hidePopoverDelayed))}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("click",this.onOutsideClick),this.triggerEl&&("click"===this.triggerType?(this.triggerEl.removeEventListener("click",this.onTogglePopover),document.removeEventListener("click",this.onOutsideClick)):(this.triggerEl.removeEventListener("mouseenter",this.showPopover),this.triggerEl.removeEventListener("mouseleave",this.hidePopoverDelayed),this.popoverEl.removeEventListener("mouseenter",this.clearHideTimer),this.popoverEl.removeEventListener("mouseleave",this.hidePopoverDelayed)))}updatePosition(){const e=this.triggerEl
|
|
245
|
+
`}firstUpdated(){this.triggerEl=this.renderRoot.querySelector(".trigger"),this.popoverEl=this.renderRoot.querySelector(".popover"),"click"===this.triggerType?(this.triggerEl.addEventListener("click",this.onTogglePopover),document.addEventListener("click",this.onOutsideClick)):(this.triggerEl.addEventListener("mouseenter",this.showPopover),this.triggerEl.addEventListener("mouseleave",this.hidePopoverDelayed),this.popoverEl.addEventListener("mouseenter",this.clearHideTimer),this.popoverEl.addEventListener("mouseleave",this.hidePopoverDelayed))}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("click",this.onOutsideClick),this.triggerEl&&("click"===this.triggerType?(this.triggerEl.removeEventListener("click",this.onTogglePopover),document.removeEventListener("click",this.onOutsideClick)):(this.triggerEl.removeEventListener("mouseenter",this.showPopover),this.triggerEl.removeEventListener("mouseleave",this.hidePopoverDelayed),this.popoverEl.removeEventListener("mouseenter",this.clearHideTimer),this.popoverEl.removeEventListener("mouseleave",this.hidePopoverDelayed)))}updatePosition(){const e=this.triggerEl.getBoundingClientRect(),t=this.popoverEl;let s=0,i=0;switch(this.placement){case"top":s=e.top-t.offsetHeight-8,i=e.left+(e.width-t.offsetWidth)/2;break;case"bottom":s=e.bottom+8,i=e.left+(e.width-t.offsetWidth)/2;break;case"left":s=e.top+(e.height-t.offsetHeight)/2,i=e.left-t.offsetWidth-8;break;case"right":s=e.top+(e.height-t.offsetHeight)/2,i=e.right+8}t.style.top=`${s}px`,t.style.left=`${i}px`,t.setAttribute("data-placement",this.placement);const r=this.renderRoot.querySelector(".arrow");if(r)if("top"===this.placement||"bottom"===this.placement){const s=e.left+e.width/2-i-6;r.style.left=`${Math.min(Math.max(s,10),t.offsetWidth-16)}px`,r.style.top=""}else{const i=e.top+e.height/2-s-6;r.style.top=`${Math.min(Math.max(i,10),t.offsetHeight-16)}px`,r.style.left=""}}render(){return xs`
|
|
247
246
|
<div class="trigger">
|
|
248
247
|
<slot name="trigger"></slot>
|
|
249
248
|
</div>
|
|
@@ -553,9 +552,7 @@ const Qs=e=>(t,s)=>{void 0!==s?s.addInitializer(()=>{customElements.define(e,t)}
|
|
|
553
552
|
`:xs``}_onCancel(){this.dispatchEvent(new CustomEvent("cancel")),this.visible=!1}_onOk(){this.dispatchEvent(new CustomEvent("ok"))}_onMaskClick(){this._onCancel()}};Bt([ti({type:Boolean})],Ni.prototype,"visible",void 0),Bt([ti({type:Boolean})],Ni.prototype,"showFooter",void 0),Bt([ti({type:String})],Ni.prototype,"width",void 0),Bt([ti({type:String})],Ni.prototype,"title",void 0),Ni=Bt([Qs("my-modal-wrapper")],Ni);class Hi{constructor(){this.roleData={agentInfo:()=>{if(!fi.agentInfo?.agent_no)throw new Error("请先登录")},requestInfo:e=>{if(!e.data)throw new Error("请传入参数")},changeDevice:e=>{if(!e)throw new Error('Parameter "device" is required');const{answer_devices:t}=fi.agentInfo;if(!t.split(",").map(e=>Number(e)).includes(e))throw new Error("当前设备不支持")},changeState:(e,t)=>{if(!e)throw new Error('Parameter "state" is required');if(!t)throw new Error('Parameter "state_name" is required');if(2===e&&"通话中"===t)throw new Error("当前状态不支持");if(![1,2].includes(e))throw new Error("当前状态不支持")}}}async _agentLogin(e){try{const s=await(t={agent_no:e},pi(`${di}/agent/login`,t));fi.agentInfo=s.data}catch(e){throw console.log(e),new Error("登录失败")}var t}async changeDevice(e){try{this.roleData.agentInfo(),this.roleData.requestInfo(e);const{data:t,success:s}=e,{device:i}=t;this.roleData.changeDevice(i);const{agent_no:r}=fi.agentInfo;await(e=>pi(`${di}/device/change`,e))({agent_no:r,answer_device:i}),dt.updateAnswerDevice(i),s?.({code:0,msg:"请求成功"})}catch(e){throw console.log(e),new Error("切换设备失败")}}async changeState(e){try{fi.autoStateTimer&&(clearTimeout(fi.autoStateTimer),fi.autoStateTimer=null),this.roleData.agentInfo(),this.roleData.requestInfo(e);const{data:t,success:s}=e,{state:i,state_name:r}=t;this.roleData.changeState(i,r);const{agent_no:n}=fi.agentInfo;await(e=>pi(`${di}/state/change`,e))({agent_no:n,state_name:r,state:i}),i===et.IDLE?dt.updateActionConfigs(yi):i===et.BUSY&&dt.updateActionConfigs(bi),fi.stateObject={state:i,state_name:r},s?.({code:0,msg:"请求成功"})}catch(e){console.log(e)}}async getIdleAgentList(e){const{agent_no:t}=fi.agentInfo;try{this.roleData.agentInfo();const s=await(e=>pi(`${di}/agent/free`,e))({agent_no:t});e.success?.(s)}catch(e){console.log(e)}}async getAgentState(e){try{const t=await pi(`${hi}/agent/statecfg/list`,{}),s=(t.data||[]).filter(e=>0===e.enable).filter(e=>0!==e.state&&3!==e.state).map(e=>({state:e.state,state_name:e.state_name})).reverse();e.success?.({...t,data:s})}catch(e){console.log(e)}}}class Pi{constructor({container:e,rttHTML:t,statusParams:s},i){this.VoiceSDKInstance=i,this.apiClient=new Hi,this.isOpenSelect=!1,this.statusParams={state:et.IDLE,statusName:"空闲"},this.consultShow=!1,this.modalRoot=null,this.agentStateData=[],this.handleNetworkInfoChange=e=>{this.rttHTML&&this.renderRtt(e.rttObject)},this.handleCallInfoChange=e=>{this.render()},this.hiddenSelect=()=>{if(!this.isOpenSelect)return;const e=document.querySelector(".ysyt-select");e.style.height="0px",setTimeout(()=>{e.style.padding="0px"},100),this.isOpenSelect=!1,this.render()},this.toggle=e=>{e.stopPropagation(),this.isOpenSelect=!this.isOpenSelect;const t=document.querySelector(".ysyt-select");this.isOpenSelect?(t.style.height=t.scrollHeight+"px",t.style.padding="4px 0px",this.render()):this.hiddenSelect()},this.changeStatus=async e=>{const{state:t,statusName:s}=e;await this.apiClient.changeState({data:{state:t,state_name:s},success:()=>{this.statusParams=e;const t=document.getElementById("my-timer");t?.reset(),this.hiddenSelect()}})},this.onChangeDevices=async e=>{await this.apiClient.changeDevice({data:{device:e},success:({code:t})=>{0===t&&(1!==e&&this.VoiceSDKInstance.destroyRtc(),oi("切换成功"),this.render())}})},this.ruleCall=async e=>{if(e)try{await this.VoiceSDKInstance.call_api.makeCall(e)}catch(e){console.error(e)}},this.onCall=()=>{const e=document.querySelector("my-input");this.ruleCall(e.value)},this.renderCallPopover=()=>xs`
|
|
554
553
|
<my-popover>
|
|
555
554
|
<div slot="trigger">
|
|
556
|
-
<
|
|
557
|
-
<i class="ysyt icon-boda my-icon"></i>
|
|
558
|
-
</my-tooltip>
|
|
555
|
+
<i class="ysyt icon-boda my-icon"></i>
|
|
559
556
|
</div>
|
|
560
557
|
<div slot="content" class="content-call-key">
|
|
561
558
|
<my-input
|
|
@@ -177,11 +177,11 @@ const Zs=e=>(t,s)=>{void 0!==s?s.addInitializer(()=>{customElements.define(e,t)}
|
|
|
177
177
|
}
|
|
178
178
|
|
|
179
179
|
.popover {
|
|
180
|
-
position:
|
|
180
|
+
position: fixed;
|
|
181
181
|
background: white;
|
|
182
182
|
border-radius: 4px;
|
|
183
183
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
|
184
|
-
z-index:
|
|
184
|
+
z-index: 9999999;
|
|
185
185
|
opacity: 0;
|
|
186
186
|
transform: translateY(0px);
|
|
187
187
|
transition:
|
|
@@ -200,15 +200,12 @@ const Zs=e=>(t,s)=>{void 0!==s?s.addInitializer(()=>{customElements.define(e,t)}
|
|
|
200
200
|
.popover[data-placement='top'].visible {
|
|
201
201
|
transform: translateY(-8px);
|
|
202
202
|
}
|
|
203
|
-
|
|
204
203
|
.popover[data-placement='bottom'].visible {
|
|
205
204
|
transform: translateY(8px);
|
|
206
205
|
}
|
|
207
|
-
|
|
208
206
|
.popover[data-placement='left'].visible {
|
|
209
207
|
transform: translateX(-8px);
|
|
210
208
|
}
|
|
211
|
-
|
|
212
209
|
.popover[data-placement='right'].visible {
|
|
213
210
|
transform: translateX(8px);
|
|
214
211
|
}
|
|
@@ -224,12 +221,14 @@ const Zs=e=>(t,s)=>{void 0!==s?s.addInitializer(()=>{customElements.define(e,t)}
|
|
|
224
221
|
bottom: -6px;
|
|
225
222
|
border-width: 6px 6px 0 6px;
|
|
226
223
|
border-color: #fff transparent transparent transparent;
|
|
224
|
+
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
|
|
227
225
|
}
|
|
228
226
|
|
|
229
227
|
.arrow[data-placement='bottom'] {
|
|
230
228
|
top: -6px;
|
|
231
229
|
border-width: 0 6px 6px 6px;
|
|
232
230
|
border-color: transparent transparent #fff transparent;
|
|
231
|
+
box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.05);
|
|
233
232
|
}
|
|
234
233
|
|
|
235
234
|
.arrow[data-placement='left'] {
|
|
@@ -243,7 +242,7 @@ const Zs=e=>(t,s)=>{void 0!==s?s.addInitializer(()=>{customElements.define(e,t)}
|
|
|
243
242
|
border-width: 6px 6px 6px 0;
|
|
244
243
|
border-color: transparent #fff transparent transparent;
|
|
245
244
|
}
|
|
246
|
-
`}firstUpdated(){this.triggerEl=this.renderRoot.querySelector(".trigger"),this.popoverEl=this.renderRoot.querySelector(".popover"),"click"===this.triggerType?(this.triggerEl.addEventListener("click",this.onTogglePopover),document.addEventListener("click",this.onOutsideClick)):(this.triggerEl.addEventListener("mouseenter",this.showPopover),this.triggerEl.addEventListener("mouseleave",this.hidePopoverDelayed),this.popoverEl.addEventListener("mouseenter",this.clearHideTimer),this.popoverEl.addEventListener("mouseleave",this.hidePopoverDelayed))}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("click",this.onOutsideClick),this.triggerEl&&("click"===this.triggerType?(this.triggerEl.removeEventListener("click",this.onTogglePopover),document.removeEventListener("click",this.onOutsideClick)):(this.triggerEl.removeEventListener("mouseenter",this.showPopover),this.triggerEl.removeEventListener("mouseleave",this.hidePopoverDelayed),this.popoverEl.removeEventListener("mouseenter",this.clearHideTimer),this.popoverEl.removeEventListener("mouseleave",this.hidePopoverDelayed)))}updatePosition(){const e=this.triggerEl
|
|
245
|
+
`}firstUpdated(){this.triggerEl=this.renderRoot.querySelector(".trigger"),this.popoverEl=this.renderRoot.querySelector(".popover"),"click"===this.triggerType?(this.triggerEl.addEventListener("click",this.onTogglePopover),document.addEventListener("click",this.onOutsideClick)):(this.triggerEl.addEventListener("mouseenter",this.showPopover),this.triggerEl.addEventListener("mouseleave",this.hidePopoverDelayed),this.popoverEl.addEventListener("mouseenter",this.clearHideTimer),this.popoverEl.addEventListener("mouseleave",this.hidePopoverDelayed))}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("click",this.onOutsideClick),this.triggerEl&&("click"===this.triggerType?(this.triggerEl.removeEventListener("click",this.onTogglePopover),document.removeEventListener("click",this.onOutsideClick)):(this.triggerEl.removeEventListener("mouseenter",this.showPopover),this.triggerEl.removeEventListener("mouseleave",this.hidePopoverDelayed),this.popoverEl.removeEventListener("mouseenter",this.clearHideTimer),this.popoverEl.removeEventListener("mouseleave",this.hidePopoverDelayed)))}updatePosition(){const e=this.triggerEl.getBoundingClientRect(),t=this.popoverEl;let s=0,i=0;switch(this.placement){case"top":s=e.top-t.offsetHeight-8,i=e.left+(e.width-t.offsetWidth)/2;break;case"bottom":s=e.bottom+8,i=e.left+(e.width-t.offsetWidth)/2;break;case"left":s=e.top+(e.height-t.offsetHeight)/2,i=e.left-t.offsetWidth-8;break;case"right":s=e.top+(e.height-t.offsetHeight)/2,i=e.right+8}t.style.top=`${s}px`,t.style.left=`${i}px`,t.setAttribute("data-placement",this.placement);const r=this.renderRoot.querySelector(".arrow");if(r)if("top"===this.placement||"bottom"===this.placement){const s=e.left+e.width/2-i-6;r.style.left=`${Math.min(Math.max(s,10),t.offsetWidth-16)}px`,r.style.top=""}else{const i=e.top+e.height/2-s-6;r.style.top=`${Math.min(Math.max(i,10),t.offsetHeight-16)}px`,r.style.left=""}}render(){return Ds`
|
|
247
246
|
<div class="trigger">
|
|
248
247
|
<slot name="trigger"></slot>
|
|
249
248
|
</div>
|
|
@@ -553,9 +552,7 @@ const Zs=e=>(t,s)=>{void 0!==s?s.addInitializer(()=>{customElements.define(e,t)}
|
|
|
553
552
|
`:Ds``}_onCancel(){this.dispatchEvent(new CustomEvent("cancel")),this.visible=!1}_onOk(){this.dispatchEvent(new CustomEvent("ok"))}_onMaskClick(){this._onCancel()}};jt([ei({type:Boolean})],ki.prototype,"visible",void 0),jt([ei({type:Boolean})],ki.prototype,"showFooter",void 0),jt([ei({type:String})],ki.prototype,"width",void 0),jt([ei({type:String})],ki.prototype,"title",void 0),ki=jt([Zs("my-modal-wrapper")],ki);class Ni{constructor(){this.roleData={agentInfo:()=>{if(!pi.agentInfo?.agent_no)throw new Error("请先登录")},requestInfo:e=>{if(!e.data)throw new Error("请传入参数")},changeDevice:e=>{if(!e)throw new Error('Parameter "device" is required');const{answer_devices:t}=pi.agentInfo;if(!t.split(",").map(e=>Number(e)).includes(e))throw new Error("当前设备不支持")},changeState:(e,t)=>{if(!e)throw new Error('Parameter "state" is required');if(!t)throw new Error('Parameter "state_name" is required');if(2===e&&"通话中"===t)throw new Error("当前状态不支持");if(![1,2].includes(e))throw new Error("当前状态不支持")}}}async _agentLogin(e){try{const s=await(t={agent_no:e},ui(`${hi}/agent/login`,t));pi.agentInfo=s.data}catch(e){throw console.log(e),new Error("登录失败")}var t}async changeDevice(e){try{this.roleData.agentInfo(),this.roleData.requestInfo(e);const{data:t,success:s}=e,{device:i}=t;this.roleData.changeDevice(i);const{agent_no:r}=pi.agentInfo;await(e=>ui(`${hi}/device/change`,e))({agent_no:r,answer_device:i}),dt.updateAnswerDevice(i),s?.({code:0,msg:"请求成功"})}catch(e){throw console.log(e),new Error("切换设备失败")}}async changeState(e){try{pi.autoStateTimer&&(clearTimeout(pi.autoStateTimer),pi.autoStateTimer=null),this.roleData.agentInfo(),this.roleData.requestInfo(e);const{data:t,success:s}=e,{state:i,state_name:r}=t;this.roleData.changeState(i,r);const{agent_no:n}=pi.agentInfo;await(e=>ui(`${hi}/state/change`,e))({agent_no:n,state_name:r,state:i}),i===et.IDLE?dt.updateActionConfigs(wi):i===et.BUSY&&dt.updateActionConfigs(yi),pi.stateObject={state:i,state_name:r},s?.({code:0,msg:"请求成功"})}catch(e){console.log(e)}}async getIdleAgentList(e){const{agent_no:t}=pi.agentInfo;try{this.roleData.agentInfo();const s=await(e=>ui(`${hi}/agent/free`,e))({agent_no:t});e.success?.(s)}catch(e){console.log(e)}}async getAgentState(e){try{const t=await ui(`${ci}/agent/statecfg/list`,{}),s=(t.data||[]).filter(e=>0===e.enable).filter(e=>0!==e.state&&3!==e.state).map(e=>({state:e.state,state_name:e.state_name})).reverse();e.success?.({...t,data:s})}catch(e){console.log(e)}}}class Hi{constructor({container:e,rttHTML:t,statusParams:s},i){this.VoiceSDKInstance=i,this.apiClient=new Ni,this.isOpenSelect=!1,this.statusParams={state:et.IDLE,statusName:"空闲"},this.consultShow=!1,this.modalRoot=null,this.agentStateData=[],this.handleNetworkInfoChange=e=>{this.rttHTML&&this.renderRtt(e.rttObject)},this.handleCallInfoChange=e=>{this.render()},this.hiddenSelect=()=>{if(!this.isOpenSelect)return;const e=document.querySelector(".ysyt-select");e.style.height="0px",setTimeout(()=>{e.style.padding="0px"},100),this.isOpenSelect=!1,this.render()},this.toggle=e=>{e.stopPropagation(),this.isOpenSelect=!this.isOpenSelect;const t=document.querySelector(".ysyt-select");this.isOpenSelect?(t.style.height=t.scrollHeight+"px",t.style.padding="4px 0px",this.render()):this.hiddenSelect()},this.changeStatus=async e=>{const{state:t,statusName:s}=e;await this.apiClient.changeState({data:{state:t,state_name:s},success:()=>{this.statusParams=e;const t=document.getElementById("my-timer");t?.reset(),this.hiddenSelect()}})},this.onChangeDevices=async e=>{await this.apiClient.changeDevice({data:{device:e},success:({code:t})=>{0===t&&(1!==e&&this.VoiceSDKInstance.destroyRtc(),ni("切换成功"),this.render())}})},this.ruleCall=async e=>{if(e)try{await this.VoiceSDKInstance.call_api.makeCall(e)}catch(e){console.error(e)}},this.onCall=()=>{const e=document.querySelector("my-input");this.ruleCall(e.value)},this.renderCallPopover=()=>Ds`
|
|
554
553
|
<my-popover>
|
|
555
554
|
<div slot="trigger">
|
|
556
|
-
<
|
|
557
|
-
<i class="ysyt icon-boda my-icon"></i>
|
|
558
|
-
</my-tooltip>
|
|
555
|
+
<i class="ysyt icon-boda my-icon"></i>
|
|
559
556
|
</div>
|
|
560
557
|
<div slot="content" class="content-call-key">
|
|
561
558
|
<my-input
|