Files
juzi/docs/原始肌龄显示与鸿蒙滚轮兼容-2026-10-13.md

2.5 KiB

原始肌龄显示与鸿蒙滚轮兼容

范围

  • 生物可视年龄直接展示算法原始肌龄,取消实际年龄 ±3 的展示修正。原始肌龄缺失显示 --,不以实际年龄或旧展示值补齐,不额外四舍五入。
  • 新报告 skinAgeDisplay 与 skinAgeRaw 相同,保留兼容字段 ageClampNote 但值为空。推荐规则、评分和其他话术不变。
  • 历史报告回看优先读取快照 vm.skinAgeRaw;更老的快照缺该字段时,从保存的 payload.result.skin_age 读取。忽略旧的钳制展示值,不改写存量快照,不重算历史推荐/文案。后台列表、详情、CSV 的展示肌龄也改为读取原始肌龄,避免前后台不一致。
  • mobile-select@1.4.0 原来通过 UA 字符串选择 touch/mouse,无法识别不带 Android 的 OpenHarmony/ArkWeb。保留上游版本与 MIT 声明,添加本地补丁:通过 navigator.maxTouchPoints > 0 或 ontouchstart 能力选择触摸事件,无触摸能力则使用鼠标事件;不再按系统名称判断。
  • 同时按事件的 touches/changedTouches 读取坐标,不依赖全局 TouchEvent 构造函数,避免无该构造函数的鼠标环境报错。弹层挂载、页面禁滑和滚轮联动逻辑不变。

回归

node h5/test/raw-skin-age.js
node h5/js/skin-score.js
node h5/test/recommendation.js
node h5/test/regression.js
node h5/test/report-persistence.mjs
node h5/test/harmony-picker.mjs
node h5/test/profile-interaction.mjs
node h5/test/guest-privacy.mjs
node h5/test/report-touch-layout.mjs

鸿蒙专项使用 Chromium 的真实触摸/鼠标分发配合不同 UA 与能力配置,逐项验证年、月、省、市四轮、地区联动、确认回填、重开定位和表单提交。覆盖 Android 触摸、OpenHarmony 5、OpenHarmony 6+微信、桌面 UA 的触摸设备、无 TouchEvent 构造函数的桌面鼠标、Android UA 的无触摸环境。

这属于 UA/能力兼容回归,不等同于鸿蒙真机或 ArkWeb 内核验证。测试使用隔离临时目录或拦截账号请求,不写线上报告,不调用付费检测。历史报告测试故意保留旧展示值 57 岁,确认 H5/后台改显示原始肌龄且原文件字节不变。

用户已确认发版。本次与《微信退出登录-2026-10-13.md》的修改一起提交,采用 Git bundle 快进同步到 /home/ubuntu/juzi,重启 juzi-h5.service 后校验线上资源、健康与浏览器交互。不代用户推送 origin,不改写既有报告或调用线上付费检测。摄像头切换不在本次修改范围内。