|
|
@@ -5,11 +5,26 @@ |
|
|
|
<span class="chinese">园区介绍</span> |
|
|
|
<span class="english">park introduce</span> |
|
|
|
</div> |
|
|
|
<img |
|
|
|
:class="[dataList.length < 5 ? 'park_img_100' : 'park_img_50']" |
|
|
|
:src="formatImg(JSON.parse(parkInfo.photo)[0])" |
|
|
|
alt="园区图片" |
|
|
|
/> |
|
|
|
<div :class="[dataList.length < 5 ? 'park_img_100' : 'park_img_50']"> |
|
|
|
<el-carousel |
|
|
|
trigger="click" |
|
|
|
:autoplay="false" |
|
|
|
:height="dataList.length < 5 ? '494px' : '238px'" |
|
|
|
> |
|
|
|
<el-carousel-item> |
|
|
|
<img :src="formatImg(JSON.parse(parkInfo.photo)[0])" alt="园区图片" /> |
|
|
|
</el-carousel-item> |
|
|
|
<el-carousel-item v-if="this.parkInfo.video"> |
|
|
|
<video-player |
|
|
|
class="video-player vjs-custom-skin" |
|
|
|
ref="videoPlayer" |
|
|
|
:playsinline="true" |
|
|
|
:options="playerOptions" |
|
|
|
></video-player> |
|
|
|
</el-carousel-item> |
|
|
|
</el-carousel> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="content"> |
|
|
|
{{ parkInfo.introduce }} |
|
|
|
</div> |
|
|
@@ -19,11 +34,13 @@ |
|
|
|
<script> |
|
|
|
//这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等) |
|
|
|
//例如:import 《组件名称》 from '《组件路径》'; |
|
|
|
import { formatImg } from "@/utils/common.js"; |
|
|
|
|
|
|
|
import { formatImg, formatVideo } from "@/utils/common.js"; |
|
|
|
import { videoPlayer } from "vue-video-player"; |
|
|
|
import "video.js/dist/video-js.css"; |
|
|
|
import "vue-video-player/src/custom-theme.css"; |
|
|
|
export default { |
|
|
|
//import引入的组件需要注入到对象中才能使用 |
|
|
|
components: {}, |
|
|
|
components: { videoPlayer }, |
|
|
|
props: { |
|
|
|
//每个标题内容 |
|
|
|
dataList: { |
|
|
@@ -40,12 +57,43 @@ export default { |
|
|
|
return {}; |
|
|
|
}, |
|
|
|
//监听属性 类似于data概念 |
|
|
|
computed: {}, |
|
|
|
computed: { |
|
|
|
playerOptions() { |
|
|
|
const playerOptionsObj = { |
|
|
|
playbackRates: [0.7, 1.0, 1.5, 2.0], //视频播放速度 |
|
|
|
autoplay: true, // 如果true,浏览器准备好时开始回放。 |
|
|
|
muted: false, // 默认情况下将会消除任何音频。 |
|
|
|
loop: false, // 导致视频一结束就重新开始。 |
|
|
|
preload: "auto", // 建议浏览器在<video>加载元素后是否应该开始下载视频数据。auto浏览器选择最佳行为,立即开始加载视频(如果浏览器支持)。 |
|
|
|
language: "zh-CN", |
|
|
|
// aspectRatio: "16:9", // 将播放器置于流畅模式,并在计算播放器的动态大小时使用该值。值应该代表一个比例 - 用冒号分隔的两个数字(例如"16:9"或"4:3")。 |
|
|
|
fluid: false, // 当true时,Video.js player将拥有流体大小。换句话说,它将按比例缩放以适应其容器。 |
|
|
|
sources: [ |
|
|
|
{ |
|
|
|
type: "video/" + JSON.parse(this.parkInfo.video)[0].split(".")[1], // 资源格式写法:'video/mp4',否则控制台会出现notSupportedMessage设置的错误。 |
|
|
|
src: this.formatVideo(JSON.parse(this.parkInfo.video)[0]), // 视频url地址 |
|
|
|
}, |
|
|
|
], |
|
|
|
poster: "", // 视频封面地址 |
|
|
|
// width: document.documentElement.clientWidth, |
|
|
|
height: this.dataList.length < 5 ? 494 : 238, // 设置高度,fluid需要设置成false |
|
|
|
notSupportedMessage: "此视频暂无法播放...", // 允许覆盖Video.js无法播放媒体源时显示的默认信息。 |
|
|
|
controlBar: { |
|
|
|
timeDivider: true, // 当前时间和持续时间的分隔符 |
|
|
|
durationDisplay: true, // 显示持续时间 |
|
|
|
remainingTimeDisplay: false, // 是否显示剩余时间功能 |
|
|
|
fullscreenToggle: true, // 是否显示全屏按钮 |
|
|
|
}, |
|
|
|
}; |
|
|
|
return playerOptionsObj; |
|
|
|
}, |
|
|
|
}, |
|
|
|
//监控data中的数据变化 |
|
|
|
watch: {}, |
|
|
|
//方法集合 |
|
|
|
methods: { |
|
|
|
formatImg, |
|
|
|
formatVideo, |
|
|
|
}, |
|
|
|
//生命周期 - 创建完成(可以访问当前this实例) |
|
|
|
created() {}, |
|
|
@@ -87,6 +135,19 @@ export default { |
|
|
|
margin: 0 auto; |
|
|
|
background-color: #d8d8d8; |
|
|
|
} |
|
|
|
::v-deep .el-carousel__item { |
|
|
|
img { |
|
|
|
width: 100%; |
|
|
|
height: 100%; |
|
|
|
} |
|
|
|
} |
|
|
|
.video-player { |
|
|
|
height: 100%; |
|
|
|
.video-js { |
|
|
|
height: 100%; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.content { |
|
|
|
width: 100%; |
|
|
|
@include font(16px, #334a5f); |