You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

185 lines
4.6 KiB

<template>
<view class="body">
<template v-if="list.length!=0">
<view class="reviews_item" v-for="(item,index) in list" :key="index">
<view class="reviews_item_title">
<view class="reviews_item_img"><image mode="" :src="item.avatar_img_small"></image></view>
<view class="reviews_item_one">
<view class="reviews_title_user">
<view class="reviews_title_user_name">{{item.user_name}}</view>
<uni-rate style="margin-left: 2rpx;margin-top: 10rpx;"size="18" :disabled="true" disabledColor="#B22234" :value="item.comment_rank" active-color="#B22234" :is-fill="false"/>
</view>
<!-- <view class="reviews_title_color">Color:###</view> -->
</view>
<view class="reviews_title_time">{{item.add_time | date}}</view>
</view>
<view class="reviews_item_color">{{item.commentlabels}}</view>
<view class="reviews_item_content">{{item.content}}</view>
<view class="reviews_item_image">
<view class="reviews_image_content" v-for="(item1,index1) in item.attachments" :key="item1.afile">
<!-- <text> {{ item1.afile}}</text>
-->
<video :src="item1.afile" v-if="item1.afile.includes('mp4')"
:autoplay="false"
:muted="true"
controls
:show-mute-btn="true"
:id="item1.afile"
object-fit="contain"
:poster="item1.afile"
@play="play(item1.afile)"
class="comment_video"></video>
<image mode=" " :src="item1.afile" @click="clickImg(index1,item.attachments)"></image>
</view>
</view>
</view>
</template>
<view class="noreview" v-else>No comment for the time being</view>
<!-- <view class="mask" v-show="isShwo" @click="isShwo=false"></view> -->
</view>
</template>
<script>
import {defaultRequest,defaultRequest2} from '../../api/index.js'
export default {
data() {
return {
isShwo:false,
query:{
_action:'getgoodscomment',
goods_id:'',
page_index:1,
page_size:100,
commentlabel:'',
videoContext:''
},
list:[]
}
},
filters:{
date(e){
let str = e
str=str.substring(0,10);
const year = str.substring(0,4)
let date = str.substring(5,10)
date = date.replace('-','/')
let time = date + '/'+year
return time
}
},
methods:{
getList(){
defaultRequest(this.query).then(res=>{
console.info(res.data,'list')
if(res.error==0){
if(res.data)this.list=res.data
}
})
},
play(src) {
plus.screen.lockOrientation('portrait');
console.log(111)
// this.is_play = item.is_play
if(!this.is_play){
this.videoContext = uni.createVideoContext(src, this)
this.videoContext.requestFullScreen()
}
},
clickImg(index,e) {
let list = []
for(let i in e ){
console.log(e[i].afile)
list.push(e[i].afile)
console.log(list)
}
wx.previewImage({
urls: list, //需要预览的图片http链接列表,多张的时候,url直接写在后面就行了
current: index, // 当前显示图片的http链接,默认是第一个
indicator:'number',
success: function(res) {},
fail: function(res) {},
complete: function(res) {},
})
}
},
onLoad(e) {
let that = this;
let s = 0;
let time = setInterval(() => {
uni.getNetworkType({
success: (res) => {
console.log(res.networkType, s);
if (res.networkType == 'none') {
uni.showToast({
icon: 'none',
title: 'Please connect to the network',
duration: 3000,
})
} else if (res.networkType !== 'none') {
that.typee = 2;
clearInterval(time);
// uni.showToast({
// icon: 'none',
// title: 'Please connect to the network',
// duration: 3000,
// })
}
}
})
s++;
}, 1000);
plus.screen.lockOrientation('portrait') //锁定竖屏
this.query.goods_id=e.goods_id
this.getList()
}
}
</script>
<style>
page{
border-top: 14.67rpx #F6F5FA solid;
}
</style>
<style lang="scss" scoped>
.body{
padding: 0 32rpx;
}
.noreview{
text-align: center;
margin-top: 100rpx;
color: #767575;
}
.more{
text-align: right;
position: relative;
// margin-top: 20rpx;
image{
width: 24rpx;
height: 6.67rpx;
}
.more_delete{
background-image: url(@/static/img/more_bf.png);
background-size: 100% 100%;
width: 102.67rpx;
height: 67.33rpx;
position: absolute;
right: 0;
bottom: 20rpx;
line-height: 50rpx;
text-align: center;
font-size: 24rpx;
z-index: 999;
}
}
.mask{
background-color: white;
opacity: 0;
}
.reviews_item{
border-bottom: #f0f0f0 1rpx solid;
}
</style>