277 lines
6.2 KiB
Vue
277 lines
6.2 KiB
Vue
<template>
|
||
<view>
|
||
<unitv-page id="playPage" :show="true" ref="playPage" @back="pageBack">
|
||
<view class="movie-contain">
|
||
<unitv-video id="player" class="player" :src="moiveUrl" :autoplay="true">
|
||
</unitv-video>
|
||
<view class="movie-inter">
|
||
<view class="movie-title">{{moiveData.title}}</view>
|
||
<view class="movie-info"><text>影片信息:{{moiveData.info}}</text></view>
|
||
<view class="movie-content">简介:{{moiveData.comment}}</view>
|
||
<view>
|
||
<unitv-zone id="btn-zone" :autoFous="true" :column="2" down="list-zone" :item="0" :values="[0,1]" class="btn-zone">
|
||
<unitv-item :item="0" class="fullscreen-btn" @click="switchFullScreen">
|
||
<image mode="aspectFit" src="../../static/fullscreen.png"></image>
|
||
<view>全屏播放</view>
|
||
</unitv-item>
|
||
<unitv-item :item="1" class="favicon-btn">
|
||
<image mode="aspectFit" src="../../static/favicon.png"></image>
|
||
<view>收藏</view>
|
||
</unitv-item>
|
||
</unitv-zone>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<unitv-zone id="list-zone" class="list-zone" up="btn-zone" :down="(moiveType == 'multiple') ? 'resource-zone' : ''" :values="item" :column="8">
|
||
<unitv-item v-for="(a,index) in item" :item="index" :key="index" class="item" :style="a.movieFlag == '1' ? 'background-color: #CD7F32;' : ''" @click="websiteClick(a)" @hover="websiteHover(a)">{{a.website}}</unitv-item>
|
||
</unitv-zone>
|
||
<view class="title" v-if="moiveType == 'multiple'">影视剧集</view>
|
||
<unitv-zone id="resource-zone" class="resource-zone" up="list-zone" :values="moiveUrlList" :column="moiveUrlList.length" v-if="moiveType == 'multiple'">
|
||
<unitv-scroll>
|
||
<unitv-item v-for="(a,index) in moiveUrlList" :item="index" :key="index" class="item-resource">
|
||
<view class="item-resource-info">{{a.name}}</view>
|
||
</unitv-item>
|
||
</unitv-scroll>
|
||
</unitv-zone>
|
||
</unitv-page>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
export default {
|
||
data() {
|
||
return {
|
||
item: [],
|
||
status:0,
|
||
handEvt:false,
|
||
currentTime:0,
|
||
moiveData:{
|
||
|
||
},
|
||
moiveType: '',
|
||
moiveUrl: "",
|
||
moiveUrlList:[]
|
||
}
|
||
},
|
||
onBackPress(options) {
|
||
this.$refs.playPage.evtBack();
|
||
return true;
|
||
},
|
||
onReady() {
|
||
this.viderContext = uni.createVideoContext("player");
|
||
},
|
||
onLoad(e){
|
||
console.log(e)
|
||
this.$api.get('/platCupfox/detail/'+e.id, null).then(res => {
|
||
console.log(res)
|
||
if(res == undefined || res == null || res == ''){
|
||
uni.showToast({
|
||
title: '视频资源数据异常,请检查接口数据',
|
||
icon:'none',
|
||
duration: 5000
|
||
});
|
||
return;
|
||
}
|
||
this.moiveData = res;
|
||
this.moiveType = res.type;
|
||
this.item = res.resources;
|
||
if(res.resources != null && res.resources.length > 0){
|
||
let aa = res.resources[0];
|
||
if(aa.movieFlag == '1'){
|
||
this.moiveUrl = aa.movieUrl;
|
||
if(res.type == 'multiple'){
|
||
this.moiveUrlList = aa.resourceUrlList;
|
||
}
|
||
}
|
||
}
|
||
|
||
})
|
||
},
|
||
methods: {
|
||
switchFullScreen() {
|
||
this.viderContext.requestFullScreen();
|
||
},
|
||
websiteClick(data){
|
||
if(data.movieFlag == '1'){
|
||
if(this.moiveType == 'multiple'){
|
||
this.moiveUrlList = data.resourceUrlList;
|
||
} else {
|
||
this.moiveUrl = data.movieUrl;
|
||
}
|
||
|
||
}else {
|
||
uni.showToast({
|
||
title: '当前站点视频还未解析,请联系系统管理员处理',
|
||
icon:'none',
|
||
duration: 2000
|
||
});
|
||
}
|
||
|
||
},
|
||
websiteHover(data){
|
||
console.log("websiteHover");
|
||
|
||
/* if(data.movieFlag == '1'){
|
||
if(this.moiveType == 'multiple'){
|
||
this.moiveUrlList = data.resourceUrlList;
|
||
}
|
||
} */
|
||
},
|
||
pageBack(e){
|
||
console.log("按了返回");
|
||
uni.reLaunch({
|
||
url: '../index/index'
|
||
});
|
||
return false;
|
||
},
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style>
|
||
page {
|
||
background-color: #070707;
|
||
background-image: linear-gradient(0deg, #222222 0%, #1f1f1f 51%, #1d1d1d 75%);
|
||
color: white;
|
||
padding: 10rpx;
|
||
background-image: linear-gradient(to bottom, #2E3092, #797979);
|
||
}
|
||
|
||
.movie-contain {
|
||
display: flex;
|
||
flex-direction: row;
|
||
}
|
||
|
||
.player {
|
||
width: 375rpx;
|
||
height: 200rpx;
|
||
}
|
||
|
||
.movie-inter {
|
||
width: 355rpx;
|
||
padding: 0 10rpx;
|
||
}
|
||
|
||
.movie-title {
|
||
font-size: 18rpx;
|
||
padding-bottom: 5rpx;
|
||
}
|
||
|
||
.movie-year {
|
||
padding-left: 5rpx;
|
||
}
|
||
|
||
.movie-year,
|
||
.movie-info,
|
||
.movie-content {
|
||
font-size: 16rpx;
|
||
color: #dadade;
|
||
line-height: 28rpx;
|
||
}
|
||
|
||
.movie-content {
|
||
text-overflow: -o-ellipsis-lastline;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
display: -webkit-box;
|
||
-webkit-line-clamp: 2;
|
||
line-clamp: 2;
|
||
-webkit-box-orient: vertical;
|
||
line-height: 20rpx;
|
||
margin-bottom: 10rpx;
|
||
}
|
||
|
||
.btn-zone {
|
||
display: flex;
|
||
flex-direction: row;
|
||
}
|
||
|
||
.fullscreen-btn,
|
||
.favicon-btn {
|
||
width: 60rpx;
|
||
height: 60rpx;
|
||
margin-right: 10rpx;
|
||
background: #3e3e3e;
|
||
font-size: 12rpx;
|
||
border-radius: 2rpx;
|
||
text-align: center;
|
||
}
|
||
|
||
.fullscreen-btn image,
|
||
.favicon-btn image {
|
||
width: 22rpx;
|
||
height: 32rpx;
|
||
}
|
||
.list-zone {
|
||
width: 100%;
|
||
display: flex;
|
||
flex-wrap: wrap;
|
||
justify-content: left;
|
||
margin-bottom: 10rpx;
|
||
align-items: center;
|
||
padding: 5px;
|
||
}
|
||
.resource-zone{
|
||
width: 100%;
|
||
display: flex;
|
||
white-space: nowrap;
|
||
align-items: center;
|
||
padding: 1px;
|
||
}
|
||
.resource-zone .item-resource{
|
||
display: inline-block;
|
||
align-items: center;
|
||
justify-content: center;
|
||
text-align: center;
|
||
width: 82rpx;
|
||
height: 80rpx;
|
||
line-height: 80rpx;
|
||
margin: 5rpx;
|
||
background-color: #6b6b6b;
|
||
border-radius: 5rpx;
|
||
font-size: 12rpx;
|
||
}
|
||
|
||
.item-resource-info4 {
|
||
display: flex;
|
||
flex-wrap:wrap;
|
||
align-items: center;
|
||
justify-content: center;
|
||
text-align: center;
|
||
white-space: normal;
|
||
height: 80rpx;
|
||
line-height: 80rpx;
|
||
width: 82rpx;
|
||
}
|
||
|
||
|
||
|
||
.item {
|
||
width: 82rpx;
|
||
height: 30rpx;
|
||
margin: 5rpx;
|
||
text-align: center;
|
||
background-color: #6b6b6b;
|
||
border-radius: 5rpx;
|
||
align-items: center;
|
||
display: flex;
|
||
justify-content: center;
|
||
font-size: 12rpx;
|
||
}
|
||
.itemMovieFlag{
|
||
background-color: #CD7F32;
|
||
}
|
||
.item-hover {
|
||
transform: scale(1.04);
|
||
box-shadow: 2px 4px 6px #585dfa;
|
||
animation: glow 1500ms ease-out infinite alternate;
|
||
-webkit-transform: scale(1.04);
|
||
-webkit-box-shadow: 2px 4px 6px #585dfa;
|
||
-webkit-animation: glow 1500ms ease-out infinite alternate;
|
||
zoom: 1.05;
|
||
}
|
||
.title{
|
||
font-size: 15rpx;
|
||
}
|
||
</style>
|