Przeglądaj źródła

feat: 最近问题修改

sunxiao 3 miesięcy temu
rodzic
commit
0623a68536

+ 8 - 1
src/components/AudioPlayer/index.vue

@@ -27,6 +27,8 @@ const currentProgress = ref(0);
 watch(() => props.audioUrl, () => {
   audioIsPlay.value = true;
   currentProgress.value = 0;
+  audioStart.value = "00:00";
+  durationTime.value = "00:00";
 
   audioRef.value.removeEventListener('loadedmetadata', loadEndEvent);
   audioRef.value.removeEventListener('ended', endAudio);
@@ -92,7 +94,12 @@ const transTime = (duration) => {
 const calculateDuration = () => {
   const myVid = audioRef.value;
   myVid.loop = false;
-  myVid.src = audioUrl + props.audioUrl;
+  if (!props.audioUrl) {
+    isDisabled.value = true;
+    myVid.src = '';
+    return
+  }
+  myVid.src = audioUrl + props.audioUrl 
 
   myVid.addEventListener( 'loadedmetadata', loadEndEvent, false );
   myVid.addEventListener( "ended", endAudio, false );

+ 21 - 13
src/store/modules/voice.js

@@ -51,11 +51,11 @@ const useVoiceStore = defineStore('voice', () => {
   const reset = () => {
     noiceBarVisibleState.value = false;
     noiceBoxVisibleState.value = false;
-    setTimeout(() => {
-      isMakingCall.value = false;
-      callAnswered.value = false;
-      callDialing.value = false;
-    }, 2000)
+
+    isMakingCall.value = false;
+    callAnswered.value = false;
+    callDialing.value = false;
+
     // timer.resetTimer();
   }
 
@@ -75,6 +75,7 @@ const useVoiceStore = defineStore('voice', () => {
       })
     }
 
+    if (! HS_CTI ) return;
     isMakingCall.value = true;
 
     callAnswered.value = true;
@@ -90,6 +91,7 @@ const useVoiceStore = defineStore('voice', () => {
 
   // 接听电话
   const onCallAnswered =  async () => {
+    if (! HS_CTI ) return;
     callDialing.value = true;
     callAnswered.value = true;
     await answer();
@@ -99,6 +101,7 @@ const useVoiceStore = defineStore('voice', () => {
 
   // 挂断电话
   const onCallDisconnected = async () => {
+    if (! HS_CTI ) return;
     reset();
     // const currentTimer = timer.updateDisplay();
     
@@ -114,16 +117,20 @@ const useVoiceStore = defineStore('voice', () => {
 
   // 置忙
   const setBusy = () => {
-    localStorage.setItem('VOICE_STATUS', 'busy');
-    systemState.value = false;
-    HS_CTI.setBusy().then(res => { console.log(res) });
+    if ( HS_CTI ) {
+      localStorage.setItem('VOICE_STATUS', 'busy');
+      systemState.value = false;
+      HS_CTI.setBusy().then(res => { console.log(res) });
+    }
   };
 
   // 置闲
   const setIdle = () => {
-    localStorage.setItem('VOICE_STATUS', 'idle');
-    systemState.value = true;
-    HS_CTI.setIdle().then(res => { console.log(res) });
+    if ( HS_CTI ) {
+      localStorage.setItem('VOICE_STATUS', 'idle');
+      systemState.value = true;
+      HS_CTI.setIdle().then(res => { console.log(res) });
+    }
   }
 
   // 获取坐席状态
@@ -132,11 +139,11 @@ const useVoiceStore = defineStore('voice', () => {
   }
 
   // 主动外呼
-  const makeCall = called => HS_CTI.makeCall({ called, caller: "待定" })
+  const makeCall = called => HS_CTI && HS_CTI.makeCall({ called, caller: "待定" })
 
   // 接听电话
   const answer = () => {
-    HS_CTI.answer().then(res => { console.log(res) })
+    HS_CTI &&  HS_CTI.answer().then(res => { console.log(res) })
   }
 
   // 挂断电话
@@ -147,6 +154,7 @@ const useVoiceStore = defineStore('voice', () => {
   // 卸载实例
   const unInit = async () => {
     if ( HS_CTI ) {
+      HS_CTI = null;
       return await HS_CTI.unInit();
     }
   }

+ 1 - 1
src/views/login.vue

@@ -168,7 +168,7 @@ function getCookie() {
   };
 }
 
-getCode();
+// getCode();
 getCookie();
 </script>
 

+ 1 - 1
src/views/register.vue

@@ -151,7 +151,7 @@ function getCode() {
   });
 }
 
-getCode();
+// getCode();
 </script>
 
 <style lang='scss' scoped>

+ 1 - 1
src/views/voice/call/index.vue

@@ -78,7 +78,7 @@ const getList = () => {
     const serviceCategoryEnum = { 0: '人工坐席', 1: '机器人坐席', 2: '机器人转人工' };
     tableData.value = rows.map(item => ({
       ...item,
-      url: item.url + '?timstamp=' + new Date().getTime(),
+      url: item.url ? item.url + '?timstamp=' + new Date().getTime() : '',
       typeText: typeEnum[item.type],
       statusText: statusEnum[item.status],
       serviceCategoryText: serviceCategoryEnum[item.serviceCategory]