绿满眶商城微信小程序-uniapp
peng
2025-07-02 d3d0b4dbb4f1f8c4784c834e0a39feba8aa5afa5
Merge remote-tracking branch 'origin/dev' into dev

# Conflicts:
# App.vue
7个文件已修改
446 ■■■■ 已修改文件
api/user.js 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/video.js 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/health/healthVideo.vue 73 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/kitchen/KitchenVideo.vue 85 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/tabbar/index/home.vue 47 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/video/home-page.vue 126 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/video/video-play.vue 87 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/user.js
@@ -50,6 +50,20 @@
}
/**
 * 获取视频主页-作者点赞的视频分页
 *
 * @param params
 */
 export function getAuthorLikeVideoPage(params) {
  return http.request({
    url: "/lmk/video/author-like-video-page",
    method: Method.GET,
    needToken: true,
    params: params
  });
}
/**
 * 保存视频主页信息编辑
 * 
 * @param params
api/video.js
@@ -236,3 +236,17 @@
    needToken: true
  });
}
/**
 * 点赞视频/取消点赞
 *
 * @param params
 */
 export function changeThumbsUp(data) {
  return http.request({
    url: "/lmk/video/change/thumbs-up",
    method: Method.POST,
    data: data,
    needToken: true
  });
}
pages/health/healthVideo.vue
@@ -129,30 +129,34 @@
          </view>
        </view>
        <!-- 右侧互动按钮 -->
       <!-- 右侧互动按钮 -->
       <view class="action-buttons" v-if="false">
           <view class="avatar-container">
               <image class="avatar" @click="jumpToHomePage(item.authorId)" :src="item.authorAvatar" mode="aspectFill"></image>
               <!-- 关注图标 - 使用绝对定位 -->
               <view v-if="!item.subscribeThisAuthor" class="follow-icon" @click="subscribeAuth(index, item.authorId)">
                 <text class="iconfont">&#xe629;</text>
               </view>
           </view>
          <view class="action-item" @click="toggleCollect(item, index)">
            <text class="iconfont" v-if="item.collected">&#xe605;</text>
            <text class="iconfont" v-else>&#xe601;</text>
            <text style="font-size: 10px;font-weight: lighter;">{{item.collectNum}}</text>
          <view class="avatar-container">
              <image class="avatar" @click="jumpToHomePage(item.authorId)" :src="item.authorAvatar" mode="aspectFill"></image>
              <!-- 关注图标 - 使用绝对定位 -->
              <view v-if="!item.subscribeThisAuthor" class="follow-icon" @click="subscribeAuth(index, item.authorId)">
                <text class="iconfont">&#xe629;</text>
              </view>
          </view>
          <view class="action-item" @click="toggleThumbsUp(item, index)">
                   <text class="iconfont" v-if="item.thumbsUp">&#xe605;</text>
                   <text class="iconfont" v-else>&#xe601;</text>
                   <text style="font-size: 10px;font-weight: lighter;">{{item.thumbsUpNum}}</text>
          </view>
         <view class="action-item" @click="showComments(item)">
            <text class="iconfont">&#xe7f7;</text>
            <text style="font-size: 10px;font-weight: lighter;">{{item.commentNum}}</text>
          </view>
          <view class="action-item">
              <button open-type="share" class="custom-share-btn" :data-obj="item">
                    <text class="iconfont">&#xe602;</text>
                  </button>
          </view>
         <view class="action-item" @click="toggleCollect(item, index)">
            <text class="iconfont" v-if="item.collected">&#xeb9d;</text>
            <text class="iconfont" v-else>&#xe603;</text>
            <text style="font-size: 10px;font-weight: lighter;">{{item.collectNum}}</text>
          </view>
         <view class="action-item">
             <button open-type="share" class="custom-share-btn" :data-obj="item">
               <text class="iconfont">&#xe602;</text>
             </button>
         </view>
        </view>
      </swiper-item>
