92 lines
2.8 KiB
Vue
92 lines
2.8 KiB
Vue
![]() |
<template>
|
|||
|
<view>
|
|||
|
<!-- 视频 -->
|
|||
|
<!-- #ifndef APP-PLUS -->
|
|||
|
<view class="diy_video acea-row row-center-wrapper" :style="[boxStyle]">
|
|||
|
<video :src="link" :show-mute-btn="pageGesture" :poster="cover" controls :autoplay="false" loop
|
|||
|
objectFit="cover"></video>
|
|||
|
</view>
|
|||
|
<!-- #endif -->
|
|||
|
<!-- app端为了解决层级太高,挡住了自定义底部菜单的问题,如果使用原生底部菜单,不存在遮挡问题,可以去掉判断,使用上面的写法就行。 -->
|
|||
|
<!-- #ifdef APP-PLUS -->
|
|||
|
<view class="diy_video acea-row row-center-wrapper" :style="[boxStyle]">
|
|||
|
<iframe :onload="onloadCode" style="width:100%;height:100%;"></iframe>
|
|||
|
</view>
|
|||
|
<!-- #endif -->
|
|||
|
</view>
|
|||
|
</template>
|
|||
|
<script>
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
// | Copyright (c) 2016~2024 https://www.crmeb.com All rights reserved.
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
// | Author: CRMEB Team <admin@crmeb.com>
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
export default {
|
|||
|
name: 'pictureCube',
|
|||
|
props: {
|
|||
|
dataConfig: {
|
|||
|
type: Object,
|
|||
|
default: () => {}
|
|||
|
},
|
|||
|
},
|
|||
|
data() {
|
|||
|
return {
|
|||
|
pageGesture: true,
|
|||
|
onloadCode: ''
|
|||
|
};
|
|||
|
},
|
|||
|
created() {
|
|||
|
// #ifdef APP
|
|||
|
this.onloadCode =
|
|||
|
`this.contentWindow.document.body.innerHTML = '<video style="width: 100%;height: 100%" objectFit="cover" controls="controls" loop show-mute-btn="${this.pageGesture}" poster="${this.cover}" src="${this.link}"></video>';`
|
|||
|
// #endif
|
|||
|
},
|
|||
|
computed: {
|
|||
|
//视频封面
|
|||
|
cover() {
|
|||
|
return this.dataConfig.cover.url
|
|||
|
},
|
|||
|
//视频地址
|
|||
|
link() {
|
|||
|
if (this.dataConfig.tabConfig.tabVal === 0) {
|
|||
|
return this.dataConfig.uploadVideo.url
|
|||
|
} else {
|
|||
|
return this.dataConfig.link.val
|
|||
|
}
|
|||
|
|
|||
|
},
|
|||
|
//最外层盒子的样式
|
|||
|
boxStyle() {
|
|||
|
return {
|
|||
|
borderRadius: this.dataConfig.bgStyle.val * 2 + 'rpx',
|
|||
|
background: `linear-gradient(${this.dataConfig.bgColor.color[0].item}, ${this.dataConfig.bgColor.color[1].item})`,
|
|||
|
margin: this.dataConfig.mbConfig.val * 2 + 'rpx' + ' ' + this.dataConfig.lrConfig.val * 2 + 'rpx' +
|
|||
|
' ' + 0,
|
|||
|
padding: this.dataConfig.upConfig.val * 2 + 'rpx' + ' ' + 0 + ' ' + this.dataConfig.downConfig.val *
|
|||
|
2 + 'rpx'
|
|||
|
}
|
|||
|
},
|
|||
|
}
|
|||
|
}
|
|||
|
</script>
|
|||
|
<style lang="scss" scoped>
|
|||
|
.diy_video {
|
|||
|
iframe {
|
|||
|
border: none;
|
|||
|
|
|||
|
body {
|
|||
|
margin: 0;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
video {
|
|||
|
width: 100%;
|
|||
|
height: 340rpx;
|
|||
|
border-radius: 14rpx;
|
|||
|
}
|
|||
|
}
|
|||
|
</style>
|