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: absolute;
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: 999;
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,t=this.popoverEl;e.getBoundingClientRect(),this.getBoundingClientRect();const s=e.offsetTop,i=e.offsetLeft;let r=0,n=0;switch(this.placement){case"top":r=s-t.offsetHeight-8,n=i+(e.offsetWidth-t.offsetWidth)/2;break;case"bottom":r=s+e.offsetHeight+8,n=i+(e.offsetWidth-t.offsetWidth)/2;break;case"left":r=s+(e.offsetHeight-t.offsetHeight)/2,n=i-t.offsetWidth-8;break;case"right":r=s+(e.offsetHeight-t.offsetHeight)/2,n=i+e.offsetWidth+8}t.style.top=`${r}px`,t.style.left=`${n}px`,t.setAttribute("data-placement",this.placement);const o=this.renderRoot.querySelector(".arrow");if(o)if("top"===this.placement||"bottom"===this.placement){const s=e.offsetLeft+e.offsetWidth/2-n-6;o.style.left=`${Math.min(Math.max(s,10),t.offsetWidth-16)}px`,o.style.top=""}else{const s=e.offsetTop+e.offsetHeight/2-r-6;o.style.top=`${Math.min(Math.max(s,10),t.offsetHeight-16)}px`,o.style.left=""}}render(){return Ds`
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
- <my-tooltip content="拨打">
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: absolute;
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: 999;
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,t=this.popoverEl;e.getBoundingClientRect(),this.getBoundingClientRect();const s=e.offsetTop,i=e.offsetLeft;let r=0,n=0;switch(this.placement){case"top":r=s-t.offsetHeight-8,n=i+(e.offsetWidth-t.offsetWidth)/2;break;case"bottom":r=s+e.offsetHeight+8,n=i+(e.offsetWidth-t.offsetWidth)/2;break;case"left":r=s+(e.offsetHeight-t.offsetHeight)/2,n=i-t.offsetWidth-8;break;case"right":r=s+(e.offsetHeight-t.offsetHeight)/2,n=i+e.offsetWidth+8}t.style.top=`${r}px`,t.style.left=`${n}px`,t.setAttribute("data-placement",this.placement);const o=this.renderRoot.querySelector(".arrow");if(o)if("top"===this.placement||"bottom"===this.placement){const s=e.offsetLeft+e.offsetWidth/2-n-6;o.style.left=`${Math.min(Math.max(s,10),t.offsetWidth-16)}px`,o.style.top=""}else{const s=e.offsetTop+e.offsetHeight/2-r-6;o.style.top=`${Math.min(Math.max(s,10),t.offsetHeight-16)}px`,o.style.left=""}}render(){return xs`
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
- <my-tooltip content="拨打">
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: absolute;
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: 999;
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,t=this.popoverEl;e.getBoundingClientRect(),this.getBoundingClientRect();const s=e.offsetTop,i=e.offsetLeft;let r=0,n=0;switch(this.placement){case"top":r=s-t.offsetHeight-8,n=i+(e.offsetWidth-t.offsetWidth)/2;break;case"bottom":r=s+e.offsetHeight+8,n=i+(e.offsetWidth-t.offsetWidth)/2;break;case"left":r=s+(e.offsetHeight-t.offsetHeight)/2,n=i-t.offsetWidth-8;break;case"right":r=s+(e.offsetHeight-t.offsetHeight)/2,n=i+e.offsetWidth+8}t.style.top=`${r}px`,t.style.left=`${n}px`,t.setAttribute("data-placement",this.placement);const o=this.renderRoot.querySelector(".arrow");if(o)if("top"===this.placement||"bottom"===this.placement){const s=e.offsetLeft+e.offsetWidth/2-n-6;o.style.left=`${Math.min(Math.max(s,10),t.offsetWidth-16)}px`,o.style.top=""}else{const s=e.offsetTop+e.offsetHeight/2-r-6;o.style.top=`${Math.min(Math.max(s,10),t.offsetHeight-16)}px`,o.style.left=""}}render(){return Ds`
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
- <my-tooltip content="拨打">
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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ysyt-agent-sdk",
3
- "version": "1.0.20",
3
+ "version": "1.0.21",
4
4
  "main": "dist/ysyt-agent-sdk.cjs.js",
5
5
  "module": "dist/ysyt-agent-sdk.esm.js",
6
6
  "types": "dist/index.d.ts",