浏览代码

朗读作品结束时点左上角点击返回,返回上一个我要朗读页

bayi 2 年之前
父节点
当前提交
1a29683cd8
共有 4 个文件被更改,包括 62 次插入6 次删除
  1. 4 0
      mixins/video.js
  2. 39 3
      pages/reading/index.js
  3. 1 0
      pages/reading/index.wxml
  4. 18 3
      pages/score/index.js

+ 4 - 0
mixins/video.js

@@ -23,6 +23,9 @@ module.exports = Behavior({
           currentTime: setDuration(this.innerAudioContext.currentTime)
         })
       })
+      this.innerAudioContext.onError(res => {
+        console.log(res, 'rrrrrrrrrrrr');
+      })
       this.innerAudioContext.onEnded(res => {
         this.resetAudio()
       })
@@ -52,6 +55,7 @@ module.exports = Behavior({
         currentTime: '00:00',
         sliderValue: 0
       })
+      console.log(currentTarget.dataset.audio,'bbbbbbbbbbb');
       this.innerAudioContext.src = currentTarget.dataset.audio
       setTimeout(() => {
         this.innerAudioContext.play();

+ 39 - 3
pages/reading/index.js

@@ -121,6 +121,12 @@ Page({
         ["silderData.currentTime"]: setDuration(this.resultAudioContext.currentTime)
       })
     })
+    this.resultAudioContext.onError(res => {
+      console.log(res, 'resultAudioContext');
+    })
+    this.innerAudioContext.onError(res => {
+      console.log(res, 'bbbb');
+    })
     this.resultAudioContext.onEnded(res => {
       console.log('102-resultAudioContext.ended');
       this.setData({
@@ -311,6 +317,23 @@ Page({
       });
     });
   },
+  eeeeee() {
+    wx.navigateTo({
+      url: `/pages/score/index?readingType=${this.data.readingType}`,
+      events: {
+        // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据
+        someEvent: (data) => {
+          console.log(data)
+          this.setData({
+            readingReset: data.reset || false,
+            readingType: data.readingType || 'public',
+            uploadHide: data.uploadHide
+          })
+          console.log(this.data, 'ggggggggg');
+        }
+      },
+    })
+  },
   // 获取测评结果
   getRecordScore(res) {
     const result = res.result;
@@ -335,8 +358,20 @@ Page({
     }
     this.setReadDetail(detail)
     if (this.data.readingType == 'public' || this.data.readingType == 'readMatch') {
-      wx.redirectTo({
-        url: `/pages/score/index?readingType=${this.data.readingType}`
+      wx.navigateTo({
+        url: `/pages/score/index?readingType=${this.data.readingType}`,
+        events: {
+          // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据
+          goback: (data) => {
+            console.log(data)
+            this.setData({
+              readingReset: data.reset || false,
+              readingType: data.readingType || 'public',
+              uploadHide: data.uploadHide
+            })
+            console.log(this.data);
+          }
+        },
       })
     } else {
       this.uploadAudio(detail)
@@ -425,7 +460,6 @@ Page({
   },
   // 视频播放结束
   videoEnd() {
-    console.log('视频播放结束触发的');
     this.resetReading()
   },
   videoPlay() {
@@ -548,9 +582,11 @@ Page({
     }, 300)
   },
   onHide() {
+    console.log('结束了吗');
     this.resetReading()
   },
   onUnload() {
+    console.log('结束了吗22222');
     this.resetReading()
     this.storeBindings.destroyStoreBindings()
   },

+ 1 - 0
pages/reading/index.wxml

@@ -96,6 +96,7 @@
 
   <view class="controller">
     <image wx:if="{{state}}" src="/static/readingNow.gif" class="readingNow" bindtap="setCountDown" />
+    <!-- <image wx:else src="/static/work.png" class="playImg" bindtap="eeeeee" /> -->
     <image wx:else src="/static/work.png" class="playImg" bindtap="setCountDown" />
     <view class="text">
       {{state?'完成录制':readingReset?'点击重录':readingType=='public'||readingType=='readMatch'?'开始朗读':'开始挑战'}}</view>

+ 18 - 3
pages/score/index.js

@@ -37,9 +37,24 @@ Page({
     })
   },
   backReading() {
-    wx.redirectTo({
-      url: `/pages/reading/index?videoId=${this.data.score.id}&reset=true&uploadHide=${this.data.uploadHide}&readingType=${this.data.readingType}`,
-    })
+    let pagesList = getCurrentPages()
+    let last = pagesList[pagesList.length - 2]
+    if (last.route != 'pages/reading/index') {
+      wx.redirectTo({
+        url: `/pages/reading/index?videoId=${this.data.score.id}&reset=true&uploadHide=${this.data.uploadHide}&readingType=${this.data.readingType}`,
+      })
+    } else {
+      const eventChannel = this.getOpenerEventChannel()
+      eventChannel.emit('goback', {
+        videoId: this.data.score.id,
+        reset: true,
+        uploadHide: this.data.uploadHide,
+        readingType: this.data.readingType
+      });
+      wx.navigateBack({
+        delta: 1
+      })
+    }
   },
   hideFooter() {
     this.setData({