Browse Source

线上反馈的一些问题

marron 2 years ago
parent
commit
2a39bf9a04
1 changed files with 37 additions and 16 deletions
  1. 37 16
      pages-question/answerDetail.vue

+ 37 - 16
pages-question/answerDetail.vue

@@ -202,6 +202,7 @@ export default {
       playImgSrc: "../static/question/recordpause.png",
       innerAudio: null, //该页面的音频
       audioCount: 0, //录音计时,毫秒
+      audioSrc:'',//tempSrc
       recordStartTime: null, //录音开始时间
       recordStopTime: null, //录音停止的时间
       audioTime: "00:00", //录音时间(格式化后):string
@@ -246,12 +247,32 @@ export default {
     } 
   },
   methods: {
-    //初始化audio
+    //初始化audio,onShow执行
     initAudio() {
       this.innerAudio = uni.createInnerAudioContext();
       this.handleAudioFun();
       this.handleRecorderFun();
+      //录音完成后,切出其他页面再切回来
+    if(this.questionItem?.recordStatus===4){
+      console.log('count',this.audioCount,'src',this.audioSrc)
+      this.setAudio(this.audioSrc,this.audioCount)
+    }
     },
+    //录音完成or从其他app切回本页面是,初始化音频
+    setAudio(src,audioCount){
+      this.innerAudio.stop();
+      this.isplay = false;
+      this.innerAudio.src = src;
+      console.log('秒数',audioCount)
+      this.changeCurrentAudio({
+        id: "",
+        answer: {
+          source: src,
+          audioTime: audioCount/1000,
+        },
+      });
+    },
+    //onHide触发
     resetAudio(){
       this.innerAudio.stop();
       this.isplay = false;
@@ -306,11 +327,17 @@ export default {
     handleRecorderFun() {
       this.globalRecorder.onStart(() => {
         console.log("开始录音");
+        if(this.questionItem.recordStatus===1){
+          this.questionItem.recordStatus=2
+        }
         uni.hideToast();
         this.clockTime();
       });
       this.globalRecorder.onPause(() => {
         console.log("暂停录音");
+        if(this.questionItem.recordStatus===2){
+          this.questionItem.recordStatus = 3
+        }
         this.cleanTime();
       });
       this.globalRecorder.onStop((res) => {
@@ -323,17 +350,8 @@ export default {
         console.log("res", JSON.stringify(res));
         this.cleanTime();
         //初始化音频播放
-        this.innerAudio.stop();
-        this.isplay = false;
-        this.innerAudio.src = res.tempFilePath;
-        console.log('秒数',this.audioCount)
-        this.changeCurrentAudio({
-          id: "",
-          answer: {
-            source: res.tempFilePath,
-            audioTime: this.audioCount/1000,
-          },
-        });
+        this.audioSrc = res.tempFilePath
+        this.setAudio(this.audioSrc ,this.audioCount)
         this.pageLoading = false;
       });
       this.globalRecorder.onError((res) => {
@@ -375,13 +393,13 @@ export default {
           };
         }
         let readKey = "";
-        const { is_inner } = this.userInfo;
-        if (is_inner === 1) {
+        //const { is_inner } = this.userInfo;
+        if (this.isUserResearcher) {
           readKey = "replier_is_read";
         } else {
           readKey = "is_read";
         }
-        //console.log('readKey',readKey)
+        console.log('readKey',readKey)
         this.questionItem[readKey] !== 1 &&
           (await apiSetRead({
             question_ids: this.questionItem.community_question_id + "",
@@ -504,7 +522,10 @@ export default {
             });
             setTimeout(() => {
               //关闭当前页面,跳转到我的回答
-              uni.navigateBack({ delta: 1 });
+              //uni.navigateBack({ delta: 1 });
+              uni.redirectTo({
+                url: '/pages-question/answerList'
+              })
             }, 500);
           }
         }