|
|
@ -0,0 +1,206 @@ |
|
|
|
<template> |
|
|
|
<scroll-view |
|
|
|
scroll-y="true" |
|
|
|
:style="{height: height}" |
|
|
|
@scrolltolower="loadMoreData"> |
|
|
|
<view class="videoList"> |
|
|
|
<view class="video-item" v-for="(item, index) in spotListWord" :key="index" |
|
|
|
> |
|
|
|
<view class="image" @click="showVideo(item, index)"> |
|
|
|
<image :src="item.spotImage && item.spotImage.split(',')[0]" mode="aspectFill"> |
|
|
|
</image> |
|
|
|
</view> |
|
|
|
<view class="bottom"> |
|
|
|
<view class="headImage"> |
|
|
|
{{ item.spotName }} |
|
|
|
</view> |
|
|
|
|
|
|
|
<view class="like"> |
|
|
|
<view class=""> |
|
|
|
查看详情 |
|
|
|
</view> |
|
|
|
|
|
|
|
<view class="" |
|
|
|
style="margin-top: 10rpx;"> |
|
|
|
<uv-icon size="30rpx" |
|
|
|
name="arrow-right"></uv-icon> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</scroll-view> |
|
|
|
</template> |
|
|
|
|
|
|
|
<script> |
|
|
|
import { mapState } from 'vuex' |
|
|
|
export default { |
|
|
|
props : { |
|
|
|
height : { |
|
|
|
default : 'auto' |
|
|
|
}, |
|
|
|
roleId : { |
|
|
|
} |
|
|
|
}, |
|
|
|
data() { |
|
|
|
return { |
|
|
|
queryParams: { |
|
|
|
pageNo: 1, |
|
|
|
pageSize: 10, |
|
|
|
}, |
|
|
|
total : 0, |
|
|
|
list : [], |
|
|
|
} |
|
|
|
}, |
|
|
|
computed : { |
|
|
|
...mapState(['spotList']), |
|
|
|
spotListWord(){ |
|
|
|
return this.spotList.filter(n => n.categoryId == 0) |
|
|
|
}, |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
showVideo(item, current){ |
|
|
|
// this.$utils.hanldePreview |
|
|
|
|
|
|
|
// uni.previewMedia({ |
|
|
|
// current : item.videoContent |
|
|
|
// }) |
|
|
|
|
|
|
|
this.$utils.navigateTo(`/pages_order/service/articleDetail?id=${item.id}&type=Inheritance`) |
|
|
|
|
|
|
|
return |
|
|
|
|
|
|
|
let sources = [] |
|
|
|
|
|
|
|
this.list.forEach(n => { |
|
|
|
sources.push({ |
|
|
|
url : n.travelVideo.videoContent, |
|
|
|
type : 'video' |
|
|
|
}) |
|
|
|
}) |
|
|
|
|
|
|
|
wx.previewMedia({ |
|
|
|
sources, // 需要预览的资源列表 |
|
|
|
current, // 当前显示的资源序号 |
|
|
|
// url: url // 当前预览资源的url链接 |
|
|
|
}) |
|
|
|
}, |
|
|
|
queryVideoList(){ |
|
|
|
|
|
|
|
if(this.roleId){ |
|
|
|
this.queryParams.roleInfoId = this.roleId |
|
|
|
} |
|
|
|
|
|
|
|
if(uni.getStorageSync('token')){ |
|
|
|
this.queryParams.token = uni.getStorageSync('token') |
|
|
|
} |
|
|
|
|
|
|
|
this.$api('queryVedioById', this.queryParams, res => { |
|
|
|
if(res.code == 200){ |
|
|
|
this.list = res.result |
|
|
|
// this.total = res.result.total |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
loadMoreData(){ |
|
|
|
if(this.queryParams.pageSize <= this.list.length){ |
|
|
|
this.queryParams.pageSize += 10 |
|
|
|
this.queryVideoList() |
|
|
|
} |
|
|
|
}, |
|
|
|
addThumpup(videoId){ |
|
|
|
this.$api('addThumpup', { |
|
|
|
videoId |
|
|
|
}, res => { |
|
|
|
if(res.code == 200){ |
|
|
|
this.queryVideoList() |
|
|
|
uni.showToast({ |
|
|
|
title: res.message, |
|
|
|
icon: 'none' |
|
|
|
}) |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
} |
|
|
|
} |
|
|
|
</script> |
|
|
|
|
|
|
|
<style scoped lang="scss"> |
|
|
|
.videoList { |
|
|
|
.video-item { |
|
|
|
margin: 20rpx; |
|
|
|
background-color: #fff; |
|
|
|
position: relative; |
|
|
|
.image { |
|
|
|
position: relative; |
|
|
|
width: 100%; |
|
|
|
height: 420rpx; |
|
|
|
overflow: hidden; |
|
|
|
|
|
|
|
image { |
|
|
|
width: 100%; |
|
|
|
height: 420rpx; |
|
|
|
border-radius: 30rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.icon { |
|
|
|
position: absolute; |
|
|
|
right: 30rpx; |
|
|
|
top: 30rpx; |
|
|
|
width: 60rpx; |
|
|
|
height: 60rpx; |
|
|
|
background-color: #ffffffaa; |
|
|
|
border-radius: 50%; |
|
|
|
display: flex; |
|
|
|
justify-content: center; |
|
|
|
align-items: center; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.bottom { |
|
|
|
font-size: 30rpx; |
|
|
|
display: flex; |
|
|
|
justify-content: space-between; |
|
|
|
position: absolute; |
|
|
|
bottom: 0; |
|
|
|
left: 0; |
|
|
|
background-color: #ffffffaa; |
|
|
|
width: calc(100% - 40rpx); |
|
|
|
padding: 30rpx; |
|
|
|
font-weight: 900; |
|
|
|
align-items: center; |
|
|
|
|
|
|
|
.headImage { |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
|
|
|
|
image { |
|
|
|
width: 50rpx; |
|
|
|
height: 50rpx; |
|
|
|
border-radius: 50%; |
|
|
|
margin-right: 6rpx; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.like { |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
justify-content: center; |
|
|
|
font-weight: 500; |
|
|
|
font-size: 26rpx; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
.showVideo{ |
|
|
|
display: flex; |
|
|
|
justify-content: center; |
|
|
|
align-items: center; |
|
|
|
height: 100%; |
|
|
|
width: 1000%; |
|
|
|
video{ |
|
|
|
// width: 100%; |
|
|
|
// height: 100%; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
</style> |