ysyt-react-agent-lib 1.0.84 → 1.0.86
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.
- package/dist/{ConsultModel-D-dfr5nO.js → ConsultModel-BE6iiTIf.js} +1 -1
- package/dist/{ConsultModel-Dx5-llbf.mjs → ConsultModel-CJi9r9HT.mjs} +2 -2
- package/dist/TransferModel-BAiVEc-q.js +1 -0
- package/dist/{TransferModel-CJ2zwZD-.mjs → TransferModel-DO23gAaz.mjs} +11 -11
- package/dist/{index-DAAoqFdo.mjs → index-BF35Rxoy.mjs} +1 -1
- package/dist/{index-DNDEkTmi.mjs → index-BbeNxFY9.mjs} +14 -11
- package/dist/{index-DxglN-BR.js → index-CeCQGeBW.js} +1 -1
- package/dist/{index-CICgx0t9.js → index-CsEpzIb5.js} +3 -3
- package/dist/types/index.d.ts +1 -1
- package/dist/ysyt-react-agent-lib.cjs.js +1 -1
- package/dist/ysyt-react-agent-lib.es.js +1 -1
- package/package.json +2 -2
- package/dist/TransferModel-DwyUZqPZ.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-CsEpzIb5.js"),s=require("react"),i=require("./index-CeCQGeBW.js"),c=s.memo(({open:n,onCallBack:r,queryFetch:x})=>{const[o,a]=s.useState([]);return s.useEffect(()=>{(async()=>{try{await x({success:t=>{a(t.data||[])}})}catch(t){console.log(t)}})()},[n]),e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsx(i.Modal,{open:n,title:"咨询",footer:!1,onCancel:()=>r(),children:e.jsxRuntimeExports.jsx(e.ModelBody,{children:o.length===0?e.jsxRuntimeExports.jsx(e.Empty,{image:e.Empty.PRESENTED_IMAGE_SIMPLE,description:"暂无咨询坐席"}):e.jsxRuntimeExports.jsx(e.Space,{wrap:!0,children:o.map(t=>e.jsxRuntimeExports.jsx(i.Tag,{color:"processing",onClick:()=>r(t.agent_no),children:e.jsxRuntimeExports.jsxs("div",{style:{display:"flex",alignItems:"center"},children:[e.jsxRuntimeExports.jsx(e.YsytIconSvg,{name:"zixun"}),e.jsxRuntimeExports.jsxs("span",{style:{marginLeft:10},children:["咨询坐席: ",t.agent_name]})]})},t.agent_no))})})})})});exports.default=c;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { j as e, M as l, E as r, S as i, Y as d } from "./index-
|
|
1
|
+
import { j as e, M as l, E as r, S as i, Y as d } from "./index-BbeNxFY9.mjs";
|
|
2
2
|
import { memo as m, useState as g, useEffect as x } from "react";
|
|
3
|
-
import { M as p, T as j } from "./index-
|
|
3
|
+
import { M as p, T as j } from "./index-BF35Rxoy.mjs";
|
|
4
4
|
const E = m(({ open: t, onCallBack: a, queryFetch: o }) => {
|
|
5
5
|
const [n, c] = g([]);
|
|
6
6
|
return x(() => {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-CsEpzIb5.js"),t=require("react"),l=require("./index-CeCQGeBW.js"),m=t.memo(({open:o,onCallBack:n,queryFetch:u})=>{const[x,p]=t.useState([]),[r,c]=t.useState(0),[i,d]=t.useState(""),[j,a]=t.useState(!1);return t.useEffect(()=>{(async()=>{a(!0);try{await u({success:s=>{p(s.data||[])}})}catch(s){console.log(s)}a(!1)})()},[o]),e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsx(l.Modal,{open:o,title:"转接",footer:!1,onCancel:()=>n(),children:e.jsxRuntimeExports.jsxs(e.ModelBody,{children:[e.jsxRuntimeExports.jsx("div",{children:e.jsxRuntimeExports.jsx(e.Radio.Group,{options:[{label:"转接坐席",value:0},{label:"转接外线",value:1}],value:r,onChange:s=>c(s.target.value)})}),e.jsxRuntimeExports.jsx(e.Spin,{spinning:j,children:e.jsxRuntimeExports.jsxs("div",{style:{borderTop:"1px solid #eee",marginTop:10,paddingTop:10},children:[r===0&&e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:x.length===0?e.jsxRuntimeExports.jsx(e.Empty,{image:e.Empty.PRESENTED_IMAGE_SIMPLE,description:"暂无转接坐席"}):e.jsxRuntimeExports.jsx(e.Space,{wrap:!0,children:x.map(s=>e.jsxRuntimeExports.jsx(l.Tag,{color:"processing",onClick:()=>n(s.agent_no,0),children:e.jsxRuntimeExports.jsxs("div",{style:{display:"flex",alignItems:"center"},children:[e.jsxRuntimeExports.jsx(e.YsytIconSvg,{name:"zixun"}),e.jsxRuntimeExports.jsxs("span",{style:{marginRight:10},children:["转接坐席: ",s.agent_name]})]})},s.agent_no))})}),r===1&&e.jsxRuntimeExports.jsxs("div",{style:{width:"100%",display:"flex",alignItems:"center",gap:"0 5px"},children:[e.jsxRuntimeExports.jsx(e.Input,{style:{flex:1},value:i,onChange:s=>d(s.target.value),placeholder:"请输入外线号码, 回车转接",onPressEnter:()=>{n(i,1)}}),e.jsxRuntimeExports.jsx(e.YsytIconSvg,{name:"boda",color:"#1D92E9",size:25,onClick:()=>{n(i,1)}})]})]})})]})})})});exports.default=m;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { j as e, M as h, R as j, a as f, E as d, S as y, Y as c, I as v } from "./index-
|
|
1
|
+
import { j as e, M as h, R as j, a as f, E as d, S as y, Y as c, I as v } from "./index-BbeNxFY9.mjs";
|
|
2
2
|
import { memo as E, useState as n, useEffect as T } from "react";
|
|
3
|
-
import { M as I, T as M } from "./index-
|
|
4
|
-
const _ = E(({ open:
|
|
5
|
-
const [o,
|
|
3
|
+
import { M as I, T as M } from "./index-BF35Rxoy.mjs";
|
|
4
|
+
const _ = E(({ open: l, onCallBack: a, queryFetch: p }) => {
|
|
5
|
+
const [o, g] = n([]), [t, x] = n(0), [r, m] = n(""), [u, i] = n(!1);
|
|
6
6
|
return T(() => {
|
|
7
7
|
(async () => {
|
|
8
8
|
i(!0);
|
|
9
9
|
try {
|
|
10
|
-
await
|
|
10
|
+
await p({
|
|
11
11
|
success: (s) => {
|
|
12
|
-
|
|
12
|
+
g(s.data || []);
|
|
13
13
|
}
|
|
14
14
|
});
|
|
15
15
|
} catch (s) {
|
|
@@ -17,7 +17,7 @@ const _ = E(({ open: r, onCallBack: a, queryFetch: g }) => {
|
|
|
17
17
|
}
|
|
18
18
|
i(!1);
|
|
19
19
|
})();
|
|
20
|
-
}, [
|
|
20
|
+
}, [l]), /* @__PURE__ */ e.jsx(e.Fragment, { children: /* @__PURE__ */ e.jsx(I, { open: l, title: "转接", footer: !1, onCancel: () => a(), children: /* @__PURE__ */ e.jsxs(h, { children: [
|
|
21
21
|
/* @__PURE__ */ e.jsx("div", { children: /* @__PURE__ */ e.jsx(
|
|
22
22
|
j.Group,
|
|
23
23
|
{
|
|
@@ -36,7 +36,7 @@ const _ = E(({ open: r, onCallBack: a, queryFetch: g }) => {
|
|
|
36
36
|
}
|
|
37
37
|
) }),
|
|
38
38
|
/* @__PURE__ */ e.jsx(f, { spinning: u, children: /* @__PURE__ */ e.jsxs("div", { style: { borderTop: "1px solid #eee", marginTop: 10, paddingTop: 10 }, children: [
|
|
39
|
-
t === 0 && /* @__PURE__ */ e.jsx(e.Fragment, { children: o.length === 0 ? /* @__PURE__ */ e.jsx(d, { image: d.PRESENTED_IMAGE_SIMPLE }) : /* @__PURE__ */ e.jsx(y, { wrap: !0, children: o.map((s) => /* @__PURE__ */ e.jsx(M, { color: "processing", onClick: () => a(s.agent_no, 0), children: /* @__PURE__ */ e.jsxs("div", { style: { display: "flex", alignItems: "center" }, children: [
|
|
39
|
+
t === 0 && /* @__PURE__ */ e.jsx(e.Fragment, { children: o.length === 0 ? /* @__PURE__ */ e.jsx(d, { image: d.PRESENTED_IMAGE_SIMPLE, description: "暂无转接坐席" }) : /* @__PURE__ */ e.jsx(y, { wrap: !0, children: o.map((s) => /* @__PURE__ */ e.jsx(M, { color: "processing", onClick: () => a(s.agent_no, 0), children: /* @__PURE__ */ e.jsxs("div", { style: { display: "flex", alignItems: "center" }, children: [
|
|
40
40
|
/* @__PURE__ */ e.jsx(c, { name: "zixun" }),
|
|
41
41
|
/* @__PURE__ */ e.jsxs("span", { style: { marginRight: 10 }, children: [
|
|
42
42
|
"转接坐席: ",
|
|
@@ -48,11 +48,11 @@ const _ = E(({ open: r, onCallBack: a, queryFetch: g }) => {
|
|
|
48
48
|
v,
|
|
49
49
|
{
|
|
50
50
|
style: { flex: 1 },
|
|
51
|
-
value:
|
|
51
|
+
value: r,
|
|
52
52
|
onChange: (s) => m(s.target.value),
|
|
53
53
|
placeholder: "请输入外线号码, 回车转接",
|
|
54
54
|
onPressEnter: () => {
|
|
55
|
-
a(
|
|
55
|
+
a(r, 1);
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
),
|
|
@@ -63,7 +63,7 @@ const _ = E(({ open: r, onCallBack: a, queryFetch: g }) => {
|
|
|
63
63
|
color: "#1D92E9",
|
|
64
64
|
size: 25,
|
|
65
65
|
onClick: () => {
|
|
66
|
-
a(
|
|
66
|
+
a(r, 1);
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as r from "react";
|
|
2
2
|
import $, { useContext as re, useRef as Z, useMemo as Lt, useEffect as De } from "react";
|
|
3
|
-
import { i as Dt, K as Ne, g as se, F as kt, m as fe, u as N, r as nt, b as Pe, p as je, C as q, c as O, d as Ie, e as At, o as ge, f as Ce, h as _t, k as Vt, l as Wt, W as qt, n as Gt, B as Te, q as ot, s as Xt, _ as R, t as ke, v as Y, w as Me, x as at, y as Ae, z as Ut, A as _e, D as Ve, P as Kt, G as Qt, H as K, J as Zt, L as Yt, N as Re, O as Jt, Q as lt, T as en, U as tn, V as rt, X as nn, Z as on, $ as an, a0 as ue, a1 as ln, a2 as st, a3 as rn, a4 as sn, a5 as cn, a6 as dn, a7 as un, a8 as mn, a9 as fn, aa as gn, ab as Cn, ac as it, ad as pn, ae as vn } from "./index-
|
|
3
|
+
import { i as Dt, K as Ne, g as se, F as kt, m as fe, u as N, r as nt, b as Pe, p as je, C as q, c as O, d as Ie, e as At, o as ge, f as Ce, h as _t, k as Vt, l as Wt, W as qt, n as Gt, B as Te, q as ot, s as Xt, _ as R, t as ke, v as Y, w as Me, x as at, y as Ae, z as Ut, A as _e, D as Ve, P as Kt, G as Qt, H as K, J as Zt, L as Yt, N as Re, O as Jt, Q as lt, T as en, U as tn, V as rt, X as nn, Z as on, $ as an, a0 as ue, a1 as ln, a2 as st, a3 as rn, a4 as sn, a5 as cn, a6 as dn, a7 as un, a8 as mn, a9 as fn, aa as gn, ab as Cn, ac as it, ad as pn, ae as vn } from "./index-BbeNxFY9.mjs";
|
|
4
4
|
const bn = new Ne("antFadeIn", {
|
|
5
5
|
"0%": {
|
|
6
6
|
opacity: 0
|
|
@@ -12882,7 +12882,8 @@ class pt {
|
|
|
12882
12882
|
if (n && r === Sn.INCOMING) {
|
|
12883
12883
|
const i = Number(t) || 0;
|
|
12884
12884
|
i > 0 && (cA.autoAnswerTimer = setTimeout(() => {
|
|
12885
|
-
|
|
12885
|
+
var o;
|
|
12886
|
+
(o = this.sipClient) == null || o.answerCall(), cA.autoAnswerTimer = null;
|
|
12886
12887
|
}, 1e3 * i));
|
|
12887
12888
|
}
|
|
12888
12889
|
}
|
|
@@ -13152,16 +13153,17 @@ const ml = class ml {
|
|
|
13152
13153
|
}, 2e3)), ia.requestMediaPermissions(), on(this, Ra, z.subscribeKey("answerDevice", async (A) => {
|
|
13153
13154
|
A === 1 ? (await this.initWebRtc(), cA.stateObject.state === we.UNREGISTERED && await re(this, Ft)._changeState({ data: { ...cA.stateBeforeChange, state_name: cA.stateBeforeChange.state === we.IDLE ? "空闲" : "忙碌" } })) : on(this, Jt, null);
|
|
13154
13155
|
})), on(this, xa, z.subscribeKey("isNextState", async (A) => {
|
|
13155
|
-
var t;
|
|
13156
13156
|
if (A) {
|
|
13157
|
-
|
|
13158
|
-
let
|
|
13159
|
-
const
|
|
13160
|
-
|
|
13161
|
-
const { agent_no:
|
|
13162
|
-
pt.getInstance({ url: `${
|
|
13163
|
-
|
|
13164
|
-
|
|
13157
|
+
await re(this, Ft)._agentLogin(kc), z.get("answerDevice") === 1 && await re(this, Jt).reconnect();
|
|
13158
|
+
let t = "";
|
|
13159
|
+
const n = new URL(Zi).host;
|
|
13160
|
+
t = Zi.includes("https") ? `wss://${n}` : `ws://${n}`;
|
|
13161
|
+
const { agent_no: r } = cA.agentInfo;
|
|
13162
|
+
pt.getInstance({ url: `${t}/ccs-ws/api/v1/ws/call/${r}?Authorization=`, sipClient: re(this, Jt) }), cA.stateObject.state === we.OFFLINE && setTimeout(() => {
|
|
13163
|
+
re(this, Ft)._changeState({ data: { ...re(this, fr), state_name: re(this, fr).state === we.BUSY && re(this, fr).state_name === "整理" ? "忙碌" : re(this, fr).state_name }, success: () => {
|
|
13164
|
+
z.updateDisplayText(""), vA.emit(fA.AGENT_STATE, re(this, fr));
|
|
13165
|
+
} });
|
|
13166
|
+
}, 10);
|
|
13165
13167
|
} else on(this, fr, cA.stateObject), pt.__internalClose(), z.updateDisplayText("离线");
|
|
13166
13168
|
})), this.on(se.KICK_OFF, () => {
|
|
13167
13169
|
this.destroy();
|
|
@@ -34500,7 +34502,7 @@ const N4 = {
|
|
|
34500
34502
|
空闲: 1,
|
|
34501
34503
|
离线: 0,
|
|
34502
34504
|
未注册: 4
|
|
34503
|
-
}, j4 = Jq(() => import("./ConsultModel-
|
|
34505
|
+
}, j4 = Jq(() => import("./ConsultModel-CJi9r9HT.mjs")), L4 = Jq(() => import("./TransferModel-DO23gAaz.mjs")), f2 = (e) => {
|
|
34504
34506
|
var te, qe, xA;
|
|
34505
34507
|
const {
|
|
34506
34508
|
style: A,
|
|
@@ -34640,6 +34642,7 @@ const N4 = {
|
|
|
34640
34642
|
}
|
|
34641
34643
|
// 挂机停止所有声音
|
|
34642
34644
|
case fA.OUT_HANGUP:
|
|
34645
|
+
case fA.TRANSFER_END:
|
|
34643
34646
|
case fA.THREE_WAY_OUR_SIDE_HANGUP:
|
|
34644
34647
|
case fA.OUR_SIDE_CONSULT_HANGUP:
|
|
34645
34648
|
case fA.INCOMING_CALL_END: {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const b=require("react"),a=require("./index-
|
|
1
|
+
"use strict";const b=require("react"),a=require("./index-CsEpzIb5.js");function st(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const n=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,n.get?n:{enumerable:!0,get:()=>e[o]})}}return t.default=e,Object.freeze(t)}const s=st(b),it=new a.Keyframe("antFadeIn",{"0%":{opacity:0},"100%":{opacity:1}}),ct=new a.Keyframe("antFadeOut",{"0%":{opacity:1},"100%":{opacity:0}}),dt=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const{antCls:o}=e,n=`${o}-fade`,r=t?"&":"";return[a.initMotion(n,it,ct,e.motionDurationMid,t),{[`
|
|
2
2
|
${r}${n}-enter,
|
|
3
3
|
${r}${n}-appear
|
|
4
4
|
`]:{opacity:0,animationTimingFunction:"linear"},[`${r}${n}-leave`]:{animationTimingFunction:"linear"}}]},ut=e=>{const{paddingXXS:t,lineWidth:o,tagPaddingHorizontal:n,componentCls:r,calc:l}=e,i=l(n).sub(o).equal(),u=l(t).sub(o).equal();return{[r]:Object.assign(Object.assign({},a.resetComponent(e)),{display:"inline-block",height:"auto",marginInlineEnd:e.marginXS,paddingInline:i,fontSize:e.tagFontSize,lineHeight:e.tagLineHeight,whiteSpace:"nowrap",background:e.defaultBg,border:`${a.unit(e.lineWidth)} ${e.lineType} ${e.colorBorder}`,borderRadius:e.borderRadiusSM,opacity:1,transition:`all ${e.motionDurationMid}`,textAlign:"start",position:"relative",[`&${r}-rtl`]:{direction:"rtl"},"&, a, a:hover":{color:e.defaultColor},[`${r}-close-icon`]:{marginInlineStart:u,fontSize:e.tagIconSize,color:e.colorTextDescription,cursor:"pointer",transition:`all ${e.motionDurationMid}`,"&:hover":{color:e.colorTextHeading}},[`&${r}-has-color`]:{borderColor:"transparent",[`&, a, a:hover, ${e.iconCls}-close, ${e.iconCls}-close:hover`]:{color:e.colorTextLightSolid}},"&-checkable":{backgroundColor:"transparent",borderColor:"transparent",cursor:"pointer",[`&:not(${r}-checkable-checked):hover`]:{color:e.colorPrimary,backgroundColor:e.colorFillSecondary},"&:active, &-checked":{color:e.colorTextLightSolid},"&-checked":{backgroundColor:e.colorPrimary,"&:hover":{backgroundColor:e.colorPrimaryHover}},"&:active":{backgroundColor:e.colorPrimaryActive}},"&-hidden":{display:"none"},[`> ${e.iconCls} + span, > span + ${e.iconCls}`]:{marginInlineStart:i}}),[`${r}-borderless`]:{borderColor:"transparent",background:e.tagBorderlessBg}}},Ce=e=>{const{lineWidth:t,fontSizeIcon:o,calc:n}=e,r=e.fontSizeSM;return a.merge(e,{tagFontSize:r,tagLineHeight:a.unit(n(e.lineHeightSM).mul(r).equal()),tagIconSize:n(o).sub(n(t).mul(2)).equal(),tagPaddingHorizontal:8,tagBorderlessBg:e.defaultBg})},pe=e=>({defaultBg:new a.FastColor(e.colorFillQuaternary).onBackground(e.colorBgContainer).toHexString(),defaultColor:e.colorText}),Re=a.genStyleHooks("Tag",e=>{const t=Ce(e);return ut(t)},pe);function oe(e){if(e)return{closable:e.closable,closeIcon:e.closeIcon}}function $e(e){const{closable:t,closeIcon:o}=e||{};return b.useMemo(()=>{if(!t&&(t===!1||o===!1||o===null))return!1;if(t===void 0&&o===void 0)return null;let n={closeIcon:typeof o!="boolean"&&o!==null?o:void 0};return t&&typeof t=="object"&&(n=Object.assign(Object.assign({},n),t)),n},[t,o])}function xe(){const e={};for(var t=arguments.length,o=new Array(t),n=0;n<t;n++)o[n]=arguments[n];return o.forEach(r=>{r&&Object.keys(r).forEach(l=>{r[l]!==void 0&&(e[l]=r[l])})}),e}const mt={};function Be(e,t){let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:mt;const n=$e(e),r=$e(t),l=typeof n!="boolean"?!!(n!=null&&n.disabled):!1,i=b.useMemo(()=>Object.assign({closeIcon:b.createElement(a.RefIcon,null)},o),[o]),u=b.useMemo(()=>n===!1?!1:n?xe(i,r,n):r===!1?!1:r?xe(i,r):i.closable?i:!1,[n,r,i]);return b.useMemo(()=>{if(u===!1)return[!1,null,l];const{closeIconRender:c}=i,{closeIcon:g}=u;let d=g;if(d!=null){c&&(d=c(g));const m=a.pickAttrs(u,!0);Object.keys(m).length&&(d=b.isValidElement(d)?b.cloneElement(d,m):b.createElement("span",Object.assign({},m),d))}return[!0,d,l]},[u,i])}var ft=function(e,t){var o={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(o[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(o[n[r]]=e[n[r]]);return o};const gt=s.forwardRef((e,t)=>{const{prefixCls:o,style:n,className:r,checked:l,onChange:i,onClick:u}=e,c=ft(e,["prefixCls","style","className","checked","onChange","onClick"]),{getPrefixCls:g,tag:d}=s.useContext(a.ConfigContext),m=y=>{i==null||i(!l),u==null||u(y)},f=g("tag",o),[v,x,C]=Re(f),p=a.classNames(f,`${f}-checkable`,{[`${f}-checkable-checked`]:l},d==null?void 0:d.className,r,x,C);return v(s.createElement("span",Object.assign({},c,{ref:t,style:Object.assign(Object.assign({},n),d==null?void 0:d.style),className:p,onClick:m})))}),Ct=e=>a.genPresetColor(e,(t,o)=>{let{textColor:n,lightBorderColor:r,lightColor:l,darkColor:i}=o;return{[`${e.componentCls}${e.componentCls}-${t}`]:{color:n,background:l,borderColor:r,"&-inverse":{color:e.colorTextLightSolid,background:i,borderColor:i},[`&${e.componentCls}-borderless`]:{borderColor:"transparent"}}}}),pt=a.genSubStyleComponent(["Tag","preset"],e=>{const t=Ce(e);return Ct(t)},pe);function bt(e){return typeof e!="string"?e:e.charAt(0).toUpperCase()+e.slice(1)}const ne=(e,t,o)=>{const n=bt(o);return{[`${e.componentCls}${e.componentCls}-${t}`]:{color:e[`color${o}`],background:e[`color${n}Bg`],borderColor:e[`color${n}Border`],[`&${e.componentCls}-borderless`]:{borderColor:"transparent"}}}},vt=a.genSubStyleComponent(["Tag","status"],e=>{const t=Ce(e);return[ne(t,"success","Success"),ne(t,"processing","Info"),ne(t,"error","Error"),ne(t,"warning","Warning")]},pe);var ht=function(e,t){var o={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(o[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(o[n[r]]=e[n[r]]);return o};const yt=s.forwardRef((e,t)=>{const{prefixCls:o,className:n,rootClassName:r,style:l,children:i,icon:u,color:c,onClose:g,bordered:d=!0,visible:m}=e,f=ht(e,["prefixCls","className","rootClassName","style","children","icon","color","onClose","bordered","visible"]),{getPrefixCls:v,direction:x,tag:C}=s.useContext(a.ConfigContext),[p,y]=s.useState(!0),h=a.omit(f,["closeIcon","closable"]);process.env.NODE_ENV!=="production"&&a.devUseWarning("Tag").deprecated(!("visible"in e),"visible","visible && <Tag />"),s.useEffect(()=>{m!==void 0&&y(m)},[m]);const S=a.isPresetColor(c),N=a.isPresetStatusColor(c),E=S||N,O=Object.assign(Object.assign({backgroundColor:c&&!E?c:void 0},C==null?void 0:C.style),l),$=v("tag",o),[P,j,H]=Re($),B=a.classNames($,C==null?void 0:C.className,{[`${$}-${c}`]:E,[`${$}-has-color`]:c&&!E,[`${$}-hidden`]:!p,[`${$}-rtl`]:x==="rtl",[`${$}-borderless`]:!d},n,r,j,H),_=I=>{I.stopPropagation(),g==null||g(I),!I.defaultPrevented&&y(!1)},[,V]=Be(oe(e),oe(C),{closable:!1,closeIconRender:I=>{const X=s.createElement("span",{className:`${$}-close-icon`,onClick:_},I);return a.replaceElement(I,X,M=>({onClick:q=>{var R;(R=M==null?void 0:M.onClick)===null||R===void 0||R.call(M,q),_(q)},className:a.classNames(M==null?void 0:M.className,`${$}-close-icon`)}))}}),A=typeof f.onClick=="function"||i&&i.type==="a",z=u||null,W=z?s.createElement(s.Fragment,null,z,i&&s.createElement("span",null,i)):i,L=s.createElement("span",Object.assign({},h,{ref:t,className:B,style:O}),W,V,S&&s.createElement(pt,{key:"preset",prefixCls:$}),N&&s.createElement(vt,{key:"status",prefixCls:$}));return P(A?s.createElement(a.Wave,{component:"Tag"},L):L)}),be=yt;process.env.NODE_ENV!=="production"&&(be.displayName="Tag");be.CheckableTag=gt;function ie(e){return!!(e!=null&&e.then)}const _e=e=>{const{type:t,children:o,prefixCls:n,buttonProps:r,close:l,autoFocus:i,emitEvent:u,isSilent:c,quitOnNullishReturnValue:g,actionFn:d}=e,m=s.useRef(!1),f=s.useRef(null),[v,x]=a.useSafeState(!1),C=function(){l==null||l.apply(void 0,arguments)};s.useEffect(()=>{let h=null;return i&&(h=setTimeout(()=>{var S;(S=f.current)===null||S===void 0||S.focus({preventScroll:!0})})),()=>{h&&clearTimeout(h)}},[]);const p=h=>{ie(h)&&(x(!0),h.then(function(){x(!1,!0),C.apply(void 0,arguments),m.current=!1},S=>{if(x(!1,!0),m.current=!1,!(c!=null&&c()))return Promise.reject(S)}))},y=h=>{if(m.current)return;if(m.current=!0,!d){C();return}let S;if(u){if(S=d(h),g&&!ie(S)){m.current=!1,C(h);return}}else if(d.length)S=d(l),m.current=!1;else if(S=d(),!ie(S)){C();return}p(S)};return s.createElement(a.Button,Object.assign({},a.convertLegacyProps(t),{onClick:y,loading:v,prefixCls:n},r,{ref:f}),o)},ee=b.createContext({}),{Provider:He}=ee,Se=()=>{const{autoFocusButton:e,cancelButtonProps:t,cancelTextLocale:o,isSilent:n,mergedOkCancel:r,rootPrefixCls:l,close:i,onCancel:u,onConfirm:c}=b.useContext(ee);return r?b.createElement(_e,{isSilent:n,actionFn:u,close:function(){i==null||i.apply(void 0,arguments),c==null||c(!1)},autoFocus:e==="cancel",buttonProps:t,prefixCls:`${l}-btn`},o):null},Oe=()=>{const{autoFocusButton:e,close:t,isSilent:o,okButtonProps:n,rootPrefixCls:r,okTextLocale:l,okType:i,onConfirm:u,onOk:c}=b.useContext(ee);return b.createElement(_e,{isSilent:o,type:i||"primary",actionFn:c,close:function(){t==null||t.apply(void 0,arguments),u==null||u(!0)},autoFocus:e==="ok",buttonProps:n,prefixCls:`${r}-btn`},l)};var ze=s.createContext({});function Ne(e,t,o){var n=t;return!n&&o&&(n="".concat(e,"-").concat(o)),n}function Ee(e,t){var o=e["page".concat(t?"Y":"X","Offset")],n="scroll".concat(t?"Top":"Left");if(typeof o!="number"){var r=e.document;o=r.documentElement[n],typeof o!="number"&&(o=r.body[n])}return o}function $t(e){var t=e.getBoundingClientRect(),o={left:t.left,top:t.top},n=e.ownerDocument,r=n.defaultView||n.parentWindow;return o.left+=Ee(r),o.top+=Ee(r,!0),o}const xt=s.memo(function(e){var t=e.children;return t},function(e,t){var o=t.shouldUpdate;return!o});var St={width:0,height:0,overflow:"hidden",outline:"none"},Ot={outline:"none"},ve=b.forwardRef(function(e,t){var o=e.prefixCls,n=e.className,r=e.style,l=e.title,i=e.ariaId,u=e.footer,c=e.closable,g=e.closeIcon,d=e.onClose,m=e.children,f=e.bodyStyle,v=e.bodyProps,x=e.modalRender,C=e.onMouseDown,p=e.onMouseUp,y=e.holderRef,h=e.visible,S=e.forceRender,N=e.width,E=e.height,O=e.classNames,$=e.styles,P=b.useContext(ze),j=P.panel,H=a.useComposeRef(y,j),B=b.useRef(),_=b.useRef();b.useImperativeHandle(t,function(){return{focus:function(){var R;(R=B.current)===null||R===void 0||R.focus({preventScroll:!0})},changeActive:function(R){var Y=document,G=Y.activeElement;R&&G===_.current?B.current.focus({preventScroll:!0}):!R&&G===B.current&&_.current.focus({preventScroll:!0})}}});var V={};N!==void 0&&(V.width=N),E!==void 0&&(V.height=E);var A=u?b.createElement("div",{className:a.classNames("".concat(o,"-footer"),O==null?void 0:O.footer),style:a._objectSpread2({},$==null?void 0:$.footer)},u):null,z=l?b.createElement("div",{className:a.classNames("".concat(o,"-header"),O==null?void 0:O.header),style:a._objectSpread2({},$==null?void 0:$.header)},b.createElement("div",{className:"".concat(o,"-title"),id:i},l)):null,W=b.useMemo(function(){return a._typeof(c)==="object"&&c!==null?c:c?{closeIcon:g??b.createElement("span",{className:"".concat(o,"-close-x")})}:{}},[c,g,o]),L=a.pickAttrs(W,!0),I=a._typeof(c)==="object"&&c.disabled,X=c?b.createElement("button",a._extends({type:"button",onClick:d,"aria-label":"Close"},L,{className:"".concat(o,"-close"),disabled:I}),W.closeIcon):null,M=b.createElement("div",{className:a.classNames("".concat(o,"-content"),O==null?void 0:O.content),style:$==null?void 0:$.content},X,z,b.createElement("div",a._extends({className:a.classNames("".concat(o,"-body"),O==null?void 0:O.body),style:a._objectSpread2(a._objectSpread2({},f),$==null?void 0:$.body)},v),m),A);return b.createElement("div",{key:"dialog-element",role:"dialog","aria-labelledby":l?i:null,"aria-modal":"true",ref:H,style:a._objectSpread2(a._objectSpread2({},r),V),className:a.classNames(o,n),onMouseDown:C,onMouseUp:p},b.createElement("div",{ref:B,tabIndex:0,style:Ot},b.createElement(xt,{shouldUpdate:h||S},x?x(M):M)),b.createElement("div",{tabIndex:0,ref:_,style:St}))});process.env.NODE_ENV!=="production"&&(ve.displayName="Panel");var Ae=s.forwardRef(function(e,t){var o=e.prefixCls,n=e.title,r=e.style,l=e.className,i=e.visible,u=e.forceRender,c=e.destroyOnClose,g=e.motionName,d=e.ariaId,m=e.onVisibleChanged,f=e.mousePosition,v=b.useRef(),x=s.useState(),C=a._slicedToArray(x,2),p=C[0],y=C[1],h={};p&&(h.transformOrigin=p);function S(){var N=$t(v.current);y(f&&(f.x||f.y)?"".concat(f.x-N.left,"px ").concat(f.y-N.top,"px"):"")}return s.createElement(a.CSSMotion,{visible:i,onVisibleChanged:m,onAppearPrepare:S,onEnterPrepare:S,forceRender:u,motionName:g,removeOnLeave:c,ref:v},function(N,E){var O=N.className,$=N.style;return s.createElement(ve,a._extends({},e,{ref:t,title:n,ariaId:d,prefixCls:o,holderRef:E,style:a._objectSpread2(a._objectSpread2(a._objectSpread2({},$),r),h),className:a.classNames(l,O)}))})});Ae.displayName="Content";var Nt=function(t){var o=t.prefixCls,n=t.style,r=t.visible,l=t.maskProps,i=t.motionName,u=t.className;return s.createElement(a.CSSMotion,{key:"mask",visible:r,motionName:i,leavedClassName:"".concat(o,"-mask-hidden")},function(c,g){var d=c.className,m=c.style;return s.createElement("div",a._extends({ref:g,style:a._objectSpread2(a._objectSpread2({},m),n),className:a.classNames("".concat(o,"-mask"),d,u)},l))})},Et=function(t){var o=t.prefixCls,n=o===void 0?"rc-dialog":o,r=t.zIndex,l=t.visible,i=l===void 0?!1:l,u=t.keyboard,c=u===void 0?!0:u,g=t.focusTriggerAfterClose,d=g===void 0?!0:g,m=t.wrapStyle,f=t.wrapClassName,v=t.wrapProps,x=t.onClose,C=t.afterOpenChange,p=t.afterClose,y=t.transitionName,h=t.animation,S=t.closable,N=S===void 0?!0:S,E=t.mask,O=E===void 0?!0:E,$=t.maskTransitionName,P=t.maskAnimation,j=t.maskClosable,H=j===void 0?!0:j,B=t.maskStyle,_=t.maskProps,V=t.rootClassName,A=t.classNames,z=t.styles;process.env.NODE_ENV!=="production"&&(["wrapStyle","bodyStyle","maskStyle"].forEach(function(w){a.warning(!(w in t),"".concat(w," is deprecated, please use styles instead."))}),"wrapClassName"in t&&a.warning(!1,"wrapClassName is deprecated, please use classNames instead."));var W=b.useRef(),L=b.useRef(),I=b.useRef(),X=s.useState(i),M=a._slicedToArray(X,2),q=M[0],R=M[1],Y=a.useId();function G(){a.contains(L.current,document.activeElement)||(W.current=document.activeElement)}function le(){if(!a.contains(L.current,document.activeElement)){var w;(w=I.current)===null||w===void 0||w.focus()}}function k(w){if(w)le();else{if(R(!1),O&&W.current&&d){try{W.current.focus({preventScroll:!0})}catch{}W.current=null}q&&(p==null||p())}C==null||C(w)}function T(w){x==null||x(w)}var D=b.useRef(!1),J=b.useRef(),ot=function(){clearTimeout(J.current),D.current=!0},at=function(){J.current=setTimeout(function(){D.current=!1})},ye=null;H&&(ye=function(se){D.current?D.current=!1:L.current===se.target&&T(se)});function rt(w){if(c&&w.keyCode===a.KeyCode.ESC){w.stopPropagation(),T(w);return}i&&w.keyCode===a.KeyCode.TAB&&I.current.changeActive(!w.shiftKey)}b.useEffect(function(){i&&(R(!0),G())},[i]),b.useEffect(function(){return function(){clearTimeout(J.current)}},[]);var lt=a._objectSpread2(a._objectSpread2(a._objectSpread2({zIndex:r},m),z==null?void 0:z.wrapper),{},{display:q?null:"none"});return s.createElement("div",a._extends({className:a.classNames("".concat(n,"-root"),V)},a.pickAttrs(t,{data:!0})),s.createElement(Nt,{prefixCls:n,visible:O&&i,motionName:Ne(n,$,P),style:a._objectSpread2(a._objectSpread2({zIndex:r},B),z==null?void 0:z.mask),maskProps:_,className:A==null?void 0:A.mask}),s.createElement("div",a._extends({tabIndex:-1,onKeyDown:rt,className:a.classNames("".concat(n,"-wrap"),f,A==null?void 0:A.wrapper),ref:L,onClick:ye,style:lt},v),s.createElement(Ae,a._extends({},t,{onMouseDown:ot,onMouseUp:at,ref:I,closable:N,ariaId:Y,prefixCls:n,visible:i&&q,onClose:T,onVisibleChanged:k,motionName:Ne(n,y,h)}))))},Le=function(t){var o=t.visible,n=t.getContainer,r=t.forceRender,l=t.destroyOnClose,i=l===void 0?!1:l,u=t.afterClose,c=t.panelRef,g=s.useState(o),d=a._slicedToArray(g,2),m=d[0],f=d[1],v=s.useMemo(function(){return{panel:c}},[c]);return s.useEffect(function(){o&&f(!0)},[o]),!r&&i&&!m?null:s.createElement(ze.Provider,{value:v},s.createElement(a.Portal,{open:o||r||m,autoDestroy:!1,getContainer:n,autoLock:o||m},s.createElement(Et,a._extends({},t,{destroyOnClose:i,afterClose:function(){u==null||u(),f(!1)}}))))};Le.displayName="Dialog";const wt=()=>a.canUseDom()&&window.document.documentElement,ae=e=>{const{prefixCls:t,className:o,style:n,size:r,shape:l}=e,i=a.classNames({[`${t}-lg`]:r==="large",[`${t}-sm`]:r==="small"}),u=a.classNames({[`${t}-circle`]:l==="circle",[`${t}-square`]:l==="square",[`${t}-round`]:l==="round"}),c=s.useMemo(()=>typeof r=="number"?{width:r,height:r,lineHeight:`${r}px`}:{},[r]);return s.createElement("span",{className:a.classNames(t,i,u,o),style:Object.assign(Object.assign({},c),n)})},jt=new a.Keyframe("ant-skeleton-loading",{"0%":{backgroundPosition:"100% 50%"},"100%":{backgroundPosition:"0 50%"}}),re=e=>({height:e,lineHeight:a.unit(e)}),Q=e=>Object.assign({width:e},re(e)),Pt=e=>({background:e.skeletonLoadingBackground,backgroundSize:"400% 100%",animationName:jt,animationDuration:e.skeletonLoadingMotionDuration,animationTimingFunction:"ease",animationIterationCount:"infinite"}),ce=(e,t)=>Object.assign({width:t(e).mul(5).equal(),minWidth:t(e).mul(5).equal()},re(e)),It=e=>{const{skeletonAvatarCls:t,gradientFromColor:o,controlHeight:n,controlHeightLG:r,controlHeightSM:l}=e;return{[t]:Object.assign({display:"inline-block",verticalAlign:"top",background:o},Q(n)),[`${t}${t}-circle`]:{borderRadius:"50%"},[`${t}${t}-lg`]:Object.assign({},Q(r)),[`${t}${t}-sm`]:Object.assign({},Q(l))}},Tt=e=>{const{controlHeight:t,borderRadiusSM:o,skeletonInputCls:n,controlHeightLG:r,controlHeightSM:l,gradientFromColor:i,calc:u}=e;return{[n]:Object.assign({display:"inline-block",verticalAlign:"top",background:i,borderRadius:o},ce(t,u)),[`${n}-lg`]:Object.assign({},ce(r,u)),[`${n}-sm`]:Object.assign({},ce(l,u))}},we=e=>Object.assign({width:e},re(e)),Mt=e=>{const{skeletonImageCls:t,imageSizeBase:o,gradientFromColor:n,borderRadiusSM:r,calc:l}=e;return{[t]:Object.assign(Object.assign({display:"inline-flex",alignItems:"center",justifyContent:"center",verticalAlign:"middle",background:n,borderRadius:r},we(l(o).mul(2).equal())),{[`${t}-path`]:{fill:"#bfbfbf"},[`${t}-svg`]:Object.assign(Object.assign({},we(o)),{maxWidth:l(o).mul(4).equal(),maxHeight:l(o).mul(4).equal()}),[`${t}-svg${t}-svg-circle`]:{borderRadius:"50%"}}),[`${t}${t}-circle`]:{borderRadius:"50%"}}},de=(e,t,o)=>{const{skeletonButtonCls:n}=e;return{[`${o}${n}-circle`]:{width:t,minWidth:t,borderRadius:"50%"},[`${o}${n}-round`]:{borderRadius:t}}},ue=(e,t)=>Object.assign({width:t(e).mul(2).equal(),minWidth:t(e).mul(2).equal()},re(e)),Rt=e=>{const{borderRadiusSM:t,skeletonButtonCls:o,controlHeight:n,controlHeightLG:r,controlHeightSM:l,gradientFromColor:i,calc:u}=e;return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({[o]:Object.assign({display:"inline-block",verticalAlign:"top",background:i,borderRadius:t,width:u(n).mul(2).equal(),minWidth:u(n).mul(2).equal()},ue(n,u))},de(e,n,o)),{[`${o}-lg`]:Object.assign({},ue(r,u))}),de(e,r,`${o}-lg`)),{[`${o}-sm`]:Object.assign({},ue(l,u))}),de(e,l,`${o}-sm`))},Bt=e=>{const{componentCls:t,skeletonAvatarCls:o,skeletonTitleCls:n,skeletonParagraphCls:r,skeletonButtonCls:l,skeletonInputCls:i,skeletonImageCls:u,controlHeight:c,controlHeightLG:g,controlHeightSM:d,gradientFromColor:m,padding:f,marginSM:v,borderRadius:x,titleHeight:C,blockRadius:p,paragraphLiHeight:y,controlHeightXS:h,paragraphMarginTop:S}=e;return{[t]:{display:"table",width:"100%",[`${t}-header`]:{display:"table-cell",paddingInlineEnd:f,verticalAlign:"top",[o]:Object.assign({display:"inline-block",verticalAlign:"top",background:m},Q(c)),[`${o}-circle`]:{borderRadius:"50%"},[`${o}-lg`]:Object.assign({},Q(g)),[`${o}-sm`]:Object.assign({},Q(d))},[`${t}-content`]:{display:"table-cell",width:"100%",verticalAlign:"top",[n]:{width:"100%",height:C,background:m,borderRadius:p,[`+ ${r}`]:{marginBlockStart:d}},[r]:{padding:0,"> li":{width:"100%",height:y,listStyle:"none",background:m,borderRadius:p,"+ li":{marginBlockStart:h}}},[`${r}> li:last-child:not(:first-child):not(:nth-child(2))`]:{width:"61%"}},[`&-round ${t}-content`]:{[`${n}, ${r} > li`]:{borderRadius:x}}},[`${t}-with-avatar ${t}-content`]:{[n]:{marginBlockStart:v,[`+ ${r}`]:{marginBlockStart:S}}},[`${t}${t}-element`]:Object.assign(Object.assign(Object.assign(Object.assign({display:"inline-block",width:"auto"},Rt(e)),It(e)),Tt(e)),Mt(e)),[`${t}${t}-block`]:{width:"100%",[l]:{width:"100%"},[i]:{width:"100%"}},[`${t}${t}-active`]:{[`
|
|
@@ -1053,7 +1053,7 @@ React keys must be passed directly to JSX without using spread:
|
|
|
1053
1053
|
`:""}
|
|
1054
1054
|
</div>
|
|
1055
1055
|
</my-popover>
|
|
1056
|
-
`;Ai(r,this.rttHTML)}}class $o{static requestPermission(){"Notification"in window&&Notification.permission==="default"&&Notification.requestPermission()}static async requestMediaPermissions(){try{return(await navigator.mediaDevices.enumerateDevices()).some(t=>t.kind==="audioinput"&&t.label!=="")?null:await navigator.mediaDevices.getUserMedia({audio:!0})}catch(A){return console.warn("获取音频权限失败:",A),null}}static show(A,t,n,r){if("Notification"in window&&Notification.permission==="granted"){const i=new Notification(A,{body:t,tag:`xy-global-notification${new Date().getTime()}`,renotify:!0});i.onclick=()=>{window.focus(),i.close(),n==null||n()},setTimeout(()=>i.close(),1e3*(r||3))}}static async checkMediaPermissions(){try{return(await navigator.mediaDevices.enumerateDevices()).some(A=>A.kind==="audioinput"&&A.label!=="")}catch(A){return console.warn("无法检查设备权限:",A),!1}}}const Ww=console.log,Zh=(...e)=>{cA.logBuiltinEnabled&&Ww(...e)};let sr=null;class Vt{constructor(A){this.url=A,this.ws=null,this.heartbeatWorker=null,this.reconnectDelay=3e3,this.manualClose=!1,this.apiClient=new Od,this.sipClient=null,this.outNumber="",this.pendingMessages=new Map,this.initWebSocket()}static getInstance({url:A,sipClient:t}){if(!sr){if(!A)throw new Error("WebSocket 尚未初始化");sr=new Vt(A),sr.sipClient=t}return sr}stateIdleChange(){const{state:A}=cA.stateObject;A!==ye.IDLE&&this.apiClient._changeState({data:{...cA.stateBeforeChange,state_name:cA.stateBeforeChange.state===ye.IDLE?"空闲":"忙碌"}})}inCallAutoAnswer(){const{soft_device_auto_answer:A,auto_answer_time:t}=cA.agentInfo,n=A===1,r=X.get("direction");if(n&&r===In.INCOMING){const i=Number(t)||0;i>0&&(cA.autoAnswerTimer=setTimeout(()=>{this.sipClient.answerCall(),cA.autoAnswerTimer=null},1e3*i))}}async getCustomerInfo(A){try{await this.apiClient._getInCallCrmDetail({data:{phone:A},success:t=>{X.updateCustomerInfo(t.data||{phone:A,is_vip:0,customer_name:"未知客户",city:"未知",province:"未知",contact_count:0,in_contact_count:0})}})}catch{}}putAgentState(A){if(!A)return;cA.sessionId="";const{post_call_process_time:t}=cA.agentInfo,n=t||0;if(cA.autoStateTimer&&(clearTimeout(cA.autoStateTimer),cA.autoStateTimer=null),X.updateCustomerInfo(void 0),n>0){const{state:r}=cA.stateObject;if(r===ye.IDLE)return;this.apiClient._changeState({data:{state:ye.BUSY,state_name:"整理"}}),cA.autoStateTimer=setTimeout(()=>{cA.autoStateTimer=null,this.stateIdleChange()},1e3*n)}else this.stateIdleChange()}stateBusyChange(){cA.sessionId="",clearTimeout(cA.autoStateTimer),X.updateCustomerInfo(void 0),this.apiClient._changeState({data:{state:ye.BUSY,state_name:"忙碌"}})}initWebSocket(){var t;if(((t=this.ws)==null?void 0:t.readyState)===1)return;const A=BC(Fd,Ud);this.ws=new WebSocket(this.url+A),this.ws.onopen=()=>{const n=new Date().getTime();this.sendMessage({type:0,msg_id:n}),this.pendingMessages.set(n,performance.now()),this.startHeartbeat(),this.manualClose=!1},this.ws.onmessage=async n=>{const r=JSON.parse(n.data),{type:i,data:o,code:a,msg:s,msg_id:l}=r;if(i===0&&l){const u=this.pendingMessages.get(l),V=performance.now()-u;cA.latency=parseFloat(V.toFixed(2)),this.pendingMessages.delete(l)}if(i!==0&&Zh("%cWebSocket 收到消息:","color: blue; font-weight: bold;",r),i===qe.OUT_CALL&&(a!==0?(X.reset(),vA.emit(pA.OUT_FAILED,s),vA.emit(ae.FAIL_NOTIFICATION,s),X.updateActionConfigs(En),setTimeout(()=>{X.updateCustomerInfo(void 0)},500),this.stateIdleChange()):a===0&&(vA.emit(pA.OUT_SUCCESS),clearTimeout(cA.autoStateTimer))),i===qe.AGENT_STATE){const{state:u,state_name:V}=o;(cA.stateObject.state===ye.IDLE||cA.stateObject.state===ye.BUSY&&V!=="整理")&&(cA.stateBeforeChange=cA.stateObject),cA.stateObject={state:u,state_name:V},V==="振铃中"&&X.updateDisplayText(nt.AGENT_RINGING),u===ye.UNREGISTERED&&X.updateActionConfigs(Mw),vA.emit(pA.AGENT_STATE,{state:u,state_name:V})}if(i===qe.OUT_CALL_INCOMING_CALL){try{await this.getCustomerInfo(this.outNumber)}catch(u){console.error(u)}vA.emit(pA.OUT_INCOMING_CALL,{customer_phone:this.outNumber,session_id:o.session_id}),cA.sessionId=o.session_id,X.updateActionConfigs(ww)}if(i===qe.OUT_CALL_END&&(X.updateDisplayText(""),o.device_type===1&&o.agent_no===cA.agentInfo.agent_no?(this.putAgentState(!0),X.reset(),vA.emit(pA.OUT_HANGUP,{session_id:o.session_id}),X.updateActionConfigs(En)):o.device_type===2&&o.agent_no===cA.agentInfo.agent_no?(X.reset(),vA.emit(pA.OUR_SIDE_CONSULT_HANGUP,{session_id:o.session_id}),this.putAgentState(!1),X.updateActionConfigs(En)):o.device_type===2&&o.agent_no!==cA.agentInfo.agent_no?(X.updateDisplayText(nt.CALLING),vA.emit(pA.OTHER_SIDE_CONSULT_HANGUP,{session_id:o.session_id}),X.updateActionConfigs(yi)):o.device_type===3&&o.agent_no===cA.agentInfo.agent_no?(this.putAgentState(!1),X.reset(),vA.emit(pA.THREE_WAY_OUR_SIDE_HANGUP,{session_id:o.session_id}),X.updateActionConfigs(En)):o.device_type===4&&o.agent_no===cA.agentInfo.agent_no&&(this.putAgentState(!1),X.reset(),vA.emit(pA.TRANSFER_END,{session_id:o.session_id}),X.updateActionConfigs(En))),i===qe.OUT_CALL_RINGING&&o.type===1&&(vA.emit(pA.OUT_RINGING,{session_id:cA.sessionId,type:o.type}),X.updateDisplayText(nt.RINGING)),i===qe.OUT_CALL_ANSWER&&(clearTimeout(cA.autoStateTimer),X.updateIsCalling(!0),vA.emit(pA.OUT_OFF_ANSWER,{session_id:cA.sessionId}),X.updateOutCallIsAnswer(!0),X.updateDisplayText(nt.CALLING),X.updateActionConfigs(yi)),i===qe.CONSULT_RINGING&&(vA.emit(pA.CONSULT_RINGING,{session_id:o.session_id}),X.updateDisplayText(nt.AGENT_RINGING),X.updateActionConfigs([]),clearTimeout(cA.autoStateTimer)),i===qe.CONSULT_ANSWER&&(vA.emit(pA.CONSULT_OFF_HOOK,{session_id:o.session_id}),X.updateConsultIsAnswer(!0),X.updateDisplayText(nt.CONSULTING),X.updateActionConfigs(Sw)),i===qe.CONSULT_FAIL&&(vA.emit(pA.CONSULT_FAILED,{custom_reason:o.custom_reason}),X.updateDisplayText(nt.CALLING),X.updateActionConfigs(yi)),i===qe.CONSULT_CALL_IN&&(vA.emit(pA.CONSULT_INCOMING,{agent_no:o.agent_no,agent_mane:o.agent_name,session_id:o.session_id}),cA.sessionId=o.session_id,X.updateIsCalling(!0),X.updateDirection(In.CONSULT),X.updateDisplayText(nt.CONSULT_CALL_IN),X.updateActionConfigs(Uc),cA.enableBrowserAlert&&$o.show("📞 咨询来电",`坐席 [${o.agent_name}] 正在咨询...`,()=>{vA.emit(ae.NOTIFICATION_CLICK,{agent_mane:o.agent_name,agent_no:o.agent_no})},cA.browserAlertTime)),i===qe.CONSULT_CALL_IN_SUCCESS&&(vA.emit(pA.CONSULT_CALL_IN_SUCCESS,{session_id:o.session_id}),X.updateConsultIsAnswer(!0),X.updateDisplayText(nt.CALLING),X.updateActionConfigs(Bw)),i===qe.CONSULT_RETURN_CALL_SUCCESS&&(o.status==="success"?(X.updateConsultIsAnswer(!1),vA.emit(pA.CONSULT_RETURN_CALL_SUCCESS),X.updateDisplayText(nt.CALLING),vA.emit(pA.OTHER_SIDE_CONSULT_HANGUP),X.updateActionConfigs(yi)):vA.emit(ae.FAIL_NOTIFICATION,"媒体失败")),i===qe.MUTE&&(a===0?(X.updateIsMuted(!0),vA.emit(pA.MUTE_SUCCESS),X.updateDisplayText(nt.MUTING)):(vA.emit(pA.MUTE_FAILED,s),vA.emit(ae.FAIL_NOTIFICATION,s))),i===qe.UNMUTE&&(a===0?(X.updateIsMuted(!1),vA.emit(pA.UNMUTE_SUCCESS),X.updateDisplayText(nt.CALLING)):(vA.emit(pA.UNMUTE_FAILED,s),vA.emit(ae.FAIL_NOTIFICATION,s))),i===qe.CALL_HOLD&&(a===0?(X.updateIsHold(!0),X.updateDisplayText(nt.HOLDING),vA.emit(pA.HOLD_SUCCESS)):(vA.emit(pA.HOLD_FAILED,s),vA.emit(ae.FAIL_NOTIFICATION,s))),i===qe.CALL_UNHOLD&&(a===0?(X.updateDisplayText(nt.CALLING),X.updateIsHold(!1),vA.emit(pA.UNHOLD_SUCCESS)):(vA.emit(pA.UNHOLD_FAILED,s),vA.emit(ae.FAIL_NOTIFICATION,s))),i===qe.CONSULT_TRANSFER&&(a===0?vA.emit(pA.CONSULT_TRANSFER_SUCCESS):(vA.emit(pA.CONSULT_TRANSFER_FAILED,s),vA.emit(ae.FAIL_NOTIFICATION,s))),i===qe.CONSULT_TRANSFER_FAILED&&vA.emit(pA.CONSULT_TRANSFER_FAILED,o.status),i===qe.CONSULT_TRANSFER_OFF_HOOK&&(X.updateDirection(In.INCOMING),X.updateDisplayText(nt.CALLING),vA.emit(pA.CONSULT_TRANSFER_OFF_HOOK),X.updateActionConfigs(ns),X.updateIncomingIsAnswer(!0),X.updateConsultIsAnswer(!1)),i===qe.INCOMING_CALL){clearTimeout(cA.autoStateTimer),cA.sessionId=o.session_id;try{await this.getCustomerInfo(o.customer_phone)}catch(u){console.error(u)}X.updateIsCalling(!0),X.updateDirection(In.INCOMING),this.inCallAutoAnswer(),X.updateDisplayText(nt.INCOMING_CALL),vA.emit(pA.INCOMING_CALL,{customer_phone:o.customer_phone,session_id:o.session_id}),X.updateActionConfigs(Uc),cA.enableBrowserAlert&&$o.show("📞 客户来电",`客户 [${o.customer_phone}] 正在呼入...`,()=>{vA.emit(ae.NOTIFICATION_CLICK,{customer_phone:o.customer_phone})},cA.browserAlertTime)}if(i===qe.INCOMING_CALL_OFF_HOOK&&(X.updateIncomingIsAnswer(!0),vA.emit(pA.INCOMING_CALL_OFF_HOOK,{session_id:cA.sessionId}),X.updateActionConfigs(ns),X.updateDisplayText(nt.CALLING)),i===qe.INCOMING_CALL_END&&(X.updateDisplayText(""),o.device_type===1&&o.agent_no===cA.agentInfo.agent_no?(this.putAgentState(!0),X.reset(),vA.emit(pA.INCOMING_CALL_END,{session_id:o.session_id}),X.updateActionConfigs(En)):o.device_type===2&&o.agent_no===cA.agentInfo.agent_no?(X.reset(),vA.emit(pA.OUR_SIDE_CONSULT_HANGUP,{session_id:o.session_id}),this.putAgentState(!1),X.updateActionConfigs(En)):o.device_type===2&&o.agent_no!==cA.agentInfo.agent_no?(X.updateDisplayText(nt.CALLING),vA.emit(pA.OTHER_SIDE_CONSULT_HANGUP,{session_id:o.session_id}),X.updateActionConfigs(yi)):o.device_type===3&&o.agent_no===cA.agentInfo.agent_no?(this.putAgentState(!1),X.reset(),vA.emit(pA.THREE_WAY_OUR_SIDE_HANGUP,{session_id:o.session_id}),X.updateActionConfigs(En)):o.device_type===4&&o.agent_no===cA.agentInfo.agent_no&&(this.putAgentState(!1),X.reset(),vA.emit(pA.TRANSFER_END,{session_id:o.session_id}),X.updateActionConfigs(En))),i===qe.SATISFACTION_EVALUATION&&(a===0?vA.emit(pA.SATISFACTION_EVALUATION_SUCCESS):(vA.emit(pA.SATISFACTION_EVALUATION_FAILED,s),vA.emit(ae.FAIL_NOTIFICATION,s))),i===qe.CONSULT_THREE_WAY&&(a!==0?(vA.emit(pA.CONSULT_THREE_WAY_FAILED,s),vA.emit(ae.FAIL_NOTIFICATION,s)):a===0&&X.updateIsMeeting(!0)),i===qe.CONSULT_THREE_WAY_RESULT&&(o.status==="success"?(X.updateDirection(In.MEETING),X.updateDisplayText(nt.MEETING),X.updateActionConfigs(Qw),vA.emit(pA.CONSULT_THREE_WAY_SUCCESS)):(vA.emit(pA.CONSULT_THREE_WAY_FAILED,{conf_name:o.conf_name}),X.updateIsMeeting(!1))),i===qe.TRANSFER_INCOMING_CALL&&(clearTimeout(cA.autoStateTimer),o.agent_no===cA.agentInfo.agent_no?(X.updateDisplayText(nt.TRANSFERRING),vA.emit(pA.TRANSFER_PROGRESS),X.updateActionConfigs([]),X.updateTransferIsAnswer(!0)):(cA.sessionId=o.session_id,vA.emit(pA.TRANSFER_INCOMING_CALL,{agent_no:o.agent_no,agent_name:o.agent_name,session_id:o.session_id}),X.updateIsCalling(!0),X.updateDirection(In.TRANSFER),X.updateDisplayText(nt.TRANSFER_INCOMING_CALL),X.updateActionConfigs(Uc),cA.enableBrowserAlert&&$o.show("📞 转接来电",`坐席 [${o.agent_no}] 正在转接...`,()=>{vA.emit(ae.NOTIFICATION_CLICK,{agent_no:o.agent_no})},cA.browserAlertTime))),i===qe.TRANSFER_OFF_HOOK&&(vA.emit(pA.TRANSFER_OFF_HOOK,{session_id:cA.sessionId}),X.updateTransferIsAnswer(!1),X.updateDisplayText(nt.CALLING),X.updateActionConfigs(ns)),i===qe.TRANSFER_FAILED&&o.status==="failed"){vA.emit(pA.TRANSFER_FAILED,"未知原因"),vA.emit(ae.FAIL_NOTIFICATION,"转接失败");const u=X.get("direction");u===In.OUTGOING?X.updateActionConfigs(yi):u===In.INCOMING&&X.updateActionConfigs(ns)}i===qe.KICK_OFFLINE&&vA.emit(ae.KICK_OFF),i===qe.CONTINUOUS_NOT_ANSWER&&(vA.emit(ae.FAIL_NOTIFICATION,`已连续 ${o.miss_count} 次未接, 设置忙碌`),this.stateBusyChange())},this.ws.onclose=()=>{this.stopHeartbeat(),this.manualClose||setTimeout(()=>this.initWebSocket(),this.reconnectDelay)},this.ws.onerror=()=>{var n;(n=this.ws)==null||n.close()}}startHeartbeat(){const A=new Blob([`
|
|
1056
|
+
`;Ai(r,this.rttHTML)}}class $o{static requestPermission(){"Notification"in window&&Notification.permission==="default"&&Notification.requestPermission()}static async requestMediaPermissions(){try{return(await navigator.mediaDevices.enumerateDevices()).some(t=>t.kind==="audioinput"&&t.label!=="")?null:await navigator.mediaDevices.getUserMedia({audio:!0})}catch(A){return console.warn("获取音频权限失败:",A),null}}static show(A,t,n,r){if("Notification"in window&&Notification.permission==="granted"){const i=new Notification(A,{body:t,tag:`xy-global-notification${new Date().getTime()}`,renotify:!0});i.onclick=()=>{window.focus(),i.close(),n==null||n()},setTimeout(()=>i.close(),1e3*(r||3))}}static async checkMediaPermissions(){try{return(await navigator.mediaDevices.enumerateDevices()).some(A=>A.kind==="audioinput"&&A.label!=="")}catch(A){return console.warn("无法检查设备权限:",A),!1}}}const Ww=console.log,Zh=(...e)=>{cA.logBuiltinEnabled&&Ww(...e)};let sr=null;class Vt{constructor(A){this.url=A,this.ws=null,this.heartbeatWorker=null,this.reconnectDelay=3e3,this.manualClose=!1,this.apiClient=new Od,this.sipClient=null,this.outNumber="",this.pendingMessages=new Map,this.initWebSocket()}static getInstance({url:A,sipClient:t}){if(!sr){if(!A)throw new Error("WebSocket 尚未初始化");sr=new Vt(A),sr.sipClient=t}return sr}stateIdleChange(){const{state:A}=cA.stateObject;A!==ye.IDLE&&this.apiClient._changeState({data:{...cA.stateBeforeChange,state_name:cA.stateBeforeChange.state===ye.IDLE?"空闲":"忙碌"}})}inCallAutoAnswer(){const{soft_device_auto_answer:A,auto_answer_time:t}=cA.agentInfo,n=A===1,r=X.get("direction");if(n&&r===In.INCOMING){const i=Number(t)||0;i>0&&(cA.autoAnswerTimer=setTimeout(()=>{var o;(o=this.sipClient)==null||o.answerCall(),cA.autoAnswerTimer=null},1e3*i))}}async getCustomerInfo(A){try{await this.apiClient._getInCallCrmDetail({data:{phone:A},success:t=>{X.updateCustomerInfo(t.data||{phone:A,is_vip:0,customer_name:"未知客户",city:"未知",province:"未知",contact_count:0,in_contact_count:0})}})}catch{}}putAgentState(A){if(!A)return;cA.sessionId="";const{post_call_process_time:t}=cA.agentInfo,n=t||0;if(cA.autoStateTimer&&(clearTimeout(cA.autoStateTimer),cA.autoStateTimer=null),X.updateCustomerInfo(void 0),n>0){const{state:r}=cA.stateObject;if(r===ye.IDLE)return;this.apiClient._changeState({data:{state:ye.BUSY,state_name:"整理"}}),cA.autoStateTimer=setTimeout(()=>{cA.autoStateTimer=null,this.stateIdleChange()},1e3*n)}else this.stateIdleChange()}stateBusyChange(){cA.sessionId="",clearTimeout(cA.autoStateTimer),X.updateCustomerInfo(void 0),this.apiClient._changeState({data:{state:ye.BUSY,state_name:"忙碌"}})}initWebSocket(){var t;if(((t=this.ws)==null?void 0:t.readyState)===1)return;const A=BC(Fd,Ud);this.ws=new WebSocket(this.url+A),this.ws.onopen=()=>{const n=new Date().getTime();this.sendMessage({type:0,msg_id:n}),this.pendingMessages.set(n,performance.now()),this.startHeartbeat(),this.manualClose=!1},this.ws.onmessage=async n=>{const r=JSON.parse(n.data),{type:i,data:o,code:a,msg:s,msg_id:l}=r;if(i===0&&l){const u=this.pendingMessages.get(l),V=performance.now()-u;cA.latency=parseFloat(V.toFixed(2)),this.pendingMessages.delete(l)}if(i!==0&&Zh("%cWebSocket 收到消息:","color: blue; font-weight: bold;",r),i===qe.OUT_CALL&&(a!==0?(X.reset(),vA.emit(pA.OUT_FAILED,s),vA.emit(ae.FAIL_NOTIFICATION,s),X.updateActionConfigs(En),setTimeout(()=>{X.updateCustomerInfo(void 0)},500),this.stateIdleChange()):a===0&&(vA.emit(pA.OUT_SUCCESS),clearTimeout(cA.autoStateTimer))),i===qe.AGENT_STATE){const{state:u,state_name:V}=o;(cA.stateObject.state===ye.IDLE||cA.stateObject.state===ye.BUSY&&V!=="整理")&&(cA.stateBeforeChange=cA.stateObject),cA.stateObject={state:u,state_name:V},V==="振铃中"&&X.updateDisplayText(nt.AGENT_RINGING),u===ye.UNREGISTERED&&X.updateActionConfigs(Mw),vA.emit(pA.AGENT_STATE,{state:u,state_name:V})}if(i===qe.OUT_CALL_INCOMING_CALL){try{await this.getCustomerInfo(this.outNumber)}catch(u){console.error(u)}vA.emit(pA.OUT_INCOMING_CALL,{customer_phone:this.outNumber,session_id:o.session_id}),cA.sessionId=o.session_id,X.updateActionConfigs(ww)}if(i===qe.OUT_CALL_END&&(X.updateDisplayText(""),o.device_type===1&&o.agent_no===cA.agentInfo.agent_no?(this.putAgentState(!0),X.reset(),vA.emit(pA.OUT_HANGUP,{session_id:o.session_id}),X.updateActionConfigs(En)):o.device_type===2&&o.agent_no===cA.agentInfo.agent_no?(X.reset(),vA.emit(pA.OUR_SIDE_CONSULT_HANGUP,{session_id:o.session_id}),this.putAgentState(!1),X.updateActionConfigs(En)):o.device_type===2&&o.agent_no!==cA.agentInfo.agent_no?(X.updateDisplayText(nt.CALLING),vA.emit(pA.OTHER_SIDE_CONSULT_HANGUP,{session_id:o.session_id}),X.updateActionConfigs(yi)):o.device_type===3&&o.agent_no===cA.agentInfo.agent_no?(this.putAgentState(!1),X.reset(),vA.emit(pA.THREE_WAY_OUR_SIDE_HANGUP,{session_id:o.session_id}),X.updateActionConfigs(En)):o.device_type===4&&o.agent_no===cA.agentInfo.agent_no&&(this.putAgentState(!1),X.reset(),vA.emit(pA.TRANSFER_END,{session_id:o.session_id}),X.updateActionConfigs(En))),i===qe.OUT_CALL_RINGING&&o.type===1&&(vA.emit(pA.OUT_RINGING,{session_id:cA.sessionId,type:o.type}),X.updateDisplayText(nt.RINGING)),i===qe.OUT_CALL_ANSWER&&(clearTimeout(cA.autoStateTimer),X.updateIsCalling(!0),vA.emit(pA.OUT_OFF_ANSWER,{session_id:cA.sessionId}),X.updateOutCallIsAnswer(!0),X.updateDisplayText(nt.CALLING),X.updateActionConfigs(yi)),i===qe.CONSULT_RINGING&&(vA.emit(pA.CONSULT_RINGING,{session_id:o.session_id}),X.updateDisplayText(nt.AGENT_RINGING),X.updateActionConfigs([]),clearTimeout(cA.autoStateTimer)),i===qe.CONSULT_ANSWER&&(vA.emit(pA.CONSULT_OFF_HOOK,{session_id:o.session_id}),X.updateConsultIsAnswer(!0),X.updateDisplayText(nt.CONSULTING),X.updateActionConfigs(Sw)),i===qe.CONSULT_FAIL&&(vA.emit(pA.CONSULT_FAILED,{custom_reason:o.custom_reason}),X.updateDisplayText(nt.CALLING),X.updateActionConfigs(yi)),i===qe.CONSULT_CALL_IN&&(vA.emit(pA.CONSULT_INCOMING,{agent_no:o.agent_no,agent_mane:o.agent_name,session_id:o.session_id}),cA.sessionId=o.session_id,X.updateIsCalling(!0),X.updateDirection(In.CONSULT),X.updateDisplayText(nt.CONSULT_CALL_IN),X.updateActionConfigs(Uc),cA.enableBrowserAlert&&$o.show("📞 咨询来电",`坐席 [${o.agent_name}] 正在咨询...`,()=>{vA.emit(ae.NOTIFICATION_CLICK,{agent_mane:o.agent_name,agent_no:o.agent_no})},cA.browserAlertTime)),i===qe.CONSULT_CALL_IN_SUCCESS&&(vA.emit(pA.CONSULT_CALL_IN_SUCCESS,{session_id:o.session_id}),X.updateConsultIsAnswer(!0),X.updateDisplayText(nt.CALLING),X.updateActionConfigs(Bw)),i===qe.CONSULT_RETURN_CALL_SUCCESS&&(o.status==="success"?(X.updateConsultIsAnswer(!1),vA.emit(pA.CONSULT_RETURN_CALL_SUCCESS),X.updateDisplayText(nt.CALLING),vA.emit(pA.OTHER_SIDE_CONSULT_HANGUP),X.updateActionConfigs(yi)):vA.emit(ae.FAIL_NOTIFICATION,"媒体失败")),i===qe.MUTE&&(a===0?(X.updateIsMuted(!0),vA.emit(pA.MUTE_SUCCESS),X.updateDisplayText(nt.MUTING)):(vA.emit(pA.MUTE_FAILED,s),vA.emit(ae.FAIL_NOTIFICATION,s))),i===qe.UNMUTE&&(a===0?(X.updateIsMuted(!1),vA.emit(pA.UNMUTE_SUCCESS),X.updateDisplayText(nt.CALLING)):(vA.emit(pA.UNMUTE_FAILED,s),vA.emit(ae.FAIL_NOTIFICATION,s))),i===qe.CALL_HOLD&&(a===0?(X.updateIsHold(!0),X.updateDisplayText(nt.HOLDING),vA.emit(pA.HOLD_SUCCESS)):(vA.emit(pA.HOLD_FAILED,s),vA.emit(ae.FAIL_NOTIFICATION,s))),i===qe.CALL_UNHOLD&&(a===0?(X.updateDisplayText(nt.CALLING),X.updateIsHold(!1),vA.emit(pA.UNHOLD_SUCCESS)):(vA.emit(pA.UNHOLD_FAILED,s),vA.emit(ae.FAIL_NOTIFICATION,s))),i===qe.CONSULT_TRANSFER&&(a===0?vA.emit(pA.CONSULT_TRANSFER_SUCCESS):(vA.emit(pA.CONSULT_TRANSFER_FAILED,s),vA.emit(ae.FAIL_NOTIFICATION,s))),i===qe.CONSULT_TRANSFER_FAILED&&vA.emit(pA.CONSULT_TRANSFER_FAILED,o.status),i===qe.CONSULT_TRANSFER_OFF_HOOK&&(X.updateDirection(In.INCOMING),X.updateDisplayText(nt.CALLING),vA.emit(pA.CONSULT_TRANSFER_OFF_HOOK),X.updateActionConfigs(ns),X.updateIncomingIsAnswer(!0),X.updateConsultIsAnswer(!1)),i===qe.INCOMING_CALL){clearTimeout(cA.autoStateTimer),cA.sessionId=o.session_id;try{await this.getCustomerInfo(o.customer_phone)}catch(u){console.error(u)}X.updateIsCalling(!0),X.updateDirection(In.INCOMING),this.inCallAutoAnswer(),X.updateDisplayText(nt.INCOMING_CALL),vA.emit(pA.INCOMING_CALL,{customer_phone:o.customer_phone,session_id:o.session_id}),X.updateActionConfigs(Uc),cA.enableBrowserAlert&&$o.show("📞 客户来电",`客户 [${o.customer_phone}] 正在呼入...`,()=>{vA.emit(ae.NOTIFICATION_CLICK,{customer_phone:o.customer_phone})},cA.browserAlertTime)}if(i===qe.INCOMING_CALL_OFF_HOOK&&(X.updateIncomingIsAnswer(!0),vA.emit(pA.INCOMING_CALL_OFF_HOOK,{session_id:cA.sessionId}),X.updateActionConfigs(ns),X.updateDisplayText(nt.CALLING)),i===qe.INCOMING_CALL_END&&(X.updateDisplayText(""),o.device_type===1&&o.agent_no===cA.agentInfo.agent_no?(this.putAgentState(!0),X.reset(),vA.emit(pA.INCOMING_CALL_END,{session_id:o.session_id}),X.updateActionConfigs(En)):o.device_type===2&&o.agent_no===cA.agentInfo.agent_no?(X.reset(),vA.emit(pA.OUR_SIDE_CONSULT_HANGUP,{session_id:o.session_id}),this.putAgentState(!1),X.updateActionConfigs(En)):o.device_type===2&&o.agent_no!==cA.agentInfo.agent_no?(X.updateDisplayText(nt.CALLING),vA.emit(pA.OTHER_SIDE_CONSULT_HANGUP,{session_id:o.session_id}),X.updateActionConfigs(yi)):o.device_type===3&&o.agent_no===cA.agentInfo.agent_no?(this.putAgentState(!1),X.reset(),vA.emit(pA.THREE_WAY_OUR_SIDE_HANGUP,{session_id:o.session_id}),X.updateActionConfigs(En)):o.device_type===4&&o.agent_no===cA.agentInfo.agent_no&&(this.putAgentState(!1),X.reset(),vA.emit(pA.TRANSFER_END,{session_id:o.session_id}),X.updateActionConfigs(En))),i===qe.SATISFACTION_EVALUATION&&(a===0?vA.emit(pA.SATISFACTION_EVALUATION_SUCCESS):(vA.emit(pA.SATISFACTION_EVALUATION_FAILED,s),vA.emit(ae.FAIL_NOTIFICATION,s))),i===qe.CONSULT_THREE_WAY&&(a!==0?(vA.emit(pA.CONSULT_THREE_WAY_FAILED,s),vA.emit(ae.FAIL_NOTIFICATION,s)):a===0&&X.updateIsMeeting(!0)),i===qe.CONSULT_THREE_WAY_RESULT&&(o.status==="success"?(X.updateDirection(In.MEETING),X.updateDisplayText(nt.MEETING),X.updateActionConfigs(Qw),vA.emit(pA.CONSULT_THREE_WAY_SUCCESS)):(vA.emit(pA.CONSULT_THREE_WAY_FAILED,{conf_name:o.conf_name}),X.updateIsMeeting(!1))),i===qe.TRANSFER_INCOMING_CALL&&(clearTimeout(cA.autoStateTimer),o.agent_no===cA.agentInfo.agent_no?(X.updateDisplayText(nt.TRANSFERRING),vA.emit(pA.TRANSFER_PROGRESS),X.updateActionConfigs([]),X.updateTransferIsAnswer(!0)):(cA.sessionId=o.session_id,vA.emit(pA.TRANSFER_INCOMING_CALL,{agent_no:o.agent_no,agent_name:o.agent_name,session_id:o.session_id}),X.updateIsCalling(!0),X.updateDirection(In.TRANSFER),X.updateDisplayText(nt.TRANSFER_INCOMING_CALL),X.updateActionConfigs(Uc),cA.enableBrowserAlert&&$o.show("📞 转接来电",`坐席 [${o.agent_no}] 正在转接...`,()=>{vA.emit(ae.NOTIFICATION_CLICK,{agent_no:o.agent_no})},cA.browserAlertTime))),i===qe.TRANSFER_OFF_HOOK&&(vA.emit(pA.TRANSFER_OFF_HOOK,{session_id:cA.sessionId}),X.updateTransferIsAnswer(!1),X.updateDisplayText(nt.CALLING),X.updateActionConfigs(ns)),i===qe.TRANSFER_FAILED&&o.status==="failed"){vA.emit(pA.TRANSFER_FAILED,"未知原因"),vA.emit(ae.FAIL_NOTIFICATION,"转接失败");const u=X.get("direction");u===In.OUTGOING?X.updateActionConfigs(yi):u===In.INCOMING&&X.updateActionConfigs(ns)}i===qe.KICK_OFFLINE&&vA.emit(ae.KICK_OFF),i===qe.CONTINUOUS_NOT_ANSWER&&(vA.emit(ae.FAIL_NOTIFICATION,`已连续 ${o.miss_count} 次未接, 设置忙碌`),this.stateBusyChange())},this.ws.onclose=()=>{this.stopHeartbeat(),this.manualClose||setTimeout(()=>this.initWebSocket(),this.reconnectDelay)},this.ws.onerror=()=>{var n;(n=this.ws)==null||n.close()}}startHeartbeat(){const A=new Blob([`
|
|
1057
1057
|
let timer;
|
|
1058
1058
|
self.onmessage = function (e) {
|
|
1059
1059
|
if (e.data === 'start') {
|
|
@@ -1064,7 +1064,7 @@ React keys must be passed directly to JSX without using spread:
|
|
|
1064
1064
|
clearInterval(timer);
|
|
1065
1065
|
}
|
|
1066
1066
|
};
|
|
1067
|
-
`],{type:"application/javascript"}),t=URL.createObjectURL(A);this.heartbeatWorker=new Worker(t),this.heartbeatWorker.onmessage=()=>{const n=new Date().getTime();this.sendMessage({type:0,msg_id:n}),this.pendingMessages.set(n,performance.now())},this.heartbeatWorker.postMessage("start")}stopHeartbeat(){this.heartbeatWorker&&(this.heartbeatWorker.postMessage("stop"),this.heartbeatWorker.terminate(),this.heartbeatWorker=null)}sendMessage(A){var t;((t=this.ws)==null?void 0:t.readyState)===WebSocket.OPEN?(A.type===100&&(this.outNumber=A.data.customer_phone),this.ws.send(JSON.stringify(A)),A.type!==0&&Zh("%cWebSocket 发送消息:","color: green; font-weight: bold;",A)):console.warn("WebSocket 未连接,消息未发送")}close(){var A;this.manualClose=!0,this.stopHeartbeat(),(A=this.ws)==null||A.close()}reconnect(){this.initWebSocket()}static __internalClose(){sr&&(sr.close(),sr=null)}static __internalSend(A){if(!sr)throw new Error("WebSocket 尚未初始化");sr.sendMessage(A)}}class zw{constructor(A){this.sipClient=null,this.sipClient=A}roleMute(){const A=X.get("isCalling"),t=cA.sessionId;if(!A)throw new Error(JSON.stringify({code:1,msg:"当前没有通话"}));if(!t)throw new Error(JSON.stringify({code:1,msg:"当前没有通话"}))}holdCall(){this.roleMute();const A=X.get("isHold"),{sessionId:t}=cA;if(t){if(!X.get("actionConfigs").includes("hold"))throw new Error(JSON.stringify({code:1,msg:"当前状态请勿保持"}));if(A)throw new Error(JSON.stringify({code:1,msg:"当前已处于保持状态"}));Vt.__internalSend({type:qe.CALL_HOLD,data:{session_id:t}})}}unholdCall(){this.roleMute();const{isHold:A}=X.getState(),{sessionId:t}=cA;if(!X.get("actionConfigs").includes("unhold"))throw new Error(JSON.stringify({code:1,msg:"当前状态请勿取消保持"}));if(t){if(!A)throw new Error(JSON.stringify({code:1,msg:"当前未处于保持状态"}));Vt.__internalSend({type:qe.CALL_UNHOLD,data:{session_id:t}})}}sendDTMF(A){if(X.get("answerDevice")!==1)throw new Error(JSON.stringify({code:1,msg:"当前设备不支持此功能"}));if(!X.get("actionConfigs").includes("dtmf"))throw new Error(JSON.stringify({code:1,msg:"当前状态请勿发送按键"}));const{isCalling:t}=X.getState();if(!t)throw new Error(JSON.stringify({code:1,msg:"当前没有通话"}));this.sipClient.sendDTMF(A)}cancelCall(){if(!X.get("isCalling"))throw new Error(JSON.stringify({code:1,msg:"当前没有通话"}));const A=cA.sessionId;vA.emit(pA.REJECT,{session_id:A}),Vt.__internalSend({type:qe.AGENT_HANGUP,data:{session_id:A}})}async consultCall(A){this.roleMute();const{isCalling:t,outCallIsAnswer:n,consultIsAnswer:r,incomingIsAnswer:i}=X.getState(),o=cA.sessionId;if(!X.get("actionConfigs").includes("consult"))throw new Error(JSON.stringify({code:1,msg:"当前状态请勿调用咨询"}));if(r)throw new Error(JSON.stringify({code:1,msg:"当前正在咨询"}));if(!(t||n||i))throw new Error(JSON.stringify({code:1,msg:"当前没有通话"}));if(!o)throw new Error(JSON.stringify({code:1,msg:"sessionId不存在"}));Vt.__internalSend({type:qe.CONSULT_REQUEST,data:{session_id:o,consultation_agent_no:A}})}async answerCall(){if(X.get("answerDevice")!==1)throw new Error(JSON.stringify({code:1,msg:"当前设备不支持此功能"}));await this.sipClient.answerCall()}makeCall(A){const t=X.get("isCalling"),n=X.get("selectOutNumber")||"";if(t)throw new Error(JSON.stringify({code:1,msg:"正在呼叫中,请勿重复点击"}));if(typeof A!="string"||A.trim()==="")throw new Error(JSON.stringify({code:1,msg:"外呼号码非法"}));X.updateIsCalling(!0),X.updateDirection(In.OUTGOING),Vt.__internalSend({type:qe.OUT_CALL,data:{customer_phone:A,caller:n}})}async hangup(){if(!X.get("isCalling"))throw new Error(JSON.stringify({code:1,msg:"当前没有通话"}));const A=cA.sessionId;Vt.__internalSend({type:qe.AGENT_HANGUP,data:{session_id:A}})}mute(){this.roleMute();const A=X.get("actionConfigs"),t=X.get("isMuted"),n=cA.sessionId;if(t)throw new Error(JSON.stringify({code:1,msg:"当前未处于静音状态"}));if(!A.includes("mute"))throw new Error(JSON.stringify({code:1,msg:"当前状态请勿调用静音"}));Vt.__internalSend({type:qe.MUTE,data:{session_id:n}})}unmute(){this.roleMute();const A=X.get("actionConfigs"),t=X.get("isMuted"),n=cA.sessionId;if(!t)throw new Error(JSON.stringify({code:1,msg:"当前未处于未静音状态"}));if(!A.includes("unmute"))throw new Error(JSON.stringify({code:1,msg:"当前状态请勿调用静音"}));Vt.__internalSend({type:qe.UNMUTE,data:{session_id:n}})}consultTransfer(){this.roleMute();const A=X.get("consultIsAnswer"),t=cA.sessionId;if(!X.get("actionConfigs").includes("consult_transfer"))throw new Error(JSON.stringify({code:1,msg:"当前状态请勿调用咨询转移"}));if(!A)throw new Error(JSON.stringify({code:1,msg:"当前未处于咨询中"}));Vt.__internalSend({type:qe.CONSULT_TRANSFER,data:{session_id:t}})}satisfactionEvaluation(){this.roleMute();const A=cA.sessionId;if(!X.get("actionConfigs").includes("satisfaction"))throw new Error(JSON.stringify({code:1,msg:"当前状态请勿调用满意度评价"}));Vt.__internalSend({type:qe.SATISFACTION_EVALUATION,data:{session_id:A}})}startConference(){if(this.roleMute(),!X.get("actionConfigs").includes("conference"))throw new Error(JSON.stringify({code:1,msg:"当前状态请勿调用三方会议"}));const A=cA.sessionId;if(!X.get("consultIsAnswer"))throw new Error(JSON.stringify({code:1,msg:"当前未处于咨询中"}));Vt.__internalSend({type:qe.CONSULT_THREE_WAY,data:{session_id:A}})}consultRetrieve(){if(this.roleMute(),!X.get("actionConfigs").includes("consult_retrieve"))throw new Error(JSON.stringify({code:1,msg:"当前状态请勿取回通话"}));const A=cA.sessionId;if(!X.get("consultIsAnswer"))throw new Error(JSON.stringify({code:1,msg:"当前未处于咨询中"}));Vt.__internalSend({type:qe.CONSULT_RETURN_CALL,data:{session_id:A}})}async transferAgent(A){if(this.roleMute(),!X.get("actionConfigs").includes("transfer"))throw new Error(JSON.stringify({code:1,msg:"当前状态请勿转接"}));const{transferIsAnswer:t}=X.getState(),n=cA.sessionId;if(t)throw new Error(JSON.stringify({code:1,msg:"当前正在转接"}));Vt.__internalSend({type:qe.TRANSFER,data:{session_id:n,transfer_type:0,transfer_dest:A}})}async transferOutline(A){if(this.roleMute(),!X.get("actionConfigs").includes("transfer"))throw new Error(JSON.stringify({code:1,msg:"当前状态请勿转接"}));if(!A)throw new Error(JSON.stringify({code:1,msg:"号码不能为空"}));if(!/^\d+$/.test(A))throw new Error(JSON.stringify({code:1,msg:"号码格式错误"}));const{transferIsAnswer:t}=X.getState(),n=cA.sessionId;if(t)throw new Error(JSON.stringify({code:1,msg:"当前正在转接"}));if(t)throw new Error(JSON.stringify({code:1,msg:"当前正在转接"}));Vt.__internalSend({type:qe.TRANSFER,data:{session_id:n,transfer_type:2,transfer_dest:A}})}}var sn,jt,xt,lt,to,Fr,ya,Ma,no,dr,hl,fl,Hr,bC,RC,pl,xC;const ql=class ql{constructor(){zt(this,Hr);zt(this,jt,null);zt(this,xt,new Od);zt(this,lt);zt(this,to,null);zt(this,Fr,!1);zt(this,ya);zt(this,Ma);zt(this,no,!1);zt(this,dr,null);zt(this,hl,()=>{X.updateIsNextState(!0)});zt(this,fl,()=>{X.updateIsNextState(!1)});zt(this,pl,A=>{const{type:t,data:n}=A;vA.emit(t,n)});if(!sn._creatingInstance)throw new Error("请使用 YSYTAgentSdk.getInstance() 获取实例");clearInterval(ne(this,to)),tn(this,to,setInterval(async()=>{const A=await Ja(this,Hr,xC).call(this);bd.updateRttObject(A)},2e3)),$o.requestMediaPermissions(),tn(this,ya,X.subscribeKey("answerDevice",async A=>{A===1?(await this.initWebRtc(),cA.stateObject.state===ye.UNREGISTERED&&await ne(this,xt)._changeState({data:{...cA.stateBeforeChange,state_name:cA.stateBeforeChange.state===ye.IDLE?"空闲":"忙碌"}})):tn(this,jt,null)})),tn(this,Ma,X.subscribeKey("isNextState",async A=>{var t;if(A){X.updateDisplayText(""),await ne(this,xt)._agentLogin(Yc),X.get("answerDevice")===1&&await((t=ne(this,jt))==null?void 0:t.reconnect());let n="";const r=new URL(ki).host;n=ki.includes("https")?`wss://${r}`:`ws://${r}`;const{agent_no:i}=cA.agentInfo;Vt.getInstance({url:`${n}/ccs-ws/api/v1/ws/call/${i}?Authorization=`,sipClient:ne(this,jt)}),cA.stateObject.state===ye.OFFLINE&&await ne(this,xt)._changeState({data:{...ne(this,dr),state_name:ne(this,dr).state===ye.BUSY&&ne(this,dr).state_name==="整理"?"忙碌":ne(this,dr).state_name},success:()=>{vA.emit(pA.AGENT_STATE,ne(this,dr))}})}else tn(this,dr,cA.stateObject),Vt.__internalClose(),X.updateDisplayText("离线")})),this.on(ae.KICK_OFF,()=>{this.destroy()}),window.addEventListener("online",ne(this,hl)),window.addEventListener("offline",ne(this,fl))}static get instance(){return this._instance}static async destroyInstance(){this._instance&&(await this._instance.destroy(),this._instance=null)}static getInstance(A){if(!this._instance){if(!A)throw new Error("首次调用必须传入配置参数");const{url:t,appKey:n,appSecret:r,agentNo:i}=A;ki=t||"https://aicc-api.yescloudy.com",Fd=n,Ud=r,Yc=i,sn._creatingInstance=!0,this._instance=new sn,delete sn._creatingInstance,window.addEventListener("beforeunload",()=>{var o;(o=this._instance)==null||o.destroy()})}return this._instance}getInit(){return ne(this,no)}async initWebRtc(){if(ne(this,jt))return;const A=cA.agentInfo.sip_account_list.find(t=>t.device_type===1);if(!A)throw new Error(JSON.stringify({code:1,msg:"未找到 sip_account_list"}));{const t=A.sip_register_addr;tn(this,jt,new lw({server:t.split(":")[0],user:A.sip_account,password:A.sip_password,webSocket:`wss://${t}`,callTimeout:3e4},ne(this,pl))),await ne(this,jt).start()}}async init({actionNodeParams:A,enableBrowserAlert:t,logBuiltinEnabled:n,browserAlertTime:r,initialState:i,initDevice:o}){try{const{viewHtmlElement:a,rttHTML:s}=A||{};cA.logBuiltinEnabled=n||!1,cA.browserAlertTime=r||5e3,await ne(this,xt)._agentLogin(Yc);const{agent_no:l,current_answer_device:u,current_state:V,out_display_number:d,out_display_select_switch:f}=cA.agentInfo;(i||V)===ye.IDLE?(X.updateActionConfigs(En),cA.stateObject={state:i||V,state_name:"空闲"}):(i||V)===ye.BUSY&&(X.updateActionConfigs(Wu),cA.stateObject={state:V,state_name:"忙碌"}),f===1?X.updateSelectOutNumber(d):X.updateSelectOutNumber("");let q="";const C=new URL(ki).host;q=ki.includes("https")?`wss://${C}`:`ws://${C}`,X.updateAnswerDevice(o||u),(o||u)===1&&await this.initWebRtc(),setTimeout(()=>{ne(this,xt)._changeState({data:cA.stateObject}),ne(this,xt).changeDevice({data:{device:o||u}})},500),Vt.getInstance({url:`${q}/ccs-ws/api/v1/ws/call/${l}?Authorization=`,sipClient:ne(this,jt)}),tn(this,lt,new zw(ne(this,jt))),A&&a&&(tn(this,Fr,!0),new Pw({container:a,rttHTML:s,statusParams:{state:ye.IDLE,statusName:"空闲"}},this,ne(this,lt))),cA.enableBrowserAlert=t,t&&$o.requestPermission(),vA.emit(ae.AGENT_INIT_STATUS,!0),tn(this,no,!0),clearInterval(sn._timer),sn._timer=null,Ja(this,Hr,RC).call(this)}catch{ne(this,Fr)&&an("初始化失败"),vA.emit(ae.AGENT_INIT_STATUS,!1),tn(this,no,!1)}}on(A,t){return vA.on(A,t),this}off(A,t){vA.off(A,t)}offAll(){vA.clearAllListeners()}async destroyRtc(){var A;await((A=ne(this,jt))==null?void 0:A.destroy()),tn(this,jt,null)}async destroy(){var A,t;sn._instance&&(await this.destroyRtc(),clearInterval(ne(this,to)),Vt.__internalClose(),vA.emit(ae.DESTROY),this.offAll(),(A=ne(this,ya))==null||A.call(this),(t=ne(this,Ma))==null||t.call(this),tn(this,Fr,!1),sn._instance=null,X.reset(),X.updateSelectOutNumber(""),clearInterval(sn._timer),sn._timer=null)}get call_api(){const A=t=>(...n)=>{if(!ne(this,Fr))return t.apply(this,n);console.warn("当前未使用个人开发模式")};return{answerCall:A(()=>ne(this,lt).answerCall()),makeCall:t=>ne(this,lt).makeCall(t),cancelCall:A(()=>ne(this,lt).cancelCall()),hangup:A(()=>ne(this,lt).hangup()),sendDTMF:A(t=>ne(this,lt).sendDTMF(t)),holdCall:A(()=>ne(this,lt).holdCall()),unholdCall:A(()=>ne(this,lt).unholdCall()),consultCall:A(async t=>{try{await ne(this,lt).consultCall(t)}catch(n){throw console.warn(n),n}}),consultRetrieve:A(()=>ne(this,lt).consultRetrieve()),consultTransfer:A(()=>ne(this,lt).consultTransfer()),mute:A(()=>ne(this,lt).mute()),unmute:A(()=>ne(this,lt).unmute()),satisfactionEvaluation:A(()=>ne(this,lt).satisfactionEvaluation()),startConference:A(()=>ne(this,lt).startConference()),transferAgent:A(t=>ne(this,lt).transferAgent(t)),transferOutline:A(t=>ne(this,lt).transferOutline(t))}}get agent_api(){const A=t=>(...n)=>{if(!ne(this,Fr))return t.apply(this,n);console.warn("当前未使用个人开发模式")};return{changeDevice:A(t=>ne(this,xt).changeDevice(t)),changeState:A(t=>ne(this,xt).changeState(t)),getIdleAgentList:A(t=>ne(this,xt).getIdleAgentList(t)),getAgentState:A(t=>ne(this,xt).getAgentState(t)),setAgentExplicit:A(t=>ne(this,xt).setAgentExplicit(t)),checkAgentLogin:t=>ne(this,xt).checkAgentLogin(t),getCallRecord:t=>ne(this,xt).getCallRecord(t),agentLogout:async(t,n)=>{try{await ne(this,xt).logout(t),await this.destroy(),n==null||n({code:0,msg:""})}catch{}}}}getAgentData(){const{agent_no:A,agent_name:t,answer_devices:n,out_display_data:r,out_display_select_switch:i,current_state:o}=cA.agentInfo,{stateObject:a}=cA,s={1:"软电话",2:"手机模式",3:"SIP话机"};return{agent_no:A,agent_name:t,init_state:o,default_device:X.get("answerDevice"),out_display_data:r,out_display_select_switch:i,answer_devices:(n||"").split(",").map(l=>({value:Number(l),label:s[Number(l)]})),stateObject:a}}async getRealTimeCustomerInfo(){return X.get("customerObject")}setBrowserAlert(A){if(typeof A!="boolean")throw new Error(JSON.stringify({code:1,msg:"参数类型错误"}));cA.logBuiltinEnabled=A||!1}setBrowserAlertTime(A){if(typeof A!="number")throw new Error(JSON.stringify({code:1,msg:"参数类型错误"}));cA.browserAlertTime=A||3e3}};jt=new WeakMap,xt=new WeakMap,lt=new WeakMap,to=new WeakMap,Fr=new WeakMap,ya=new WeakMap,Ma=new WeakMap,no=new WeakMap,dr=new WeakMap,hl=new WeakMap,fl=new WeakMap,Hr=new WeakSet,bC=async function(){const A=X.get("isNextState");try{await Jw(),A||X.updateIsNextState(!0)}catch{A&&X.updateIsNextState(!1)}},RC=function(){sn._timer||(sn._timer=setInterval(()=>Ja(this,Hr,bC).call(this),3e3))},pl=new WeakMap,xC=async function(){return ne(this,jt)?ne(this,jt).getNetworkStats():{}},ql._instance=null,ql._timer=null;let On=ql;sn=On;var $t=function(){return $t=Object.assign||function(A){for(var t,n=1,r=arguments.length;n<r;n++){t=arguments[n];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(A[i]=t[i])}return A},$t.apply(this,arguments)};function gi(e,A,t){if(t||arguments.length===2)for(var n=0,r=A.length,i;n<r;n++)(i||!(n in A))&&(i||(i=Array.prototype.slice.call(A,0,n)),i[n]=A[n]);return e.concat(i||Array.prototype.slice.call(A))}function Xw(e){var A=Object.create(null);return function(t){return A[t]===void 0&&(A[t]=e(t)),A[t]}}var $w=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,_w=Xw(function(e){return $w.test(e)||e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)<91}),$e="-ms-",_o="-moz-",Ze="-webkit-",DC="comm",Rl="rule",Gd="decl",A1="@import",TC="@keyframes",e1="@layer",FC=Math.abs,Yd=String.fromCharCode,Xu=Object.assign;function t1(e,A){return wt(e,0)^45?(((A<<2^wt(e,0))<<2^wt(e,1))<<2^wt(e,2))<<2^wt(e,3):0}function UC(e){return e.trim()}function ur(e,A){return(e=A.exec(e))?e[0]:e}function Se(e,A,t){return e.replace(A,t)}function bs(e,A,t){return e.indexOf(A,t)}function wt(e,A){return e.charCodeAt(A)|0}function Vo(e,A,t){return e.slice(A,t)}function Xn(e){return e.length}function OC(e){return e.length}function Lo(e,A){return A.push(e),e}function n1(e,A){return e.map(A).join("")}function Kh(e,A){return e.filter(function(t){return!ur(t,A)})}var xl=1,go=1,kC=0,Bn=0,ft=0,Eo="";function Dl(e,A,t,n,r,i,o,a){return{value:e,root:A,parent:t,type:n,props:r,children:i,line:xl,column:go,length:o,return:"",siblings:a}}function xr(e,A){return Xu(Dl("",null,null,"",null,null,0,e.siblings),e,{length:-e.length},A)}function wi(e){for(;e.root;)e=xr(e.root,{children:[e]});Lo(e,e.siblings)}function r1(){return ft}function i1(){return ft=Bn>0?wt(Eo,--Bn):0,go--,ft===10&&(go=1,xl--),ft}function Un(){return ft=Bn<kC?wt(Eo,Bn++):0,go++,ft===10&&(go=1,xl++),ft}function ci(){return wt(Eo,Bn)}function Rs(){return Bn}function Tl(e,A){return Vo(Eo,e,A)}function $u(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function o1(e){return xl=go=1,kC=Xn(Eo=e),Bn=0,[]}function a1(e){return Eo="",e}function Zc(e){return UC(Tl(Bn-1,_u(e===91?e+2:e===40?e+1:e)))}function s1(e){for(;(ft=ci())&&ft<33;)Un();return $u(e)>2||$u(ft)>3?"":" "}function l1(e,A){for(;--A&&Un()&&!(ft<48||ft>102||ft>57&&ft<65||ft>70&&ft<97););return Tl(e,Rs()+(A<6&&ci()==32&&Un()==32))}function _u(e){for(;Un();)switch(ft){case e:return Bn;case 34:case 39:e!==34&&e!==39&&_u(ft);break;case 40:e===41&&_u(e);break;case 92:Un();break}return Bn}function c1(e,A){for(;Un()&&e+ft!==57;)if(e+ft===84&&ci()===47)break;return"/*"+Tl(A,Bn-1)+"*"+Yd(e===47?e:Un())}function u1(e){for(;!$u(ci());)Un();return Tl(e,Bn)}function V1(e){return a1(xs("",null,null,null,[""],e=o1(e),0,[0],e))}function xs(e,A,t,n,r,i,o,a,s){for(var l=0,u=0,V=o,d=0,f=0,q=0,C=1,p=1,m=1,y=0,M="",B=r,w=i,g=n,Q=M;p;)switch(q=y,y=Un()){case 40:if(q!=108&&wt(Q,V-1)==58){bs(Q+=Se(Zc(y),"&","&\f"),"&\f",FC(l?a[l-1]:0))!=-1&&(m=-1);break}case 34:case 39:case 91:Q+=Zc(y);break;case 9:case 10:case 13:case 32:Q+=s1(q);break;case 92:Q+=l1(Rs()-1,7);continue;case 47:switch(ci()){case 42:case 47:Lo(d1(c1(Un(),Rs()),A,t,s),s);break;default:Q+="/"}break;case 123*C:a[l++]=Xn(Q)*m;case 125*C:case 59:case 0:switch(y){case 0:case 125:p=0;case 59+u:m==-1&&(Q=Se(Q,/\f/g,"")),f>0&&Xn(Q)-V&&Lo(f>32?Lh(Q+";",n,t,V-1,s):Lh(Se(Q," ","")+";",n,t,V-2,s),s);break;case 59:Q+=";";default:if(Lo(g=jh(Q,A,t,l,u,r,a,M,B=[],w=[],V,i),i),y===123)if(u===0)xs(Q,A,g,g,B,i,V,a,w);else switch(d===99&&wt(Q,3)===110?100:d){case 100:case 108:case 109:case 115:xs(e,g,g,n&&Lo(jh(e,g,g,0,0,r,a,M,r,B=[],V,w),w),r,w,V,a,n?B:w);break;default:xs(Q,g,g,g,[""],w,0,a,w)}}l=u=f=0,C=m=1,M=Q="",V=o;break;case 58:V=1+Xn(Q),f=q;default:if(C<1){if(y==123)--C;else if(y==125&&C++==0&&i1()==125)continue}switch(Q+=Yd(y),y*C){case 38:m=u>0?1:(Q+="\f",-1);break;case 44:a[l++]=(Xn(Q)-1)*m,m=1;break;case 64:ci()===45&&(Q+=Zc(Un())),d=ci(),u=V=Xn(M=Q+=u1(Rs())),y++;break;case 45:q===45&&Xn(Q)==2&&(C=0)}}return i}function jh(e,A,t,n,r,i,o,a,s,l,u,V){for(var d=r-1,f=r===0?i:[""],q=OC(f),C=0,p=0,m=0;C<n;++C)for(var y=0,M=Vo(e,d+1,d=FC(p=o[C])),B=e;y<q;++y)(B=UC(p>0?f[y]+" "+M:Se(M,/&\f/g,f[y])))&&(s[m++]=B);return Dl(e,A,t,r===0?Rl:a,s,l,u,V)}function d1(e,A,t,n){return Dl(e,A,t,DC,Yd(r1()),Vo(e,2,-2),0,n)}function Lh(e,A,t,n,r){return Dl(e,A,t,Gd,Vo(e,0,n),Vo(e,n+1,-1),n,r)}function GC(e,A,t){switch(t1(e,A)){case 5103:return Ze+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return Ze+e+e;case 4789:return _o+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return Ze+e+_o+e+$e+e+e;case 5936:switch(wt(e,A+11)){case 114:return Ze+e+$e+Se(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return Ze+e+$e+Se(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return Ze+e+$e+Se(e,/[svh]\w+-[tblr]{2}/,"lr")+e}case 6828:case 4268:case 2903:return Ze+e+$e+e+e;case 6165:return Ze+e+$e+"flex-"+e+e;case 5187:return Ze+e+Se(e,/(\w+).+(:[^]+)/,Ze+"box-$1$2"+$e+"flex-$1$2")+e;case 5443:return Ze+e+$e+"flex-item-"+Se(e,/flex-|-self/g,"")+(ur(e,/flex-|baseline/)?"":$e+"grid-row-"+Se(e,/flex-|-self/g,""))+e;case 4675:return Ze+e+$e+"flex-line-pack"+Se(e,/align-content|flex-|-self/g,"")+e;case 5548:return Ze+e+$e+Se(e,"shrink","negative")+e;case 5292:return Ze+e+$e+Se(e,"basis","preferred-size")+e;case 6060:return Ze+"box-"+Se(e,"-grow","")+Ze+e+$e+Se(e,"grow","positive")+e;case 4554:return Ze+Se(e,/([^-])(transform)/g,"$1"+Ze+"$2")+e;case 6187:return Se(Se(Se(e,/(zoom-|grab)/,Ze+"$1"),/(image-set)/,Ze+"$1"),e,"")+e;case 5495:case 3959:return Se(e,/(image-set\([^]*)/,Ze+"$1$`$1");case 4968:return Se(Se(e,/(.+:)(flex-)?(.*)/,Ze+"box-pack:$3"+$e+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+Ze+e+e;case 4200:if(!ur(e,/flex-|baseline/))return $e+"grid-column-align"+Vo(e,A)+e;break;case 2592:case 3360:return $e+Se(e,"template-","")+e;case 4384:case 3616:return t&&t.some(function(n,r){return A=r,ur(n.props,/grid-\w+-end/)})?~bs(e+(t=t[A].value),"span",0)?e:$e+Se(e,"-start","")+e+$e+"grid-row-span:"+(~bs(t,"span",0)?ur(t,/\d+/):+ur(t,/\d+/)-+ur(e,/\d+/))+";":$e+Se(e,"-start","")+e;case 4896:case 4128:return t&&t.some(function(n){return ur(n.props,/grid-\w+-start/)})?e:$e+Se(Se(e,"-end","-span"),"span ","")+e;case 4095:case 3583:case 4068:case 2532:return Se(e,/(.+)-inline(.+)/,Ze+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(Xn(e)-1-A>6)switch(wt(e,A+1)){case 109:if(wt(e,A+4)!==45)break;case 102:return Se(e,/(.+:)(.+)-([^]+)/,"$1"+Ze+"$2-$3$1"+_o+(wt(e,A+3)==108?"$3":"$2-$3"))+e;case 115:return~bs(e,"stretch",0)?GC(Se(e,"stretch","fill-available"),A,t)+e:e}break;case 5152:case 5920:return Se(e,/(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/,function(n,r,i,o,a,s,l){return $e+r+":"+i+l+(o?$e+r+"-span:"+(a?s:+s-+i)+l:"")+e});case 4949:if(wt(e,A+6)===121)return Se(e,":",":"+Ze)+e;break;case 6444:switch(wt(e,wt(e,14)===45?18:11)){case 120:return Se(e,/(.+:)([^;\s!]+)(;|(\s+)?!.+)?/,"$1"+Ze+(wt(e,14)===45?"inline-":"")+"box$3$1"+Ze+"$2$3$1"+$e+"$2box$3")+e;case 100:return Se(e,":",":"+$e)+e}break;case 5719:case 2647:case 2135:case 3927:case 2391:return Se(e,"scroll-","scroll-snap-")+e}return e}function Ws(e,A){for(var t="",n=0;n<e.length;n++)t+=A(e[n],n,e,A)||"";return t}function g1(e,A,t,n){switch(e.type){case e1:if(e.children.length)break;case A1:case Gd:return e.return=e.return||e.value;case DC:return"";case TC:return e.return=e.value+"{"+Ws(e.children,n)+"}";case Rl:if(!Xn(e.value=e.props.join(",")))return""}return Xn(t=Ws(e.children,n))?e.return=e.value+"{"+t+"}":""}function h1(e){var A=OC(e);return function(t,n,r,i){for(var o="",a=0;a<A;a++)o+=e[a](t,n,r,i)||"";return o}}function f1(e){return function(A){A.root||(A=A.return)&&e(A)}}function p1(e,A,t,n){if(e.length>-1&&!e.return)switch(e.type){case Gd:e.return=GC(e.value,e.length,t);return;case TC:return Ws([xr(e,{value:Se(e.value,"@","@"+Ze)})],n);case Rl:if(e.length)return n1(t=e.props,function(r){switch(ur(r,n=/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":wi(xr(e,{props:[Se(r,/:(read-\w+)/,":"+_o+"$1")]})),wi(xr(e,{props:[r]})),Xu(e,{props:Kh(t,n)});break;case"::placeholder":wi(xr(e,{props:[Se(r,/:(plac\w+)/,":"+Ze+"input-$1")]})),wi(xr(e,{props:[Se(r,/:(plac\w+)/,":"+_o+"$1")]})),wi(xr(e,{props:[Se(r,/:(plac\w+)/,$e+"input-$1")]})),wi(xr(e,{props:[r]})),Xu(e,{props:Kh(t,n)});break}return""})}}var q1={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},hi=typeof process<"u"&&process.env!==void 0&&(process.env.REACT_APP_SC_ATTR||process.env.SC_ATTR)||"data-styled",YC="active",NC="data-styled-version",Fl="6.1.19",Nd=`/*!sc*/
|
|
1067
|
+
`],{type:"application/javascript"}),t=URL.createObjectURL(A);this.heartbeatWorker=new Worker(t),this.heartbeatWorker.onmessage=()=>{const n=new Date().getTime();this.sendMessage({type:0,msg_id:n}),this.pendingMessages.set(n,performance.now())},this.heartbeatWorker.postMessage("start")}stopHeartbeat(){this.heartbeatWorker&&(this.heartbeatWorker.postMessage("stop"),this.heartbeatWorker.terminate(),this.heartbeatWorker=null)}sendMessage(A){var t;((t=this.ws)==null?void 0:t.readyState)===WebSocket.OPEN?(A.type===100&&(this.outNumber=A.data.customer_phone),this.ws.send(JSON.stringify(A)),A.type!==0&&Zh("%cWebSocket 发送消息:","color: green; font-weight: bold;",A)):console.warn("WebSocket 未连接,消息未发送")}close(){var A;this.manualClose=!0,this.stopHeartbeat(),(A=this.ws)==null||A.close()}reconnect(){this.initWebSocket()}static __internalClose(){sr&&(sr.close(),sr=null)}static __internalSend(A){if(!sr)throw new Error("WebSocket 尚未初始化");sr.sendMessage(A)}}class zw{constructor(A){this.sipClient=null,this.sipClient=A}roleMute(){const A=X.get("isCalling"),t=cA.sessionId;if(!A)throw new Error(JSON.stringify({code:1,msg:"当前没有通话"}));if(!t)throw new Error(JSON.stringify({code:1,msg:"当前没有通话"}))}holdCall(){this.roleMute();const A=X.get("isHold"),{sessionId:t}=cA;if(t){if(!X.get("actionConfigs").includes("hold"))throw new Error(JSON.stringify({code:1,msg:"当前状态请勿保持"}));if(A)throw new Error(JSON.stringify({code:1,msg:"当前已处于保持状态"}));Vt.__internalSend({type:qe.CALL_HOLD,data:{session_id:t}})}}unholdCall(){this.roleMute();const{isHold:A}=X.getState(),{sessionId:t}=cA;if(!X.get("actionConfigs").includes("unhold"))throw new Error(JSON.stringify({code:1,msg:"当前状态请勿取消保持"}));if(t){if(!A)throw new Error(JSON.stringify({code:1,msg:"当前未处于保持状态"}));Vt.__internalSend({type:qe.CALL_UNHOLD,data:{session_id:t}})}}sendDTMF(A){if(X.get("answerDevice")!==1)throw new Error(JSON.stringify({code:1,msg:"当前设备不支持此功能"}));if(!X.get("actionConfigs").includes("dtmf"))throw new Error(JSON.stringify({code:1,msg:"当前状态请勿发送按键"}));const{isCalling:t}=X.getState();if(!t)throw new Error(JSON.stringify({code:1,msg:"当前没有通话"}));this.sipClient.sendDTMF(A)}cancelCall(){if(!X.get("isCalling"))throw new Error(JSON.stringify({code:1,msg:"当前没有通话"}));const A=cA.sessionId;vA.emit(pA.REJECT,{session_id:A}),Vt.__internalSend({type:qe.AGENT_HANGUP,data:{session_id:A}})}async consultCall(A){this.roleMute();const{isCalling:t,outCallIsAnswer:n,consultIsAnswer:r,incomingIsAnswer:i}=X.getState(),o=cA.sessionId;if(!X.get("actionConfigs").includes("consult"))throw new Error(JSON.stringify({code:1,msg:"当前状态请勿调用咨询"}));if(r)throw new Error(JSON.stringify({code:1,msg:"当前正在咨询"}));if(!(t||n||i))throw new Error(JSON.stringify({code:1,msg:"当前没有通话"}));if(!o)throw new Error(JSON.stringify({code:1,msg:"sessionId不存在"}));Vt.__internalSend({type:qe.CONSULT_REQUEST,data:{session_id:o,consultation_agent_no:A}})}async answerCall(){if(X.get("answerDevice")!==1)throw new Error(JSON.stringify({code:1,msg:"当前设备不支持此功能"}));await this.sipClient.answerCall()}makeCall(A){const t=X.get("isCalling"),n=X.get("selectOutNumber")||"";if(t)throw new Error(JSON.stringify({code:1,msg:"正在呼叫中,请勿重复点击"}));if(typeof A!="string"||A.trim()==="")throw new Error(JSON.stringify({code:1,msg:"外呼号码非法"}));X.updateIsCalling(!0),X.updateDirection(In.OUTGOING),Vt.__internalSend({type:qe.OUT_CALL,data:{customer_phone:A,caller:n}})}async hangup(){if(!X.get("isCalling"))throw new Error(JSON.stringify({code:1,msg:"当前没有通话"}));const A=cA.sessionId;Vt.__internalSend({type:qe.AGENT_HANGUP,data:{session_id:A}})}mute(){this.roleMute();const A=X.get("actionConfigs"),t=X.get("isMuted"),n=cA.sessionId;if(t)throw new Error(JSON.stringify({code:1,msg:"当前未处于静音状态"}));if(!A.includes("mute"))throw new Error(JSON.stringify({code:1,msg:"当前状态请勿调用静音"}));Vt.__internalSend({type:qe.MUTE,data:{session_id:n}})}unmute(){this.roleMute();const A=X.get("actionConfigs"),t=X.get("isMuted"),n=cA.sessionId;if(!t)throw new Error(JSON.stringify({code:1,msg:"当前未处于未静音状态"}));if(!A.includes("unmute"))throw new Error(JSON.stringify({code:1,msg:"当前状态请勿调用静音"}));Vt.__internalSend({type:qe.UNMUTE,data:{session_id:n}})}consultTransfer(){this.roleMute();const A=X.get("consultIsAnswer"),t=cA.sessionId;if(!X.get("actionConfigs").includes("consult_transfer"))throw new Error(JSON.stringify({code:1,msg:"当前状态请勿调用咨询转移"}));if(!A)throw new Error(JSON.stringify({code:1,msg:"当前未处于咨询中"}));Vt.__internalSend({type:qe.CONSULT_TRANSFER,data:{session_id:t}})}satisfactionEvaluation(){this.roleMute();const A=cA.sessionId;if(!X.get("actionConfigs").includes("satisfaction"))throw new Error(JSON.stringify({code:1,msg:"当前状态请勿调用满意度评价"}));Vt.__internalSend({type:qe.SATISFACTION_EVALUATION,data:{session_id:A}})}startConference(){if(this.roleMute(),!X.get("actionConfigs").includes("conference"))throw new Error(JSON.stringify({code:1,msg:"当前状态请勿调用三方会议"}));const A=cA.sessionId;if(!X.get("consultIsAnswer"))throw new Error(JSON.stringify({code:1,msg:"当前未处于咨询中"}));Vt.__internalSend({type:qe.CONSULT_THREE_WAY,data:{session_id:A}})}consultRetrieve(){if(this.roleMute(),!X.get("actionConfigs").includes("consult_retrieve"))throw new Error(JSON.stringify({code:1,msg:"当前状态请勿取回通话"}));const A=cA.sessionId;if(!X.get("consultIsAnswer"))throw new Error(JSON.stringify({code:1,msg:"当前未处于咨询中"}));Vt.__internalSend({type:qe.CONSULT_RETURN_CALL,data:{session_id:A}})}async transferAgent(A){if(this.roleMute(),!X.get("actionConfigs").includes("transfer"))throw new Error(JSON.stringify({code:1,msg:"当前状态请勿转接"}));const{transferIsAnswer:t}=X.getState(),n=cA.sessionId;if(t)throw new Error(JSON.stringify({code:1,msg:"当前正在转接"}));Vt.__internalSend({type:qe.TRANSFER,data:{session_id:n,transfer_type:0,transfer_dest:A}})}async transferOutline(A){if(this.roleMute(),!X.get("actionConfigs").includes("transfer"))throw new Error(JSON.stringify({code:1,msg:"当前状态请勿转接"}));if(!A)throw new Error(JSON.stringify({code:1,msg:"号码不能为空"}));if(!/^\d+$/.test(A))throw new Error(JSON.stringify({code:1,msg:"号码格式错误"}));const{transferIsAnswer:t}=X.getState(),n=cA.sessionId;if(t)throw new Error(JSON.stringify({code:1,msg:"当前正在转接"}));if(t)throw new Error(JSON.stringify({code:1,msg:"当前正在转接"}));Vt.__internalSend({type:qe.TRANSFER,data:{session_id:n,transfer_type:2,transfer_dest:A}})}}var sn,jt,xt,lt,to,Fr,ya,Ma,no,dr,hl,fl,Hr,bC,RC,pl,xC;const ql=class ql{constructor(){zt(this,Hr);zt(this,jt,null);zt(this,xt,new Od);zt(this,lt);zt(this,to,null);zt(this,Fr,!1);zt(this,ya);zt(this,Ma);zt(this,no,!1);zt(this,dr,null);zt(this,hl,()=>{X.updateIsNextState(!0)});zt(this,fl,()=>{X.updateIsNextState(!1)});zt(this,pl,A=>{const{type:t,data:n}=A;vA.emit(t,n)});if(!sn._creatingInstance)throw new Error("请使用 YSYTAgentSdk.getInstance() 获取实例");clearInterval(ne(this,to)),tn(this,to,setInterval(async()=>{const A=await Ja(this,Hr,xC).call(this);bd.updateRttObject(A)},2e3)),$o.requestMediaPermissions(),tn(this,ya,X.subscribeKey("answerDevice",async A=>{A===1?(await this.initWebRtc(),cA.stateObject.state===ye.UNREGISTERED&&await ne(this,xt)._changeState({data:{...cA.stateBeforeChange,state_name:cA.stateBeforeChange.state===ye.IDLE?"空闲":"忙碌"}})):tn(this,jt,null)})),tn(this,Ma,X.subscribeKey("isNextState",async A=>{if(A){await ne(this,xt)._agentLogin(Yc),X.get("answerDevice")===1&&await ne(this,jt).reconnect();let t="";const n=new URL(ki).host;t=ki.includes("https")?`wss://${n}`:`ws://${n}`;const{agent_no:r}=cA.agentInfo;Vt.getInstance({url:`${t}/ccs-ws/api/v1/ws/call/${r}?Authorization=`,sipClient:ne(this,jt)}),cA.stateObject.state===ye.OFFLINE&&setTimeout(()=>{ne(this,xt)._changeState({data:{...ne(this,dr),state_name:ne(this,dr).state===ye.BUSY&&ne(this,dr).state_name==="整理"?"忙碌":ne(this,dr).state_name},success:()=>{X.updateDisplayText(""),vA.emit(pA.AGENT_STATE,ne(this,dr))}})},10)}else tn(this,dr,cA.stateObject),Vt.__internalClose(),X.updateDisplayText("离线")})),this.on(ae.KICK_OFF,()=>{this.destroy()}),window.addEventListener("online",ne(this,hl)),window.addEventListener("offline",ne(this,fl))}static get instance(){return this._instance}static async destroyInstance(){this._instance&&(await this._instance.destroy(),this._instance=null)}static getInstance(A){if(!this._instance){if(!A)throw new Error("首次调用必须传入配置参数");const{url:t,appKey:n,appSecret:r,agentNo:i}=A;ki=t||"https://aicc-api.yescloudy.com",Fd=n,Ud=r,Yc=i,sn._creatingInstance=!0,this._instance=new sn,delete sn._creatingInstance,window.addEventListener("beforeunload",()=>{var o;(o=this._instance)==null||o.destroy()})}return this._instance}getInit(){return ne(this,no)}async initWebRtc(){if(ne(this,jt))return;const A=cA.agentInfo.sip_account_list.find(t=>t.device_type===1);if(!A)throw new Error(JSON.stringify({code:1,msg:"未找到 sip_account_list"}));{const t=A.sip_register_addr;tn(this,jt,new lw({server:t.split(":")[0],user:A.sip_account,password:A.sip_password,webSocket:`wss://${t}`,callTimeout:3e4},ne(this,pl))),await ne(this,jt).start()}}async init({actionNodeParams:A,enableBrowserAlert:t,logBuiltinEnabled:n,browserAlertTime:r,initialState:i,initDevice:o}){try{const{viewHtmlElement:a,rttHTML:s}=A||{};cA.logBuiltinEnabled=n||!1,cA.browserAlertTime=r||5e3,await ne(this,xt)._agentLogin(Yc);const{agent_no:l,current_answer_device:u,current_state:V,out_display_number:d,out_display_select_switch:f}=cA.agentInfo;(i||V)===ye.IDLE?(X.updateActionConfigs(En),cA.stateObject={state:i||V,state_name:"空闲"}):(i||V)===ye.BUSY&&(X.updateActionConfigs(Wu),cA.stateObject={state:V,state_name:"忙碌"}),f===1?X.updateSelectOutNumber(d):X.updateSelectOutNumber("");let q="";const C=new URL(ki).host;q=ki.includes("https")?`wss://${C}`:`ws://${C}`,X.updateAnswerDevice(o||u),(o||u)===1&&await this.initWebRtc(),setTimeout(()=>{ne(this,xt)._changeState({data:cA.stateObject}),ne(this,xt).changeDevice({data:{device:o||u}})},500),Vt.getInstance({url:`${q}/ccs-ws/api/v1/ws/call/${l}?Authorization=`,sipClient:ne(this,jt)}),tn(this,lt,new zw(ne(this,jt))),A&&a&&(tn(this,Fr,!0),new Pw({container:a,rttHTML:s,statusParams:{state:ye.IDLE,statusName:"空闲"}},this,ne(this,lt))),cA.enableBrowserAlert=t,t&&$o.requestPermission(),vA.emit(ae.AGENT_INIT_STATUS,!0),tn(this,no,!0),clearInterval(sn._timer),sn._timer=null,Ja(this,Hr,RC).call(this)}catch{ne(this,Fr)&&an("初始化失败"),vA.emit(ae.AGENT_INIT_STATUS,!1),tn(this,no,!1)}}on(A,t){return vA.on(A,t),this}off(A,t){vA.off(A,t)}offAll(){vA.clearAllListeners()}async destroyRtc(){var A;await((A=ne(this,jt))==null?void 0:A.destroy()),tn(this,jt,null)}async destroy(){var A,t;sn._instance&&(await this.destroyRtc(),clearInterval(ne(this,to)),Vt.__internalClose(),vA.emit(ae.DESTROY),this.offAll(),(A=ne(this,ya))==null||A.call(this),(t=ne(this,Ma))==null||t.call(this),tn(this,Fr,!1),sn._instance=null,X.reset(),X.updateSelectOutNumber(""),clearInterval(sn._timer),sn._timer=null)}get call_api(){const A=t=>(...n)=>{if(!ne(this,Fr))return t.apply(this,n);console.warn("当前未使用个人开发模式")};return{answerCall:A(()=>ne(this,lt).answerCall()),makeCall:t=>ne(this,lt).makeCall(t),cancelCall:A(()=>ne(this,lt).cancelCall()),hangup:A(()=>ne(this,lt).hangup()),sendDTMF:A(t=>ne(this,lt).sendDTMF(t)),holdCall:A(()=>ne(this,lt).holdCall()),unholdCall:A(()=>ne(this,lt).unholdCall()),consultCall:A(async t=>{try{await ne(this,lt).consultCall(t)}catch(n){throw console.warn(n),n}}),consultRetrieve:A(()=>ne(this,lt).consultRetrieve()),consultTransfer:A(()=>ne(this,lt).consultTransfer()),mute:A(()=>ne(this,lt).mute()),unmute:A(()=>ne(this,lt).unmute()),satisfactionEvaluation:A(()=>ne(this,lt).satisfactionEvaluation()),startConference:A(()=>ne(this,lt).startConference()),transferAgent:A(t=>ne(this,lt).transferAgent(t)),transferOutline:A(t=>ne(this,lt).transferOutline(t))}}get agent_api(){const A=t=>(...n)=>{if(!ne(this,Fr))return t.apply(this,n);console.warn("当前未使用个人开发模式")};return{changeDevice:A(t=>ne(this,xt).changeDevice(t)),changeState:A(t=>ne(this,xt).changeState(t)),getIdleAgentList:A(t=>ne(this,xt).getIdleAgentList(t)),getAgentState:A(t=>ne(this,xt).getAgentState(t)),setAgentExplicit:A(t=>ne(this,xt).setAgentExplicit(t)),checkAgentLogin:t=>ne(this,xt).checkAgentLogin(t),getCallRecord:t=>ne(this,xt).getCallRecord(t),agentLogout:async(t,n)=>{try{await ne(this,xt).logout(t),await this.destroy(),n==null||n({code:0,msg:""})}catch{}}}}getAgentData(){const{agent_no:A,agent_name:t,answer_devices:n,out_display_data:r,out_display_select_switch:i,current_state:o}=cA.agentInfo,{stateObject:a}=cA,s={1:"软电话",2:"手机模式",3:"SIP话机"};return{agent_no:A,agent_name:t,init_state:o,default_device:X.get("answerDevice"),out_display_data:r,out_display_select_switch:i,answer_devices:(n||"").split(",").map(l=>({value:Number(l),label:s[Number(l)]})),stateObject:a}}async getRealTimeCustomerInfo(){return X.get("customerObject")}setBrowserAlert(A){if(typeof A!="boolean")throw new Error(JSON.stringify({code:1,msg:"参数类型错误"}));cA.logBuiltinEnabled=A||!1}setBrowserAlertTime(A){if(typeof A!="number")throw new Error(JSON.stringify({code:1,msg:"参数类型错误"}));cA.browserAlertTime=A||3e3}};jt=new WeakMap,xt=new WeakMap,lt=new WeakMap,to=new WeakMap,Fr=new WeakMap,ya=new WeakMap,Ma=new WeakMap,no=new WeakMap,dr=new WeakMap,hl=new WeakMap,fl=new WeakMap,Hr=new WeakSet,bC=async function(){const A=X.get("isNextState");try{await Jw(),A||X.updateIsNextState(!0)}catch{A&&X.updateIsNextState(!1)}},RC=function(){sn._timer||(sn._timer=setInterval(()=>Ja(this,Hr,bC).call(this),3e3))},pl=new WeakMap,xC=async function(){return ne(this,jt)?ne(this,jt).getNetworkStats():{}},ql._instance=null,ql._timer=null;let On=ql;sn=On;var $t=function(){return $t=Object.assign||function(A){for(var t,n=1,r=arguments.length;n<r;n++){t=arguments[n];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(A[i]=t[i])}return A},$t.apply(this,arguments)};function gi(e,A,t){if(t||arguments.length===2)for(var n=0,r=A.length,i;n<r;n++)(i||!(n in A))&&(i||(i=Array.prototype.slice.call(A,0,n)),i[n]=A[n]);return e.concat(i||Array.prototype.slice.call(A))}function Xw(e){var A=Object.create(null);return function(t){return A[t]===void 0&&(A[t]=e(t)),A[t]}}var $w=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,_w=Xw(function(e){return $w.test(e)||e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)<91}),$e="-ms-",_o="-moz-",Ze="-webkit-",DC="comm",Rl="rule",Gd="decl",A1="@import",TC="@keyframes",e1="@layer",FC=Math.abs,Yd=String.fromCharCode,Xu=Object.assign;function t1(e,A){return wt(e,0)^45?(((A<<2^wt(e,0))<<2^wt(e,1))<<2^wt(e,2))<<2^wt(e,3):0}function UC(e){return e.trim()}function ur(e,A){return(e=A.exec(e))?e[0]:e}function Se(e,A,t){return e.replace(A,t)}function bs(e,A,t){return e.indexOf(A,t)}function wt(e,A){return e.charCodeAt(A)|0}function Vo(e,A,t){return e.slice(A,t)}function Xn(e){return e.length}function OC(e){return e.length}function Lo(e,A){return A.push(e),e}function n1(e,A){return e.map(A).join("")}function Kh(e,A){return e.filter(function(t){return!ur(t,A)})}var xl=1,go=1,kC=0,Bn=0,ft=0,Eo="";function Dl(e,A,t,n,r,i,o,a){return{value:e,root:A,parent:t,type:n,props:r,children:i,line:xl,column:go,length:o,return:"",siblings:a}}function xr(e,A){return Xu(Dl("",null,null,"",null,null,0,e.siblings),e,{length:-e.length},A)}function wi(e){for(;e.root;)e=xr(e.root,{children:[e]});Lo(e,e.siblings)}function r1(){return ft}function i1(){return ft=Bn>0?wt(Eo,--Bn):0,go--,ft===10&&(go=1,xl--),ft}function Un(){return ft=Bn<kC?wt(Eo,Bn++):0,go++,ft===10&&(go=1,xl++),ft}function ci(){return wt(Eo,Bn)}function Rs(){return Bn}function Tl(e,A){return Vo(Eo,e,A)}function $u(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function o1(e){return xl=go=1,kC=Xn(Eo=e),Bn=0,[]}function a1(e){return Eo="",e}function Zc(e){return UC(Tl(Bn-1,_u(e===91?e+2:e===40?e+1:e)))}function s1(e){for(;(ft=ci())&&ft<33;)Un();return $u(e)>2||$u(ft)>3?"":" "}function l1(e,A){for(;--A&&Un()&&!(ft<48||ft>102||ft>57&&ft<65||ft>70&&ft<97););return Tl(e,Rs()+(A<6&&ci()==32&&Un()==32))}function _u(e){for(;Un();)switch(ft){case e:return Bn;case 34:case 39:e!==34&&e!==39&&_u(ft);break;case 40:e===41&&_u(e);break;case 92:Un();break}return Bn}function c1(e,A){for(;Un()&&e+ft!==57;)if(e+ft===84&&ci()===47)break;return"/*"+Tl(A,Bn-1)+"*"+Yd(e===47?e:Un())}function u1(e){for(;!$u(ci());)Un();return Tl(e,Bn)}function V1(e){return a1(xs("",null,null,null,[""],e=o1(e),0,[0],e))}function xs(e,A,t,n,r,i,o,a,s){for(var l=0,u=0,V=o,d=0,f=0,q=0,C=1,p=1,m=1,y=0,M="",B=r,w=i,g=n,Q=M;p;)switch(q=y,y=Un()){case 40:if(q!=108&&wt(Q,V-1)==58){bs(Q+=Se(Zc(y),"&","&\f"),"&\f",FC(l?a[l-1]:0))!=-1&&(m=-1);break}case 34:case 39:case 91:Q+=Zc(y);break;case 9:case 10:case 13:case 32:Q+=s1(q);break;case 92:Q+=l1(Rs()-1,7);continue;case 47:switch(ci()){case 42:case 47:Lo(d1(c1(Un(),Rs()),A,t,s),s);break;default:Q+="/"}break;case 123*C:a[l++]=Xn(Q)*m;case 125*C:case 59:case 0:switch(y){case 0:case 125:p=0;case 59+u:m==-1&&(Q=Se(Q,/\f/g,"")),f>0&&Xn(Q)-V&&Lo(f>32?Lh(Q+";",n,t,V-1,s):Lh(Se(Q," ","")+";",n,t,V-2,s),s);break;case 59:Q+=";";default:if(Lo(g=jh(Q,A,t,l,u,r,a,M,B=[],w=[],V,i),i),y===123)if(u===0)xs(Q,A,g,g,B,i,V,a,w);else switch(d===99&&wt(Q,3)===110?100:d){case 100:case 108:case 109:case 115:xs(e,g,g,n&&Lo(jh(e,g,g,0,0,r,a,M,r,B=[],V,w),w),r,w,V,a,n?B:w);break;default:xs(Q,g,g,g,[""],w,0,a,w)}}l=u=f=0,C=m=1,M=Q="",V=o;break;case 58:V=1+Xn(Q),f=q;default:if(C<1){if(y==123)--C;else if(y==125&&C++==0&&i1()==125)continue}switch(Q+=Yd(y),y*C){case 38:m=u>0?1:(Q+="\f",-1);break;case 44:a[l++]=(Xn(Q)-1)*m,m=1;break;case 64:ci()===45&&(Q+=Zc(Un())),d=ci(),u=V=Xn(M=Q+=u1(Rs())),y++;break;case 45:q===45&&Xn(Q)==2&&(C=0)}}return i}function jh(e,A,t,n,r,i,o,a,s,l,u,V){for(var d=r-1,f=r===0?i:[""],q=OC(f),C=0,p=0,m=0;C<n;++C)for(var y=0,M=Vo(e,d+1,d=FC(p=o[C])),B=e;y<q;++y)(B=UC(p>0?f[y]+" "+M:Se(M,/&\f/g,f[y])))&&(s[m++]=B);return Dl(e,A,t,r===0?Rl:a,s,l,u,V)}function d1(e,A,t,n){return Dl(e,A,t,DC,Yd(r1()),Vo(e,2,-2),0,n)}function Lh(e,A,t,n,r){return Dl(e,A,t,Gd,Vo(e,0,n),Vo(e,n+1,-1),n,r)}function GC(e,A,t){switch(t1(e,A)){case 5103:return Ze+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return Ze+e+e;case 4789:return _o+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return Ze+e+_o+e+$e+e+e;case 5936:switch(wt(e,A+11)){case 114:return Ze+e+$e+Se(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return Ze+e+$e+Se(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return Ze+e+$e+Se(e,/[svh]\w+-[tblr]{2}/,"lr")+e}case 6828:case 4268:case 2903:return Ze+e+$e+e+e;case 6165:return Ze+e+$e+"flex-"+e+e;case 5187:return Ze+e+Se(e,/(\w+).+(:[^]+)/,Ze+"box-$1$2"+$e+"flex-$1$2")+e;case 5443:return Ze+e+$e+"flex-item-"+Se(e,/flex-|-self/g,"")+(ur(e,/flex-|baseline/)?"":$e+"grid-row-"+Se(e,/flex-|-self/g,""))+e;case 4675:return Ze+e+$e+"flex-line-pack"+Se(e,/align-content|flex-|-self/g,"")+e;case 5548:return Ze+e+$e+Se(e,"shrink","negative")+e;case 5292:return Ze+e+$e+Se(e,"basis","preferred-size")+e;case 6060:return Ze+"box-"+Se(e,"-grow","")+Ze+e+$e+Se(e,"grow","positive")+e;case 4554:return Ze+Se(e,/([^-])(transform)/g,"$1"+Ze+"$2")+e;case 6187:return Se(Se(Se(e,/(zoom-|grab)/,Ze+"$1"),/(image-set)/,Ze+"$1"),e,"")+e;case 5495:case 3959:return Se(e,/(image-set\([^]*)/,Ze+"$1$`$1");case 4968:return Se(Se(e,/(.+:)(flex-)?(.*)/,Ze+"box-pack:$3"+$e+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+Ze+e+e;case 4200:if(!ur(e,/flex-|baseline/))return $e+"grid-column-align"+Vo(e,A)+e;break;case 2592:case 3360:return $e+Se(e,"template-","")+e;case 4384:case 3616:return t&&t.some(function(n,r){return A=r,ur(n.props,/grid-\w+-end/)})?~bs(e+(t=t[A].value),"span",0)?e:$e+Se(e,"-start","")+e+$e+"grid-row-span:"+(~bs(t,"span",0)?ur(t,/\d+/):+ur(t,/\d+/)-+ur(e,/\d+/))+";":$e+Se(e,"-start","")+e;case 4896:case 4128:return t&&t.some(function(n){return ur(n.props,/grid-\w+-start/)})?e:$e+Se(Se(e,"-end","-span"),"span ","")+e;case 4095:case 3583:case 4068:case 2532:return Se(e,/(.+)-inline(.+)/,Ze+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(Xn(e)-1-A>6)switch(wt(e,A+1)){case 109:if(wt(e,A+4)!==45)break;case 102:return Se(e,/(.+:)(.+)-([^]+)/,"$1"+Ze+"$2-$3$1"+_o+(wt(e,A+3)==108?"$3":"$2-$3"))+e;case 115:return~bs(e,"stretch",0)?GC(Se(e,"stretch","fill-available"),A,t)+e:e}break;case 5152:case 5920:return Se(e,/(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/,function(n,r,i,o,a,s,l){return $e+r+":"+i+l+(o?$e+r+"-span:"+(a?s:+s-+i)+l:"")+e});case 4949:if(wt(e,A+6)===121)return Se(e,":",":"+Ze)+e;break;case 6444:switch(wt(e,wt(e,14)===45?18:11)){case 120:return Se(e,/(.+:)([^;\s!]+)(;|(\s+)?!.+)?/,"$1"+Ze+(wt(e,14)===45?"inline-":"")+"box$3$1"+Ze+"$2$3$1"+$e+"$2box$3")+e;case 100:return Se(e,":",":"+$e)+e}break;case 5719:case 2647:case 2135:case 3927:case 2391:return Se(e,"scroll-","scroll-snap-")+e}return e}function Ws(e,A){for(var t="",n=0;n<e.length;n++)t+=A(e[n],n,e,A)||"";return t}function g1(e,A,t,n){switch(e.type){case e1:if(e.children.length)break;case A1:case Gd:return e.return=e.return||e.value;case DC:return"";case TC:return e.return=e.value+"{"+Ws(e.children,n)+"}";case Rl:if(!Xn(e.value=e.props.join(",")))return""}return Xn(t=Ws(e.children,n))?e.return=e.value+"{"+t+"}":""}function h1(e){var A=OC(e);return function(t,n,r,i){for(var o="",a=0;a<A;a++)o+=e[a](t,n,r,i)||"";return o}}function f1(e){return function(A){A.root||(A=A.return)&&e(A)}}function p1(e,A,t,n){if(e.length>-1&&!e.return)switch(e.type){case Gd:e.return=GC(e.value,e.length,t);return;case TC:return Ws([xr(e,{value:Se(e.value,"@","@"+Ze)})],n);case Rl:if(e.length)return n1(t=e.props,function(r){switch(ur(r,n=/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":wi(xr(e,{props:[Se(r,/:(read-\w+)/,":"+_o+"$1")]})),wi(xr(e,{props:[r]})),Xu(e,{props:Kh(t,n)});break;case"::placeholder":wi(xr(e,{props:[Se(r,/:(plac\w+)/,":"+Ze+"input-$1")]})),wi(xr(e,{props:[Se(r,/:(plac\w+)/,":"+_o+"$1")]})),wi(xr(e,{props:[Se(r,/:(plac\w+)/,$e+"input-$1")]})),wi(xr(e,{props:[r]})),Xu(e,{props:Kh(t,n)});break}return""})}}var q1={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},hi=typeof process<"u"&&process.env!==void 0&&(process.env.REACT_APP_SC_ATTR||process.env.SC_ATTR)||"data-styled",YC="active",NC="data-styled-version",Fl="6.1.19",Nd=`/*!sc*/
|
|
1068
1068
|
`,zs=typeof window<"u"&&typeof document<"u",m1=!!(typeof SC_DISABLE_SPEEDY=="boolean"?SC_DISABLE_SPEEDY:typeof process<"u"&&process.env!==void 0&&process.env.REACT_APP_SC_DISABLE_SPEEDY!==void 0&&process.env.REACT_APP_SC_DISABLE_SPEEDY!==""?process.env.REACT_APP_SC_DISABLE_SPEEDY!=="false"&&process.env.REACT_APP_SC_DISABLE_SPEEDY:typeof process<"u"&&process.env!==void 0&&process.env.SC_DISABLE_SPEEDY!==void 0&&process.env.SC_DISABLE_SPEEDY!==""?process.env.SC_DISABLE_SPEEDY!=="false"&&process.env.SC_DISABLE_SPEEDY:process.env.NODE_ENV!=="production"),Hh=/invalid hook call/i,ss=new Set,C1=function(e,A){if(process.env.NODE_ENV!=="production"){var t=A?' with the id of "'.concat(A,'"'):"",n="The component ".concat(e).concat(t,` has been created dynamically.
|
|
1069
1069
|
`)+`You may see this warning because you've called styled inside another component.
|
|
1070
1070
|
To resolve this only create new StyledComponents outside of any render method and function component.
|
|
@@ -1556,4 +1556,4 @@ html body {
|
|
|
1556
1556
|
&:hover {
|
|
1557
1557
|
opacity: 0.9;
|
|
1558
1558
|
}
|
|
1559
|
-
`;function E4({title:e,content:A,icon:t,onOk:n,onCancel:r}){const i=document.createElement("div");document.body.appendChild(i);const o=h4.createRoot(i),a=()=>{o.unmount(),i.remove()},s=async()=>{n&&await n(),a()},l=()=>{r==null||r(),a()};o.render(dA.jsx(f4,{children:dA.jsxs(p4,{children:[dA.jsxs(q4,{children:[t&&dA.jsx(m4,{children:t}),e]}),dA.jsx(C4,{children:A}),dA.jsxs(v4,{children:[dA.jsx(kq,{onClick:l,children:"取消"}),dA.jsx(kq,{primary:!0,onClick:s,children:"确定"})]})]})}))}const I4={1:dA.jsx(xe,{name:"ruandianhua"}),2:dA.jsx(xe,{name:"pnhone"}),3:dA.jsx(xe,{name:"sip-phone"})},y4={call_number:"",answer:"接听",reject:"拒接",hangup:"挂机",dtmf:"DTMF",unhold:"取消保持",hold:"保持",mute:"静音",unmute:"取消静音",satisfaction:"满意度",consult:"咨询",consult_transfer:"咨询转接",consult_retrieve:"取回通话",conference:"三方会议"},M4={空闲:1,离线:0,未注册:4},w4=R.lazy(()=>Promise.resolve().then(()=>require("./ConsultModel-D-dfr5nO.js"))),S4=R.lazy(()=>Promise.resolve().then(()=>require("./TransferModel-DwyUZqPZ.js"))),B4=e=>{var ee,pe,RA;const{style:A,logBuiltinEnabled:t,browserAlertTime:n,enableBrowserAlert:r,agentNo:i,appKey:o,appSecret:a,url:s,onCallBack:l,ringingCardShow:u=!0,onLoginCancel:V,isCheckLogin:d,...f}=e,{height:q,busy:C,idle:p,unavailable:m,selectOutNumberColor:y}=A||{},M=R.useRef(),B=R.useRef(),[w,g]=R.useState(new Audio(V4)),[Q,v]=R.useState(new Audio(d4)),[E,h]=R.useState(),[I,b]=R.useState(),[S,x]=R.useState(!1),[D,F]=R.useState(new Date().getTime()),[U,Y]=R.useState(),[K,j]=R.useState(),[Z,G]=R.useState([]),[z,L]=R.useState([]),[P,J]=R.useState(""),[_,W]=R.useState(!1),[tA,rA]=R.useState([]),[oA,AA]=R.useState(""),[hA,H]=R.useState(""),[aA,iA]=R.useState(!1),[IA,MA]=R.useState(!1),[qA,DA]=R.useState(),[UA,OA]=R.useState(new Date().getTime()),[yA,uA]=R.useState(!0),QA=N=>{switch(N){case ye.IDLE:return p||"#1D92E9";case ye.BUSY:return C||"#F5212D";case ye.UNREGISTERED:return m||"#faad14";case ye.OFFLINE:return m||"#8c8c8c";default:return"#1D92E9"}};R.useEffect(()=>((async()=>(x(!0),M.current=On.getInstance({agentNo:i,appKey:o,appSecret:a,url:s}),NA(),M.current.on(ae.PHONE_BAR_OPERATION,N=>{G(N)}),d?await M.current.agent_api.checkAgentLogin({data:{agent_no:i},success:async N=>{N.data.is_login?E4({title:"当前账号已登录!",icon:dA.jsx(xe,{name:"wing",size:20}),content:"是否继续登录",onOk:async()=>{await M.current.init({...f,logBuiltinEnabled:t,browserAlertTime:n,enableBrowserAlert:r}),B.current=M.current.getAgentData()},onCancel:()=>{V==null||V()}}):(await M.current.init({...f,logBuiltinEnabled:t,browserAlertTime:n,enableBrowserAlert:r}),B.current=M.current.getAgentData())}}):(await M.current.init({...f,logBuiltinEnabled:t,browserAlertTime:n,enableBrowserAlert:r}),B.current=M.current.getAgentData()),F(new Date().getTime()),x(!1)))(),()=>{var N;(N=M.current)==null||N.destroy()}),[]);const NA=()=>{var N,gA;(N=M.current)==null||N.on(ae.EVENT_ALL,({event:VA,data:EA})=>{switch(VA){case pA.OUT_SUCCESS:case pA.CONSULT_RINGING:{$A(w),DA("out");return}case pA.OUT_INCOMING_CALL:{l==null||l(pA.OUT_INCOMING_CALL,{customer_phone:EA.customer_phone,session_id:EA.session_id});return}case pA.OUT_OFF_ANSWER:case pA.OUT_FAILED:case pA.CONSULT_FAILED:case pA.OUT_RINGING:case pA.CONSULT_OFF_HOOK:{PA(w);return}case pA.CONSULT_INCOMING:case pA.TRANSFER_INCOMING_CALL:case pA.INCOMING_CALL:{DA("in"),(VA===pA.CONSULT_INCOMING||VA===pA.TRANSFER_INCOMING_CALL)&&(l==null||l(VA,{agent_no:EA.agent_no,agent_name:EA.agent_name,session_id:EA.session_id})),VA===pA.INCOMING_CALL&&(l==null||l(pA.INCOMING_CALL,{customer_phone:EA.customer_phone,session_id:EA.session_id})),$A(Q);return}case pA.TRANSFER_OFF_HOOK:case pA.CONSULT_CALL_IN_SUCCESS:case pA.INCOMING_CALL_OFF_HOOK:{l==null||l(VA,{session_id:EA.session_id}),PA(Q);return}case pA.OUT_HANGUP:case pA.THREE_WAY_OUR_SIDE_HANGUP:case pA.OUR_SIDE_CONSULT_HANGUP:case pA.INCOMING_CALL_END:{l==null||l(VA,{session_id:EA.session_id}),PA(Q),PA(w),DA(void 0),iA(!1),MA(!1);return}case pA.REJECT:l==null||l(VA,{session_id:EA.session_id});return;default:return null}}),(gA=M.current)==null||gA.on(pA.AGENT_STATE,VA=>{j(VA.state_name),F(new Date().getTime())}).on(pA.CALL_PROGRESS,VA=>{J(VA)}).on(ae.WEBSITE_DELAY,VA=>{h(VA)}).on(pA.CUSTOMER_INFO,VA=>{b(VA),VA&&uA(!0)}).on(ae.AGENT_INIT_STATUS,VA=>{if(VA){const{default_device:EA,init_state:T,out_display_select_switch:sA,out_display_data:fA}=M.current.getAgentData();W(sA===1),sA===1&&rA((fA||"").split("#")),Y(EA),j(T===1?"空闲":"忙碌"),ce()}}).on(ae.SELECT_EXTERNAL_NUMBER,VA=>{AA(VA)}).on(ae.FAIL_NOTIFICATION,VA=>{_e.error(VA)}).on(ae.KICK_OFF,()=>{l?l==null||l(ae.KICK_OFF):_e.warning("您的座席账号已在别处登录,请重新登录。如非您本人操作,请及时修改密码。"),j("")}).on(ae.DESTROY,()=>{l==null||l(ae.DESTROY),_e.success("已离线")}).on(ae.NETWORK_OFFLINE,()=>{_e.warning("网络已断开,请检查网络设置。")}).on(ae.NETWORK_ONLINE,()=>{_e.success("网络已恢复")})};R.useEffect(()=>{var N;(N=M.current)==null||N.setBrowserAlertTime(n||3)},[n]),R.useEffect(()=>{var N;(N=M.current)==null||N.setBrowserAlert(r||!1)},[r]);const $A=N=>{N.currentTime=0,N.loop=!0,N.play()},PA=N=>{N.pause()},ZA=async N=>{var gA;try{await((gA=M.current)==null?void 0:gA.agent_api.changeDevice({data:{device:N},success:()=>{Y(N),_e.success("切换设备成功")}}))}catch{}},GA=async(N,gA)=>{var VA;try{await((VA=M.current)==null?void 0:VA.agent_api.changeState({data:{state:N,state_name:gA},success:()=>{j(gA),_e.success("切换状态成功")}}))}catch{}},WA=async N=>{var gA;try{await((gA=M.current)==null?void 0:gA.agent_api.setAgentExplicit({data:{number:N},success:()=>{_e.success(`切换[${N}]外显号码成功`)}}))}catch{}},ce=async()=>{var N;try{await((N=M.current)==null?void 0:N.agent_api.getAgentState({success:gA=>{L(gA.data)}}))}catch{}},_A=async N=>{var gA;try{await((gA=M.current)==null?void 0:gA.call_api.makeCall(N))}catch(VA){const{msg:EA}=JSON.parse(VA.message);_e.warning(EA)}},xA=async()=>{var N;try{await((N=M.current)==null?void 0:N.call_api.answerCall())}catch(gA){const{msg:VA}=JSON.parse(gA.message);_e.warning(VA)}},SA=async()=>{var N;try{(N=M.current)==null||N.call_api.cancelCall()}catch(gA){const{msg:VA}=JSON.parse(gA.message);_e.warning(VA)}},ie=async()=>{var N;try{await((N=M.current)==null?void 0:N.call_api.hangup())}catch(gA){const{msg:VA}=JSON.parse(gA.message);_e.warning(VA)}},se=async()=>{var N;try{(N=M.current)==null||N.call_api.holdCall()}catch(gA){const{msg:VA}=JSON.parse(gA.message);_e.warning(VA)}},me=()=>{var N;(N=M.current)==null||N.call_api.unholdCall()},Re=async N=>{var gA;try{await((gA=M.current)==null?void 0:gA.call_api.consultCall(N))}catch(VA){const{msg:EA}=JSON.parse(VA.message);_e.warning(EA)}},ze=async()=>{var N;try{(N=M.current)==null||N.call_api.consultRetrieve()}catch(gA){const{msg:VA}=JSON.parse(gA.message);_e.warning(VA)}},We=async()=>{var N;try{(N=M.current)==null||N.call_api.consultTransfer()}catch(gA){const{msg:VA}=JSON.parse(gA.message);_e.warning(VA)}},et=()=>{var N;try{(N=M.current)==null||N.call_api.mute()}catch(gA){const{msg:VA}=JSON.parse(gA.message);_e.warning(VA)}},Xe=()=>{var N;try{(N=M.current)==null||N.call_api.unmute()}catch(gA){const{msg:VA}=JSON.parse(gA.message);_e.warning(VA)}},Le=()=>{var N;try{(N=M.current)==null||N.call_api.satisfactionEvaluation()}catch(gA){const{msg:VA}=JSON.parse(gA.message);_e.warning(VA)}},Be=()=>{var N;try{(N=M.current)==null||N.call_api.startConference()}catch(gA){const{msg:VA}=JSON.parse(gA.message);_e.warning(VA)}},fe=async N=>{var gA;try{await((gA=M.current)==null?void 0:gA.call_api.transferAgent(N))}catch(VA){const{msg:EA}=JSON.parse(VA.message);_e.warning(EA)}},KA=async N=>{var gA;try{await((gA=M.current)==null?void 0:gA.call_api.transferOutline(N))}catch(VA){const{msg:EA}=JSON.parse(VA.message);_e.warning(EA)}},zA=dA.jsx(s4,{onPressEnter:N=>{N&&_A(N)}},UA),BA=R.useMemo(()=>[{name:"call_number",icon:dA.jsx(na,{trigger:"click",rootClassName:"call-number-popover",destroyTooltipOnHide:!0,onOpenChange:gA=>{OA(new Date().getTime())},content:zA,children:dA.jsx("span",{children:dA.jsx(xe,{name:"boda",color:"#48D866",size:25})})})},{name:"answer",icon:dA.jsx(xe,{name:"jieting",onClick:xA,size:25})},{name:"reject",icon:dA.jsx(xe,{name:"jujie",color:"red",onClick:SA,size:25})},{name:"hangup",icon:dA.jsx(xe,{name:"guaji",color:"red",onClick:ie,size:25})},{name:"hold",icon:dA.jsx(xe,{name:"baochi",color:"#1D92E9",onClick:se,size:25})},{name:"unhold",icon:dA.jsx(xe,{name:"quxiaobaochi",color:"#1D92E9",onClick:me,size:25})},{name:"mute",icon:dA.jsx(xe,{name:"mk",onClick:et,color:"#1D92E9",size:25})},{name:"unmute",icon:dA.jsx(xe,{name:"guanbimk",onClick:Xe,color:"#1D92E9",size:25})},{name:"satisfaction",icon:dA.jsx(xe,{name:"manyidu",onClick:Le,size:25})},{name:"consult",icon:dA.jsx(xe,{name:"zixun",onClick:()=>{iA(!0)},size:25})},{name:"consult_transfer",icon:dA.jsx(xe,{name:"zhuanjie",onClick:We,size:25})},{name:"transfer",icon:dA.jsx(xe,{size:25,name:"zhuanjie",onClick:()=>{MA(!0)}})},{name:"consult_retrieve",icon:dA.jsx(xe,{name:"fanhui",color:"#ffc53d",size:25,onClick:ze})},{name:"conference",icon:dA.jsx(xe,{name:"huiyi",onClick:Be,size:25})}].filter(({name:gA})=>Z.includes(gA)),[Z]);return dA.jsx(dA.Fragment,{children:dA.jsxs(nr,{prefixCls:"ysyt",theme:{components:{Select:{selectorBg:"none"}}},children:[K?dA.jsx(lc,{spinning:S,children:dA.jsxs(tS,{height:q,children:[dA.jsx(nS,{children:dA.jsx(vi,{variant:"underlined",value:U,onChange:N=>{ZA(N)},options:(((ee=B.current)==null?void 0:ee.answer_devices)||[]).map(N=>({...N,label:dA.jsxs("div",{style:{display:"flex",alignItems:"center"},children:[I4[N.value],dA.jsx("span",{style:{marginLeft:5},children:N.label})]})})),style:{width:140}})}),dA.jsxs(rS,{background:QA(M4[K]??2),children:[dA.jsxs("div",{className:"ysyt-strip",children:[dA.jsx("div",{children:P?dA.jsx("span",{className:"ysyt-strip-state-name",children:P}):dA.jsx(Jv,{trigger:["click"],menu:{items:z.map(N=>({label:dA.jsxs("div",{style:{display:"flex",alignItems:"center"},children:[N.state===1?dA.jsx(xe,{name:"kongxian",color:"#7cb305",size:16}):dA.jsx(xe,{name:"manglu",color:"#f5222d",size:16}),dA.jsx("span",{style:{marginLeft:10},children:N.state_name})]}),key:N.state_name,onClick:()=>{GA(N.state,N.state_name)}}))},children:dA.jsxs("div",{style:{color:"#fff",cursor:"pointer",display:"flex",alignItems:"center"},children:[K==="空闲"?dA.jsx(xe,{name:"kongxian",color:"#fff",size:20}):dA.jsx(dA.Fragment,{children:K==="未注册"?dA.jsx(xe,{name:"unregistered",size:20}):dA.jsx(xe,{name:"manglu2",size:20})}),dA.jsx("span",{style:{margin:"0 10px"},children:K}),dA.jsx(xe,{name:"xia",color:"#fff"})]})})}),dA.jsx("div",{className:"ysyt-strip-time",children:dA.jsx(u4,{},D)}),u&&I&&dA.jsx("div",{className:"ysyt-strip-call-card",onClick:()=>uA(!yA),children:yA?dA.jsx(xe,{name:"unopen",color:"#fff"}):dA.jsx(xe,{name:"open",color:"#fff"})})]}),dA.jsx("div",{className:"ysyt-action",children:BA.map(({name:N,icon:gA})=>dA.jsx(Za,{title:y4[N],children:gA},N))}),_&&dA.jsx(gS,{children:dA.jsx("div",{children:dA.jsx(na,{trigger:"click",title:"外显号码池",onOpenChange:N=>{N||H("")},content:dA.jsxs(hS,{children:[dA.jsx("div",{children:dA.jsx(zr,{value:hA,placeholder:"请输入外显号码",onChange:N=>H(N.target.value)})}),dA.jsx("div",{className:"ysyt-number-content",children:dA.jsx(Ua.Group,{value:oA,onChange:N=>{WA(N.target.value)},options:tA.filter(N=>N.includes(hA)).map(N=>({label:dA.jsx(fS,{style:{color:oA===N?"#1D92E9":""},children:N},N),value:N}))})})]}),children:dA.jsxs("div",{style:{fontSize:14,cursor:"pointer",color:y||"#333",display:"flex",alignItems:"center"},children:[dA.jsx(xe,{name:"external",color:y||"#333"}),dA.jsx("span",{style:{margin:"0 5px"},children:"外显号码"}),dA.jsx(xe,{name:"xia",color:y||"#333"})]})})})})]}),dA.jsx(cS,{children:E&&E.rtt&&dA.jsx("div",{children:dA.jsx(na,{content:dA.jsxs("div",{children:[dA.jsxs("div",{children:["延迟: ",E.rtt,"ms"]}),E.jitter&&dA.jsxs("div",{children:["抖动: ",E.jitter,"ms"]}),dA.jsxs("div",{children:["丢包: ",E.packetsLost||0]}),E.packetsReceived?dA.jsxs("div",{children:["接收: ",E.packetsReceived]}):null,E.packetsSent?dA.jsxs("div",{children:["发送: ",E.packetsSent]}):null,E.sendBitrate?dA.jsxs("div",{children:["发送码率: ",E.sendBitrate,"KB/s"]}):null,E.recvBitrate?dA.jsxs("div",{children:["接收码率: ",E.recvBitrate,"KB/s"]}):null]}),placement:"bottomLeft",children:dA.jsxs("div",{style:{padding:"0 10px"},children:[E.rtt>=250?dA.jsx(xe,{name:"wifi1"}):"",E.rtt>=121&&E.rtt<250?dA.jsx(xe,{name:"wifi2"}):"",E.rtt<=120?dA.jsx(xe,{name:"wifi3"}):""]})})})}),u&&dA.jsxs(dS,{height:q,show:!!I&&yA,children:[dA.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:10},children:[dA.jsxs("div",{style:{display:"flex",alignItems:"center"},children:[(I==null?void 0:I.is_vip)===1&&dA.jsx(xe,{name:"vip"}),dA.jsx("span",{style:{marginLeft:5},children:I==null?void 0:I.customer_name})]}),dA.jsx("b",{children:I==null?void 0:I.phone})]}),dA.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[dA.jsxs("span",{children:[I==null?void 0:I.province,"-",I==null?void 0:I.city]}),qA&&dA.jsxs("span",{children:[qA==="out"?"呼出次数:":"呼入次数:",dA.jsx("span",{style:{color:"#1D92E9"},children:qA==="out"?I==null?void 0:I.contact_count:I==null?void 0:I.in_contact_count})]})]})]})]})}):dA.jsx(dA.Fragment,{}),dA.jsx(R.Suspense,{children:aA&&((pe=M.current)==null?void 0:pe.agent_api)&&dA.jsx(w4,{open:aA,queryFetch:M.current.agent_api.getIdleAgentList,onCallBack:N=>{iA(!1),N&&Re(N)}})}),dA.jsx(R.Suspense,{children:IA&&((RA=M.current)==null?void 0:RA.agent_api)&&dA.jsx(S4,{open:IA,queryFetch:M.current.agent_api.getIdleAgentList,onCallBack:(N,gA)=>{MA(!1),N&&(gA===0?fe(N):gA===1&&KA(N))}})})]})})},Q4=e=>{var A;return(A=On.getInstance())==null?void 0:A.call_api.makeCall(e)},b4=()=>{var e;return(e=On.getInstance())==null?void 0:e.getRealTimeCustomerInfo()},R4=async e=>{var A,t;if(e!==ye.IDLE&&e!==ye.BUSY)throw new Error("Invalid agent state");try{await((t=(A=On.getInstance())==null?void 0:A.agent_api)==null?void 0:t.changeState({data:{state:e,state_name:e===ye.IDLE?"空闲":"忙碌"}}))}catch(n){console.error(n)}},x4=async e=>{var A,t;try{await((t=(A=On.getInstance())==null?void 0:A.agent_api)==null?void 0:t.changeDevice({data:{device:e}}))}catch(n){console.error(n)}},D4=async(e=!1,A)=>{var t,n;try{await((n=(t=On.getInstance())==null?void 0:t.agent_api)==null?void 0:n.agentLogout({data:{offline_answer:e},success:()=>{A==null||A()}}))}catch(r){console.log(r)}};exports.Button=fi;exports.CONTAINER_MAX_OFFSET=$d;exports.CSSMotion=qi;exports.ConfigContext=Oe;exports.ConfigProvider=nr;exports.ContextIsolator=ma;exports.DisabledContextProvider=Om;exports.Empty=gr;exports.FastColor=Ke;exports.Input=zr;exports.KeyCode=re;exports.Keyframe=Ue;exports.ModelBody=lS;exports.Portal=Ac;exports.Radio=Ua;exports.RefIcon=oc;exports.RefIcon$1=qg;exports.RefIcon$2=Oa;exports.RefIcon$3=pg;exports.RefIcon$4=mg;exports.Space=ic;exports.Spin=lc;exports.Wave=Zl;exports.YsytBarPhone=B4;exports.YsytIconSvg=xe;exports._extends=FA;exports._objectSpread2=k;exports._slicedToArray=$;exports._toConsumableArray=wA;exports._typeof=Ae;exports.agentLogout=D4;exports.canUseDom=Ot;exports.classNames=nA;exports.clearFix=Ys;exports.contains=Hq;exports.convertLegacyProps=ex;exports.devUseWarning=at;exports.genFocusStyle=Ns;exports.genPresetColor=Rm;exports.genStyleHooks=Qt;exports.genSubStyleComponent=bm;exports.getConfirmLocale=Yy;exports.getCustomerInfo=b4;exports.getReactRender=tg;exports.getTransitionName=Jl;exports.globalConfig=Bd;exports.initMotion=Gl;exports.initZoomMotion=ba;exports.isPresetColor=Nv;exports.isPresetStatusColor=QF;exports.jsxRuntimeExports=dA;exports.localeValues=Vi;exports.makeCall=Q4;exports.merge=Je;exports.omit=_t;exports.pickAttrs=jr;exports.replaceElement=S0;exports.resetComponent=Lt;exports.setAgentDevice=x4;exports.setAgentInitState=R4;exports.unit=mA;exports.useCSSVarCls=Kn;exports.useComponentConfig=tr;exports.useComposeRef=Jr;exports.useEvent=rt;exports.useId=Kl;exports.useLocale=yl;exports.useSafeState=ao;exports.useToken=dn;exports.useZIndex=xa;exports.warnContext=$m;exports.warning=Nr;exports.withPureRenderTheme=vv;exports.zIndexContext=Ra;
|
|
1559
|
+
`;function E4({title:e,content:A,icon:t,onOk:n,onCancel:r}){const i=document.createElement("div");document.body.appendChild(i);const o=h4.createRoot(i),a=()=>{o.unmount(),i.remove()},s=async()=>{n&&await n(),a()},l=()=>{r==null||r(),a()};o.render(dA.jsx(f4,{children:dA.jsxs(p4,{children:[dA.jsxs(q4,{children:[t&&dA.jsx(m4,{children:t}),e]}),dA.jsx(C4,{children:A}),dA.jsxs(v4,{children:[dA.jsx(kq,{onClick:l,children:"取消"}),dA.jsx(kq,{primary:!0,onClick:s,children:"确定"})]})]})}))}const I4={1:dA.jsx(xe,{name:"ruandianhua"}),2:dA.jsx(xe,{name:"pnhone"}),3:dA.jsx(xe,{name:"sip-phone"})},y4={call_number:"",answer:"接听",reject:"拒接",hangup:"挂机",dtmf:"DTMF",unhold:"取消保持",hold:"保持",mute:"静音",unmute:"取消静音",satisfaction:"满意度",consult:"咨询",consult_transfer:"咨询转接",consult_retrieve:"取回通话",conference:"三方会议"},M4={空闲:1,离线:0,未注册:4},w4=R.lazy(()=>Promise.resolve().then(()=>require("./ConsultModel-BE6iiTIf.js"))),S4=R.lazy(()=>Promise.resolve().then(()=>require("./TransferModel-BAiVEc-q.js"))),B4=e=>{var ee,pe,RA;const{style:A,logBuiltinEnabled:t,browserAlertTime:n,enableBrowserAlert:r,agentNo:i,appKey:o,appSecret:a,url:s,onCallBack:l,ringingCardShow:u=!0,onLoginCancel:V,isCheckLogin:d,...f}=e,{height:q,busy:C,idle:p,unavailable:m,selectOutNumberColor:y}=A||{},M=R.useRef(),B=R.useRef(),[w,g]=R.useState(new Audio(V4)),[Q,v]=R.useState(new Audio(d4)),[E,h]=R.useState(),[I,b]=R.useState(),[S,x]=R.useState(!1),[D,F]=R.useState(new Date().getTime()),[U,Y]=R.useState(),[K,j]=R.useState(),[Z,G]=R.useState([]),[z,L]=R.useState([]),[P,J]=R.useState(""),[_,W]=R.useState(!1),[tA,rA]=R.useState([]),[oA,AA]=R.useState(""),[hA,H]=R.useState(""),[aA,iA]=R.useState(!1),[IA,MA]=R.useState(!1),[qA,DA]=R.useState(),[UA,OA]=R.useState(new Date().getTime()),[yA,uA]=R.useState(!0),QA=N=>{switch(N){case ye.IDLE:return p||"#1D92E9";case ye.BUSY:return C||"#F5212D";case ye.UNREGISTERED:return m||"#faad14";case ye.OFFLINE:return m||"#8c8c8c";default:return"#1D92E9"}};R.useEffect(()=>((async()=>(x(!0),M.current=On.getInstance({agentNo:i,appKey:o,appSecret:a,url:s}),NA(),M.current.on(ae.PHONE_BAR_OPERATION,N=>{G(N)}),d?await M.current.agent_api.checkAgentLogin({data:{agent_no:i},success:async N=>{N.data.is_login?E4({title:"当前账号已登录!",icon:dA.jsx(xe,{name:"wing",size:20}),content:"是否继续登录",onOk:async()=>{await M.current.init({...f,logBuiltinEnabled:t,browserAlertTime:n,enableBrowserAlert:r}),B.current=M.current.getAgentData()},onCancel:()=>{V==null||V()}}):(await M.current.init({...f,logBuiltinEnabled:t,browserAlertTime:n,enableBrowserAlert:r}),B.current=M.current.getAgentData())}}):(await M.current.init({...f,logBuiltinEnabled:t,browserAlertTime:n,enableBrowserAlert:r}),B.current=M.current.getAgentData()),F(new Date().getTime()),x(!1)))(),()=>{var N;(N=M.current)==null||N.destroy()}),[]);const NA=()=>{var N,gA;(N=M.current)==null||N.on(ae.EVENT_ALL,({event:VA,data:EA})=>{switch(VA){case pA.OUT_SUCCESS:case pA.CONSULT_RINGING:{$A(w),DA("out");return}case pA.OUT_INCOMING_CALL:{l==null||l(pA.OUT_INCOMING_CALL,{customer_phone:EA.customer_phone,session_id:EA.session_id});return}case pA.OUT_OFF_ANSWER:case pA.OUT_FAILED:case pA.CONSULT_FAILED:case pA.OUT_RINGING:case pA.CONSULT_OFF_HOOK:{PA(w);return}case pA.CONSULT_INCOMING:case pA.TRANSFER_INCOMING_CALL:case pA.INCOMING_CALL:{DA("in"),(VA===pA.CONSULT_INCOMING||VA===pA.TRANSFER_INCOMING_CALL)&&(l==null||l(VA,{agent_no:EA.agent_no,agent_name:EA.agent_name,session_id:EA.session_id})),VA===pA.INCOMING_CALL&&(l==null||l(pA.INCOMING_CALL,{customer_phone:EA.customer_phone,session_id:EA.session_id})),$A(Q);return}case pA.TRANSFER_OFF_HOOK:case pA.CONSULT_CALL_IN_SUCCESS:case pA.INCOMING_CALL_OFF_HOOK:{l==null||l(VA,{session_id:EA.session_id}),PA(Q);return}case pA.OUT_HANGUP:case pA.TRANSFER_END:case pA.THREE_WAY_OUR_SIDE_HANGUP:case pA.OUR_SIDE_CONSULT_HANGUP:case pA.INCOMING_CALL_END:{l==null||l(VA,{session_id:EA.session_id}),PA(Q),PA(w),DA(void 0),iA(!1),MA(!1);return}case pA.REJECT:l==null||l(VA,{session_id:EA.session_id});return;default:return null}}),(gA=M.current)==null||gA.on(pA.AGENT_STATE,VA=>{j(VA.state_name),F(new Date().getTime())}).on(pA.CALL_PROGRESS,VA=>{J(VA)}).on(ae.WEBSITE_DELAY,VA=>{h(VA)}).on(pA.CUSTOMER_INFO,VA=>{b(VA),VA&&uA(!0)}).on(ae.AGENT_INIT_STATUS,VA=>{if(VA){const{default_device:EA,init_state:T,out_display_select_switch:sA,out_display_data:fA}=M.current.getAgentData();W(sA===1),sA===1&&rA((fA||"").split("#")),Y(EA),j(T===1?"空闲":"忙碌"),ce()}}).on(ae.SELECT_EXTERNAL_NUMBER,VA=>{AA(VA)}).on(ae.FAIL_NOTIFICATION,VA=>{_e.error(VA)}).on(ae.KICK_OFF,()=>{l?l==null||l(ae.KICK_OFF):_e.warning("您的座席账号已在别处登录,请重新登录。如非您本人操作,请及时修改密码。"),j("")}).on(ae.DESTROY,()=>{l==null||l(ae.DESTROY),_e.success("已离线")}).on(ae.NETWORK_OFFLINE,()=>{_e.warning("网络已断开,请检查网络设置。")}).on(ae.NETWORK_ONLINE,()=>{_e.success("网络已恢复")})};R.useEffect(()=>{var N;(N=M.current)==null||N.setBrowserAlertTime(n||3)},[n]),R.useEffect(()=>{var N;(N=M.current)==null||N.setBrowserAlert(r||!1)},[r]);const $A=N=>{N.currentTime=0,N.loop=!0,N.play()},PA=N=>{N.pause()},ZA=async N=>{var gA;try{await((gA=M.current)==null?void 0:gA.agent_api.changeDevice({data:{device:N},success:()=>{Y(N),_e.success("切换设备成功")}}))}catch{}},GA=async(N,gA)=>{var VA;try{await((VA=M.current)==null?void 0:VA.agent_api.changeState({data:{state:N,state_name:gA},success:()=>{j(gA),_e.success("切换状态成功")}}))}catch{}},WA=async N=>{var gA;try{await((gA=M.current)==null?void 0:gA.agent_api.setAgentExplicit({data:{number:N},success:()=>{_e.success(`切换[${N}]外显号码成功`)}}))}catch{}},ce=async()=>{var N;try{await((N=M.current)==null?void 0:N.agent_api.getAgentState({success:gA=>{L(gA.data)}}))}catch{}},_A=async N=>{var gA;try{await((gA=M.current)==null?void 0:gA.call_api.makeCall(N))}catch(VA){const{msg:EA}=JSON.parse(VA.message);_e.warning(EA)}},xA=async()=>{var N;try{await((N=M.current)==null?void 0:N.call_api.answerCall())}catch(gA){const{msg:VA}=JSON.parse(gA.message);_e.warning(VA)}},SA=async()=>{var N;try{(N=M.current)==null||N.call_api.cancelCall()}catch(gA){const{msg:VA}=JSON.parse(gA.message);_e.warning(VA)}},ie=async()=>{var N;try{await((N=M.current)==null?void 0:N.call_api.hangup())}catch(gA){const{msg:VA}=JSON.parse(gA.message);_e.warning(VA)}},se=async()=>{var N;try{(N=M.current)==null||N.call_api.holdCall()}catch(gA){const{msg:VA}=JSON.parse(gA.message);_e.warning(VA)}},me=()=>{var N;(N=M.current)==null||N.call_api.unholdCall()},Re=async N=>{var gA;try{await((gA=M.current)==null?void 0:gA.call_api.consultCall(N))}catch(VA){const{msg:EA}=JSON.parse(VA.message);_e.warning(EA)}},ze=async()=>{var N;try{(N=M.current)==null||N.call_api.consultRetrieve()}catch(gA){const{msg:VA}=JSON.parse(gA.message);_e.warning(VA)}},We=async()=>{var N;try{(N=M.current)==null||N.call_api.consultTransfer()}catch(gA){const{msg:VA}=JSON.parse(gA.message);_e.warning(VA)}},et=()=>{var N;try{(N=M.current)==null||N.call_api.mute()}catch(gA){const{msg:VA}=JSON.parse(gA.message);_e.warning(VA)}},Xe=()=>{var N;try{(N=M.current)==null||N.call_api.unmute()}catch(gA){const{msg:VA}=JSON.parse(gA.message);_e.warning(VA)}},Le=()=>{var N;try{(N=M.current)==null||N.call_api.satisfactionEvaluation()}catch(gA){const{msg:VA}=JSON.parse(gA.message);_e.warning(VA)}},Be=()=>{var N;try{(N=M.current)==null||N.call_api.startConference()}catch(gA){const{msg:VA}=JSON.parse(gA.message);_e.warning(VA)}},fe=async N=>{var gA;try{await((gA=M.current)==null?void 0:gA.call_api.transferAgent(N))}catch(VA){const{msg:EA}=JSON.parse(VA.message);_e.warning(EA)}},KA=async N=>{var gA;try{await((gA=M.current)==null?void 0:gA.call_api.transferOutline(N))}catch(VA){const{msg:EA}=JSON.parse(VA.message);_e.warning(EA)}},zA=dA.jsx(s4,{onPressEnter:N=>{N&&_A(N)}},UA),BA=R.useMemo(()=>[{name:"call_number",icon:dA.jsx(na,{trigger:"click",rootClassName:"call-number-popover",destroyTooltipOnHide:!0,onOpenChange:gA=>{OA(new Date().getTime())},content:zA,children:dA.jsx("span",{children:dA.jsx(xe,{name:"boda",color:"#48D866",size:25})})})},{name:"answer",icon:dA.jsx(xe,{name:"jieting",onClick:xA,size:25})},{name:"reject",icon:dA.jsx(xe,{name:"jujie",color:"red",onClick:SA,size:25})},{name:"hangup",icon:dA.jsx(xe,{name:"guaji",color:"red",onClick:ie,size:25})},{name:"hold",icon:dA.jsx(xe,{name:"baochi",color:"#1D92E9",onClick:se,size:25})},{name:"unhold",icon:dA.jsx(xe,{name:"quxiaobaochi",color:"#1D92E9",onClick:me,size:25})},{name:"mute",icon:dA.jsx(xe,{name:"mk",onClick:et,color:"#1D92E9",size:25})},{name:"unmute",icon:dA.jsx(xe,{name:"guanbimk",onClick:Xe,color:"#1D92E9",size:25})},{name:"satisfaction",icon:dA.jsx(xe,{name:"manyidu",onClick:Le,size:25})},{name:"consult",icon:dA.jsx(xe,{name:"zixun",onClick:()=>{iA(!0)},size:25})},{name:"consult_transfer",icon:dA.jsx(xe,{name:"zhuanjie",onClick:We,size:25})},{name:"transfer",icon:dA.jsx(xe,{size:25,name:"zhuanjie",onClick:()=>{MA(!0)}})},{name:"consult_retrieve",icon:dA.jsx(xe,{name:"fanhui",color:"#ffc53d",size:25,onClick:ze})},{name:"conference",icon:dA.jsx(xe,{name:"huiyi",onClick:Be,size:25})}].filter(({name:gA})=>Z.includes(gA)),[Z]);return dA.jsx(dA.Fragment,{children:dA.jsxs(nr,{prefixCls:"ysyt",theme:{components:{Select:{selectorBg:"none"}}},children:[K?dA.jsx(lc,{spinning:S,children:dA.jsxs(tS,{height:q,children:[dA.jsx(nS,{children:dA.jsx(vi,{variant:"underlined",value:U,onChange:N=>{ZA(N)},options:(((ee=B.current)==null?void 0:ee.answer_devices)||[]).map(N=>({...N,label:dA.jsxs("div",{style:{display:"flex",alignItems:"center"},children:[I4[N.value],dA.jsx("span",{style:{marginLeft:5},children:N.label})]})})),style:{width:140}})}),dA.jsxs(rS,{background:QA(M4[K]??2),children:[dA.jsxs("div",{className:"ysyt-strip",children:[dA.jsx("div",{children:P?dA.jsx("span",{className:"ysyt-strip-state-name",children:P}):dA.jsx(Jv,{trigger:["click"],menu:{items:z.map(N=>({label:dA.jsxs("div",{style:{display:"flex",alignItems:"center"},children:[N.state===1?dA.jsx(xe,{name:"kongxian",color:"#7cb305",size:16}):dA.jsx(xe,{name:"manglu",color:"#f5222d",size:16}),dA.jsx("span",{style:{marginLeft:10},children:N.state_name})]}),key:N.state_name,onClick:()=>{GA(N.state,N.state_name)}}))},children:dA.jsxs("div",{style:{color:"#fff",cursor:"pointer",display:"flex",alignItems:"center"},children:[K==="空闲"?dA.jsx(xe,{name:"kongxian",color:"#fff",size:20}):dA.jsx(dA.Fragment,{children:K==="未注册"?dA.jsx(xe,{name:"unregistered",size:20}):dA.jsx(xe,{name:"manglu2",size:20})}),dA.jsx("span",{style:{margin:"0 10px"},children:K}),dA.jsx(xe,{name:"xia",color:"#fff"})]})})}),dA.jsx("div",{className:"ysyt-strip-time",children:dA.jsx(u4,{},D)}),u&&I&&dA.jsx("div",{className:"ysyt-strip-call-card",onClick:()=>uA(!yA),children:yA?dA.jsx(xe,{name:"unopen",color:"#fff"}):dA.jsx(xe,{name:"open",color:"#fff"})})]}),dA.jsx("div",{className:"ysyt-action",children:BA.map(({name:N,icon:gA})=>dA.jsx(Za,{title:y4[N],children:gA},N))}),_&&dA.jsx(gS,{children:dA.jsx("div",{children:dA.jsx(na,{trigger:"click",title:"外显号码池",onOpenChange:N=>{N||H("")},content:dA.jsxs(hS,{children:[dA.jsx("div",{children:dA.jsx(zr,{value:hA,placeholder:"请输入外显号码",onChange:N=>H(N.target.value)})}),dA.jsx("div",{className:"ysyt-number-content",children:dA.jsx(Ua.Group,{value:oA,onChange:N=>{WA(N.target.value)},options:tA.filter(N=>N.includes(hA)).map(N=>({label:dA.jsx(fS,{style:{color:oA===N?"#1D92E9":""},children:N},N),value:N}))})})]}),children:dA.jsxs("div",{style:{fontSize:14,cursor:"pointer",color:y||"#333",display:"flex",alignItems:"center"},children:[dA.jsx(xe,{name:"external",color:y||"#333"}),dA.jsx("span",{style:{margin:"0 5px"},children:"外显号码"}),dA.jsx(xe,{name:"xia",color:y||"#333"})]})})})})]}),dA.jsx(cS,{children:E&&E.rtt&&dA.jsx("div",{children:dA.jsx(na,{content:dA.jsxs("div",{children:[dA.jsxs("div",{children:["延迟: ",E.rtt,"ms"]}),E.jitter&&dA.jsxs("div",{children:["抖动: ",E.jitter,"ms"]}),dA.jsxs("div",{children:["丢包: ",E.packetsLost||0]}),E.packetsReceived?dA.jsxs("div",{children:["接收: ",E.packetsReceived]}):null,E.packetsSent?dA.jsxs("div",{children:["发送: ",E.packetsSent]}):null,E.sendBitrate?dA.jsxs("div",{children:["发送码率: ",E.sendBitrate,"KB/s"]}):null,E.recvBitrate?dA.jsxs("div",{children:["接收码率: ",E.recvBitrate,"KB/s"]}):null]}),placement:"bottomLeft",children:dA.jsxs("div",{style:{padding:"0 10px"},children:[E.rtt>=250?dA.jsx(xe,{name:"wifi1"}):"",E.rtt>=121&&E.rtt<250?dA.jsx(xe,{name:"wifi2"}):"",E.rtt<=120?dA.jsx(xe,{name:"wifi3"}):""]})})})}),u&&dA.jsxs(dS,{height:q,show:!!I&&yA,children:[dA.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:10},children:[dA.jsxs("div",{style:{display:"flex",alignItems:"center"},children:[(I==null?void 0:I.is_vip)===1&&dA.jsx(xe,{name:"vip"}),dA.jsx("span",{style:{marginLeft:5},children:I==null?void 0:I.customer_name})]}),dA.jsx("b",{children:I==null?void 0:I.phone})]}),dA.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[dA.jsxs("span",{children:[I==null?void 0:I.province,"-",I==null?void 0:I.city]}),qA&&dA.jsxs("span",{children:[qA==="out"?"呼出次数:":"呼入次数:",dA.jsx("span",{style:{color:"#1D92E9"},children:qA==="out"?I==null?void 0:I.contact_count:I==null?void 0:I.in_contact_count})]})]})]})]})}):dA.jsx(dA.Fragment,{}),dA.jsx(R.Suspense,{children:aA&&((pe=M.current)==null?void 0:pe.agent_api)&&dA.jsx(w4,{open:aA,queryFetch:M.current.agent_api.getIdleAgentList,onCallBack:N=>{iA(!1),N&&Re(N)}})}),dA.jsx(R.Suspense,{children:IA&&((RA=M.current)==null?void 0:RA.agent_api)&&dA.jsx(S4,{open:IA,queryFetch:M.current.agent_api.getIdleAgentList,onCallBack:(N,gA)=>{MA(!1),N&&(gA===0?fe(N):gA===1&&KA(N))}})})]})})},Q4=e=>{var A;return(A=On.getInstance())==null?void 0:A.call_api.makeCall(e)},b4=()=>{var e;return(e=On.getInstance())==null?void 0:e.getRealTimeCustomerInfo()},R4=async e=>{var A,t;if(e!==ye.IDLE&&e!==ye.BUSY)throw new Error("Invalid agent state");try{await((t=(A=On.getInstance())==null?void 0:A.agent_api)==null?void 0:t.changeState({data:{state:e,state_name:e===ye.IDLE?"空闲":"忙碌"}}))}catch(n){console.error(n)}},x4=async e=>{var A,t;try{await((t=(A=On.getInstance())==null?void 0:A.agent_api)==null?void 0:t.changeDevice({data:{device:e}}))}catch(n){console.error(n)}},D4=async(e=!1,A)=>{var t,n;try{await((n=(t=On.getInstance())==null?void 0:t.agent_api)==null?void 0:n.agentLogout({data:{offline_answer:e},success:()=>{A==null||A()}}))}catch(r){console.log(r)}};exports.Button=fi;exports.CONTAINER_MAX_OFFSET=$d;exports.CSSMotion=qi;exports.ConfigContext=Oe;exports.ConfigProvider=nr;exports.ContextIsolator=ma;exports.DisabledContextProvider=Om;exports.Empty=gr;exports.FastColor=Ke;exports.Input=zr;exports.KeyCode=re;exports.Keyframe=Ue;exports.ModelBody=lS;exports.Portal=Ac;exports.Radio=Ua;exports.RefIcon=oc;exports.RefIcon$1=qg;exports.RefIcon$2=Oa;exports.RefIcon$3=pg;exports.RefIcon$4=mg;exports.Space=ic;exports.Spin=lc;exports.Wave=Zl;exports.YsytBarPhone=B4;exports.YsytIconSvg=xe;exports._extends=FA;exports._objectSpread2=k;exports._slicedToArray=$;exports._toConsumableArray=wA;exports._typeof=Ae;exports.agentLogout=D4;exports.canUseDom=Ot;exports.classNames=nA;exports.clearFix=Ys;exports.contains=Hq;exports.convertLegacyProps=ex;exports.devUseWarning=at;exports.genFocusStyle=Ns;exports.genPresetColor=Rm;exports.genStyleHooks=Qt;exports.genSubStyleComponent=bm;exports.getConfirmLocale=Yy;exports.getCustomerInfo=b4;exports.getReactRender=tg;exports.getTransitionName=Jl;exports.globalConfig=Bd;exports.initMotion=Gl;exports.initZoomMotion=ba;exports.isPresetColor=Nv;exports.isPresetStatusColor=QF;exports.jsxRuntimeExports=dA;exports.localeValues=Vi;exports.makeCall=Q4;exports.merge=Je;exports.omit=_t;exports.pickAttrs=jr;exports.replaceElement=S0;exports.resetComponent=Lt;exports.setAgentDevice=x4;exports.setAgentInitState=R4;exports.unit=mA;exports.useCSSVarCls=Kn;exports.useComponentConfig=tr;exports.useComposeRef=Jr;exports.useEvent=rt;exports.useId=Kl;exports.useLocale=yl;exports.useSafeState=ao;exports.useToken=dn;exports.useZIndex=xa;exports.warnContext=$m;exports.warning=Nr;exports.withPureRenderTheme=vv;exports.zIndexContext=Ra;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { CallSipCallEventEnum, EventName } from 'ysyt-agent-sdk';
|
|
2
|
-
export type OnCallBackType = EventName.KICK_OFF | CallSipCallEventEnum.OUT_INCOMING_CALL | CallSipCallEventEnum.OUT_OFF_ANSWER | CallSipCallEventEnum.OUT_HANGUP | CallSipCallEventEnum.CONSULT_INCOMING | CallSipCallEventEnum.CONSULT_CALL_IN_SUCCESS | CallSipCallEventEnum.OUR_SIDE_CONSULT_HANGUP | CallSipCallEventEnum.TRANSFER_INCOMING_CALL | CallSipCallEventEnum.TRANSFER_OFF_HOOK | CallSipCallEventEnum.INCOMING_CALL | CallSipCallEventEnum.INCOMING_CALL_OFF_HOOK | CallSipCallEventEnum.INCOMING_CALL_END | CallSipCallEventEnum.REJECT | CallSipCallEventEnum.THREE_WAY_OUR_SIDE_HANGUP | EventName.DESTROY;
|
|
2
|
+
export type OnCallBackType = EventName.KICK_OFF | CallSipCallEventEnum.OUT_INCOMING_CALL | CallSipCallEventEnum.OUT_OFF_ANSWER | CallSipCallEventEnum.OUT_HANGUP | CallSipCallEventEnum.CONSULT_INCOMING | CallSipCallEventEnum.CONSULT_CALL_IN_SUCCESS | CallSipCallEventEnum.OUR_SIDE_CONSULT_HANGUP | CallSipCallEventEnum.TRANSFER_INCOMING_CALL | CallSipCallEventEnum.TRANSFER_OFF_HOOK | CallSipCallEventEnum.TRANSFER_END | CallSipCallEventEnum.INCOMING_CALL | CallSipCallEventEnum.INCOMING_CALL_OFF_HOOK | CallSipCallEventEnum.INCOMING_CALL_END | CallSipCallEventEnum.REJECT | CallSipCallEventEnum.THREE_WAY_OUR_SIDE_HANGUP | EventName.DESTROY;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./index-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./index-CsEpzIb5.js");exports.YsytAgentLogout=e.agentLogout;exports.YsytGetCustomerInfo=e.getCustomerInfo;exports.YsytMakeCall=e.makeCall;exports.YsytSetAgentDevice=e.setAgentDevice;exports.YsytSetAgentInitState=e.setAgentInitState;exports.default=e.YsytBarPhone;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ysyt-react-agent-lib",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.86",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/ysyt-react-agent-lib.cjs.js",
|
|
6
6
|
"module": "dist/ysyt-react-agent-lib.es.js",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"antd": "5.24.0",
|
|
31
31
|
"styled-components": "^6.1.13",
|
|
32
|
-
"ysyt-agent-sdk": "1.0.
|
|
32
|
+
"ysyt-agent-sdk": "1.0.144"
|
|
33
33
|
},
|
|
34
34
|
"peerDependencies": {
|
|
35
35
|
"react": "^18.2.0",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-CICgx0t9.js"),t=require("react"),l=require("./index-DxglN-BR.js"),m=t.memo(({open:o,onCallBack:n,queryFetch:u})=>{const[x,p]=t.useState([]),[r,c]=t.useState(0),[i,d]=t.useState(""),[j,a]=t.useState(!1);return t.useEffect(()=>{(async()=>{a(!0);try{await u({success:s=>{p(s.data||[])}})}catch(s){console.log(s)}a(!1)})()},[o]),e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsx(l.Modal,{open:o,title:"转接",footer:!1,onCancel:()=>n(),children:e.jsxRuntimeExports.jsxs(e.ModelBody,{children:[e.jsxRuntimeExports.jsx("div",{children:e.jsxRuntimeExports.jsx(e.Radio.Group,{options:[{label:"转接坐席",value:0},{label:"转接外线",value:1}],value:r,onChange:s=>c(s.target.value)})}),e.jsxRuntimeExports.jsx(e.Spin,{spinning:j,children:e.jsxRuntimeExports.jsxs("div",{style:{borderTop:"1px solid #eee",marginTop:10,paddingTop:10},children:[r===0&&e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:x.length===0?e.jsxRuntimeExports.jsx(e.Empty,{image:e.Empty.PRESENTED_IMAGE_SIMPLE}):e.jsxRuntimeExports.jsx(e.Space,{wrap:!0,children:x.map(s=>e.jsxRuntimeExports.jsx(l.Tag,{color:"processing",onClick:()=>n(s.agent_no,0),children:e.jsxRuntimeExports.jsxs("div",{style:{display:"flex",alignItems:"center"},children:[e.jsxRuntimeExports.jsx(e.YsytIconSvg,{name:"zixun"}),e.jsxRuntimeExports.jsxs("span",{style:{marginRight:10},children:["转接坐席: ",s.agent_name]})]})},s.agent_no))})}),r===1&&e.jsxRuntimeExports.jsxs("div",{style:{width:"100%",display:"flex",alignItems:"center",gap:"0 5px"},children:[e.jsxRuntimeExports.jsx(e.Input,{style:{flex:1},value:i,onChange:s=>d(s.target.value),placeholder:"请输入外线号码, 回车转接",onPressEnter:()=>{n(i,1)}}),e.jsxRuntimeExports.jsx(e.YsytIconSvg,{name:"boda",color:"#1D92E9",size:25,onClick:()=>{n(i,1)}})]})]})})]})})})});exports.default=m;
|