feat(uniapp): 热区组件应用样式字段

外层背景/边距/页面间距/背景圆角,图片与热区容器内容圆角;缺字段兜底为现状,老页面零视觉变化
This commit is contained in:
pikachu1995@126.com
2026-10-12 15:38:25 +08:00
parent b773ada7a8
commit b603f8c451

View File

@@ -1,6 +1,6 @@
<template>
<view class="layout">
<view class="flex-one">
<view class="layout" :style="wrapperStyle">
<view class="flex-one" :style="contentStyle">
<u-image
v-if="!hasHotZone"
@click="modelNavigateTo(res.list[0])"
@@ -25,6 +25,18 @@ const hasHotZone = computed(() => {
const zoneInfo = props.res?.list?.[0]?.zoneInfo;
return Array.isArray(zoneInfo) ? zoneInfo.length > 0 : !!zoneInfo;
});
const wrapperStyle = computed(() => ({
background: props.res?.bgColor ?? "transparent",
padding: `${props.res?.paddingTop ?? 0}rpx ${props.res?.paddingX ?? 0}rpx ${props.res?.paddingBottom ?? 0}rpx`,
marginBottom: `${props.res?.pageGap ?? 0}rpx`,
borderRadius: `${props.res?.borderRadius ?? 0}rpx`,
overflow: (props.res?.borderRadius ?? 0) > 0 ? "hidden" : "visible",
}));
const contentStyle = computed(() => ({
borderRadius: `${props.res?.imgRadius ?? 0}rpx`,
}));
</script>
<style lang="scss" scoped>
@import "./tpl.scss";
@@ -33,4 +45,4 @@ const hasHotZone = computed(() => {
display: block;
overflow: hidden;
}
</style>
</style>