upgrade: adopt V8.31.1 (theme 1.3/1.4 redesigns, editor deep-canvas, guided launch, component library)

Overlay 190 upstream items (V8.22→8.31) preserving trade-pro theme,
registry tests, and design docs. Re-applied full patch set on identical
anchors (discovery/env_for/blocks.css/type-mapping/locale-override/
theme_color/frontend entries/test_theme_pro_v3 mods) plus compose pins.

Verified: theme suites 35/35; dual-baseline full run 415 passed vs
pristine 386+29 ours, FAILED-set diff EMPTY (same 10 Windows env fails).
Live: container 8.31.1-dev.1 healthy, hesupipe 192 entries intact,
trade-pro build 203 pages 0 errors.

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
浅念
2026-10-26 09:43:17 +08:00
parent a63548c645
commit 8884e100f9
647 changed files with 20853 additions and 271 deletions
@@ -0,0 +1,4 @@
<div class="pro-v30-page pro-v30-about pro-v30-about-automotive"><section class="pro-v30-about-opening"><div class="pro-wrap"><span class="pro-eyebrow">OUR COMPANY / APPROACH</span><div class="pro-v30-about-heading"><h1>{{page.title}}</h1><p>{{page.summary or site.tagline or '了解我们的业务与服务方式'}}</p></div></div></section>
<section class="pro-section pro-v30-about-story"><div class="pro-wrap pro-v30-about-grid"><div class="pro-v30-about-media">{% if page.cover %}<img src="{{safe_image(page.cover)}}" alt="{{page.title}}" loading="lazy">{% else %}<div class="pro-v30-media-placeholder" aria-hidden="true"><span>OUR / STORY</span></div>{% endif %}</div><div class="pro-v30-about-copy"><span class="pro-eyebrow">ABOUT / 关于我们</span><h2>值得深入了解的汽车合作伙伴</h2>{{body_copy(content,page)}}<a class="pro-v30-text-action" href="/contact/">联系与合作 ↗</a></div></div></section>
{% if features %}<section class="pro-section pro-v30-about-services"><div class="pro-wrap">{{section_title('WHAT WE DO','相关服务','/services/')}}{{grid(features,'service')}}</div></section>{% endif %}
{% if cases %}<section class="pro-section pro-v30-about-cases"><div class="pro-wrap">{{section_title('SELECTED WORK','相关项目','/cases/')}}{{grid(cases,'case')}}</div></section>{% endif %}</div>
@@ -0,0 +1,2 @@
<div class="pro-v30-page pro-v30-article pro-v30-article-automotive"><section class="pro-article-hero pro-v30-reading-head"><div class="pro-wrap"><nav class="pro-v30-crumb" aria-label="面包屑导航"><a href="/">首页</a><span aria-hidden="true">/</span><a href="/news/">行业资讯</a></nav><div class="pro-v30-reading-title"><span class="pro-eyebrow">IDEAS / JOURNAL</span><h1>{{page.title}}</h1>{% if page.summary %}<p>{{page.summary}}</p>{% endif %}{% if fields.get('publish_date') %}<time datetime="{{fields.get('publish_date')}}">{{fields.get('publish_date')}}</time>{% endif %}</div></div></section>
<div class="pro-wrap pro-v30-reading-layout"><aside class="pro-v30-reading-aside"><span class="pro-eyebrow">READ / EXPLORE</span><a href="/news/">← 返回资讯</a><span class="pro-v30-reading-rule" aria-hidden="true"></span><a href="/contact/">联系沟通 ↗</a></aside><article id="article-body" class="pro-v30-reading-content">{% if page.cover %}<figure><img src="{{safe_image(page.cover)}}" alt="{{page.title}}" loading="eager"></figure>{% endif %}{{body_copy(content,page)}}<a class="pro-v30-subtle-link" href="/news/">← 返回资讯</a></article></div></div>
@@ -0,0 +1 @@
<section class="pro-inner-hero pro-brand-hero"><div class="pro-wrap pro-brand-hero-grid"><div><span class="pro-eyebrow">BRAND PROFILE / PARTNERS</span><h1>{{page.title}}</h1><p>{{page.summary}}</p></div><div class="pro-brand-media">{{cover(page,'brand')}}</div></div></section><section class="pro-section"><div class="pro-wrap">{{body_copy(content,page)}}{% if related %}{{section_title('PRODUCT LINE','相关产品','/products/')}}{{grid(related,'product')}}{% endif %}</div></section>
@@ -0,0 +1 @@
<section class="pro-inner-hero"><div class="pro-wrap"><span class="pro-eyebrow">SELECTED WORK / PROJECT</span><h1>{{page.title}}</h1><p>{{page.summary}}</p></div></section><section class="pro-section"><div class="pro-wrap pro-case-detail">{% if page.cover %}<img src="{{safe_image(page.cover)}}" alt="{{page.title}}">{% endif %}<div class="pro-case-meta">{% if fields.get('location') %}<span>项目地点<br><strong>{{fields.get('location')}}</strong></span>{% endif %}{% if fields.get('industry') %}<span>所属行业<br><strong>{{fields.get('industry')}}</strong></span>{% endif %}</div>{{body_copy(content,page)}}<a class="pro-text-link" href="/cases/">浏览更多案例 →</a></div></section>
@@ -0,0 +1,2 @@
<section class="pro-inner-hero pro-listing-hero"><div class="pro-wrap"><span class="pro-eyebrow">DISCOVER / {{'CATEGORY' if kind=='category' else 'COLLECTION'}}</span><h1>{{page.title}}</h1><p>{{page.summary or '查看此栏目的全部已发布内容。'}}</p><div class="pro-breadcrumb"><a href="/">首页</a><span>/</span><strong>{{page.title}}</strong></div></div></section>
<section class="pro-section pro-list-section"><div class="pro-wrap">{{ filters() }}<div class="pro-filter-scope">{{grid(listing,'catalog')}}</div>{% if pagination and pagination.pages>1 %}<nav class="pro-pages-nav" aria-label="商品列表分页">{% if pagination.previous %}<a href="{{pagination.previous}}" rel="prev">← 上一页</a>{% endif %}<span>第 {{pagination.page}} / {{pagination.pages}} 页</span>{% if pagination.next %}<a href="{{pagination.next}}" rel="next">下一页 →</a>{% endif %}</nav>{% endif %}</div></section>
@@ -0,0 +1,6 @@
<div class="pro-v30-page pro-v30-contact pro-v30-contact-automotive"><section class="pro-v30-contact-header"><div class="pro-wrap"><span class="pro-eyebrow">CONNECT / CONTACT</span><h1>{{page.title}}</h1><p>{{page.summary or '介绍您的车型与采购需求,我们将根据实际业务信息与您联系。'}}</p></div></section>
<section class="pro-section pro-v30-contact-content"><div class="pro-wrap pro-v30-contact-layout"><div class="pro-v30-contact-info"><span class="pro-eyebrow">LET'S START A CONVERSATION</span><h2>咨询与合作</h2>{{body_copy(content,page)}}
{% if footer_email %}<div class="pro-v30-contact-channel"><span>电子邮箱</span><a href="mailto:{{footer_email}}">{{footer_email}} ↗</a></div>{% endif %}
{% if not footer_email and not form_endpoint %}<p class="pro-muted">联系渠道正在更新,请稍后访问本页面。</p>{% endif %}
</div><div class="pro-v30-contact-form-wrap">{% if form_endpoint %}<span class="pro-eyebrow">SEND AN INQUIRY</span><h3>提交咨询</h3><form class="pro-inquiry" action="{{form_endpoint}}" method="POST"><label>姓名 <input name="name" autocomplete="name" required maxlength="100"></label><label>邮箱 <input name="email" type="email" autocomplete="email" required maxlength="180"></label><label>咨询内容 <textarea name="message" required minlength="6" maxlength="5000"></textarea></label><input name="website" tabindex="-1" autocomplete="off" class="pro-honeypot" aria-hidden="true"><button type="submit" class="pro-button">发送咨询 ↗</button><p>提交信息将发送至配置的外部表单服务,请了解其隐私政策。</p></form>
{% else %}<div class="pro-v30-contact-note"><span class="pro-eyebrow">HOW TO REACH US</span><p>您可以通过本页提供的联系渠道咨询产品、项目或合作事项。</p><span class="pro-v30-decorative-number" aria-hidden="true">↗</span></div>{% endif %}</div></div></section></div>
@@ -0,0 +1,2 @@
<section class="pro-inner-hero pro-info-hero"><div class="pro-wrap"><span class="pro-eyebrow">{{ 'GET IN TOUCH' if kind=='contact' else ('OUR STORY' if kind=='about' else 'EXPLORE') }}</span><h1>{{page.title}}</h1><p>{{page.summary}}</p></div></section>
<section class="pro-section pro-info-section"><div class="pro-wrap pro-info-grid"><div><span class="pro-eyebrow">{{'CONNECT / CONTACT' if kind=='contact' else 'ABOUT / DISCOVER'}}</span><h2>{{'让我们开始沟通。' if kind=='contact' else page.title}}</h2>{% if kind=='contact' and footer_email %}<a class="pro-contact-email" href="mailto:{{footer_email}}">{{footer_email}} ↗</a>{% elif kind=='contact' %}<p class="pro-muted">请先在网站管理后台填写正式联系邮箱。</p>{% endif %}</div><div class="pro-info-copy">{{body_copy(content,page)}}{% if page.cover %}<img class="pro-info-photo" src="{{safe_image(page.cover)}}" alt="{{page.title}}">{% endif %}</div></div></section>
@@ -0,0 +1,6 @@
<section class="pro-home-hero pro-auto-hero"><div class="pro-wrap pro-home-grid"><div class="pro-hero-copy"><span class="pro-eyebrow">01 / THE WORLD IN MOTION</span><h1>{{page.title if page.title not in (site.name,'首页','Home') else site.name}}<em> MOVE BEYOND.</em></h1><p>{{page.summary or site.tagline or '探索企业产品与解决方案。'}}</p><div class="pro-hero-actions"><a class="pro-button" href="/products/">探索车型 <span>↗</span></a><a class="pro-link-light" href="/about/">了解企业 →</a></div></div><div class="pro-hero-art">{% if page.cover %}<img src="{{safe_image(page.cover)}}" alt="{{page.title}}">{% else %}<div class="pro-abstract-car"><span>THE NEXT CHAPTER</span><div class="auto-wheel a"></div><div class="auto-wheel b"></div></div>{% endif %}<b>DRIVE / 01</b></div></div><div class="pro-wrap pro-hero-bottom"><span>DESIGN / TRUST / DELIVERY</span><span>SCROLL TO DISCOVER ↓</span></div></section>
{% if showcase %}<section class="pro-section pro-featured"><div class="pro-wrap">{{section_title('02 / COLLECTION','探索精选车型','/products/')}}{{grid(showcase,'vehicle')}}</div></section>{% endif %}
<section class="pro-section pro-statement"><div class="pro-wrap pro-statement-layout"><span class="pro-eyebrow">THE COMPANY</span><div><h2>把产品带向更广阔的市场。</h2><p>{{site.tagline or '在这里展示企业独特的产品与服务能力。'}}</p><a class="pro-text-link" href="/about/">认识我们 ↗</a></div></div></section>
{% if brands %}<section class="pro-section pro-brand-section"><div class="pro-wrap">{{section_title('03 / BRANDS','品牌与合作伙伴','/brands/')}}<div class="pro-brand-pills">{% for b in brands[:12] %}<a href="{{b.url}}">{{b.name}} ↗</a>{% endfor %}</div></div></section>{% endif %}
{% if stories %}<section class="pro-section pro-v30-home-editorial"><div class="pro-wrap">{{section_title('FIELD NOTES / NEWS','行业资讯','/news/')}}{{grid(stories,'news')}}</div></section>{% endif %}
@@ -0,0 +1,6 @@
<div class="pro-v30-page pro-v30-listing pro-v30-vehicle-index">
<section class="pro-v30-page-intro"><div class="pro-wrap pro-v30-intro-layout"><div class="pro-v30-intro-main"><span class="pro-eyebrow">VEHICLE COLLECTION / INDEX</span><h1>{{page.title}}</h1><p>{{page.summary or '按照品牌或分类找到合适的车型'}}</p></div><div class="pro-v30-intro-aside"><span class="pro-v30-overline">BROWSE / EXPLORE</span><span class="pro-v30-index-number">{{'%02d'|format(listing|length)}}</span><span class="pro-v30-caption">本页展示内容</span></div></div></section>
<section class="pro-section pro-v30-index-body"><div class="pro-wrap"><div class="pro-v30-index-toolbar"><div class="pro-v30-section-title"><span class="pro-eyebrow">CONTENTS / FIND YOUR FIT</span><h2>车型与出行</h2></div><a class="pro-v30-subtle-link" href="/contact/">需要协助?联系沟通 ↗</a></div>
{{filters()}}<div class="pro-filter-scope pro-v30-results" aria-live="polite">{{grid(listing,'catalog')}}</div>
{% if pagination and pagination.pages>1 %}<nav class="pro-pages-nav" aria-label="列表分页">{% if pagination.previous %}<a href="{{pagination.previous}}" rel="prev">← 上一页</a>{% endif %}<span>第 {{pagination.page}} / {{pagination.pages}} 页</span>{% if pagination.next %}<a href="{{pagination.next}}" rel="next">下一页 →</a>{% endif %}</nav>{% endif %}
</div></section></div>
@@ -0,0 +1 @@
<section class="pro-404 pro-wrap"><span>ERROR / 404</span><h1>404</h1><p>抱歉,你访问的页面不存在,或者已被移动。</p><a class="pro-button" href="/">返回首页 ↗</a></section>
@@ -0,0 +1,4 @@
<div class="pro-product-layout pro-v30-page pro-v30-product pro-v30-product-automotive"><section class="pro-v30-product-top"><div class="pro-wrap"><nav class="pro-v30-crumb" aria-label="面包屑导航"><a href="/">首页</a><span aria-hidden="true">/</span><a href="/products/">车型与出行</a><span aria-hidden="true">/</span><span aria-current="page">{{page.title}}</span></nav>
<div class="pro-v30-product-head"><div class="pro-v30-product-intro"><span class="pro-eyebrow">VEHICLE COLLECTION / DETAILS</span><h1>{{page.title}}</h1><p>{{page.summary or ''}}</p><div class="pro-v30-tags">{% if fields.get('brand') %}<span>{{fields.get('brand')}}</span>{% endif %}{% if fields.get('category') %}<span>{{fields.get('category')}}</span>{% endif %}</div><a class="pro-button pro-v30-action" href="/contact/">咨询相关信息 ↗</a></div>
<div class="pro-v30-product-visual"><div class="pro-product-media pro-v30-main-media">{{cover(page,'product')}}</div>{% if gallery|length > 1 %}<div class="pro-gallery-thumbs" aria-label="车型实拍">{% for photo in gallery %}<button type="button" data-gallery-image="{{photo}}" aria-label="查看第{{loop.index}}张图片"><img src="{{photo}}" alt="{{page.title}} · 图片{{loop.index}}" loading="lazy"></button>{% endfor %}</div>{% endif %}</div></div></div></section>
<section class="pro-section pro-v30-product-information"><div class="pro-wrap pro-v30-product-details"><div class="pro-v30-details-main"><span class="pro-eyebrow">OVERVIEW / 车型概览</span><h2>车型概览</h2>{{body_copy(content,page)}}</div><aside class="pro-v30-details-side"><span class="pro-eyebrow">TECHNICAL / FACTS</span><h2>车辆参数</h2><div class="pro-specs">{% for row in specs %}<div><span>{{row.label}}</span><strong>{{row.value}}</strong></div>{% else %}<p class="pro-muted">更多资料请通过联系页面咨询。</p>{% endfor %}</div></aside></div></section></div>
@@ -0,0 +1,2 @@
<section class="pro-inner-hero"><div class="pro-wrap"><span class="pro-eyebrow">SEARCH / CONTENT</span><h1>站内搜索</h1><p>搜索本网站的产品、品牌、新闻和案例。</p></div></section>
<main id="main-content" class="sf-search-page pro-wrap"><label for="sf-search">输入关键词</label><input type="search" id="sf-search" placeholder="搜索产品、品牌、新闻、案例……" autofocus><div id="sf-search-count" aria-live="polite"></div><div id="sf-search-results"></div></main>
@@ -0,0 +1,2 @@
<section class="pro-inner-hero pro-info-hero"><div class="pro-wrap"><span class="pro-eyebrow">{{ 'GET IN TOUCH' if kind=='contact' else ('OUR STORY' if kind=='about' else 'EXPLORE') }}</span><h1>{{page.title}}</h1><p>{{page.summary}}</p></div></section>
<section class="pro-section pro-info-section"><div class="pro-wrap pro-info-grid"><div><span class="pro-eyebrow">{{'CONNECT / CONTACT' if kind=='contact' else 'ABOUT / DISCOVER'}}</span><h2>{{'让我们开始沟通。' if kind=='contact' else page.title}}</h2>{% if kind=='contact' and footer_email %}<a class="pro-contact-email" href="mailto:{{footer_email}}">{{footer_email}} ↗</a>{% elif kind=='contact' %}<p class="pro-muted">请先在网站管理后台填写正式联系邮箱。</p>{% endif %}</div><div class="pro-info-copy">{{body_copy(content,page)}}{% if page.cover %}<img class="pro-info-photo" src="{{safe_image(page.cover)}}" alt="{{page.title}}">{% endif %}</div></div></section>
@@ -0,0 +1,2 @@
<section class="pro-inner-hero pro-info-hero"><div class="pro-wrap"><span class="pro-eyebrow">{{ 'GET IN TOUCH' if kind=='contact' else ('OUR STORY' if kind=='about' else 'EXPLORE') }}</span><h1>{{page.title}}</h1><p>{{page.summary}}</p></div></section>
<section class="pro-section pro-info-section"><div class="pro-wrap pro-info-grid"><div><span class="pro-eyebrow">{{'CONNECT / CONTACT' if kind=='contact' else 'ABOUT / DISCOVER'}}</span><h2>{{'让我们开始沟通。' if kind=='contact' else page.title}}</h2>{% if kind=='contact' and footer_email %}<a class="pro-contact-email" href="mailto:{{footer_email}}">{{footer_email}} ↗</a>{% elif kind=='contact' %}<p class="pro-muted">请先在网站管理后台填写正式联系邮箱。</p>{% endif %}</div><div class="pro-info-copy">{{body_copy(content,page)}}{% if page.cover %}<img class="pro-info-photo" src="{{safe_image(page.cover)}}" alt="{{page.title}}">{% endif %}</div></div></section>