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
+6 -7
View File
@@ -1,7 +1,6 @@
<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>
{% if form_endpoint %}
<section class="pro-section"><div class="pro-wrap pro-inquiry-wrap"><div><span class="pro-eyebrow">CONTACT FORM</span><h2>提交业务咨询</h2><p>提交内容将直接发送到网站管理员配置的外部表单服务。</p></div>
<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></div></section>
{% endif %}
<div class="pro-v30-page pro-v30-contact pro-v30-contact-minimal"><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>