@@ -244,7 +248,16 @@
<script>
import TopBar from "@/components/TopBar.vue";
import { getHealthRecommendVideos, savePlayRecord, subscribe, getVideoComments, addVideoComment, thubmsUpComment, cancelThubmsUpComment } from "@/api/video.js";
import {
 getHealthRecommendVideos,
 savePlayRecord,
 subscribe,
 getVideoComments,
 addVideoComment,
 thubmsUpComment,
 cancelThubmsUpComment,
 changeThumbsUp
} from "@/api/video.js";
import { changeCollect } from "@/api/collect.js";
import { saveShare, saveShareClickRecord } from "@/api/share.js";
import { silentLogin } from "@/api/connect.js";
@@ -805,6 +818,28 @@
          }
      })
    },
    // 点赞/取消点赞
    toggleThumbsUp(item, index) {
      let data = {
                refId: item.id,
                thumbsUpType: 'video'
      }
      const beforeThumbsUp = item.thumbsUp
      const beforeThumbsUpNum = item.thumbsUpNum
      if(item.thumbsUp) {
                this.videoList[index].thumbsUp = false
                this.videoList[index].thumbsUpNum -= 1
      } else {
                this.videoList[index].thumbsUp = true
                this.videoList[index].thumbsUpNum += 1
      }
      changeThumbsUp(data).then(res => {
                if(res.data.code !== 200) {
                    this.videoList[index].thumbsUp = beforeThumbsUp
                    this.videoList[index].thumbsUpNum = beforeThumbsUpNum
                }
      })
    },
    // 单击屏幕:暂停或继续播放
    togglePlay(index) {
        console.log("单击视频", index);
pages/kitchen/KitchenVideo.vue
@@ -134,29 +134,33 @@
        <!-- 右侧互动按钮 -->
        <view class="action-buttons" v-if="false">
          <view class="avatar-container">
            <image class="avatar" @click="jumpToHomePage(item.authorId)" :src="item.authorAvatar" mode="aspectFill"></image>
            <!-- 关注图标 - 使用绝对定位 -->
            <view v-if="!item.subscribeThisAuthor" class="follow-icon" @click="subscribeAuth(index, item.authorId)">
              <text class="iconfont">&#xe629;</text>
            </view>
          </view>
          <view class="action-item" @click="toggleCollect(item, index)">
            <text class="iconfont" v-if="item.collected">&#xe605;</text>
            <text class="iconfont" v-else>&#xe601;</text>
            <text style="font-size: 10px;font-weight: lighter;">{{item.collectNum}}</text>
          </view>
           <view class="avatar-container">
               <image class="avatar" @click="jumpToHomePage(item.authorId)" :src="item.authorAvatar" mode="aspectFill"></image>
               <!-- 关注图标 - 使用绝对定位 -->
               <view v-if="!item.subscribeThisAuthor" class="follow-icon" @click="subscribeAuth(index, item.authorId)">
                 <text class="iconfont">&#xe629;</text>
               </view>
           </view>
           <view class="action-item" @click="toggleThumbsUp(item, index)">
                    <text class="iconfont" v-if="item.thumbsUp">&#xe605;</text>
                    <text class="iconfont" v-else>&#xe601;</text>
                    <text style="font-size: 10px;font-weight: lighter;">{{item.thumbsUpNum}}</text>
           </view>
          <view class="action-item" @click="showComments(item)">
            <text class="iconfont">&#xe7f7;</text>
            <text style="font-size: 10px;font-weight: lighter;">{{item.commentNum}}</text>
          </view>
          <view class="action-item">
            <button open-type="share" class="custom-share-btn" :data-obj="item">
              <text class="iconfont">&#xe602;</text>
            </button>
          </view>
        </view>
             <text class="iconfont">&#xe7f7;</text>
             <text style="font-size: 10px;font-weight: lighter;">{{item.commentNum}}</text>
           </view>
          <view class="action-item" @click="toggleCollect(item, index)">
             <text class="iconfont" v-if="item.collected">&#xeb9d;</text>
             <text class="iconfont" v-else>&#xe603;</text>
             <text style="font-size: 10px;font-weight: lighter;">{{item.collectNum}}</text>
           </view>
          <view class="action-item">
              <button open-type="share" class="custom-share-btn" :data-obj="item">
                <text class="iconfont">&#xe602;</text>
              </button>
          </view>
         </view>
      </swiper-item>
    </swiper>
@@ -262,7 +266,8 @@
  getVideoComments,
  addVideoComment,
  thubmsUpComment,
  cancelThubmsUpComment
  cancelThubmsUpComment,
  changeThumbsUp
} from "@/api/video.js";
import {
  changeCollect
@@ -776,6 +781,28 @@
        }
      })
    },
    // 点赞/取消点赞
    toggleThumbsUp(item, index) {
      let data = {
          refId: item.id,
          thumbsUpType: 'video'
      }
      const beforeThumbsUp = item.thumbsUp
      const beforeThumbsUpNum = item.thumbsUpNum
      if(item.thumbsUp) {
          this.videoList[index].thumbsUp = false
          this.videoList[index].thumbsUpNum -= 1
      } else {
          this.videoList[index].thumbsUp = true
          this.videoList[index].thumbsUpNum += 1
      }
      changeThumbsUp(data).then(res => {
          if(res.data.code !== 200) {
              this.videoList[index].thumbsUp = beforeThumbsUp
              this.videoList[index].thumbsUpNum = beforeThumbsUpNum
          }
      })
    },
    // 单击屏幕:暂停或继续播放
    togglePlay(index) {
      console.log("单击视频", index);
@@ -1423,4 +1450,16 @@
  background-color: lightpink !important;
}
.custom-share-btn {
  font-size: unset;
  background: none;
  padding: 0;
  margin: 0;
  line-height: normal;
  border: none;
}
.custom-share-btn::after {
  border: none;
}
</style>
pages/tabbar/index/home.vue
@@ -129,7 +129,7 @@
          </view>
        </view>
        <!-- 右侧互动按钮 -->
       <!-- 右侧互动按钮 -->
       <view class="action-buttons">
           <view class="avatar-container">
               <image class="avatar" @click="jumpToHomePage(item.authorId)" :src="item.authorAvatar" mode="aspectFill"></image>
