feat: 商家列表展示权益
This commit is contained in:
1 parent
601de78ac9
commit
57caa62081
4 files changed
+11
-3
No files matched your search
@@ -74,7 +74,7 @@ const MATRIX = {
|
|||||||
copy: ["brandDeep", "brand"],
|
copy: ["brandDeep", "brand"],
|
||||||
gift: ["white", "brandDeep", "accent"],
|
gift: ["white", "brandDeep", "accent"],
|
||||||
home: ["ink3", "brand"],
|
home: ["ink3", "brand"],
|
||||||
ticket: ["ink3", "brand", "accent", "white", "ink2"],
|
ticket: ["ink3", "brand", "accent", "white", "ink2", "accentDeep"],
|
||||||
user: ["ink3", "brand", "white", "ink2"],
|
user: ["ink3", "brand", "white", "ink2"],
|
||||||
check: ["white", "brand"],
|
check: ["white", "brand"],
|
||||||
close: ["ink3", "white"],
|
close: ["ink3", "white"],
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
/**
|
/**
|
||||||
* 内容条目卡(原 .item)
|
* 内容条目卡(原 .item)
|
||||||
* - 首页「精选推荐」:名称 + 简介,不显示地址
|
* - 首页「精选推荐」:名称 + 简介,不显示地址
|
||||||
* - 板块列表页:名称 + 简介 + 地址行
|
* - 板块列表页:名称 + 简介 + 权益数徽标 + 地址行(benefit_count 缺失或为 0 时整行不渲染)
|
||||||
* 等级与描述性标签(`grade` / `tags`)全站不展示 —— 字段保留在数据层,页面不渲染。
|
* 等级与描述性标签(`grade` / `tags`)全站不展示 —— 字段保留在数据层,页面不渲染。
|
||||||
* 图片地址一律取 item.main_image_url(只读字段,不拼路径)
|
* 图片地址一律取 item.main_image_url(只读字段,不拼路径)
|
||||||
*/
|
*/
|
||||||
@@ -11,6 +11,7 @@ import { goDetail } from "@/utils/nav";
|
|||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
item: { type: Object, required: true },
|
item: { type: Object, required: true },
|
||||||
showAddress: { type: Boolean, default: false },
|
showAddress: { type: Boolean, default: false },
|
||||||
|
showBenefit: { type: Boolean, default: false },
|
||||||
thumbSize: { type: Number, default: 92 },
|
thumbSize: { type: Number, default: 92 },
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -33,6 +34,12 @@ const onTap = () => {
|
|||||||
<view class="min-w-0 flex-1 flex flex-col">
|
<view class="min-w-0 flex-1 flex flex-col">
|
||||||
<view class="text-[13.5px] font-semibold leading-[1.35] text-ink line-clamp-2">{{ item.name }}</view>
|
<view class="text-[13.5px] font-semibold leading-[1.35] text-ink line-clamp-2">{{ item.name }}</view>
|
||||||
|
|
||||||
|
<view v-if="showBenefit && item.benefit_count"
|
||||||
|
class="self-start flex items-center gap-[3px] mt-[5px] px-[6px] py-[3px] rounded-[6px] bg-accent-soft">
|
||||||
|
<AppIcon name="ticket" tone="accentDeep" :size="9" />
|
||||||
|
<text class="text-hint font-semibold leading-none text-accent-deep">{{ item.benefit_count }} 项权益</text>
|
||||||
|
</view>
|
||||||
|
|
||||||
<view v-if="item.description" class="text-hint leading-[1.5] text-ink3 mt-[5px] line-clamp-2">
|
<view v-if="item.description" class="text-hint leading-[1.5] text-ink3 mt-[5px] line-clamp-2">
|
||||||
{{ item.description }}
|
{{ item.description }}
|
||||||
</view>
|
</view>
|
||||||
|
|||||||
@@ -113,7 +113,7 @@ onShareAppMessage(() => ({
|
|||||||
<view v-for="group in groups" :id="`g-${group.id}`" :key="group.id">
|
<view v-for="group in groups" :id="`g-${group.id}`" :key="group.id">
|
||||||
<view class="text-[16px] font-semibold mt-3 mb-[9px] text-ink">{{ group.name }}</view>
|
<view class="text-[16px] font-semibold mt-3 mb-[9px] text-ink">{{ group.name }}</view>
|
||||||
<view v-for="(item, i) in group.items" :key="item.id" :class="i ? 'mt-[10px]' : ''">
|
<view v-for="(item, i) in group.items" :key="item.id" :class="i ? 'mt-[10px]' : ''">
|
||||||
<ContentCard :item="item" show-address :thumb-size="100" />
|
<ContentCard :item="item" show-address show-benefit />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<EmptyBox v-if="!groups.length" text="该板块暂无内容" />
|
<EmptyBox v-if="!groups.length" text="该板块暂无内容" />
|
||||||
|
|||||||
@@ -30,6 +30,7 @@
|
|||||||
.ai-ticket.t-accent{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkY4QTNEJyBzdHJva2Utd2lkdGg9JzEuOScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSJNMy41IDkuNmEyIDIgMCAwIDEgMi0yaDEzYTIgMiAwIDAgMSAyIDJ2MS4yYTEuNCAxLjQgMCAwIDAgMCAyLjh2MS4yYTIgMiAwIDAgMS0yIDJoLTEzYTIgMiAwIDAgMS0yLTJ2LTEuMmExLjQgMS40IDAgMCAwIDAtMi44eiIvPjxwYXRoIGQ9Ik0xMy42IDcuNnYyTTEzLjYgMTN2MiIvPjwvc3ZnPg==")}
|
.ai-ticket.t-accent{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkY4QTNEJyBzdHJva2Utd2lkdGg9JzEuOScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSJNMy41IDkuNmEyIDIgMCAwIDEgMi0yaDEzYTIgMiAwIDAgMSAyIDJ2MS4yYTEuNCAxLjQgMCAwIDAgMCAyLjh2MS4yYTIgMiAwIDAgMS0yIDJoLTEzYTIgMiAwIDAgMS0yLTJ2LTEuMmExLjQgMS40IDAgMCAwIDAtMi44eiIvPjxwYXRoIGQ9Ik0xMy42IDcuNnYyTTEzLjYgMTN2MiIvPjwvc3ZnPg==")}
|
||||||
.ai-ticket.t-white{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkZGRkZGJyBzdHJva2Utd2lkdGg9JzEuOScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSJNMy41IDkuNmEyIDIgMCAwIDEgMi0yaDEzYTIgMiAwIDAgMSAyIDJ2MS4yYTEuNCAxLjQgMCAwIDAgMCAyLjh2MS4yYTIgMiAwIDAgMS0yIDJoLTEzYTIgMiAwIDAgMS0yLTJ2LTEuMmExLjQgMS40IDAgMCAwIDAtMi44eiIvPjxwYXRoIGQ9Ik0xMy42IDcuNnYyTTEzLjYgMTN2MiIvPjwvc3ZnPg==")}
|
.ai-ticket.t-white{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkZGRkZGJyBzdHJva2Utd2lkdGg9JzEuOScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSJNMy41IDkuNmEyIDIgMCAwIDEgMi0yaDEzYTIgMiAwIDAgMSAyIDJ2MS4yYTEuNCAxLjQgMCAwIDAgMCAyLjh2MS4yYTIgMiAwIDAgMS0yIDJoLTEzYTIgMiAwIDAgMS0yLTJ2LTEuMmExLjQgMS40IDAgMCAwIDAtMi44eiIvPjxwYXRoIGQ9Ik0xMy42IDcuNnYyTTEzLjYgMTN2MiIvPjwvc3ZnPg==")}
|
||||||
.ai-ticket.t-ink2{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjNkI3MjgwJyBzdHJva2Utd2lkdGg9JzEuOScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSJNMy41IDkuNmEyIDIgMCAwIDEgMi0yaDEzYTIgMiAwIDAgMSAyIDJ2MS4yYTEuNCAxLjQgMCAwIDAgMCAyLjh2MS4yYTIgMiAwIDAgMS0yIDJoLTEzYTIgMiAwIDAgMS0yLTJ2LTEuMmExLjQgMS40IDAgMCAwIDAtMi44eiIvPjxwYXRoIGQ9Ik0xMy42IDcuNnYyTTEzLjYgMTN2MiIvPjwvc3ZnPg==")}
|
.ai-ticket.t-ink2{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjNkI3MjgwJyBzdHJva2Utd2lkdGg9JzEuOScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSJNMy41IDkuNmEyIDIgMCAwIDEgMi0yaDEzYTIgMiAwIDAgMSAyIDJ2MS4yYTEuNCAxLjQgMCAwIDAgMCAyLjh2MS4yYTIgMiAwIDAgMS0yIDJoLTEzYTIgMiAwIDAgMS0yLTJ2LTEuMmExLjQgMS40IDAgMCAwIDAtMi44eiIvPjxwYXRoIGQ9Ik0xMy42IDcuNnYyTTEzLjYgMTN2MiIvPjwvc3ZnPg==")}
|
||||||
|
.ai-ticket.t-accentDeep{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjQzk1NTBDJyBzdHJva2Utd2lkdGg9JzEuOScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSJNMy41IDkuNmEyIDIgMCAwIDEgMi0yaDEzYTIgMiAwIDAgMSAyIDJ2MS4yYTEuNCAxLjQgMCAwIDAgMCAyLjh2MS4yYTIgMiAwIDAgMS0yIDJoLTEzYTIgMiAwIDAgMS0yLTJ2LTEuMmExLjQgMS40IDAgMCAwIDAtMi44eiIvPjxwYXRoIGQ9Ik0xMy42IDcuNnYyTTEzLjYgMTN2MiIvPjwvc3ZnPg==")}
|
||||||
.ai-user.t-ink3{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjOUNBM0FGJyBzdHJva2Utd2lkdGg9JzEuOScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48Y2lyY2xlIGN4PSIxMiIgY3k9IjguMiIgcj0iMy45Ii8+PHBhdGggZD0iTTQuNiAyMC42YTcuNCA3LjQgMCAwIDEgMTQuOCAwIi8+PC9zdmc+")}
|
.ai-user.t-ink3{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjOUNBM0FGJyBzdHJva2Utd2lkdGg9JzEuOScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48Y2lyY2xlIGN4PSIxMiIgY3k9IjguMiIgcj0iMy45Ii8+PHBhdGggZD0iTTQuNiAyMC42YTcuNCA3LjQgMCAwIDEgMTQuOCAwIi8+PC9zdmc+")}
|
||||||
.ai-user.t-brand{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjMDBCNTc4JyBzdHJva2Utd2lkdGg9JzEuOScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48Y2lyY2xlIGN4PSIxMiIgY3k9IjguMiIgcj0iMy45Ii8+PHBhdGggZD0iTTQuNiAyMC42YTcuNCA3LjQgMCAwIDEgMTQuOCAwIi8+PC9zdmc+")}
|
.ai-user.t-brand{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjMDBCNTc4JyBzdHJva2Utd2lkdGg9JzEuOScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48Y2lyY2xlIGN4PSIxMiIgY3k9IjguMiIgcj0iMy45Ii8+PHBhdGggZD0iTTQuNiAyMC42YTcuNCA3LjQgMCAwIDEgMTQuOCAwIi8+PC9zdmc+")}
|
||||||
.ai-user.t-white{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkZGRkZGJyBzdHJva2Utd2lkdGg9JzEuOScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48Y2lyY2xlIGN4PSIxMiIgY3k9IjguMiIgcj0iMy45Ii8+PHBhdGggZD0iTTQuNiAyMC42YTcuNCA3LjQgMCAwIDEgMTQuOCAwIi8+PC9zdmc+")}
|
.ai-user.t-white{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkZGRkZGJyBzdHJva2Utd2lkdGg9JzEuOScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48Y2lyY2xlIGN4PSIxMiIgY3k9IjguMiIgcj0iMy45Ii8+PHBhdGggZD0iTTQuNiAyMC42YTcuNCA3LjQgMCAwIDEgMTQuOCAwIi8+PC9zdmc+")}
|
||||||
|
|||||||
Reference in new issue
Block a user