8.9 KiB
8.9 KiB
S5 验收日志 — 静态 v2 同步最终验收
- 日期:2026-08-19
- 验收人:Claude (S5 final acceptance)
- 环境:WP 7.0.4 测试站
http://127.0.0.1:8090(php -S + router.php);静态对照站http://127.0.0.1:8080 - 代码基线:静态 v2 = a68ff43;主题 S1-S4 = e7a8963 / 71ae42d / beef315 / ea49be1
- 结果:24/24 通过(其中 1 项修复后通过);1 个小修复已 commit;无结构性阻塞
- 截图证据:
.playwright-mcp/s5-*.png
A. 逐页结构对照(curl WP 渲染 vs 静态 v2 HTML)
| # | 项 | 结果 | 证据 |
|---|---|---|---|
| 1 | / hero / bento / presence / network / partner / news |
通过 | hero-title 渐变(linear-gradient + background-clip:text,WP=静态计算样式一致);banner-kicker 0 处、bento 4 cell-media、banner-title 同静态(含 "Businessesk" 拼写保真);presence section-lead 新文案一致;ph-service1..4 各 1;partner 特性 4 li 无 strong;news 4 卡、news-meta 0 处 |
| 1f | / partner 轮播 slide |
修复后通过 | 静态 v2 slide 为空 div;WP 初测多出 3 个 ph-label(Warehouse/Logistics/Export Vehicles)。修复:seed/markup.php 3 个 partner-slide label 置空 + block.json label 默认 "",重播种后 class="slide is-active ph ph-warehouse" 等与静态一致(0 ph-label) |
| 2 | /building-materials/ |
通过 | bp-caps(4 cap:25+ Years / 100+ Countries / 1,000+ Partners / 116 Lines,img 图标 4);5 张产品 img 卡(HDPE/PVC/…/Welding,静态即 5 卡);stat-num/stats-grid 0 处;无 scroll;bp-viewmore div 两端一致 |
| 3 | /auto-export/ |
通过 | ae-tag/ae-marker/ae-legend 0 处;ae-models 双段 body(同一行两个 <p class="ae-models__body">,文案一致);bp-viewmore WP 为 div、静态为 section(仅标签名差异,类名/位置一致,记录不改) |
| 4 | /after-sales/ |
通过 | 新 hero bg(uploads banner-8.jpg 与 image/After-sales/banner.jpg md5 相同 9913e4…);4 img 图标 cap(Reliable-Car-Inventory.png 等);6 个 as-svc 均 <img Service1..6.png>;3 个 as-loc(media+title) |
| 5 | /global-logistics/ |
通过 | 新 hero bg(banner-9.jpg 与静态 banner.jpg md5 相同 47476a…);4 cap 双 label("1,250+ Completed Delivery" 等,文案与静态逐字一致);6 个 Service img |
| 6 | /global-presence/ |
通过 | gp-hint 0 处(静态仅存注释行) |
| 7 | /about-us/ |
通过 | au-zoom-mask 1 处;au-gps 4 img 卡(Global1-4.jpg)+ 宽图 about.jpg;4 data-card;feature-copy(Core Strengths + 4 条 Integration Strength / Operational Know-how / One-Stop Export / Digital Management,逐字一致) |
| 8 | /development-history/ |
通过 | 无变化确认:dh-* 类计数两端全同(2 rail / 5 stage / 3 node / fold / route / plus) |
| 9 | /contact/ |
通过 | hero bg = contact-us-bnner.jpg(新图,200);ct-hero__sub 两端均无;ct-map 三层(frame>box / veil / info>list):dl 列表 3 项(TEL/WhatsApp +8613526635577、Send Email、地址行),markup 逐行一致 |
| 10 | /news/ |
通过 | 新 banner(news/news-banner.jpg,主题目录,200);sub/scroll/arrow 0 处;默认 4 行 nw-row;5 个 tab(All + 4 分类);注:静态 nw-pagination 为 JS 客户端分页(5/页)占位,WP 服务端渲染 4 行无需分页,设计性差异非缺陷 |
| 11 | /news/<slug>/ |
通过 | nd-back/meta(仅 cat)/title/article/body/nav 全结构;article p+figure 交替(p,figure,p,figure,p);nd-meta__cat=Company News(date 注释删除一致);首篇仅 prev 单侧 = 静态 JS 行为 |
| 12 | Header mega(悬停实测) | 通过 | Business:opacity 0→1 可见,4 卡顺序 Auto Export / HESU PIPE / Global Logistics / After-sales,无 mega-desc;About:mega-left 空(0 子节点)+ 2 卡(Company Overview→about-us、Company History→development-history)。截图 s5-mega-business/about.png |
| 13 | Footer 4 img 社交 | 通过 | <img> × TikTok/Facebook/Instagram/WhatsApp(含 Instagram),均 200 |
B. 交互实测(Playwright,1440×900 桌面 + 390×844 移动)
| # | 项 | 结果 | 证据 |
|---|---|---|---|
| 14 | 首页三交互 | 通过 | stats:重载后快速采样 0→3,448→6,320→8,672→10,344→11,860→15,000(数字滚动+千分位);network 拖拽:右拖 -1761.5→-1511.5→snap -1347.67、左拖反向(infinite marquee + snap);partner 自动轮播:is-active 按 exportcars→warehouse→logistics2 每 ~4s 轮换,dots 3 个 |
| 15 | GP fullpage + AU pinned | 通过 | GP:滚轮步进 scrollY 0→900→1800 精确整屏吸附;nav 高亮跟随(Middle East@900、Africa@1800),与静态逐项一致。AU zoom-mask(重点):沿 #au-3 所在 .au-pin(300vh)逐 150px 采样,opacity 0→0.133→0.267→0.4→0.533→0.667→0.8,zoom scale 1→2.2、reveal 0→1,与静态数值级一致 |
| 16 | 时间线 | 通过(注) | v2 静态 DH 已改为折叠双行时间线(无横拖实现,js 仅 reveal);WP 与静态结构一致(2 rail/5 stage/3 node);data-reveal 4/4 滚动触发 .in。清单"横拖"系 v1 行为,v2 已移除 |
| 17 | 新闻 Tab + 空分类 | 通过 | All=4 行;Company News=4 行(静态 news.js 4 篇均为 Company News,一致);Delivery Cases / Exhibition Info / Global Network = 0 行 + nw-empty:"Coming soon — no X yet.";tab is-active 正确切换 |
| 18 | 详情页 prev/next | 通过 | 中间篇(Dubai Branch)prev=West Africa + next=Canton Fair 双侧;点击跳转 URL 正确、可往返;news 为独立 CPT,默认 Hello world! 文章不会串入导航 |
| 19 | CF7 提交态 | 通过 | 空提交:form.invalid + 6 必填项 .wpcf7-not-valid + aria-invalid=true(phone 非必填不含)+ 红框提示 "One or more fields have an error…";正常填写提交:无 invalid,进入 failed 态(测试环境无 SMTP,"There was an error trying to send your message…",红框样式正常显示——状态机/样式通路验证 OK,实机 SMTP 下为 sent 绿态) |
| 20 | 移动端抽屉 (<860px) | 通过 | 390px:toggle 可见,点击 nav.open + aria-expanded=true + body 滚动锁定;Business 父级点击 preventDefault 展开 collapsible mega(不跳转);backdrop 点击关闭(class 复位/aria=false/滚动解锁)。注:抽屉打开后 hamburger 被右侧抽屉覆盖(z49),关闭途径为 backdrop/链接点击——与静态 v2 行为完全一致(设计如此)。截图 s5-mobile-*.png |
C. 代码项
| # | 项 | 结果 | 证据 |
|---|---|---|---|
| 21 | php -l 递归 | 通过 | 55 个 PHP 文件全部 "No syntax errors" |
| 22 | 10 路由 + 详情页控制台 | 通过 | 11 路由逐页 console error + script/css requestfailed 监听:全部 CLEAN(含滚动触发 reveal 后复检) |
| 23 | 图片抽查 | 通过 | 11 页面全部 img src 去重 102 个 URL 全部 200(8 个 301 为 http→https 归一化跳转,跟随均为 200);点名新图:After-sales/banner.jpg(banner-8 md5 同)、global-logistics/banner.jpg(banner-9 md5 同)、Service1-6.png、Global1-4.jpg、Product1-5.png、contact-us-bnner.jpg、news-banner.jpg、Instagram.png 等 |
| 24 | 编辑器抽查 | 通过 | 建材页(post 274):canvas 17 区块,hesu/page-shell→hero/business-intro/caps(4 cap)/large-image/product-cards(5)/view-more 全可见,caps 4 label + 4 img 图标;GL 页(277)cap 双 label RichText(每 cap 2 个可编辑 span:"1,250+"+"Completed Delivery"…);About 页(279)au-gps Inspector 新分组:4 Cards (images) / Wide Image / Data Cards (carousel, 4) / Feature (Core Strengths),面板可展开控件正常(Cards img alt、Placeholder class c1-c4)。截图 s5-editor-*.png |
修复清单
| # | 文件 | 内容 | commit |
|---|---|---|---|
| 1 | hesu-theme/hesu/seed/markup.php |
partner 3 个 partner-slide label 置空(v2 slide 无 ph-label) |
本轮 |
| 2 | hesu-theme/hesu/blocks/partner-slide/block.json |
label 默认 "Warehouse"→""(编辑器新插入 slide 亦不输出 ph-label) |
本轮 |
| 3 | 测试站 DB | wp eval "hesu_seed_cleanup(); hesu_run_seed();" 重播种,复核 ph-label=0、slide class 与静态一致 |
— |
已知差异(记录在案,不修改)
- auto-export
bp-viewmore:静态<section>vs WP<div>(view-more 块固定 div 输出;类名/位置/内容一致,无视觉差异)。 - news 归档:静态 nw-pagination 为客户端 JS 分页(5/页);WP 服务端按分类渲染,4 篇无分页需求。
- 移动端抽屉打开后 hamburger 被覆盖,靠 backdrop/链接关闭——静态 v2 同款行为。
- 测试站残留默认文章 "Hello world!"(post_type=post,与 news CPT 隔离,不出现在任何导航/列表;如需洁净可删除,非同步缺陷)。
- WP 登录后访问
/wp-admin/(目录 URL)被 router.php 落到 index.php 渲染首页——直访/wp-admin/index.php或具体post.php等文件路径正常;系 .test-env router 的已知边界,与主题无关。