@@ -138,20 +138,24 @@
                 <text class="iconfont">&#xe629;</text>
               </view>
           </view>
          <view class="action-item" @click="toggleCollect(item, index)">
            <text class="iconfont" v-if="item.collected">&#xe605;</text>
          <view class="action-item" @click="toggleThumbsUp(item, index)">
            <text class="iconfont" v-if="item.thumbsUp">&#xe605;</text>
            <text class="iconfont" v-else>&#xe601;</text>
            <text style="font-size: 10px;font-weight: lighter;">{{item.collectNum}}</text>
            <text style="font-size: 10px;font-weight: lighter;">{{item.thumbsUpNum}}</text>
          </view>
         <view class="action-item" @click="showComments(item)">
            <text class="iconfont">&#xe7f7;</text>
            <text style="font-size: 10px;font-weight: lighter;">{{item.commentNum}}</text>
          </view>
          <view class="action-item" @click="toggleCollect(item, index)">
             <text class="iconfont" v-if="item.collected">&#xeb9d;</text>
             <text class="iconfont" v-else>&#xe603;</text>
             <text style="font-size: 10px;font-weight: lighter;">{{item.collectNum}}</text>
           </view>
          <view class="action-item">
              <button open-type="share" class="custom-share-btn" :data-obj="item">
                    <text class="iconfont">&#xe602;</text>
                  </button>
          </view>
        </view>
