75 lines
1.5 KiB
Python
75 lines
1.5 KiB
Python
<template>
|
|
<view>
|
|
<view>
|
|
<uni-search-bar @confirm="search" ></uni-search-bar>
|
|
</view>
|
|
<list style="width: 100%;">
|
|
<!-- 注意事项: 不能使用 index 作为 key 的唯一标识 -->
|
|
<cell v-for="(item,index) in videos" :key="item.id">
|
|
<video class="video" :id="'video'+index" :src="item.mediaurl" controls object-fit="cover"
|
|
:poster="item.coverurl"></video>
|
|
</cell>
|
|
</list>
|
|
<view style="color:gray;text-align: center;margin-top:20upx">{{loadingText}}</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
data() {
|
|
return {
|
|
page: 1,
|
|
loadingText: '加载中...',
|
|
videos: []
|
|
}
|
|
},
|
|
onLoad() {
|
|
this.getVideos()
|
|
},
|
|
onPullDownRefresh() {
|
|
this.page = 1
|
|
this.getVideos()
|
|
},
|
|
onReachBottom() {
|
|
this.page = this.page + 1
|
|
this.getVideos()
|
|
},
|
|
methods: {
|
|
search(){
|
|
|
|
},
|
|
getVideos() {
|
|
this.loadingText = '加载中...'
|
|
this.$u.api.getVideos({
|
|
page: this.page
|
|
}).then(res => {
|
|
uni.stopPullDownRefresh()
|
|
if (this.page == 1) {
|
|
if (res.data.results.length == 0) {
|
|
this.loadingText = '暂无视频'
|
|
} else {
|
|
this.loadingText = ''
|
|
this.videos = res.data.results
|
|
}
|
|
} else {
|
|
this.loadingText = ''
|
|
this.videos.concat(res.data.results)
|
|
}
|
|
}).catch(res => {
|
|
uni.stopPullDownRefresh()
|
|
if (res.code == 404) {
|
|
this.loadingText = '到底了'
|
|
}
|
|
})
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style>
|
|
.video {
|
|
width: 100%;
|
|
height: 380rpx;
|
|
}
|
|
</style>
|