Преглед изворни кода

开发pk页面,视频组件增加pk态

bayi пре 2 година
родитељ
комит
6157ffce67

+ 17 - 15
api/video.js

@@ -1,20 +1,22 @@
 import {
-  request
+    request
 } from "../utils/request";
 
 module.exports = {
-  //设置视频状态。比如删除。禁用
-  setVideoStatus: data => request('/userRead', 'put', data),
-  // 作品点赞
-  likeVideo: data => request(`/userRead/like/${data}`, 'get'),
-  // 收藏
-  collectVideo: data => request('/favorites', 'post', data),
-  // 获取评论
-  getComment: data => request('/posts/reply', 'get', data),
-  // 发布评论
-  postReply: data => request('/posts', 'post', data),
-  // 回复评论
-  ReplyComment: data => request('/reply', 'post', data),
-  // 评论点赞
-  likeReply: data => request(`/posts/like/${data}`, 'get'),
+    // 获取阅读的详情
+    getreadInfo: data => request(`/userRead/readInfo/${data}`, 'get', data),
+    //设置视频状态。比如删除。禁用
+    setVideoStatus: data => request('/userRead', 'put', data),
+    // 作品点赞
+    likeVideo: data => request(`/userRead/like/${data}`, 'get'),
+    // 收藏
+    collectVideo: data => request('/favorites', 'post', data),
+    // 获取评论
+    getComment: data => request('/posts/reply', 'get', data),
+    // 发布评论
+    postReply: data => request('/posts', 'post', data),
+    // 回复评论
+    ReplyComment: data => request('/reply', 'post', data),
+    // 评论点赞
+    likeReply: data => request(`/posts/like/${data}`, 'get'),
 }

+ 1 - 0
app.json

@@ -1,6 +1,7 @@
 {
     "pages": [
         "pages/index/index",
+        "pages/pkPage/index",
         "pages/userWorks/index",
         "pages/my/index",
         "pages/editUser/index",

+ 8 - 3
components/videoPreview/index.js

@@ -22,7 +22,7 @@ Component({
         },
         videoType: {
             type: String,
-            // value 为public时是默认公共样式,为my时为“我的”样式,展示下载删除是否公开
+            // value 为public时是默认公共样式,为my时为“我的”样式,展示下载删除是否公开,pk为pk的样式文案
             value: 'public'
         },
         currentId: {
@@ -54,7 +54,7 @@ Component({
                 })
             }
             this.setData({
-                ['videoInfoCopy.userRead.status']:info.status === 'NORMAL' ? 'DISABLE' : 'NORMAL'
+                ['videoInfoCopy.userRead.status']: info.status === 'NORMAL' ? 'DISABLE' : 'NORMAL'
             })
         },
         // 点赞
@@ -147,7 +147,7 @@ Component({
             })
         },
         // 收藏课程
-        async collect(e) {
+        async collect() {
             let {
                 id,
                 type,
@@ -173,6 +173,11 @@ Component({
                 uid: this.properties.videoInfo.user.uid
             })
             this.triggerEvent('setListFans', this.properties.videoInfo.user.uid)
+        },
+        toPkPage() {
+            wx.navigateTo({
+                url: `/pages/pkPage/index?videoId=${this.data.videoInfoCopy.userRead.id}`,
+            })
         }
     }
 })

+ 7 - 0
components/videoPreview/index.less

@@ -21,6 +21,7 @@
                 height: 80rpx;
                 border-radius: 50%;
                 overflow: hidden;
+                background-color: rgb(228, 225, 225);
             }
 
             .wH-left-user {
@@ -82,6 +83,12 @@
                 border: 1rpx solid #969696;
                 color: #969696;
             }
+
+            .pkNum {
+                color: #30C866;
+                font-size: 44rpx;
+                margin-right: 20rpx;
+            }
         }
     }
 

+ 9 - 4
components/videoPreview/index.wxml

@@ -4,7 +4,7 @@
         <view class="wH-left">
             <image src="{{videoInfoCopy.user.avatar}}" class="avatar" mode="" />
             <view class="wH-left-user">
-                <view class="nickname textOver">{{videoInfoCopy.user.nickName}}</view>
+                <view class="nickname textOver">{{videoInfoCopy.user.nickName||videoInfoCopy.user.eid}}</view>
                 <view class="time">{{videoInfoCopy.userRead.day}}</view>
             </view>
         </view>
