瀏覽代碼

添加 bili 视频缓存接口

reghao 2 年之前
父節點
當前提交
e6f1c54c7a

+ 6 - 0
src/api/video.js

@@ -11,6 +11,7 @@ const videoApi = {
   videoInfoApi: '/api/content/video/detail',
   videoUrlApi: '/api/content/video/url',
   videoDownloadApi: '/api/content/video/download',
+  cacheBiliApi: '/api/content/video/cache',
   videoDeleteApi: '/api/content/video/delete',
   userVideoPostApi: '/api/content/video/user',
   userVideoCardApi: '/api/content/video/card/user',
@@ -75,6 +76,11 @@ export function downloadVideo(videoId) {
   return get(videoApi.videoDownloadApi + '/' + videoId)
 }
 
+// 缓存 bili 视频接口
+export function cacheBiliVideo(bvId) {
+  return post(videoApi.cacheBiliApi + '/' + bvId)
+}
+
 // 视频 URL 接口
 export function deleteVideo(videoId) {
   return delete0(videoApi.videoDeleteApi + '/' + videoId)

+ 2 - 2
src/components/card/ImageCard.vue

@@ -15,10 +15,10 @@
               <i v-else class="el-icon-mobile-phone" />
             </span>
             <span style="position: absolute; bottom: 0; left: 10%; color:white">
-              <i class="el-icon-video-play">{{ getVisited(video.viewCount) }}</i>
+              <i class="el-icon-video-play">{{ getVisited(video.view) }}</i>
             </span>
             <span style="position: absolute; bottom: 0; left: 30%; color:white">
-              <i class="el-icon-s-comment">{{ getVisited(video.commentCount) }}</i>
+              <i class="el-icon-s-comment">{{ getVisited(video.comment) }}</i>
             </span>
             <span style="position: absolute; bottom: 0; right: 0; color:white"> {{ video.duration }} </span>
           </div>

+ 2 - 2
src/components/card/VideoCard.vue

@@ -15,10 +15,10 @@
               <i v-else class="el-icon-mobile-phone" />
             </span>
             <span style="position: absolute; bottom: 0; left: 10%; color:white">
-              <i class="el-icon-video-play">{{ getVisited(video.viewCount) }}</i>
+              <i class="el-icon-video-play">{{ getVisited(video.view) }}</i>
             </span>
             <span style="position: absolute; bottom: 0; left: 30%; color:white">
-              <i class="el-icon-s-comment">{{ getVisited(video.commentCount) }}</i>
+              <i class="el-icon-s-comment">{{ getVisited(video.comment) }}</i>
             </span>
             <span style="position: absolute; bottom: 0; right: 0; color:white"> {{ video.duration }} </span>
           </div>

+ 3 - 3
src/views/home/ArticlePage.vue

@@ -6,9 +6,9 @@
           <h3 v-text="video.title" />
         </el-row>
         <el-row style="color: #999;font-size: 16px;padding-top: 0px;">
-          <span><i class="el-icon-video-play">{{ video.viewCount }}</i></span>
+          <span><i class="el-icon-video-play">{{ video.view }}</i></span>
           <span v-html="'&nbsp;&nbsp;&nbsp;&nbsp;'" />
-          <span><i class="el-icon-s-comment">{{ video.commentCount }}</i></span>
+          <span><i class="el-icon-s-comment">{{ video.comment }}</i></span>
           <span v-html="'&nbsp;&nbsp;&nbsp;&nbsp;'" />
           <span><i class="el-icon-watch">{{ video.pubDate }}</i></span>
         </el-row>
@@ -42,7 +42,7 @@
         <!--视频播放框-->
         <video-player :video-prop="video" />
         <div class="el-icon-collection">
-          {{ "已收藏" + video.collectCount + "次" }}
+          {{ "已收藏" + video.favorite + "次" }}
           <el-button
             type="danger"
             size="mini"

+ 6 - 6
src/views/home/LivePage.vue

@@ -8,7 +8,7 @@
               <h3 v-html="video.title" />
             </el-row>
             <el-row style="color: #999;font-size: 16px;padding-top: 0px;">
-              <span><i class="el-icon-video-play">{{ video.viewCount }}</i></span>
+              <span><i class="el-icon-video-play">{{ video.view }}</i></span>
             </el-row>
           </div>
           <div class="text item">
@@ -27,7 +27,7 @@
                 :disabled="isCollected"
                 @click="collection(video.videoId)"
               >
-                <span>收藏 {{ video.collectCount }}</span>
+                <span>收藏 {{ video.favorite }}</span>
               </el-button>
               <el-button
                 type="danger"
@@ -36,7 +36,7 @@
                 :disabled="isCollected"
                 @click="collection(video.videoId)"
               >
-                <span>喜欢 {{ video.collectCount }}</span>
+                <span>喜欢 {{ video.thumbUp }}</span>
               </el-button>
               <el-button
                 type="danger"
@@ -45,7 +45,7 @@
                 :disabled="isCollected"
                 @click="collection(video.videoId)"
               >
-                <span>分享 {{ video.collectCount }}</span>
+                <span>分享 {{ video.share }}</span>
               </el-button>
               <el-button
                 type="danger"
@@ -140,8 +140,8 @@ export default {
         videoId: 'jk1024',
         title: '我的直播',
         description: '我的直播',
-        viewCount: 10,
-        collectCount: 10,
+        view: 10,
+        favorite: 10,
       },
       user: {
         userId: 10001,

+ 26 - 6
src/views/home/VideoPage.vue

@@ -8,9 +8,9 @@
               <h3 v-html="video.title" />
             </el-row>
             <el-row style="color: #999;font-size: 16px;padding-top: 0px;">
-              <span><i class="el-icon-video-play">{{ video.viewCount }}</i></span>
+              <span><i class="el-icon-video-play">{{ video.view }}</i></span>
               <span v-html="'&nbsp;&nbsp;&nbsp;&nbsp;'" />
-              <span><i class="el-icon-s-comment">{{ video.commentCount }}</i></span>
+              <span><i class="el-icon-s-comment">{{ video.comment }}</i></span>
               <span v-html="'&nbsp;&nbsp;&nbsp;&nbsp;'" />
               <span><i class="el-icon-watch">{{ video.pubDate }}</i></span>
             </el-row>
@@ -31,7 +31,7 @@
                 :disabled="isCollected"
                 @click="collection(video.videoId)"
               >
-                <span>收藏 {{ video.collectCount }}</span>
+                <span>收藏 {{ video.favorite }}</span>
               </el-button>
               <el-button
                 type="danger"
@@ -40,7 +40,7 @@
                 :disabled="isCollected"
                 @click="collection(video.videoId)"
               >
-                <span>喜欢 {{ video.collectCount }}</span>
+                <span>喜欢 {{ video.thumbUp }}</span>
               </el-button>
               <el-button
                 type="danger"
@@ -49,7 +49,7 @@
                 :disabled="isCollected"
                 @click="collection(video.videoId)"
               >
-                <span>分享 {{ video.collectCount }}</span>
+                <span>分享 {{ video.share }}</span>
               </el-button>
               <el-button
                 type="danger"
@@ -59,6 +59,14 @@
               >
                 <span>下载</span>
               </el-button>
+              <el-button
+                type="danger"
+                size="mini"
+                icon="el-icon-download"
+                @click="cacheBiliVideo(video.videoId)"
+              >
+                <span>缓存</span>
+              </el-button>
               <el-button
                 type="danger"
                 size="mini"
@@ -196,7 +204,7 @@ import Comment from 'components/comment/Comment'
 import VideoCard from 'components/card/VideoCard'
 import UserAvatarCard from '@/components/card/UserAvatarCard'
 
-import {similarVideo, videoInfo, videoErrorReport, downloadVideo} from '@/api/video'
+import {similarVideo, videoInfo, videoErrorReport, downloadVideo, cacheBiliVideo} from '@/api/video'
 import { collectVideo } from "@/api/collect";
 import {getUserInfo} from "@/api/user";
 
@@ -360,6 +368,18 @@ export default {
         })
       })
     },