@@ -243,7 +247,16 @@
</template>
<script>
import { getRecommendVideos, savePlayRecord, subscribe, getVideoComments, addVideoComment, thubmsUpComment, cancelThubmsUpComment } from "@/api/video.js";
import {
    getRecommendVideos,
    savePlayRecord,
    subscribe,
    getVideoComments,
    addVideoComment,
    thubmsUpComment,
    cancelThubmsUpComment,
    changeThumbsUp,
} from "@/api/video.js";
import { changeCollect } from "@/api/collect.js";
import { saveShare, saveShareClickRecord } from "@/api/share.js";
import { silentLogin } from "@/api/connect.js";
@@ -806,6 +819,28 @@
          }
      })
    },
    // 点赞/取消点赞
    toggleThumbsUp(item, index) {
      let data = {
                refId: item.id,
                thumbsUpType: 'video'
      }
      const beforeThumbsUp = item.thumbsUp
      const beforeThumbsUpNum = item.thumbsUpNum
      if(item.thumbsUp) {
                this.videoList[index].thumbsUp = false
                this.videoList[index].thumbsUpNum -= 1
      } else {
                this.videoList[index].thumbsUp = true
                this.videoList[index].thumbsUpNum += 1
      }
      changeThumbsUp(data).then(res => {
                if(res.data.code !== 200) {
                    this.videoList[index].thumbsUp = beforeThumbsUp
                    this.videoList[index].thumbsUpNum = beforeThumbsUpNum
                }
      })
    },
    // 单击屏幕:暂停或继续播放
    togglePlay(index) {
        console.log("单击视频", index);
pages/video/home-page.vue
@@ -52,11 +52,18 @@
          </view>
          <view
            class="tab-item"
            :class="{active: currentTab === 'likes'}"
            @click="switchTab('likes')"
            :class="{active: currentTab === 'collect'}"
            @click="switchTab('collect')"
          >
            喜欢
            收藏
          </view>
          <view
            class="tab-item"
            :class="{active: currentTab === 'likes'}"
            @click="switchTab('likes')"
          >
            喜欢
          </view>
        </view>
        <!-- 视频列表 -->
@@ -88,13 +95,33 @@
                </view>
            </view>
        </scroll-view>
        <scroll-view class="video-list" scroll-y :show-scrollbar="false" @scrolltolower="getPage" v-show="currentTab === 'likes' && collectVideoList.length > 0">
        <scroll-view class="video-list" scroll-y :show-scrollbar="false" @scrolltolower="getPage" v-show="currentTab === 'collect' && collectVideoList.length > 0">
            <view class="video-container">
                <view
                  class="video-item"
                  v-for="(item, index) in collectVideoList"
                  :key="item.id"
                  @click="playCollectVideo(index)"
                >
                  <image class="video-cover" :src="item.videoContentType === 'video' ? item.coverUrl : item.imgs[0]" mode="aspectFill"></image>
                  <view class="video-info">
                    <view class="video-stats">
                      <view class="stat">
                        <uni-icons type="heart" size="16" color="#fff"></uni-icons>
                        <text>{{item.collectNum}}</text>
                      </view>
                    </view>
                  </view>
                </view>
            </view>
        </scroll-view>
        <scroll-view class="video-list" scroll-y :show-scrollbar="false" @scrolltolower="getPage" v-show="currentTab === 'likes' && likeVideoList.length > 0">
            <view class="video-container">
                <view
                  class="video-item"
                  v-for="(item, index) in likeVideoList"
                  :key="item.id"
                  @click="playLikeVideo(index)"
                >
                  <image class="video-cover" :src="item.videoContentType === 'video' ? item.coverUrl : item.imgs[0]" mode="aspectFill"></image>
                  <view class="video-info">
@@ -115,7 +142,12 @@
          <text class="empty-text">还未发布作品哦~</text>
        </view>
        <!-- 空状态 -->
        <view class="empty-state" v-if="collectVideoList.length === 0 && currentTab === 'likes'">
        <view class="empty-state" v-if="collectVideoList.length === 0 && currentTab === 'collect'">
          <!-- <image src="/static/images/empty.png" mode="aspectFit" class="empty-image"></image> -->
          <text class="empty-text">还没有收藏作品哦~</text>
        </view>
        <!-- 空状态 -->
        <view class="empty-state" v-if="likeVideoList.length === 0 && currentTab === 'likes'">
          <!-- <image src="/static/images/empty.png" mode="aspectFit" class="empty-image"></image> -->
          <text class="empty-text">还没有点赞作品哦~</text>
        </view>
@@ -137,7 +169,7 @@
<script>
import DropdownMenu from '@/components/dropdown-menu.vue'
import {getAuthorInfo, getAuthorVideoPage, getAuthorCollectVideoPage} from '@/api/user.js'
import {getAuthorInfo, getAuthorVideoPage, getAuthorCollectVideoPage, getAuthorLikeVideoPage} from '@/api/user.js'
import {subscribe, unSubscribe, delVideo, updateVideo, userDownVideo} from '@/api/video.js'
export default {
  components: {DropdownMenu},
@@ -175,15 +207,35 @@
          pageNumber: 1,
          pageSize: 10
      },
      likeVideoQuery: {
          authorId: '',
          pageNumber: 1,
          pageSize: 10
      },
      videoTotal: 0,
      videoList: [], // 作品
      collectVideoList: [], // 收藏
      likeVideoList: [], // 点赞
      nomoreVideo: false,
      nomoreCollectVideo: false
      nomoreCollectVideo: false,
      nomoreLikeVideo: false,
    }
  },
  onShow() {
     this.getAuthorInfo();
     if (this.currentTab === 'works') {
        this.videoQuery.pageNumber = 1
        this.nomoreVideo = false
        this.getAuthorVideoPage();
     } else if (this.currentTab === 'collect') {
         this.collectVideoQuery.pageNumber = 1
         this.nomoreCollectVideo = false
         this.getAuthorCollectVideoPage()
     } else if (this.currentTab === 'likes') {
         this.likeVideoQuery.pageNumber = 1
         this.nomoreLikeVideo = false
         this.getAuthorLikeVideoPage()
     }
  },
  onLoad(option) {
    this.authorId = option.authorId;
@@ -261,7 +313,7 @@
                    this.videoQuery.pageNumber += 1;
                }
            })
        } else if(this.currentTab === 'likes') {
        } else if(this.currentTab === 'collect') {
            if(this.nomoreCollectVideo) {
                return;
            }
@@ -280,6 +332,27 @@
                    this.nomoreCollectVideo = true;
                } else {
                    this.collectVideoQuery.pageNumber += 1;
                }
            })
        } else if(this.currentTab === 'likes') {
            if(this.nomoreLikeVideo) {
                return;
            }
            getAuthorLikeVideoPage(this.likeVideoQuery).then(res => {
                if(this.likeVideoQuery.pageNumber === 1) {
                    this.likeVideoList = res.data.data
                } else {
                    this.likeVideoList = [
                      ...this.likeVideoList,
                      ...res.data.data.filter(
                        (newItem) => !this.likeVideoList.some((oldItem) => oldItem.id === newItem.id)
                      ),
                    ];
                }
                if(res.data.data.length < this.likeVideoQuery.pageSize) {
                    this.nomoreLikeVideo = true;
                } else {
                    this.likeVideoQuery.pageNumber += 1;
                }
            })
        }
