Files
huangjingfen/pro_v3.5.1/view/uniapp_v2/pages/index/components/videos.vue
apple 8e17762510 feat(uniapp_v2): 二开功能迁移与小程序主包优化
- 从 uniapp 迁移 HJF 页面、API、组件及用户/订单相关改动
- queue、assets 使用独立分包以降低主包体积
- 修复首页单根节点与支付结果页 v-if 链
- 关闭 HjfDemoPanel 全局注册;uniNoticeBar 注释 $getAppWebview 避免 __webviewId__ 报错
- 配置域名与 manifest 应用名称;cache/store 防御性处理

Made-with: Cursor
2026-03-26 12:16:01 +08:00

71 lines
1.7 KiB
Vue

<template>
<view :style="[videoWrapStyle]" v-if="!dataConfig.isHide">
<view class="video-box" id="myVideo" :style="[videoStyle]">
<video class="video" object-fit="cover" :src="dataConfig.videoConfig.url" :poster="dataConfig.imgConfig.url" controls></video>
</view>
</view>
</template>
<script>
export default {
props: {
dataConfig: {
type: Object,
default: () => {}
},
},
data() {
return {
height: 0,
}
},
computed: {
// 视频高度
videoStyle() {
let borderRadius = `${this.dataConfig.fillet.val * 2}rpx`;
if (this.dataConfig.fillet.type) {
borderRadius =
`${this.dataConfig.fillet.valList[0].val * 2}rpx ${this.dataConfig.fillet.valList[1].val * 2}rpx ${this.dataConfig.fillet.valList[2].val * 2}rpx ${this.dataConfig.fillet.valList[3].val * 2}rpx`;
}
return {
'height': this.height + 'px',
'border-radius': borderRadius,
};
},
videoWrapStyle() {
return {
'padding': `${this.dataConfig.topConfig.val * 2}rpx ${this.dataConfig.prConfig.val * 2}rpx ${this.dataConfig.bottomConfig.val * 2}rpx`,
'margin-top': `${this.dataConfig.mbConfig.val * 2}rpx`,
'background': this.dataConfig.bottomBgColor.color[0].item,
};
},
},
mounted() {
const query = uni.createSelectorQuery().in(this);
query.select('#myVideo').boundingClientRect(data => {
switch (this.dataConfig.scaleConfig.tabVal) {
case 0:
this.height = data.width * 9 / 16;
break;
case 1:
this.height = data.width * 3 / 4;
break;
default:
this.height = data.width;
break;
}
}).exec();
},
}
</script>
<style lang="scss" scoped>
.video-box {
overflow: hidden;
}
.video {
width: 100%;
height: 100%;
}
</style>