Commit 8c1711c1 authored by xuchentao's avatar xuchentao

feat: build Sumeiqiao official website

parents
node_modules/
dist/
.astro/
.codex-tmp/
.DS_Store
import { defineConfig } from "astro/config";
import sitemap from "@astrojs/sitemap";
export default defineConfig({
site: "https://www.sumeiqiao.com",
integrations: [sitemap()],
build: { format: "directory" },
trailingSlash: "always",
});
This diff is collapsed.
{
"name": "sumeiqiao-official-site",
"type": "module",
"version": "1.0.0",
"private": true,
"scripts": {
"dev": "astro dev",
"build": "astro check && astro build",
"preview": "astro preview",
"check": "astro check"
},
"dependencies": {
"@astrojs/sitemap": "^3.7.3",
"astro": "^7.1.3"
},
"devDependencies": {
"@astrojs/check": "^0.9.6",
"typescript": "^5.9.3"
}
}
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="630" viewBox="0 0 1200 630">
<defs>
<linearGradient id="bg" x1="0" y1="0" x2="1" y2="1"><stop stop-color="#FAF8F4"/><stop offset="1" stop-color="#E4EFEA"/></linearGradient>
<linearGradient id="leaf" x1="0" y1="0" x2="1" y2="1"><stop stop-color="#17AE9C"/><stop offset="1" stop-color="#0F766E"/></linearGradient>
</defs>
<rect width="1200" height="630" fill="url(#bg)"/>
<circle cx="1020" cy="100" r="270" fill="none" stroke="#9DB8AE" stroke-opacity=".35"/>
<circle cx="105" cy="625" r="230" fill="none" stroke="#9DB8AE" stroke-opacity=".25"/>
<path d="M870 170c-125 55-153 184-72 296 127-43 164-180 72-296Z" fill="url(#leaf)" opacity=".92"/>
<path d="M823 439c41-86 61-162 55-248" fill="none" stroke="#fff" stroke-width="3" opacity=".7"/>
<text x="92" y="155" fill="#0F766E" font-family="PingFang SC, Microsoft YaHei, sans-serif" font-size="30" letter-spacing="8">SUMEIQIAO · 塑美俏</text>
<text x="92" y="300" fill="#333" font-family="Songti SC, STSong, serif" font-size="72">中式经络体龄管理</text>
<text x="92" y="390" fill="#17AE9C" font-family="Songti SC, STSong, serif" font-size="62">让身体自然轻盈</text>
<text x="96" y="485" fill="#6B7280" font-family="PingFang SC, Microsoft YaHei, sans-serif" font-size="26">减重 · 塑形 · 亚健康管理一体化方案</text>
<rect x="94" y="530" width="90" height="4" rx="2" fill="#9DB8AE"/>
</svg>
# 塑美俏体龄管理 — 欢迎搜索引擎与 AI 搜索抓取公开内容
User-agent: *
Allow: /
User-agent: GPTBot
Allow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: ChatGPT-User
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: Claude-Web
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: Google-Extended
Allow: /
User-agent: Bytespider
Allow: /
User-agent: Baiduspider
Allow: /
Sitemap: https://www.sumeiqiao.com/sitemap-index.xml
{
"name": "塑美俏体龄管理",
"short_name": "塑美俏",
"start_url": "/",
"display": "standalone",
"background_color": "#FAF8F4",
"theme_color": "#17AE9C",
"lang": "zh-CN"
}
---
import { site } from "../data/site";
interface Props {
eyebrow?: string;
title?: string;
text?: string;
}
const {
eyebrow,
title = "从一次认真了解开始",
text = "告诉我们你所在的城市与关注方向,了解附近门店、项目体验或加盟合作。",
} = Astro.props;
---
<section class="cta-panel section-pad">
<div class="container cta-panel__inner" data-reveal>
<div>
{eyebrow && <div class="eyebrow eyebrow--light"><span></span>{eyebrow}</div>}
<h2>{title}</h2>
<p>{text}</p>
</div>
<div class="cta-panel__actions">
<a class="button button--white" href={`mailto:${site.contact.email}?subject=塑美俏官网咨询`}>邮件咨询</a>
<a class="button button--ghost-light" href="/contact/">联系与合作</a>
</div>
</div>
</section>
---
import logo from "../../横向-绿0013.svg";
import { site } from "../data/site";
---
<footer class="site-footer">
<div class="container footer-grid">
<div class="footer-brand">
<a href="/" aria-label="塑美俏首页" class="footer-logo">
<img src={logo.src} width="119" height="61" alt="塑美俏体龄管理" />
</a>
<p>{site.brand.tagline}</p>
<div class="footer-tags" aria-label="品牌定位">
<span>中式调理</span><span>体龄管理</span><span>自然健康</span>
</div>
</div>
<div>
<h2>认识塑美俏</h2>
<a href="/about/">品牌故事</a>
<a href="/services/">体龄管理</a>
<a href="/join/">加盟支持</a>
<a href="/faq/">常见问题</a>
</div>
<div>
<h2>服务方向</h2>
{site.services.map((item) => <a href={`/services/#${item.slug}`}>{item.name}</a>)}
</div>
<div class="footer-contact">
<h2>联系与合作</h2>
<a href={`mailto:${site.contact.email}`}>{site.contact.email}</a>
<address>{site.contact.address}</address>
<a class="footer-arrow" href="/contact/">查找附近门店 / 合作咨询 <span>↗</span></a>
</div>
</div>
<div class="container footer-bottom">
<p>© {new Date().getFullYear()} {site.brand.legalName}</p>
<p>健康管理服务不替代医疗诊断与治疗,实际体验因人而异。</p>
</div>
</footer>
---
import logo from "../../横向-绿0013.svg";
import { site } from "../data/site";
const path = Astro.url.pathname;
const isActive = (href: string) => href === "/" ? path === "/" : path.startsWith(href);
---
<div class="top-note">
<div class="container top-note__inner">
<span>中式经络体龄管理 · 自然调理 · 科学管理</span>
<a href="mailto:sumeiqiao@126.com">合作邮箱:{site.contact.email}</a>
</div>
</div>
<header class="site-header" data-header>
<div class="container site-header__inner">
<a class="brand" href="/" aria-label="塑美俏首页">
<img src={logo.src} width="119" height="61" alt="塑美俏体龄管理" />
</a>
<nav class="desktop-nav" aria-label="主导航">
<ul>
{site.nav.map((item) => (
<li class="nav-item">
<a class="nav-link" href={item.href} aria-current={isActive(item.href) ? "page" : undefined} aria-haspopup="true">
{item.label}<span class="nav-chevron" aria-hidden="true">⌄</span>
</a>
<div class="nav-dropdown">
<ul>
{item.children.slice(1).map((child) => (
<li><a href={child.href}>{child.label}<span aria-hidden="true">↗</span></a></li>
))}
</ul>
</div>
</li>
))}
</ul>
</nav>
<a class="button button--small header-cta" href="/contact/?intent=join">加盟详情咨询</a>
<details class="mobile-nav">
<summary aria-label="打开导航菜单">
<span></span><span></span><span></span>
</summary>
<nav data-mobile-nav aria-label="移动端导航">
{site.nav.map((item) => (
<div class="mobile-nav__group">
<a class="mobile-nav__primary" href={item.href} aria-current={isActive(item.href) ? "page" : undefined}>{item.label}</a>
<div class="mobile-subnav">
{item.children.slice(1).map((child) => <a href={child.href}>{child.label}</a>)}
</div>
</div>
))}
<a class="button" href="/contact/?intent=join">加盟详情咨询</a>
</nav>
</details>
</div>
</header>
---
interface Props {
eyebrow: string;
title: string;
intro?: string;
align?: "left" | "center";
light?: boolean;
}
const { eyebrow, title, intro, align = "left", light = false } = Astro.props;
---
<header class:list={["section-heading", `section-heading--${align}`, { "section-heading--light": light }]}>
<div class="eyebrow"><span></span>{eyebrow}</div>
<h2>{title}</h2>
{intro && <p>{intro}</p>}
</header>
---
interface Props {
service: {
slug: string;
index: string;
name: string;
intro: string;
audience: string;
value: string;
};
link?: boolean;
}
const { service, link = true } = Astro.props;
---
<article class="service-card" id={service.slug} data-reveal>
<div class="service-card__top">
<span class="service-card__index">{service.index}</span>
<span class="service-card__type">BODY AGE SERVICE</span>
</div>
<h3>{service.name}</h3>
<p>{service.intro}</p>
<dl>
<div><dt>适合人群</dt><dd>{service.audience}</dd></div>
<div><dt>核心方向</dt><dd>{service.value}</dd></div>
</dl>
{link && <a class="text-link" href={`/services/#${service.slug}`}>了解项目 <span>↗</span></a>}
</article>
export const site = {
brand: {
name: "塑美俏体龄管理",
shortName: "塑美俏",
englishName: "SUMEIQIAO",
legalName: "廊坊塑美俏品牌管理有限公司",
tagline: "让世界体验中式经络调理,改善全民健康",
industry: "美业 · 大健康 · 体龄管理 · 减肥塑形 · 中式调理",
},
home: {
eyebrow: "中式经络体龄管理专家",
headline: "让身体回到轻盈、舒展的自然状态",
subhead:
"以减重为入口,以亚健康调理为根本。塑美俏通过非侵入式中式经络调理,为消费者提供减重、塑形与日常健康管理的一体化方案。",
stats: [
{ value: "7,500+", label: "全国门店网络" },
{ value: "500万+", label: "年培训投入" },
{ value: "4维", label: "体龄管理目标" },
{ value: "4大", label: "持续售后团队" },
],
},
pillars: [
{
number: "01",
title: "体质健康化",
desc: "从身体状态出发,关注湿气、循环与日常亚健康困扰,为后续管理打好基础。",
},
{
number: "02",
title: "体肤年轻化",
desc: "把外在状态与内在体质放在同一套管理逻辑中,追求由内而外的轻盈活力。",
},
{
number: "03",
title: "体脂标准化",
desc: "围绕个人状态制定周期方案,帮助建立更可持续的体重与体脂管理习惯。",
},
{
number: "04",
title: "体型美化",
desc: "结合整体减重与局部塑形需求,让身形管理更有层次,也更贴近个人目标。",
},
],
services: [
{
slug: "weight-management",
index: "01",
name: "体龄管理减重",
intro: "通过中式经络调理进行科学体重管理,关注体质改善与长期状态。",
audience: "有减重与体质管理需求的人群",
value: "饮食管理更轻松,兼顾体质与体重",
note: "除孕期外,具体适用情况需由门店专业人员评估。",
},
{
slug: "dampness-conditioning",
index: "02",
name: "排湿排酸调理",
intro: "面向湿气重、容易疲惫等日常困扰,通过经络调理帮助改善身体状态。",
audience: "关注湿气与亚健康状态的人群",
value: "改善身体内环境,为后续管理打基础",
note: "属于日常健康管理服务,不替代医学检查与治疗。",
},
{
slug: "body-shaping",
index: "03",
name: "体型塑形管理",
intro: "在整体体重管理之外,进一步关注局部线条、体态与身形协调。",
audience: "有局部塑形或体态管理需求的人群",
value: "减重与塑形协同规划",
note: "实际方案与体验因个人基础、周期和配合度而异。",
},
{
slug: "wellness-conditioning",
index: "04",
name: "亚健康调理",
intro: "面向关注血糖、血压、尿酸及循环状态的人群,提供日常健康管理支持。",
audience: "有慢性亚健康管理需求的人群",
value: "在体重管理同时关注多维健康指标",
note: "不用于诊断、治疗疾病;异常指标请及时就医。",
},
],
about: {
founded: "2023年6月",
heading: "一家把门店结果放在招商速度之前的品牌",
story: [
"塑美俏创立于2023年6月,是一家以中式经络调理为核心的大健康与体龄管理品牌。品牌以减重为入口,以调理亚健康为根本,致力于为消费者提供科学、安全、有效的日常健康管理方案。",
"我们相信,真正长期的品牌增长来自门店经营能力,而不是短期扩张。塑美俏以深度交付为原则,通过培训、活动、客户服务与持续运营支持,陪伴合作门店把方法真正落到日常经营中。",
],
advantages: [
{
title: "深度交付模式",
desc: "不以招商数量作为唯一目标,集中资源陪伴已有门店跑通经营环节,再稳步推进区域发展。",
},
{
title: "持续培训体系",
desc: "年培训投入超500万元,覆盖初级班、精英班与领导人培训,让团队能力持续进阶。",
},
{
title: "门店经营闭环",
desc: "从内容引流、体验转化、升单锁客到区域裂变,形成可学习、可执行、可复盘的经营路径。",
},
],
},
support: [
{ title: "技术老师团队", desc: "负责项目标准、操作要点与门店技术问题的持续支持。" },
{ title: "销售总监团队", desc: "围绕首场活动、现场成交与门店节奏提供实战陪跑。" },
{ title: "客户服务经理", desc: "承接日常运营沟通,及时协调门店经营中的具体问题。" },
{ title: "塑美俏商学院", desc: "提供分层课程与持续培训,帮助个人与团队共同成长。" },
],
faq: [
{
q: "塑美俏是什么?跟普通减肥有什么区别?",
a: "塑美俏是以中式经络调理为核心的体龄管理品牌,不只关注体重数字,也关注体质、体脂、体型与日常亚健康状态。具体服务方案会结合个人情况评估制定。",
},
{
q: "真的不用节食吗?能吃好吗?",
a: "品牌倡导“吃得好,瘦得多”的轻松管理理念,不主张极端节食。实际饮食建议与管理节奏会根据个人基础和目标调整,效果也会因人而异。",
},
{
q: "不同年龄的人都适合吗?",
a: "品牌服务面向较广年龄范围,但每个人的身体状态不同。孕期不建议操作;经期、哺乳期及未成年人等特殊人群,应先向门店说明情况并接受专业评估,必要时咨询医生。",
},
{
q: "合作门店的售后支持有哪些?",
a: "塑美俏设有技术老师、销售总监、客户服务经理和商学院四类支持团队,覆盖技术、首场活动、日常运营与持续培训。",
},
{
q: "没有行业经验,合作后会不会很难上手?",
a: "项目体系围绕少量核心产品与标准流程设计,并配套分层培训和团队陪跑。是否适合合作仍需结合当地市场、个人投入与经营能力综合评估。",
},
{
q: "合作投入和经营结果有保障吗?",
a: "合作投入会因门店面积、城市、人员和运营方案不同而变化。品牌提供培训与经营支持,但不对收益作绝对承诺;建议在合作前完整了解费用、合同与经营风险。",
},
],
contact: {
website: "www.sumeiqiao.com",
email: "sumeiqiao@126.com",
address: "河北省廊坊市安次区光明西道114号",
locality: "安次区",
region: "河北省廊坊市",
heading: "联系与合作",
intro: "想了解附近门店、项目体验或加盟合作?欢迎通过邮件说明所在城市与需求,我们会为你安排对应人员联系。",
},
nav: [
{
href: "/",
label: "首页",
children: [
{ href: "/", label: "品牌首页" },
{ href: "/#body-age", label: "四维体龄管理" },
{ href: "/#services", label: "核心服务" },
{ href: "/#support", label: "门店支持" },
],
},
{
href: "/services/",
label: "体龄管理",
children: [
{ href: "/services/", label: "服务总览" },
{ href: "/services/#weight-management", label: "体龄管理减重" },
{ href: "/services/#dampness-conditioning", label: "排湿排酸调理" },
{ href: "/services/#body-shaping", label: "体型塑形管理" },
{ href: "/services/#wellness-conditioning", label: "亚健康调理" },
],
},
{
href: "/about/",
label: "关于我们",
children: [
{ href: "/about/", label: "品牌介绍" },
{ href: "/about/#brand-story", label: "品牌故事" },
{ href: "/about/#advantages", label: "核心优势" },
{ href: "/about/#values", label: "品牌价值观" },
],
},
{
href: "/join/",
label: "加盟支持",
children: [
{ href: "/join/", label: "合作概览" },
{ href: "/join/#support-teams", label: "四大支持团队" },
{ href: "/join/#growth-path", label: "门店经营闭环" },
{ href: "/join/#lightweight-start", label: "轻量起步体系" },
{ href: "/contact/?intent=join", label: "加盟详情咨询" },
],
},
{
href: "/faq/",
label: "常见问题",
children: [
{ href: "/faq/", label: "全部问题" },
{ href: "/faq/#project-experience", label: "项目体验" },
{ href: "/faq/#suitability", label: "适用情况" },
{ href: "/faq/#store-support", label: "门店支持" },
{ href: "/faq/#partnership", label: "加盟合作" },
],
},
{
href: "/contact/",
label: "联系合作",
children: [
{ href: "/contact/", label: "联系方式" },
{ href: "/contact/?intent=store", label: "查找附近门店" },
{ href: "/contact/?intent=join", label: "加盟详情咨询" },
{ href: "mailto:sumeiqiao@126.com", label: "发送合作邮件" },
],
},
],
} as const;
---
import "../styles/global.css";
import logo from "../../横向-绿0013.svg";
import { site } from "../data/site";
interface Props {
title: string;
description: string;
image?: string;
ogType?: "website" | "article";
noindex?: boolean;
jsonLd?: Record<string, unknown> | Record<string, unknown>[];
}
const {
title,
description,
image = "/og-cover.svg",
ogType = "website",
noindex = false,
jsonLd = [],
} = Astro.props;
const canonical = new URL(Astro.url.pathname, Astro.site).href;
const ogImage = new URL(image, Astro.site).href;
const organizationLd = {
"@context": "https://schema.org",
"@type": ["HealthAndBeautyBusiness", "Organization"],
"@id": new URL("/#organization", Astro.site).href,
name: site.brand.name,
alternateName: [site.brand.shortName, site.brand.englishName],
legalName: site.brand.legalName,
url: Astro.site?.href,
logo: new URL(logo.src, Astro.site).href,
slogan: site.brand.tagline,
description: site.home.subhead,
email: site.contact.email,
address: {
"@type": "PostalAddress",
streetAddress: site.contact.address,
addressLocality: site.contact.locality,
addressRegion: site.contact.region,
addressCountry: "CN",
},
};
const pageLd = Array.isArray(jsonLd) ? jsonLd : [jsonLd];
const allLd = [organizationLd, ...pageLd.filter((item) => Object.keys(item).length > 0)];
---
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#FAF8F4" />
<meta name="color-scheme" content="light" />
<title>{title}</title>
<meta name="description" content={description} />
<meta name="robots" content={noindex ? "noindex,nofollow" : "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1"} />
<link rel="canonical" href={canonical} />
<link rel="icon" href={logo.src} type="image/svg+xml" />
<link rel="manifest" href="/site.webmanifest" />
<link rel="alternate" hreflang="zh-CN" href={canonical} />
<link rel="alternate" hreflang="x-default" href={canonical} />
<meta property="og:type" content={ogType} />
<meta property="og:title" content={title} />
<meta property="og:description" content={description} />
<meta property="og:url" content={canonical} />
<meta property="og:image" content={ogImage} />
<meta property="og:site_name" content={site.brand.name} />
<meta property="og:locale" content="zh_CN" />
<meta name="twitter:card" content="summary_large_image" />
<script type="application/ld+json" set:html={JSON.stringify(allLd)} is:inline></script>
</head>
<body>
<a class="skip-link" href="#main-content">跳到主要内容</a>
<slot />
<script is:inline>
const header = document.querySelector('[data-header]');
const syncHeader = () => header?.classList.toggle('is-scrolled', window.scrollY > 16);
addEventListener('scroll', syncHeader, { passive: true });
syncHeader();
const observer = 'IntersectionObserver' in window
? new IntersectionObserver((entries) => entries.forEach((entry) => {
if (entry.isIntersecting) {
entry.target.classList.add('is-visible');
observer.unobserve(entry.target);
}
}), { threshold: 0.12 })
: null;
document.querySelectorAll('[data-reveal]').forEach((el) => observer?.observe(el));
document.querySelectorAll('[data-mobile-nav] a').forEach((link) => {
link.addEventListener('click', () => link.closest('details')?.removeAttribute('open'));
});
</script>
</body>
</html>
---
import Base from "../layouts/Base.astro";
import Header from "../components/Header.astro";
import Footer from "../components/Footer.astro";
import { site } from "../data/site";
---
<Base title={`页面未找到|${site.brand.name}`} description="你访问的页面不存在。" noindex={true}>
<Header />
<main id="main-content" class="not-found">
<div><strong>404</strong><h1>这一页暂时找不到</h1><p>你可以返回首页,继续了解塑美俏。</p><a class="button" href="/">返回首页</a></div>
</main>
<Footer />
</Base>
---
import Base from "../../layouts/Base.astro";
import Header from "../../components/Header.astro";
import Footer from "../../components/Footer.astro";
import SectionHeading from "../../components/SectionHeading.astro";
import CTA from "../../components/CTA.astro";
import { site } from "../../data/site";
const title = `关于塑美俏|中式经络体龄管理品牌`;
const description = site.about.story[0];
const pageUrl = new URL("/about/", Astro.site).href;
const jsonLd = {
"@context": "https://schema.org",
"@type": "AboutPage",
name: "关于塑美俏",
description,
url: pageUrl,
mainEntity: { "@id": new URL("/#organization", Astro.site).href },
};
---
<Base title={title} description={description} jsonLd={jsonLd}>
<Header />
<main id="main-content">
<section class="page-hero" data-word="ABOUT">
<div class="container page-hero__inner" data-reveal>
<div class="breadcrumb"><a href="/">首页</a> / 关于我们</div>
<div class="eyebrow"><span></span>ABOUT SUMEIQIAO</div>
<h1>让中式经络调理,<br />走进更多人的日常</h1>
<p>{site.about.story[0]}</p>
</div>
</section>
<section class="section-pad section-white" id="brand-story">
<div class="container story-grid">
<div class="story-visual" data-reveal>
<div class="story-visual__quote"><p>让世界体验中式经络调理,改善全民健康。</p><small>OUR MISSION</small></div>
</div>
<div class="story-copy" data-reveal>
<div class="eyebrow"><span></span>FOUNDED IN {site.about.founded}</div>
<h2>{site.about.heading}</h2>
{site.about.story.map((paragraph) => <p>{paragraph}</p>)}
<a class="button button--secondary" href="/join/">了解加盟支持</a>
</div>
</div>
</section>
<section class="section-pad section-tint" id="advantages">
<div class="container">
<SectionHeading eyebrow="WHY SUMEIQIAO" title="稳步增长背后的三件事" intro="服务消费者,也服务好每一家合作门店;品牌长期价值建立在可持续的交付能力上。" align="center" />
<div class="values-grid">
{site.about.advantages.map((item, index) => (
<article class="value-card" data-reveal><span>0{index + 1}</span><h3>{item.title}</h3><p>{item.desc}</p></article>
))}
</div>
</div>
</section>
<section class="section-pad support-section" id="values">
<div class="container">
<SectionHeading eyebrow="OUR VALUES" title="自然、专业、负责、长期" intro="尊重身体规律,清楚说明边界,用更扎实的服务与更长期的陪伴建立信任。" light={true} />
<div class="support-grid">
{[
["自然", "以非侵入式中式经络调理为核心,追求身体状态的自然改善。"],
["专业", "用清楚的服务标准、培训体系与周期管理提升体验一致性。"],
["负责", "不虚构效果,不以绝对承诺代替个人评估与必要的医学判断。"],
["长期", "把消费者体验与门店经营放在短期扩张之前,做长期主义品牌。"],
].map((item, index) => (
<article class="support-card" data-reveal><span>0{index + 1}</span><h3>{item[0]}</h3><p>{item[1]}</p></article>
))}
</div>
</div>
</section>
<CTA title="认识塑美俏,也认识一种更自然的健康管理方式" />
</main>
<Footer />
</Base>
---
import Base from "../../layouts/Base.astro";
import Header from "../../components/Header.astro";
import Footer from "../../components/Footer.astro";
import CTA from "../../components/CTA.astro";
import { site } from "../../data/site";
const title = `联系与合作|${site.brand.name}`;
const description = site.contact.intro;
const pageUrl = new URL("/contact/", Astro.site).href;
const intent = Astro.url.searchParams.get("intent");
const intentCopy = intent === "store"
? "请在邮件中写明所在城市,我们将协助查询附近门店。"
: intent === "join"
? "请在邮件中写明所在城市、现有门店情况与合作需求。"
: "请在邮件中写明所在城市与具体需求。";
const jsonLd = [
{
"@context": "https://schema.org",
"@type": "ContactPage",
name: "联系塑美俏",
description,
url: pageUrl,
mainEntity: { "@id": new URL("/#organization", Astro.site).href },
},
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
itemListElement: [
{ "@type": "ListItem", position: 1, name: "首页", item: Astro.site?.href },
{ "@type": "ListItem", position: 2, name: "联系与合作", item: pageUrl },
],
},
];
---
<Base title={title} description={description} jsonLd={jsonLd}>
<Header />
<main id="main-content">
<section class="page-hero" data-word="CONTACT">
<div class="container page-hero__inner" data-reveal>
<div class="breadcrumb"><a href="/">首页</a> / 联系与合作</div>
<div class="eyebrow"><span></span>GET IN TOUCH</div>
<h1>把你的需求,<br />认真告诉我们</h1>
<p>{site.contact.intro}</p>
</div>
</section>
<section class="section-pad" id="contact-methods">
<div class="container">
<div class="contact-grid">
<article class="contact-card" data-reveal>
<span class="contact-card__icon" aria-hidden="true">✉</span>
<h2>邮件咨询</h2>
<p>项目、门店与加盟合作均可通过邮箱联系。</p>
<a href={`mailto:${site.contact.email}?subject=塑美俏官网咨询`}>{site.contact.email} ↗</a>
</article>
<article class="contact-card" data-reveal>
<span class="contact-card__icon" aria-hidden="true">⌖</span>
<h2>公司地址</h2>
<address>{site.contact.address}<br />{site.brand.legalName}</address>
<a href={`https://uri.amap.com/search?keyword=${encodeURIComponent(site.contact.address)}`} target="_blank" rel="noreferrer">在地图中查看 ↗</a>
</article>
<article class="contact-card" data-reveal>
<span class="contact-card__icon" aria-hidden="true">◎</span>
<h2>官方网站</h2>
<p>品牌信息、项目内容与合作支持以官网更新为准。</p>
<a href="https://www.sumeiqiao.com">{site.contact.website} ↗</a>
</article>
</div>
<p class="contact-note">{intentCopy} 当前品牌资料未提供公开客服电话,因此本站不展示或虚构联系电话;邮件发出后请留意回复。</p>
</div>
</section>
<CTA eyebrow="CONTACT" title="塑美俏 · 联系与合作" text={intentCopy} />
</main>
<Footer />
</Base>
---
import Base from "../../layouts/Base.astro";
import Header from "../../components/Header.astro";
import Footer from "../../components/Footer.astro";
import CTA from "../../components/CTA.astro";
import { site } from "../../data/site";
const title = `常见问题|${site.brand.name}`;
const description = "塑美俏项目体验、适用情况、门店支持与加盟合作常见问题解答。";
const pageUrl = new URL("/faq/", Astro.site).href;
const jsonLd = [
{
"@context": "https://schema.org",
"@type": "FAQPage",
mainEntity: site.faq.map((item) => ({
"@type": "Question",
name: item.q,
acceptedAnswer: { "@type": "Answer", text: item.a },
})),
},
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
itemListElement: [
{ "@type": "ListItem", position: 1, name: "首页", item: Astro.site?.href },
{ "@type": "ListItem", position: 2, name: "常见问题", item: pageUrl },
],
},
];
---
<Base title={title} description={description} jsonLd={jsonLd}>
<Header />
<main id="main-content">
<section class="page-hero" data-word="FAQ">
<div class="container page-hero__inner" data-reveal>
<div class="breadcrumb"><a href="/">首页</a> / 常见问题</div>
<div class="eyebrow"><span></span>FREQUENTLY ASKED</div>
<h1>先把疑问,<br />一件件说清楚</h1>
<p>{description} 如有未覆盖的问题,欢迎邮件联系我们。</p>
</div>
</section>
<section class="section-pad section-white">
<div class="container faq-layout">
<div>
<div class="eyebrow"><span></span>PROJECT & PARTNER</div>
<h2 style="font-family:var(--serif);font-size:42px;font-weight:600;color:var(--ink-green);line-height:1.25;margin-top:18px">项目体验与<br />合作支持</h2>
<p style="color:var(--muted)">以下回答基于品牌当前资料。个人身体情况与门店经营条件不同,具体以线下评估和正式合作文件为准。</p>
</div>
<div class="faq-list">
{site.faq.map((item, index) => (
<details
class="faq-item"
id={index === 0 ? "project-experience" : index === 2 ? "suitability" : index === 3 ? "store-support" : index === 4 ? "partnership" : `question-${index + 1}`}
data-reveal
>
<summary>{item.q}</summary>
<div class="faq-answer"><p>{item.a}</p></div>
</details>
))}
</div>
</div>
</section>
<CTA title="还有其他问题?" text="写明所在城市、关注项目或合作需求,我们会把信息转交给对应人员。" />
</main>
<Footer />
</Base>
---
import Base from "../layouts/Base.astro";
import Header from "../components/Header.astro";
import Footer from "../components/Footer.astro";
import SectionHeading from "../components/SectionHeading.astro";
import ServiceCard from "../components/ServiceCard.astro";
import CTA from "../components/CTA.astro";
import { site } from "../data/site";
const title = `${site.brand.name}|中式经络调理与体龄管理`;
const description = site.home.subhead;
const jsonLd = [
{
"@context": "https://schema.org",
"@type": "WebSite",
"@id": new URL("/#website", Astro.site).href,
name: site.brand.name,
alternateName: site.brand.shortName,
url: Astro.site?.href,
description,
inLanguage: "zh-CN",
publisher: { "@id": new URL("/#organization", Astro.site).href },
},
{
"@context": "https://schema.org",
"@type": "FAQPage",
mainEntity: site.faq.slice(0, 4).map((item) => ({
"@type": "Question",
name: item.q,
acceptedAnswer: { "@type": "Answer", text: item.a },
})),
},
];
---
<Base title={title} description={description} jsonLd={jsonLd}>
<Header />
<main id="main-content">
<section class="hero">
<div class="hero__ambient" aria-hidden="true">
<span>体质</span><span>体肤</span><span>体脂</span><span>体型</span>
</div>
<div class="container hero__inner">
<div class="hero__copy" data-reveal>
<div class="eyebrow"><span></span>{site.home.eyebrow}</div>
<h1>中式经络调理,<em>让身体自然轻盈</em></h1>
<p>{site.home.subhead}</p>
<div class="hero__actions">
<a class="button" href="/contact/?intent=join">加盟详情咨询 <span>↗</span></a>
<a class="button button--secondary" href="/contact/?intent=store">查找附近门店</a>
</div>
<div class="hero__meta" aria-label="服务特点">
<span>非侵入式调理</span>
<span>减重 · 塑形 · 亚健康管理</span>
<span>因人制定周期方案</span>
</div>
</div>
</div>
</section>
<section class="stats-band" aria-label="塑美俏品牌数据">
<div class="container stats-grid" data-reveal>
{site.home.stats.map((stat) => (
<div class="stat"><strong>{stat.value}</strong><span>{stat.label}</span></div>
))}
</div>
</section>
<section class="section-pad" id="body-age">
<div class="container">
<SectionHeading
eyebrow="BODY AGE MANAGEMENT"
title="管理的不只是体重,更是身体的整体状态"
intro="塑美俏把体质、体肤、体脂与体型放在一套管理体系里,从根本状态出发,追求更自然、更可持续的变化。"
align="center"
/>
<div class="pillars-grid">
{site.pillars.map((pillar) => (
<article class="pillar" data-reveal>
<span class="pillar__number">{pillar.number}</span>
<h3>{pillar.title}</h3>
<p>{pillar.desc}</p>
</article>
))}
</div>
</div>
</section>
<section class="section-pad section-tint" id="services">
<div class="container services-layout">
<SectionHeading
eyebrow="OUR SERVICES"
title="一套由内而外的体龄管理方案"
intro="围绕减重、排湿排酸、塑形与亚健康管理四个方向,结合个人状态制定周期方案。"
/>
<div class="service-grid">
{site.services.map((service) => <ServiceCard service={service} />)}
</div>
</div>
</section>
<section class="section-pad section-white" id="about">
<div class="container story-grid">
<div class="story-visual" data-reveal>
<div class="story-visual__quote">
<p>“靠谱,做一家深度交付型公司。”</p>
<small>SUMEIQIAO · BRAND BELIEF</small>
</div>
</div>
<div class="story-copy" data-reveal>
<div class="eyebrow"><span></span>ABOUT SUMEIQIAO</div>
<h2>{site.about.heading}</h2>
<p>{site.about.story[0]}</p>
<div class="story-points">
{site.about.advantages.map((item, index) => (
<div class="story-point">
<span>{index + 1}</span>
<div><b>{item.title}</b><small>{item.desc}</small></div>
</div>
))}
</div>
<a class="text-link" href="/about/">了解品牌故事 <span>↗</span></a>
</div>
</div>
</section>
<section class="section-pad support-section" id="support">
<div class="container">
<SectionHeading
eyebrow="STORE SUPPORT"
title="四支团队,把支持落到门店日常"
intro="从技术到销售、从日常服务到持续学习,让合作不是一次签约,而是一段长期共建。"
light={true}
/>
<div class="support-grid">
{site.support.map((item, index) => (
<article class="support-card" data-reveal>
<span>0{index + 1}</span><h3>{item.title}</h3><p>{item.desc}</p>
</article>
))}
</div>
</div>
</section>
<section class="section-pad section-white" id="faq">
<div class="container faq-layout">
<SectionHeading
eyebrow="FAQ"
title="关于塑美俏,你可能想知道"
intro="先把项目、适用情况与合作支持说明白,再决定是否进一步了解。"
/>
<div class="faq-list">
{site.faq.slice(0, 4).map((item) => (
<details class="faq-item" open data-reveal>
<summary>{item.q}</summary>
<div class="faq-answer"><p>{item.a}</p></div>
</details>
))}
<a class="text-link" style="margin-top:28px" href="/faq/">查看全部常见问题 <span>↗</span></a>
</div>
</div>
</section>
<CTA />
</main>
<Footer />
</Base>
---
import Base from "../../layouts/Base.astro";
import Header from "../../components/Header.astro";
import Footer from "../../components/Footer.astro";
import SectionHeading from "../../components/SectionHeading.astro";
import CTA from "../../components/CTA.astro";
import { site } from "../../data/site";
const title = `加盟支持|${site.brand.name}`;
const description = "了解塑美俏面向合作门店的技术、销售、客服与商学院支持,以及从引流、体验转化到门店经营的陪跑路径。";
const pageUrl = new URL("/join/", Astro.site).href;
const jsonLd = {
"@context": "https://schema.org",
"@type": "WebPage",
name: "塑美俏加盟支持",
description,
url: pageUrl,
about: { "@id": new URL("/#organization", Astro.site).href },
};
---
<Base title={title} description={description} jsonLd={jsonLd}>
<Header />
<main id="main-content">
<section class="page-hero" data-word="PARTNER">
<div class="container page-hero__inner" data-reveal>
<div class="breadcrumb"><a href="/">首页</a> / 加盟支持</div>
<div class="eyebrow"><span></span>PARTNER WITH US</div>
<h1>签约只是开始,<br />交付才是答案</h1>
<p>塑美俏以深度交付为核心,围绕技术、活动、运营和培训持续陪伴合作门店,把方法真正落到经营日常。</p>
</div>
</section>
<section class="section-pad support-section" id="support-teams">
<div class="container">
<SectionHeading eyebrow="FOUR SUPPORT TEAMS" title="四大团队,全程协同" intro="合作门店遇到的问题不止一种,所以支持也不是一条单线。" light={true} />
<div class="support-grid">
{site.support.map((item, index) => (
<article class="support-card" data-reveal><span>0{index + 1}</span><h3>{item.title}</h3><p>{item.desc}</p></article>
))}
</div>
</div>
</section>
<section class="section-pad section-white" id="growth-path">
<div class="container">
<SectionHeading eyebrow="STORE GROWTH" title="从一次体验,到一套经营闭环" intro="围绕获客、体验、转化、复购与区域发展,帮助门店建立自己的经营节奏。" align="center" />
<div class="join-flow">
{[
["内容引流", "通过本地内容与体验活动,让目标顾客先认识门店。"],
["体验转化", "用清楚的项目介绍与专业体验建立第一轮信任。"],
["升单锁客", "围绕个人情况规划周期,让服务价值更容易被理解。"],
["活动经营", "通过标准活动与现场陪跑,提升团队执行与转化能力。"],
["区域发展", "在门店模型稳定后,逐步探索更广的区域合作空间。"],
].map((item, index) => (
<article class="join-step" data-reveal><span>0{index + 1}</span><h3>{item[0]}</h3><p>{item[1]}</p></article>
))}
</div>
</div>
</section>
<section class="section-pad section-tint" id="lightweight-start">
<div class="container story-grid">
<div class="story-copy" data-reveal>
<div class="eyebrow"><span></span>LIGHTWEIGHT START</div>
<h2>少而精的产品体系,更容易落地</h2>
<p>核心产品体系精简,减少复杂库存与学习负担;配合标准流程和分层培训,让新手创业或老店嫁接都能更清楚地开始。</p>
<div class="story-points">
<div class="story-point"><span>1</span><div><b>产品结构清晰</b><small>围绕核心项目组合,不以大量铺货作为合作前提。</small></div></div>
<div class="story-point"><span>2</span><div><b>操作标准明确</b><small>技术老师团队提供项目培训与日常答疑。</small></div></div>
<div class="story-point"><span>3</span><div><b>经营持续陪跑</b><small>销售、客服与商学院协同支持门店成长。</small></div></div>
</div>
</div>
<div class="story-visual" data-reveal>
<div class="story-visual__quote"><p>“不是招完即走,而是一起把门店做好。”</p><small>DEEP DELIVERY</small></div>
</div>
</div>
<div class="container"><p class="contact-note">合作提醒:具体投入、费用、合同条款和经营结果会因城市、门店与执行情况而异。请在签约前完整了解并独立评估经营风险,官网不作收益保证。</p></div>
</section>
<CTA title="想了解你所在城市的合作机会?" text="邮件告诉我们所在城市、现有门店情况与关注问题,我们会安排对应人员进一步沟通。" />
</main>
<Footer />
</Base>
import type { APIRoute } from "astro";
import { site } from "../data/site";
export const GET: APIRoute = ({ site: siteUrl }) => {
const base = (siteUrl?.href || "https://www.sumeiqiao.com/").replace(/\/$/, "");
const services = site.services.map((item) => `- ${item.name}${item.intro}`).join("\n");
const advantages = site.about.advantages.map((item) => `- ${item.title}${item.desc}`).join("\n");
const faq = site.faq.map((item) => `- 问:${item.q}\n 答:${item.a}`).join("\n");
const text = `# ${site.brand.name}
> ${site.brand.tagline}${site.home.subhead}
## 官方主体
- 品牌:${site.brand.name}${site.brand.englishName}
- 运营主体:${site.brand.legalName}
- 成立时间:${site.about.founded}
- 所属行业:${site.brand.industry}
- 地址:${site.contact.address}
- 官方邮箱:${site.contact.email}
- 官方网站:${base}/
## 核心服务
${services}
## 品牌差异化
${advantages}
## 关键数据
${site.home.stats.map((item) => `- ${item.label}${item.value}`).join("\n")}
## 常见问题
${faq}
## 重要说明
- 塑美俏提供日常健康管理相关服务,不替代医疗诊断与治疗。
- 个人体验与经营结果均可能因实际情况而异,官网不作绝对效果或收益承诺。
## 主要页面
- 体龄管理:${base}/services/
- 关于塑美俏:${base}/about/
- 加盟支持:${base}/join/
- 常见问题:${base}/faq/
- 联系合作:${base}/contact/
`;
return new Response(text, { headers: { "Content-Type": "text/plain; charset=utf-8" } });
};
---
import Base from "../../layouts/Base.astro";
import Header from "../../components/Header.astro";
import Footer from "../../components/Footer.astro";
import SectionHeading from "../../components/SectionHeading.astro";
import CTA from "../../components/CTA.astro";
import { site } from "../../data/site";
const title = `体龄管理服务|${site.brand.name}`;
const description = "了解塑美俏体龄管理减重、排湿排酸、体型塑形与亚健康调理四类服务,以及评估、方案、调理与跟进流程。";
const pageUrl = new URL("/services/", Astro.site).href;
const jsonLd = [
{
"@context": "https://schema.org",
"@type": "ItemList",
name: "塑美俏体龄管理服务",
itemListElement: site.services.map((service, index) => ({
"@type": "ListItem",
position: index + 1,
item: {
"@type": "Service",
name: service.name,
description: service.intro,
provider: { "@id": new URL("/#organization", Astro.site).href },
url: `${pageUrl}#${service.slug}`,
areaServed: "CN",
},
})),
},
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
itemListElement: [
{ "@type": "ListItem", position: 1, name: "首页", item: Astro.site?.href },
{ "@type": "ListItem", position: 2, name: "体龄管理", item: pageUrl },
],
},
];
---
<Base title={title} description={description} jsonLd={jsonLd}>
<Header />
<main id="main-content">
<section class="page-hero" data-word="SERVICES">
<div class="container page-hero__inner" data-reveal>
<div class="breadcrumb"><a href="/">首页</a> / 体龄管理</div>
<div class="eyebrow"><span></span>BODY AGE SERVICES</div>
<h1>从体质出发,<br />让管理更完整</h1>
<p>{description}</p>
</div>
</section>
<section class="section-pad">
<div class="container detail-grid">
{site.services.map((service) => (
<article class="detail-card" id={service.slug} data-reveal>
<div class="detail-card__number">{service.index}</div>
<div>
<h2>{service.name}</h2>
<p>{service.intro}</p>
<div class="detail-facts">
<div class="detail-fact"><span>适合人群</span><b>{service.audience}</b></div>
<div class="detail-fact"><span>核心方向</span><b>{service.value}</b></div>
</div>
<p class="detail-note">{service.note}</p>
</div>
</article>
))}
</div>
</section>
<section class="section-pad section-white">
<div class="container">
<SectionHeading
eyebrow="THE PROCESS"
title="清楚的四步服务路径"
intro="先了解,再方案;先说清楚,再开始。每一步都围绕个人实际状态推进。"
align="center"
/>
<div class="process-grid">
<article class="process-step" data-reveal><h3>了解体质</h3><p>沟通日常状态、困扰与目标,识别需要重点关注的方向。</p></article>
<article class="process-step" data-reveal><h3>制定方案</h3><p>结合个人基础与时间安排,明确调理项目、周期和注意事项。</p></article>
<article class="process-step" data-reveal><h3>经络调理</h3><p>按门店标准流程进行非侵入式调理,记录每个阶段的身体感受。</p></article>
<article class="process-step" data-reveal><h3>周期跟进</h3><p>根据变化与反馈调整节奏,帮助形成更可持续的管理习惯。</p></article>
</div>
</div>
</section>
<CTA title="哪一种管理方向更适合你?" text="联系附近门店,说明你的目标与身体情况,获得更具体的项目介绍。" />
</main>
<Footer />
</Base>
This diff is collapsed.
{
"extends": "astro/tsconfigs/strict"
}
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment