feat: 商家列表展示权益

This commit is contained in:
zoujing
2026-09-18 11:40:26 +08:00
parent 601de78ac9
commit 57caa62081
4 changed files with 11 additions and 3 deletions

View File

@@ -74,7 +74,7 @@ const MATRIX = {
copy: ["brandDeep", "brand"],
gift: ["white", "brandDeep", "accent"],
home: ["ink3", "brand"],
ticket: ["ink3", "brand", "accent", "white", "ink2"],
ticket: ["ink3", "brand", "accent", "white", "ink2", "accentDeep"],
user: ["ink3", "brand", "white", "ink2"],
check: ["white", "brand"],
close: ["ink3", "white"],

View File

@@ -2,7 +2,7 @@
/**
* 内容条目卡(原 .item
* - 首页「精选推荐」:名称 + 简介,不显示地址
* - 板块列表页:名称 + 简介 + 地址行
* - 板块列表页:名称 + 简介 + 权益数徽标 + 地址行benefit_count 缺失或为 0 时整行不渲染)
* 等级与描述性标签(`grade` / `tags`)全站不展示 —— 字段保留在数据层,页面不渲染。
* 图片地址一律取 item.main_image_url只读字段不拼路径
*/
@@ -11,6 +11,7 @@ import { goDetail } from "@/utils/nav";
const props = defineProps({
item: { type: Object, required: true },
showAddress: { type: Boolean, default: false },
showBenefit: { type: Boolean, default: false },
thumbSize: { type: Number, default: 92 },
});
@@ -33,6 +34,12 @@ const onTap = () => {
<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 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">
{{ item.description }}
</view>

View File

@@ -113,7 +113,7 @@ onShareAppMessage(() => ({
<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 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>
<EmptyBox v-if="!groups.length" text="该板块暂无内容" />

View File

@@ -30,6 +30,7 @@
.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-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-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+")}