解决视频下滑没数据的问题,以及修改供应接口

This commit is contained in:
jia 2023-09-04 19:29:36 +08:00
parent 96bfa9cb23
commit 9b2997b694
4 changed files with 128 additions and 131 deletions

View File

@ -30,13 +30,13 @@
<view class="line" :class="{'font-line':firstKey == item.key}">
</view>
</view>
<view class="item" @click="bindRight">
<!-- <view class="item" @click="bindRight">
<view>筛选
<!-- <text class="iconfont icon-shaixuan"></text> -->
</view>
<view class="line">
</view>
</view>
</view> -->
</view>
</view>
<!-- 店铺 -->

View File

@ -1,6 +1,6 @@
<template>
<view class="container">
<!--
注意:这是 App 所用页面,请勿引入微信小程序或浏览器运行,最好运行在真机
@ -315,7 +315,7 @@
<mentioned ref="mentioned" @close="closePopup" :list="moreList" :uid="authorUid"></mentioned>
</view>
</uni-popup>
<!--<authorize @onLoadFun="onLoadFun" :isAuto="isAuto" :isShowAuth="isShowAuth" @authColse="authColse"></authorize> -->
<authorize @onLoadFun="onLoadFun" :isAuto="isAuto" :isShowAuth="isShowAuth" @authColse="authColse"></authorize>
<view class="fixed-head">
<view class="sys-head" :style="{height:statusBarHeight}"></view>
<view class="tool-bar" @click='goBack()'>
@ -489,7 +489,7 @@
// console.log('到后台');
},
onLoad(options) {
this.videoID = options.id || 0;
this.isUser = options.user == 1 ? true : false;
this.userUid = options.uid ? options.uid : 0;
@ -595,7 +595,7 @@
}
});
},
// #endif
/**
* 获取个人用户信息
@ -657,15 +657,15 @@
}
});
},
// // 授权回调
// onLoadFun() {
// this.isShowAuth = false
// this.getUserInfo()
// },
// 授权关闭
// authColse: function(e) {
// this.isShowAuth = e
// },
// 授权回调
onLoadFun() {
this.isShowAuth = false
this.getUserInfo()
},
//授权关闭
authColse: function(e) {
this.isShowAuth = e
},
moreTap(item) {
item.isMore = !item.isMore;
},
@ -690,35 +690,26 @@
getData() {
// 这里就是数据加载完以后再向后端发送数据的地方,
let that = this;
if (!that.loadVideo) return
that.loadVideo = true
deoList(that.videoID).then(res => {
that.loadVideo = false
that.getVideoData([res.data]);
}).catch(err => {
return uni.showToast({
title: err,
icon: 'none',
duration: 2000
});
})
// that.isUser ?
// myVideoList(that.userUid, {
// page: that.page,
// limit: that.limit,
// is_star: that.isSatrt,
// community_id: that.videoID
// }).then(res => {
// if (!that.loadVideo) return
// that.loadVideo = true
// '
// deoList(that.videoID).then(res => {
// that.loadVideo = false
// that.getVideoData(res.data.list);
// }).catch(err => {
// return uni.showToast({
// title: err,
// icon: 'none',
// duration: 2000
// });
// }) :
// that.getVideoData([res.data]);
// }).catch(err => {
// return uni.showToast({
// title: err,
// icon: 'none',
// duration: 2000
// });
// })'
// that.isUser ?
videoList().then(res=>{
that.getVideoData(res.data.list);
})
//:
// graphicLstApi({
// page: that.page,
// limit: that.limit,
@ -750,19 +741,18 @@
})
},
getVideoData(list) {
console.log(list,'111111')
if (list.length == 0) return
let that = this;
that.loadVideo = list.length == that.limit
// that.page = that.page + 1;
that.page = 1
that.page = that.page + 1
var msg = list
for (let i = 0; i < msg.length; i++) {
msg[i]['isMore'] = false
msg[i]['community_id'] = msg[i]['community_id'].toString()
that.dataList.push(msg[i])
}
console.log(that.dataList)
if (that.dataList.length !== 0) {
that.dataList[that.k].state = 'play';
setTimeout(function() {
@ -888,9 +878,9 @@
// 这个方法主要就是用来第一次进入视频播放时用来处理
deoList(this.videoID).then(async (res) => {
this.loadVideo = false
this.page = 1;
this.userUid=res.data.uid
this.page = this.page + 1;
var msg = [res.data];
console.log(res.data)
for (let i = 0; i < msg.length; i++) {
msg[i]['isMore'] = false
msg[i]['playIng'] = false
@ -900,7 +890,7 @@
msg[i]['community_id'] = msg[i]['community_id'].toString()
}
this.dataList = msg;
console.log(this.dataList)
if (this.dataList.length !== 0) {
this.dataList[this.k].state = 'play';
uni.createVideoContext(this.dataList[this.k].community_id, this).play()

View File

@ -15,7 +15,7 @@
<!-- 头部导航 -->
<!-- <view v-if="!isUser" class="header" :style="{backgroundColor:currentNav==1?'':'#ffffff'}">
<!-- <view v-if="!isUser" class="header" :style="{backgroundColor:'#Fff'}">
<view class="tool-bar">
<view class='iconfont icon-xiangzuo' @tap='goBack'></view>
@ -27,10 +27,14 @@
<text class="tName" :class="currentNav==1?'on':''">推荐</text>
</view>
<view class="items" @click.stop="navTap(3)">
<text class="tName" :class="currentNav==3?'on':''">列表</text>
<text class="tName" :class="currentNav==3?'on':''">热点资讯</text>
</view>
<view class="items" @click.stop="navTap(4)">
<text class="tName" :class="currentNav==4?'on':''">社区</text>
</view>
</view> -->
<swiper v-show="currentNav !== 3" :style="'width: '+ windowWidth +'px; height: '+ windowHeight +'px;'"
<swiper v-show="currentNav !== 3&&currentNav != 4" :style="'width: '+ windowWidth +'px; height: '+ windowHeight +'px;'"
:vertical="true" @animationfinish="animationfinish" @change="change" :current="k" :indicator-dots="false">
<swiper-item v-for="(list,index) in dataList">
<view v-if="max > index">
@ -54,7 +58,6 @@
5.show-loading这里默认去掉播放转圈的标志
v-if="Math.abs(k-index)<=1"
-->
<video :id="list.community_id+''+index" :loop="true" :muted="list.isplay"
:autoplay="index == k && isRoutine" :controls="false" :http-cache="true"
:page-gesture="false" :show-fullscreen-btn="false" :show-loading="false"
@ -162,7 +165,7 @@
<navigator v-if="list.author && userInfo.uid != list.author.uid" hover-class="none"
:url="'/pages/plantGrass/plant_user/index?id='+list.uid" class="pictrue">
<image class="userAvatar"
:src="list.author&&list.author.avatar || '/static/images/f.png'" mode="aspectFit">
:src="list.author&&list.author.avatar || '/static/images/f.png'" mode="aspectFill">
</image>
<view v-if="!list.is_fans || !userInfo.uid" class="guanzhu"
@click.stop="followAuthor(list)"><text
@ -227,13 +230,13 @@
@scrolltolower="getGoods()">
<block v-for="(item,index) in cateGoods" :key="index">
<view class="goods_item" @click="gogogo(item)">
<image class="goods_img" :src="item.image[0]" mode="aspectFit"></image>
<image class="goods_img" :src="item.image[0]" mode="aspectFill"></image>
<view class="botm">
<view class="title">{{item.title}}</view>
<view class="goods_info flex_a_c">
<view class="l_info flex_a_c">
<image :src="(item.author && item.author.avatar) || '/static/images/f.png'"
mode="aspectFit" class="g_img"></image>
mode="aspectFill" class="g_img"></image>
<view class="g_name">{{item.author && item.author.nickname}}</view>
</view>
<view class="nice_box flex_a_c" @click.stop="giveStart(item)">
@ -246,6 +249,7 @@
</view>
</block>
</scroll-view>
<!-- <view class="video-list" v-if="currentNav === 3"
:style="'width: '+ windowWidth +'px; height: '+ windowHeight +'px;'">
@ -294,7 +298,9 @@
<!-- #endif -->
</view>
<canvas class="canvas" canvas-id='myCanvas' v-if="canvasStatus"></canvas>
<!-- <authorize @onLoadFun="onLoadFun" :isAuto="isAuto" :isShowAuth="isShowAuth" @authColse="authColse"></authorize> -->
<authorize @onLoadFun="onLoadFun" :isAuto="isAuto" :isShowAuth="isShowAuth" @authColse="authColse"></authorize>
</view>
</template>
@ -311,6 +317,7 @@
} from '@/utils';
import comment from '@/components/comment.vue';
import mentioned from '@/components/mentioned.vue';
import {
HTTP_REQUEST_URL
} from '@/config/app';
@ -335,11 +342,13 @@
components: {
comment,
mentioned,
authorize
authorize,
},
computed: configMap({
community_reply_status: 0
}, mapGetters(['isLogin', 'uid'])),
data() {
return {
isTriggered: false,
@ -352,7 +361,7 @@
deleteHeight: 0,
dataList: [],
k: 0,
max: 1,
max: 2,
oldVideo: "",
voice: "",
timeout: "",
@ -420,7 +429,6 @@
watch: {
k(new_k, old_k) {
const max = new_k + 2;
if (this.max < max) {
this.max = max;
}
@ -428,7 +436,6 @@
this.oldCurrent = this.currentNav
return false
}
this.dataList[old_k].playIng = false //如果视频暂停,就加载封面
this.dataList[old_k].isplay = true
this.dataList[old_k].state = 'pause'
@ -451,7 +458,6 @@
}
},
onLoad(options) {
console.log(options)
this.getOptions(options);
this.videoID = options.id;
this.isUser = options.user == 1 ? true : false;
@ -736,56 +742,55 @@
},
get() {
let that = this
that.loadVideo = true
deoList(that.videoID).then(res => {
// console.log(res.data)
that.videoData([res.data])
if (res.data.list.length < that.limit) {
this.loadMore = false;
}
}).catch(err => {
return uni.showToast({
title: err,
icon: 'none',
duration: 2000
});
})
// myVideoList(that.userUid, {
// page: that.page,
// limit: that.limit,
// is_star: that.isSatrt,
// community_id: that.videoID
// }).then(res => {
// that.videoData(res.data.list)
// if (res.data.list.length < that.limit) {
// this.loadMore = false;
// }
// }).catch(err => {
// return uni.showToast({
// title: err,
// icon: 'none',
// duration: 2000
// });
// })
// :
// graphicLstApi({
// page: that.page,
// limit: that.limit,
// category_id: -1
// }).then(res => {
// that.videoData(res.data.list)
// if (res.data.list.length < that.limit) {
// this.loadMore = false;
// }
// }).catch(err => {
// return uni.showToast({
// title: err,
// icon: 'none',
// duration: 2000
// });
// })
// 1.这里引入后端请求数据
deoList(this.videoID).then(res => {
that.videoData([res.data])
if (res.data.list.length < that.limit) {
this.loadMore = false;
}
}).catch(err => {
return uni.showToast({
title: err,
icon: 'none',
duration: 2000
});
})
// that.isUser ?
// myVideoList(that.userUid, {
// page: that.page,
// limit: that.limit,
// is_star: that.isSatrt,
// community_id: that.videoID
// }).then(res => {
// that.videoData(res.data.list)
// if (res.data.list.length < that.limit) {
// this.loadMore = false;
// }
// }).catch(err => {
// return uni.showToast({
// title: err,
// icon: 'none',
// duration: 2000
// });
// }) :
// graphicLstApi({
// page: that.page,
// limit: that.limit,
// category_id: -1
// }).then(res => {
// that.videoData(res.data.list)
// if (res.data.list.length < that.limit) {
// this.loadMore = false;
// }
// }).catch(err => {
// return uni.showToast({
// title: err,
// icon: 'none',
// duration: 2000
// });
// })
that.loadVideo = true
},
getFocusList() {
let that = this;
@ -821,21 +826,16 @@
msg[i]['isplay'] = true
msg[i]['loading'] = false
that.dataList.push(msg[i])
{console.log(i,that.k)}
//#ifndef H5
if (i == 0 && that.k == 0) {
this.dataList[0].isplay = false
this.dataList[0].playIng = true
this.dataList[0].state = 'play'
this.dataList[0].loading = false
console.log('32')
uni.createVideoContext(that.dataList[0].community_id + '' + 0, that).play()
}
//#endif
}
//#ifdef MP
if (this.k == 0) {
this.videoShare(this.dataList[0]);
@ -1282,8 +1282,6 @@
z-index: 9;
width: 750rpx;
height: 120rpx;
flex-direction: row;
justify-content: center;
align-items: center;
@ -1305,7 +1303,7 @@
margin-right: 40rpx;
margin-left: 20rpx;
font-size: 30rpx;
color: #000;
color: #333;
margin-top: 60rpx;
}
}
@ -1313,12 +1311,24 @@
.items {
margin: 0 30rpx;
image {
width: 58rpx;
height: 58rpx;
}
.tName {
color: #000;
font-size: 32rpx;
font-size: 33rpx;
font-family: PingFang SC-Medium, PingFang SC;
font-weight: 500;
color: #737373;
line-height: 50px;
&.on {
font-size: 38rpx;
font-size: 33rpx;
font-family: PingFang SC-Medium, PingFang SC;
font-weight: 500;
color: #333333;
}
}
@ -1395,7 +1405,7 @@
.userInfo {
position: absolute;
bottom: 120px;
bottom: 60rpx;
right: 20rpx;
flex-direction: column;
text-align: center;

View File

@ -245,7 +245,7 @@ export default {
where1: {
page: 1,
limit: 6
limit: 10
},
currentItemId: 69, // 0 || 69
keyword: '',
@ -293,7 +293,6 @@ export default {
onReachBottom() {
if (this.status == 'nomore') return;
this.status = 'loading';
this.where.page = ++this.where.page;
this.list()
},
@ -349,13 +348,11 @@ export default {
list(id) {
if (id) {
spuInfo(id, this.where1).then(res => {
// console.log(res)
this.cateGoods = res.data.list
this.cateGoods.push(...res.data.list)
})
} else {
getProductHot(1, 10).then(res => {
// console.log(res)
this.cateGoods = res.data.list
this.cateGoods.push(...res.data.list)
})
}