bayi 1 year ago
parent
commit
40a05e002c
2 changed files with 105 additions and 101 deletions
  1. 102 98
      components/worksList/index.js
  2. 3 3
      utils/request.js

+ 102 - 98
components/worksList/index.js

@@ -1,112 +1,116 @@
 import behavior from '~/mixins/video'
 import {
-  submitPlayLog
+    submitPlayLog
 } from '~/api/video'
 let _observer
+let timer;
 let preId = ''
 Component({
-  behaviors: [behavior],
-  properties: {
-    worksList: {
-      type: Array,
-      value: [],
-      observer(newVal) {
-        this.setData({
-          worksListCopy: newVal
-        })
-        if (this.properties.autoPlay) {
-          // 自动播放
-          this._observer = this.createIntersectionObserver({
-            observeAll: true
-          })
-          this._observer.relativeTo('.playLine')
-            .observe('.videoPreview', (res) => {
-              let intersectionRatio = res.intersectionRatio
-              if (intersectionRatio > 0 && preId != res.dataset.id) {
-                preId = res.dataset.id
-                submitPlayLog({
-                  userReadId: res.dataset.id,
-                  playStopTime: 1000
+    behaviors: [behavior],
+    properties: {
+        worksList: {
+            type: Array,
+            value: [],
+            observer(newVal) {
+                this.setData({
+                    worksListCopy: newVal
                 })
-                // 0视频1音频
-                if (res.dataset.type == 0) {
-                  this.resetAudio();
-                  this.setData({
-                    currentId: res.dataset.id,
-                  })
-                } else {
-                  this.playAudio({
-                    currentTarget: {
-                      dataset: res.dataset
-                    }
-                  })
+                if (this.properties.autoPlay) {
+                    // 自动播放
+                    this._observer = this.createIntersectionObserver({
+                        observeAll: true
+                    })
+                    this._observer.relativeTo('.playLine')
+                        .observe('.videoPreview', (res) => {
+                            let intersectionRatio = res.intersectionRatio
+                            if (intersectionRatio > 0 && preId != res.dataset.id) {
+                                clearTimeout(timer);
+                                timer = setTimeout(() => {
+                                    preId = res.dataset.id
+                                submitPlayLog({
+                                    userReadId: res.dataset.id,
+                                    playStopTime: 1000
+                                })
+                                // 0视频1音频
+                                if (res.dataset.type == 0) {
+                                    this.resetAudio();
+                                    this.setData({
+                                        currentId: res.dataset.id,
+                                    })
+                                } else {
+                                    this.playAudio({
+                                        currentTarget: {
+                                            dataset: res.dataset
+                                        }
+                                    })
+                                }
+                                }, 600);
+                            }
+                        })
                 }
-              }
-            })
+            }
+        },
+        // 是否自动播放
+        autoPlay: {
+            type: Boolean,
+            value: true
+        },
+        videoType: {
+            type: String,
+            // value 为public时是默认公共样式,为my时为“我的”样式,展示下载删除是否公开,pk为pk的样式文案,collection为收藏时的样式,
+            value: 'public',
+        },
+        // 是否在tabbar页面使用
+        tabBarPadding: {
+            type: Boolean,
+            value: false,
         }
-      }
-    },
-    // 是否自动播放
-    autoPlay: {
-      type: Boolean,
-      value: true
-    },
-    videoType: {
-      type: String,
-      // value 为public时是默认公共样式,为my时为“我的”样式,展示下载删除是否公开,pk为pk的样式文案,collection为收藏时的样式,
-      value: 'public',
     },
-    // 是否在tabbar页面使用
-    tabBarPadding: {
-      type: Boolean,
-      value: false,
-    }
-  },
-  data: {
-    worksListCopy: {}
-  },
-  lifetimes: {
-    detached: function () {
-      // 在组件实例被从页面节点树移除时执行
-      this.resetAudio()
+    data: {
+        worksListCopy: {}
     },
-  },
-  methods: {
-    setListFans({
-      detail
-    }) {
-      let worksListCopy = JSON.parse(JSON.stringify(this.data.worksListCopy))
-      worksListCopy.forEach(item => {
-        if (item.user.uid == detail) {
-          item.isFans = true
-        }
-      })
-      this.setData({
-        worksListCopy
-      })
+    lifetimes: {
+        detached: function () {
+            // 在组件实例被从页面节点树移除时执行
+            this.resetAudio()
+        },
     },
-    addCommentNum({
-      detail
-    }) {
-      let worksListCopy = this.data.worksListCopy
-      let index = worksListCopy.findIndex(item => {
-        return item.userRead.id == detail
-      })
-      if (index != -1) {
-        this.setData({
-          [`worksListCopy[${index}].userRead.commentAmount`]: ++worksListCopy[index].userRead.commentAmount
-        })
-      }
+    methods: {
+        setListFans({
+            detail
+        }) {
+            let worksListCopy = JSON.parse(JSON.stringify(this.data.worksListCopy))
+            worksListCopy.forEach(item => {
+                if (item.user.uid == detail) {
+                    item.isFans = true
+                }
+            })
+            this.setData({
+                worksListCopy
+            })
+        },
+        addCommentNum({
+            detail
+        }) {
+            let worksListCopy = this.data.worksListCopy
+            let index = worksListCopy.findIndex(item => {
+                return item.userRead.id == detail
+            })
+            if (index != -1) {
+                this.setData({
+                    [`worksListCopy[${index}].userRead.commentAmount`]: ++worksListCopy[index].userRead.commentAmount
+                })
+            }
+        },
+        deleteVideo({
+            detail
+        }) {
+            let worksListCopy = this.properties.worksListCopy.filter(item => {
+                return item.userRead.id != detail
+            })
+            this.setData({
+                worksListCopy
+            })
+        },
     },
-    deleteVideo({
-      detail
-    }) {
-      let worksListCopy = this.properties.worksListCopy.filter(item => {
-        return item.userRead.id != detail
-      })
-      this.setData({
-        worksListCopy
-      })
-    }
-  },
 })

+ 3 - 3
utils/request.js

@@ -6,13 +6,13 @@ const {
         envVersion
     }
 } = wx.getAccountInfoSync();
-if (envVersion == 'develop') {
+/* if (envVersion == 'develop') {
     baseUrl = 'https://reader-api.efunbox.cn/wx'
     oldUrl = 'https://reader-api.efunbox.cn'
-} else {
+} else { */
     baseUrl = 'https://reader-api.ai160.com/wx'
     oldUrl = 'https://reader-api.ai160.com'
-}
+// }
 
 function request(url, method, data, oldBaseUrl = false, intercept = true) {