+    cacheBiliVideo(bvId) {
+      cacheBiliVideo(bvId).then(res => {
+        if (res.code === 0) {
+          this.$notify({
+            title: '提示',
+            message: 'bili 视频正在缓存中',
+            type: 'warning',
+            duration: 3000
+          })
+        }
+      })
+    },
     displayErrorReportDialog() {
       this.errorReportForm.videoId = this.video.videoId
       this.showErrorReportDialog = true

+ 3 - 3
src/views/post/PostAnalysis.vue

@@ -43,15 +43,15 @@
           width="180">
         </el-table-column>
         <el-table-column
-          prop="viewCount"
+          prop="view"
           label="播放量">
         </el-table-column>
         <el-table-column
-          prop="commentCount"
+          prop="comment"
           label="评论量">
         </el-table-column>
         <el-table-column
-          prop="commentCount"
+          prop="favorite"
           label="收藏量">
         </el-table-column>
         <el-table-column label="操作">

+ 6 - 6
src/views/post/PostList.vue

@@ -149,13 +149,13 @@
                   prop="scope"
                   label="可见范围">
                   <template slot-scope="scope">
-                    <el-tag v-if="scope.row.viewCount === 1" disable-transitions>
+                    <el-tag v-if="scope.row.scope === 1" disable-transitions>
                       全部可见
                     </el-tag>
-                    <el-tag v-else-if="scope.row.viewCount === 2" :type="'success'" disable-transitions>
+                    <el-tag v-else-if="scope.row.scope === 2" :type="'success'" disable-transitions>
                       VIP 可见
                     </el-tag>
-                    <el-tag v-else-if="scope.row.viewCount === 3" :type="'warning'" disable-transitions>
+                    <el-tag v-else-if="scope.row.scope === 3" :type="'warning'" disable-transitions>
                       验证码可见
                     </el-tag>
                     <el-tag v-else :type="'danger'" disable-transitions>
@@ -210,13 +210,13 @@
                   prop="scope"
                   label="可见范围">
                   <template slot-scope="scope">
-                    <el-tag v-if="scope.row.viewCount === 1" disable-transitions>
+                    <el-tag v-if="scope.row.scope === 1" disable-transitions>
                       全部可见
                     </el-tag>
-                    <el-tag v-else-if="scope.row.viewCount === 2" :type="'success'" disable-transitions>
+                    <el-tag v-else-if="scope.row.scope === 2" :type="'success'" disable-transitions>
                       VIP 可见
                     </el-tag>
-                    <el-tag v-else-if="scope.row.viewCount === 3" :type="'warning'" disable-transitions>
+                    <el-tag v-else-if="scope.row.scope === 3" :type="'warning'" disable-transitions>
                       验证码可见
                     </el-tag>
                     <el-tag v-else :type="'danger'" disable-transitions>