You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
2.5 KiB
86 lines
2.5 KiB
<template>
|
|
<view>
|
|
<view class="diy_video acea-row row-center-wrapper" :style="[boxStyle]">
|
|
<video :style="[contantRadius]" :src="link" :show-mute-btn="pageGesture" :poster="cover" controls :autoplay="false" loop
|
|
objectFit="cover"></video>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
<script>
|
|
// +----------------------------------------------------------------------
|
|
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
|
// +----------------------------------------------------------------------
|
|
// | Copyright (c) 2016~2025 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'
|
|
}
|
|
},
|
|
contantRadius() {
|
|
return { 'border-radius': this.dataConfig.contantStyle.val ? this.dataConfig.contantStyle.val + 'px' : '0' };
|
|
},
|
|
}
|
|
}
|
|
</script>
|
|
<style lang="scss" scoped>
|
|
.diy_video {
|
|
iframe {
|
|
border: none;
|
|
|
|
body {
|
|
margin: 0;
|
|
}
|
|
}
|
|
|
|
video {
|
|
width: 100%;
|
|
height: 340rpx;
|
|
border-radius: 14rpx;
|
|
}
|
|
}
|
|
</style>
|