fix(h5): center score stack, lock profile scroll and gate turn guidance

This commit is contained in:
xsl
2026-10-12 23:48:11 +08:00
parent 2a49ebdab2
commit 6f83f58a09
17 changed files with 1396 additions and 969 deletions
@@ -1,5 +1,7 @@
# 报告布局与跟手交互调整
> 综合评分布局已按后续要求调整为标题和分数整体在圈内居中;年龄标签与数字间距为 25px。最新实现与验证见《评分圈内居中与正脸语音修复-2026-10-12.md》。本文件其余跟手交互、JPG 优化与历史发布记录保留。
## 本次范围
1. 综合评分:标题移到黄色圆环外正上方,与「生物可视年龄」同高;分数数字本身水平、垂直居中,「分」独立放在数字右侧,不把分数挤偏。
@@ -0,0 +1,38 @@
# 评分圈内居中、基础信息页固定与正脸语音修复
## 范围
1. 报告:综合评分标题和分数在圆环内上下排列,作为一个整体垂直居中,标题与数字分别水平居中。数字右侧保留「分」。年龄标题到年龄数字的边界距离固定为 25 CSS px,不随屏宽比例增大;原显示文案不更名。
2. 基础信息:页面禁止纵向滚动、滚动链及下拉回弹,肤质轮播也不再把纵向手势交给页面。正常高度保留原间距;短视口只压缩纵向留白及肤质插画的可用高度,控件、说明、提交按钮完整可见,不以截掉下半页实现禁滚。出生年月、性别、省市的独立滚轮弹层仍支持纵向滑动。触摸防回弹监听只挂在基础信息页,不拦截弹层或报告页。
3. 语音:根因在 `HeadPose.check` 的正脸分支——正脸角度偏向一侧时,用「请向左/右转头」提示回正,和第二步侧脸指令混淆。现在正脸角度不合格统一提示「请正对屏幕」,不播侧脸转头指令;`setHint` 还按当前步骤和正脸照片是否已保存做防护。下一步语音必须有上一张已校验保存的照片,既有单通道队列保证「拍摄完成」先播完、再播侧脸引导。侧脸阶段的方向提示不变。
不更改拍照角度/距离/光线/稳定时长阈值,不改检测算法、报告保存、推荐、微信配置或数据。现有白色人头扫描页和三组报告跟手交互不变。未追踪的 `new_feedback/` 不纳入提交。
## 验证
本地 8080 服务运行后:
```bash
H5_ARTIFACT_DIR=/tmp/juzi-profile-voice-fix-20261012 node h5/test/report-touch-layout.mjs
H5_PROFILE_FONTS=1 H5_ARTIFACT_DIR=/tmp/juzi-profile-voice-fix-20261012 node h5/test/profile-interaction.mjs
node h5/test/capture-quality-browser.mjs
node h5/test/customer-feedback-second.js
node h5/test/customer-feedback-fourth.js
node h5/test/customer-feedback-fourth.mjs
node h5/test/customer-feedback-third.mjs
node h5/test/scan-placeholder.mjs
node h5/test/login-performance.mjs
node h5/test/report-persistence.mjs
node h5/test/recommendation.js
node h5/test/regression.js
```
- 五种屏宽下检查 0/75/82/100/缺失分数,标题加分数整体居中、均在圆内,年龄间距精确为 25px,报告的纵向滚动与三组横滑保留。
- 基础信息在 320×568、375×667、375×726、390×664、414×896、480×726、375×440 下不滚动且控件完整;真实触摸纵拖及鼠标滚轮不移动页面,之后横滑仍正常。用真实纵向触摸确认出生年月滚轮可改变选择,验证取消不保存以及账号隔离/重载记忆。
- 用真实本地人脸模型和已有照片组成合成相机视频:先提供侧脸作为不合格正脸,停留第一步并实际播「请正对屏幕」,无「转头」/下一步/完成音;再提供合格正脸,最终 JPEG 校验通过后自动保存并播「拍摄完成」,实际音频播完再开始第二步引导,随后完成三视图检测流程。
- 语音测试记录真实 MP3 解码后的 WebAudio 起播时间及当时屏幕步骤,不把语音文件预加载误认为起播。浏览器、无音频支持、真机系统音量/权限等行为仍以设备实际能力为准。
- 浏览器测试拦截模拟账号和分析响应或使用隔离数据服务,不写线上报告、不调用付费接口。
## 发布
基线 `2a49ebd`,目标 `ubuntu@1me.xajuzi.com:/home/ubuntu/juzi`、`juzi-h5.service`。沿用 Git bundle 快进同步,不代用户推送 origin,不改服务器配置和历史报告。发布后经公网执行布局、基础信息和真实自动拍照/语音测试,核对资源哈希、服务健康及匿名访问保护。