@@ -32,6 +32,11 @@
                 <text class="text">{{videoInfoCopy.isFans?'已关注':'关注'}}</text>
             </view>
         </view>
+        <view class="wH-right" wx:elif="{{videoType=='pk'}}">
+            <view class="pkNum">
+                {{videoInfoCopy.userRead.score||'暂无评'}}分
+            </view>
+        </view>
     </view>
     <view class="workContent">
         <!-- 审核中遮罩 -->
@@ -56,10 +61,10 @@
             <image src="/static/share.png" mode="" class="icon" />
             <view class="icon-name">分享</view>
         </button>
-        <view class="mangeL-box">
+        <view class="mangeL-box" bindtap="collect">
             <image src="{{videoInfoCopy.isFavorites ? '/static/star_colored.png' : '/static/star.png'}}" mode=""
                 class="icon" />
-            <view class="icon-name">{{item.isFavorites?'已收藏':'收藏'}}</view>
+            <view class="icon-name">{{videoInfoCopy.isFavorites?'已收藏':'收藏'}}</view>
         </view>
         <view class="mangeL-box" bindtap="openComment">
             <image src="/static/comment.png" mode="" class="icon" />
@@ -71,7 +76,7 @@
             <view class="icon-name">{{filters.numFilter(videoInfoCopy.userRead.likeAmount)}}</view>
         </view>
     </view>
-    <view class="toReading">
+    <view class="toReading" bindtap="toPkPage">
         <image src="/static/reading.png" class="reading" mode="" />
         <view class="reading-text">挑战PK</view>
     </view>

+ 6 - 0
components/videoPreview/index.wxss

@@ -21,6 +21,7 @@
   height: 80rpx;
   border-radius: 50%;
   overflow: hidden;
+  background-color: #e4e1e1;
 }
 .work .workHead .wH-left .wH-left-user {
   margin-left: 18rpx;
@@ -72,6 +73,11 @@
   border: 1rpx solid #969696;
   color: #969696;
 }
+.work .workHead .wH-right .pkNum {
+  color: #30C866;
+  font-size: 44rpx;
+  margin-right: 20rpx;
+}
 .work .workContent {
   font-size: 0px;
 }

+ 39 - 0
pages/pkPage/index.js

@@ -0,0 +1,39 @@
+import behavior from '~/mixins/video'
+import {
+    getreadInfo
+} from '~/api/video'
+Page({
+    behaviors: [behavior],
+    data: {
+        videoInfo: {}
+    },
+
+    /**
+     * 生命周期函数--监听页面加载
+     */
+    onLoad(options) {
+        let videoId = options.videoId
+        console.log(options);
+        this.getreadInfo(videoId)
+    },
+    async getreadInfo(videoId) {
+        let videoInfo = await getreadInfo(videoId)
+        console.log(videoInfo);
+        this.setData({
+            videoInfo
+        })
+    },
+    /**
+     * 生命周期函数--监听页面显示
+     */
+    onShow() {
+
+    },
+
+    /**
+     * 页面上拉触底事件的处理函数
+     */
+    onReachBottom() {
+
+    },
+})

+ 6 - 0
pages/pkPage/index.json

@@ -0,0 +1,6 @@
+{
+    "usingComponents": {
+        "videoPreview": "/components/videoPreview/index",
+        "Comment": "/components/comment/index"
+    }
+}

+ 3 - 0
pages/pkPage/index.less

@@ -0,0 +1,3 @@
+.pkBox{
+    
+}

+ 4 - 0
pages/pkPage/index.wxml

@@ -0,0 +1,4 @@
+<view class="pkBox">
+    <videoPreview videoInfo="{{videoInfo}}" currentId="{{currentId}}" data-id="{{videoInfo.userRead.id}}"
+        bind:playVideo="playVideo" bind:openComment="openComment" videoType='pk' />
+</view>

+ 0 - 0
pages/pkPage/index.wxss


+ 2 - 2
project.private.config.json

@@ -11,8 +11,8 @@
       "list": [
         {
           "name": "",
-          "pathName": "pages/index/index",
-          "query": "shareUid=123",
+          "pathName": "pages/pkPage/index",
+          "query": "videoId=1671184041796866",
           "launchMode": "default",
           "scene": null
         },

+ 0 - 1
store/index.js

@@ -13,7 +13,6 @@ export const store = observable({
   },
   // actions
   setUser: action(function (step) {
-    console.log(step, '触发');
     let grade = step.grade
     var gradeObj = {
       "PRIMARY_FIRST_GRADE": "一年级",