287 lines
6.6 KiB
Vue
287 lines
6.6 KiB
Vue
<template>
|
||
<view :data-theme="theme">
|
||
<view @click="goDetail(items)" class="wf-page2">
|
||
<view class='pictrue skeleton-rect'>
|
||
<!-- <image :src='items.cover' mode="widthFix"></image> -->
|
||
<!-- <image :src='item.image[0]' mode="widthFix"></image> -->
|
||
<easy-loadimage mode="widthFix" :image-src="items.cover"></easy-loadimage>
|
||
<view class="video_img" v-if="items.type == 2">
|
||
<text class="iconfont icon-24gf-play"></text>
|
||
</view>
|
||
<!-- 审核状态:0-待审核,1-审核通过,2-审核失败,3-平台关闭 -->
|
||
<view class="approval_status" v-if="items.auditStatus != 1">
|
||
<view v-if="items.auditStatus == 2" class="approval_title">审核未通过</view>
|
||
<view v-if="items.auditStatus == 3" class="approval_title">平台关闭</view>
|
||
<view v-if="items.auditStatus == 0" class="approval_title">正在审核</view>
|
||
<text v-if="items.auditStatus == 2 || items.auditStatus == 3" class="approval_info">查看未通过原因</text>
|
||
<text v-if="items.auditStatus == 0" class="approval_info">通过后将展示在列表</text>
|
||
</view>
|
||
</view>
|
||
<view class='text'>
|
||
<view v-if="items.title"class='name skeleton-rect mt30'>
|
||
<text class="text_name line2">
|
||
{{items.title}}
|
||
</text>
|
||
</view>
|
||
<view class="count acea-row skeleton-rect">
|
||
<view class="author acea-row">
|
||
<image class="image" :src="items.authorAvatar ? items.authorAvatar : urlDomain+'crmebimage/presets/morenT.png'" mode="widthFix"></image>
|
||
<text class="author_name line1">{{items.authorName}}</text>
|
||
</view>
|
||
<view class="like" @click.stop="likeToggle(items)">
|
||
<view class="like_count">
|
||
<text class="iconfont" :class="items.userIsLike ? 'icon-shoucang1' : 'icon-dianzan'"></text>
|
||
<text
|
||
class="collect">{{items.likeNum ? items.likeNum < 10000 ? items.likeNum : (items.likeNum / 10000).toFixed(2) + 'w' : '' }}</text>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</template>
|
||
<script>
|
||
// +----------------------------------------------------------------------
|
||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||
// +----------------------------------------------------------------------
|
||
// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
|
||
// +----------------------------------------------------------------------
|
||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||
// +----------------------------------------------------------------------
|
||
// | Author: CRMEB Team <admin@crmeb.com>
|
||
// +----------------------------------------------------------------------
|
||
import {
|
||
toLogin
|
||
} from '@/libs/login.js';
|
||
import {
|
||
discoverNoteLike
|
||
} from '@/libs/follow.js';
|
||
import easyLoadimage from '@/components/base/easy-loadimage.vue'
|
||
import {
|
||
mapGetters
|
||
} from "vuex";
|
||
let app = getApp();
|
||
export default {
|
||
components: {
|
||
easyLoadimage
|
||
},
|
||
computed: {
|
||
...mapGetters(['uid', 'isLogin'])
|
||
},
|
||
props: {
|
||
// 区分从发现列表、我的主页作品进去,点进去内容列表,home从我的主页点进去
|
||
fromTo: {
|
||
type: String,
|
||
default: ''
|
||
},
|
||
items: {
|
||
type: Object,
|
||
default: {}
|
||
},
|
||
type: {
|
||
type: Number,
|
||
default: 0
|
||
},
|
||
tab: {
|
||
type: Number,
|
||
default: 1
|
||
}
|
||
},
|
||
data() {
|
||
return {
|
||
urlDomain: this.$Cache.get("imgHost"),
|
||
theme: app.globalData.theme
|
||
};
|
||
},
|
||
methods: {
|
||
//点赞
|
||
likeToggle(item) {
|
||
if (this.isLogin) {
|
||
discoverNoteLike(item.id).then(() => {
|
||
this.$set(item, 'userIsLike', !item.userIsLike);
|
||
if (!item.userIsLike) {
|
||
item.likeNum--;
|
||
item.likeNum = item.likeNum == 0 ? 0 : item.likeNum
|
||
} else {
|
||
item.likeNum++;
|
||
}
|
||
});
|
||
} else {
|
||
toLogin();
|
||
}
|
||
},
|
||
goDetail(item) {
|
||
if (item.type == 1) {
|
||
if (this.fromTo === 'home') {
|
||
uni.navigateTo({
|
||
url: `/pages/discover/discover_details/index?noteId=${item.id}`
|
||
});
|
||
} else {
|
||
uni.navigateTo({
|
||
url: `/pages/discover/discover_recommend/index?noteId=${item.id}`
|
||
});
|
||
}
|
||
}else{
|
||
uni.navigateTo({
|
||
//#ifdef APP
|
||
url: `/pages/discover/discover_video/appVideo/index?noteId=${item.id}&fromTo=${this.fromTo}`
|
||
//#endif
|
||
//#ifndef APP
|
||
url: `/pages/discover/discover_video/routineVideo/index?noteId=${item.id}&fromTo=${this.fromTo}`
|
||
//#endif
|
||
|
||
});
|
||
}
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
<style lang="scss" scoped>
|
||
.pictrue {
|
||
height: 339rpx;
|
||
border-radius: 16rpx;
|
||
position: relative;
|
||
|
||
/deep/image,
|
||
/deep/.easy-loadimage,
|
||
uni-image {
|
||
width: 100%;
|
||
max-width: 339rpx;
|
||
height: 339rpx;
|
||
border-radius: 16rpx;
|
||
}
|
||
|
||
.video_img {
|
||
position: absolute;
|
||
top: 16rpx;
|
||
right: 16rpx;
|
||
z-index: 10;
|
||
width: 40rpx;
|
||
height: 40rpx;
|
||
line-height: 40rpx;
|
||
background: (rgba(0, 0, 0, .5));
|
||
border-radius: 50%;
|
||
color: #fff;
|
||
text-align: center;
|
||
|
||
.iconfont {
|
||
font-size: 20rpx;
|
||
position: absolute;
|
||
left: 12rpx;
|
||
}
|
||
}
|
||
|
||
.plant-show {
|
||
width: 42rpx;
|
||
height: 42rpx;
|
||
border-radius: 100%;
|
||
background: rgba(0, 0, 0, .5);
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
position: absolute;
|
||
top: 10rpx;
|
||
left: 10rpx;
|
||
|
||
.iconfont {
|
||
font-size: 20rpx;
|
||
color: #fff;
|
||
|
||
}
|
||
}
|
||
}
|
||
|
||
.loadfail-img {
|
||
width: 100%;
|
||
height: 345rpx;
|
||
}
|
||
|
||
.text {
|
||
padding-bottom: 6rpx;
|
||
width: 345rpx;
|
||
|
||
.name {
|
||
padding: 0 20rpx;
|
||
color: #333333;
|
||
font-size: 28rpx;
|
||
font-weight: bold;
|
||
}
|
||
|
||
.count {
|
||
padding: 0 20rpx;
|
||
margin-top: 22rpx;
|
||
justify-content: space-between;
|
||
|
||
.author {
|
||
align-items: center;
|
||
}
|
||
|
||
.author_name {
|
||
margin-left: 10rpx;
|
||
max-width: 120rpx;
|
||
font-size: 24rpx;
|
||
color: #333333;
|
||
max-width: 180rpx;
|
||
}
|
||
|
||
.author_time {
|
||
color: #666666;
|
||
}
|
||
|
||
.like {
|
||
font-size: 24rpx;
|
||
color: #999999;
|
||
display: flex;
|
||
|
||
.like_count {
|
||
display: flex;
|
||
align-items: center;
|
||
}
|
||
|
||
.iconfont {
|
||
font-size: 30rpx;
|
||
}
|
||
|
||
.icon-shoucang1 {
|
||
@include main_color(theme);
|
||
}
|
||
|
||
.collect {
|
||
font-size: 24rpx;
|
||
margin-left: 5rpx;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
.wf-page2 .author .image,
|
||
.wf-page2 .author uni-image {
|
||
width: 46rpx !important;
|
||
height: 46rpx !important;
|
||
border-radius: 100%;
|
||
}
|
||
|
||
.approval_status {
|
||
width: 100%;
|
||
height: 100%;
|
||
background: rgba(0, 0, 0, .4);
|
||
position: absolute;
|
||
top: 0;
|
||
left: 0;
|
||
border-radius: 16rpx;
|
||
color: #fff;
|
||
text-align: center;
|
||
z-index: 5;
|
||
|
||
.approval_title {
|
||
font-size: 28rpx;
|
||
margin-top: 135rpx;
|
||
font-weight: bold;
|
||
}
|
||
|
||
.approval_info {
|
||
font-size: 24rpx;
|
||
margin-top: 24rpx;
|
||
}
|
||
}
|
||
</style> |