@@ -333,14 +406,34 @@
      this.currentTab = tab;
      if(tab === 'works') {
          this.collectVideoList = []
          this.likeVideoList = []
          this.videoQuery.pageNumber = 1
          this.nomoreVideo = false
          this.getAuthorVideoPage()
      } else if(tab === 'collect') {
          this.videoList = []
          this.likeVideoList = []
          this.collectVideoQuery.pageNumber = 1
          this.nomoreCollectVideo = false
          this.getAuthorCollectVideoPage()
      } else if(tab === 'likes') {
          this.videoList = []
          this.collectVideoQuery.pageNumber = 1
          this.getAuthorCollectVideoPage()
          this.collectVideoList = []
          this.likeVideoQuery.pageNumber = 1
          this.nomoreLikeVideo = false
          this.getAuthorLikeVideoPage()
      }
    },
    // 获取作者喜欢的视频
    async getAuthorLikeVideoPage() {
        this.likeVideoQuery.authorId = this.authorId
        getAuthorLikeVideoPage(this.likeVideoQuery).then(res => {
            this.likeVideoList = res.data.data
            if(res.data.data.length < this.likeVideoQuery.pageSize) {
                this.nomoreLikeVideo = true;
            }
        })
    },
    // 获取作者的收藏视频
    async getAuthorCollectVideoPage() {
        this.collectVideoQuery.authorId = this.authorId
@@ -377,6 +470,19 @@
        url: `/pages/video/video-play?authorId=${this.authorId}&videoFrom=collect`
      });
    },
    // 播放点赞视频
    playLikeVideo(index) {
      const playInfo = {
          videoList: this.likeVideoList,
          nomore: this.nomoreLikeVideo,
          pageNumber: this.likeVideoQuery.pageNumber,
          playIndex: index
      }
      uni.setStorageSync("playInfo", playInfo)
      uni.navigateTo({
        url: `/pages/video/video-play?authorId=${this.authorId}&videoFrom=like`
      });
    },
    // 编辑个人资料
    editInfo() {
      uni.navigateTo({
pages/video/video-play.vue
@@ -127,31 +127,35 @@
            </view>
          </view>
          
          <!-- 右侧互动按钮 -->
         <view class="action-buttons">
             <view class="avatar-container">
                 <image class="avatar" @click="jumpToHomePage(item.authorId)" :src="item.authorAvatar" mode="aspectFill"></image>
                 <!-- 关注图标 - 使用绝对定位 -->
                 <view v-if="!item.subscribeThisAuthor" class="follow-icon" @click="subscribeAuth(index, item.authorId)">
                   <text class="iconfont">&#xe629;</text>
                 </view>
             </view>
            <view class="action-item" @click="toggleCollect(item, index)">
              <text class="iconfont" v-if="item.collected">&#xe605;</text>
              <text class="iconfont" v-else>&#xe601;</text>
              <text style="font-size: 10px;font-weight: lighter;">{{item.collectNum}}</text>
            </view>
           <view class="action-item" @click="showComments(item)">
              <text class="iconfont">&#xe7f7;</text>
              <text style="font-size: 10px;font-weight: lighter;">{{item.commentNum}}</text>
            </view>
            <view class="action-item">
                <button open-type="share" class="custom-share-btn" :data-obj="item">
                      <text class="iconfont">&#xe602;</text>
                    </button>
            </view>
          </view>
        <!-- 右侧互动按钮 -->
        <view class="action-buttons">
           <view class="avatar-container">
               <image class="avatar" @click="jumpToHomePage(item.authorId)" :src="item.authorAvatar" mode="aspectFill"></image>
               <!-- 关注图标 - 使用绝对定位 -->
               <view v-if="!item.subscribeThisAuthor" class="follow-icon" @click="subscribeAuth(index, item.authorId)">
                 <text class="iconfont">&#xe629;</text>
               </view>
           </view>
           <view class="action-item" @click="toggleThumbsUp(item, index)">
                    <text class="iconfont" v-if="item.thumbsUp">&#xe605;</text>
                    <text class="iconfont" v-else>&#xe601;</text>
                    <text style="font-size: 10px;font-weight: lighter;">{{item.thumbsUpNum}}</text>
           </view>
          <view class="action-item" @click="showComments(item)">
             <text class="iconfont">&#xe7f7;</text>
             <text style="font-size: 10px;font-weight: lighter;">{{item.commentNum}}</text>
           </view>
              <view class="action-item" @click="toggleCollect(item, index)">
                 <text class="iconfont" v-if="item.collected">&#xeb9d;</text>
                 <text class="iconfont" v-else>&#xe603;</text>
                 <text style="font-size: 10px;font-weight: lighter;">{{item.collectNum}}</text>
               </view>
              <view class="action-item">
                  <button open-type="share" class="custom-share-btn" :data-obj="item">
                    <text class="iconfont">&#xe602;</text>
                  </button>
              </view>
         </view>
          
        </swiper-item>
      </swiper>
@@ -239,7 +243,16 @@
</template>
<script>
import { getRecommendVideos, savePlayRecord, subscribe, getVideoComments, addVideoComment, thubmsUpComment, cancelThubmsUpComment } from "@/api/video.js";
import {
    getRecommendVideos,
    savePlayRecord,
    subscribe,
    getVideoComments,
    addVideoComment,
    thubmsUpComment,
    cancelThubmsUpComment,
    changeThumbsUp,
} from "@/api/video.js";
import { changeCollect } from "@/api/collect.js";
import { saveShare } from "@/api/share.js";
import storage from "@/utils/storage.js";
@@ -827,6 +840,28 @@
          }
      })
    },
    // 点赞/取消点赞
    toggleThumbsUp(item, index) {
      let data = {
                refId: item.id,
                thumbsUpType: 'video'
      }
      const beforeThumbsUp = item.thumbsUp
      const beforeThumbsUpNum = item.thumbsUpNum
      if(item.thumbsUp) {
                this.videoList[index].thumbsUp = false
                this.videoList[index].thumbsUpNum -= 1
      } else {
                this.videoList[index].thumbsUp = true
                this.videoList[index].thumbsUpNum += 1
      }
      changeThumbsUp(data).then(res => {
                if(res.data.code !== 200) {
                    this.videoList[index].thumbsUp = beforeThumbsUp
                    this.videoList[index].thumbsUpNum = beforeThumbsUpNum
                }
      })
    },
    // 单击屏幕:暂停或继续播放
    togglePlay(index) {
        console.log("单击视频", index);