feat(distribution): 分站前台按独立商城呈现并支持首页文案自定义

分站前台原本对顾客暴露分销身份,且登录等页面写死了主站品牌,
与「一手独立商城」的定位不符;同时首页文案全部硬编码,站长无法按自己口径调整。

去分销身份(顾客可见处):
- 头部品牌区、首页主视觉、移动端认证卡去掉「官方分销/官方分销认证/官方分销站」标识
- 会员徽标「分销专享」→「会员专享」,「所属商城」兜底「专属分销站/商城」→「官方商城」
- 订单页说明改为「当前为【X】商城,仅展示在本站产生的订单记录」,保留订单按站隔离的必要说明
- 无公告时的兜底跑马灯、轮播角标去掉分销措辞
- 清理随之失效的 pc-brand-badge / mobile-brand-badge 样式

品牌跟随站点配置(即可自定义):
- PC/移动登录页、移动注册页、加桌面引导页的品牌改为 站点名称 + Logo(无 Logo 取站名首字),
  不再写死主站「大锤商行」;主站行为不变(新增 store getter brandMark:分站取站名首字,主站仍为「锤」)

首页文案可配置:
- 新增迁移 000076 与 distribution_sites.storefront_text_json
  (tagline 头部副标题 / hero_badge 主视觉徽标 / hero_desc 主视觉描述 / card_sub 移动端卡片副标题)
- 分销后台「品牌装修 → 首页文案」可编辑,占位提示即默认值,留空或整段清空回落内置默认
- 贯通 UpdateSiteBranding → 公开站点信息接口(含 Redis 缓存失效)→ 前台 store 逐字段合并默认值
- 装修预览同步展示站长填写的副标题与徽标

测试:
- 后端补装修字段写入/公开接口透出/清空回落断言
- 前端新增 storefrontText 单测(默认合并、覆盖、空白与非法类型回落)
This commit is contained in:
yml2213
2026-10-01 09:24:56 +08:00
parent 53b40f8fad
commit 329d0f75bb
22 changed files with 358 additions and 89 deletions
@@ -3,8 +3,10 @@ import { computed } from 'vue'
import { useRouter } from 'vue-router'
import { showToast } from 'vant'
import shareMenuIcon from '@/assets/share-menu-icon.png'
import { useDistributionSiteStore } from '@/stores/distributionSite'
const router = useRouter()
const siteStore = useDistributionSiteStore()
const homeUrl = computed(() => `${window.location.origin}/m`)
@@ -32,18 +34,22 @@ async function copyHomeUrl() {
<section class="guide-hero">
<div class="guide-hero-copy">
<span>大锤商行</span>
<span>{{ siteStore.siteName }}</span>
<h2>如何添加到手机</h2>
<p>添加后可从桌面直接进入,找号、下单和查看消息更顺手。</p>
</div>
<div class="hammer-badge" aria-hidden="true">锤</div>
<div class="hammer-badge" aria-hidden="true">{{ siteStore.brandMark }}</div>
</section>
<section class="guide-step">
<div class="step-index">1</div>
<div class="step-body">
<h3>点击浏览器「分享/共享」</h3>
<p>请先用 Safari、Chrome 或系统浏览器打开大锤商行,在底部工具栏或菜单里找到入口。</p>
<p>
请先用 Safari、Chrome 或系统浏览器打开{{
siteStore.siteName
}},在底部工具栏或菜单里找到入口。
</p>
<div class="browser-demo" aria-label="浏览器分享或共享按钮示意">
<div class="demo-nav">
<span>AA</span>