|
@@ -14,18 +14,14 @@ const useVoice = useVoiceStore();
|
|
|
const useUser = useUserStore();
|
|
|
|
|
|
const intervalTimer = ref(null);
|
|
|
-const outId = ref(null);
|
|
|
|
|
|
-onMounted(() => {
|
|
|
- if ( useVoice.isAuthPane ) {
|
|
|
- workbenchApi.getSeatsByUser({ userId: useUser.id }).then(async({ data }) => {
|
|
|
+const init = () => {
|
|
|
+ workbenchApi.getSeatsByUser({ userId: useUser.id }).then(async({ data }) => {
|
|
|
if (!data) return;
|
|
|
- outId.value = data.outId;
|
|
|
|
|
|
- useVoice.HS_CTI_INSTANCE(data.outId);
|
|
|
-
|
|
|
+ await useVoice.HS_CTI_INSTANCE(data.outId);
|
|
|
const voiceStatus = sessionStorage.getItem('VOICE_STATUS');
|
|
|
-
|
|
|
+
|
|
|
setTimeout(async () => {
|
|
|
/**
|
|
|
* 如果用户在有登入的情况下,中途关闭麦克风,获取坐席状态仍是 1( getAgentStatus )
|
|
@@ -35,46 +31,30 @@ onMounted(() => {
|
|
|
// console.log("坐席状态", useVoice.AGENTSTATUS);
|
|
|
// console.log("系统状态", useVoice.HSCTIERRORCODE);
|
|
|
// 目前先只考虑 100001 100002 错误码 处理
|
|
|
+
|
|
|
if ( [100001, 100002].includes( Number(useVoice.HSCTIERRORCODE) ) ) {
|
|
|
// 有错误
|
|
|
useVoice.systemState = false;
|
|
|
} else {
|
|
|
// 正常
|
|
|
await useVoice.getAgentStatus();
|
|
|
-
|
|
|
if ( voiceStatus && [1, 2].includes( Number(useVoice.AGENTSTATUS) )) {
|
|
|
voiceStatus === 'busy' ? useVoice.setBusy() : useVoice.setIdle();
|
|
|
} else {
|
|
|
- if (!voiceStatus && useVoice.AGENTSTATUS == 0) {
|
|
|
- return useVoice.setIdle();
|
|
|
- }
|
|
|
- useVoice.AGENTSTATUS != 0 && useVoice.setIdle();
|
|
|
+ useVoice.setIdle();
|
|
|
}
|
|
|
}
|
|
|
}, 2000);
|
|
|
-
|
|
|
- // if ( voiceStatus && [1,2].includes(useVoice.AGENTSTATUS)) {
|
|
|
- // if ( voiceStatus === 'busy' ) {
|
|
|
- // setTimeout(() => useVoice.setBusy(), 1000);
|
|
|
- // } else {
|
|
|
- // setTimeout(() => useVoice.setIdle(), 1000);
|
|
|
- // }
|
|
|
- // } else {
|
|
|
- // setTimeout(() => {
|
|
|
- // try {
|
|
|
- // useVoice.AGENTSTATUS!=0 && useVoice.setIdle();
|
|
|
- // } catch(error) {
|
|
|
- // console.log(error);
|
|
|
- // }
|
|
|
- // }, 3000);
|
|
|
- // }
|
|
|
})
|
|
|
+}
|
|
|
+onMounted(() => {
|
|
|
+ if ( useVoice.isAuthPane ) {
|
|
|
+ init();
|
|
|
intervalTimer.value = setInterval(async () => {
|
|
|
const sdkRegister = Cookies.get('sdkRegister')
|
|
|
- // console.log(useVoice.AGENTSTATUS)
|
|
|
if (!sdkRegister && !useVoice.noiceBarVisibleState &&useVoice.AGENTSTATUS !=0) {
|
|
|
await useVoice.unInit()
|
|
|
- useVoice.HS_CTI_INSTANCE(outId.value);
|
|
|
+ init()
|
|
|
}
|
|
|
}, 2000);
|
|
|
}
|