Commit Graph
95 Commits
Author SHA1 Message Date
xsl f3e7eac909 test(deploy): verify second feedback release on public site 2026-10-12 14:40:25 +08:00
xsl fe9623a1d7 feat(h5): apply second customer UI feedback and homepage refinements 2026-10-12 14:35:39 +08:00
xsl abb1c4c1de docs(deploy): record customer feedback release verification 2026-10-12 13:18:21 +08:00
xsl d7ae748e08 feat(h5): apply October 12 customer report feedback 2026-10-12 13:15:09 +08:00
xsl 3193a4b683 docs(auth): record deployed login performance verification 2026-10-12 11:03:47 +08:00
xsl d2931a41e4 feat(auth): clarify login identity and speed up mobile entry 2026-10-12 11:01:49 +08:00
xsl 85790ef985 docs(auth): record live preflight and portable log checks 2026-10-12 10:11:44 +08:00
xsl d68f841f0e fix(auth): harden WeChat login and explicit identity switching 2026-10-12 10:07:54 +08:00
xsl 0ec5e5dc32 fix(report): recommend by measured skin age and align admin results 2026-10-12 00:23:57 +08:00
xsl 7518dc2307 fix(h5): sync latest report copy and deployment verification 2026-10-11 22:59:21 +08:00
Ubuntu 3dda4ec7ff 话术有修改 2026-10-11 22:52:15 +08:00
xsl 55b3a45282 添加参考图 psd 2026-10-11 17:51:48 +08:00
xsl ce8d0ff1f7 feat(h5): align October UI and add WeChat auth with saved reports 2026-10-11 17:28:11 +08:00
xsl ee744b6b5f save 2026-10-10 14:24:32 +08:00
root 652c977cec 第二版修改 2026-10-10 09:46:17 +08:00
root 4b26288098 save 2026-10-09 23:41:04 +08:00
root 658b232a39 save 2026-10-09 23:22:28 +08:00
Ubuntu f7902b86c8 save 2026-10-09 22:29:02 +08:00
xsl 55f26d91af 修改整理反馈需求 2026-10-09 22:12:33 +08:00
xsl 499be22771 第一版反馈 2026-10-09 21:08:12 +08:00
Ubuntu c06d15a2d4 chore+perf: 密钥出库 + 后台详情接口裁剪 face_maps
安全:
- reference/facepp-skinanalyze/credentials.env 内含 Face++ 正式 key/secret
  且被 git 跟踪,移出 index(文件保留本地,.gitignore 已覆盖 *.env)。
  ⚠️ 密钥已存在于 git 历史,若 origin 曾被 push 即视为泄漏,
  请在旷视控制台重置 API secret,改用环境变量/apikey.bash 注入。

性能(后台详情页卡顿):
- 详情接口将 raw_json.result.face_maps 的 base64 图层(单条约 3MB)
  替换为占位说明,响应 3.2MB→163KB;新增
  GET /api/admin/records/:id/raw 供下载完整原始 JSON(走 Basic Auth)
- admin 列表/详情图片加 loading=lazy + decoding=async
2026-09-28 22:46:08 +08:00
Ubuntu 3de730a127 save 2026-09-28 15:27:31 +08:00
xsl 3d32434d6f 添加后端文档 2026-09-28 10:49:09 +08:00
xslandCursor 67b6d86fce chore: 移除 graphify 日期快照目录
历史快照与根目录图重复,加入 ignore 防止再入库。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-28 09:05:25 +08:00
xslandCursor ecb4bb2515 chore: 将 graphify cache 移出版本库
cache 可本地重建,加入 .gitignore 避免再次误提交。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-28 09:04:27 +08:00
xsl b6ba6b65c5 save 2026-09-28 09:02:32 +08:00
xslandCursor 531a7ddd14 fix: 拍照页对齐 Figma(正→右→左/镜像预览/WebView 口径定位/85%遮罩) + 语音调度重写 + 正脸照不镜像
- 拍照顺序改为正脸→右脸→左脸(对齐 Figma),左右以用户本人为准;送检前按 target 重排为 [正,左,右]
- 三步预览均镜像(Figma 侧脸轮廓按镜像绘制),后置镜头侧脸轮廓自动翻转;抓帧恒为原始视角
- 蒙版 viewBox 取 Figma 帧 y86–812(扣除微信导航栏)+ meet 缩放,文案/引导/提示按 726 高定位;框外 85% 黑,静态态白底
- 语音:流程音排队不截断、姿态提示挂起补播、倒计时等播报收尾、拍摄完成打断过时引导、出报告/退出清队列;去重仅限姿态提示
- 语音文件改名 step2-rightface / step3-leftface,同步清单、生成脚本与设计文档
- 精华卡去重复正文、推荐依据写明具体原因;年龄仅数字;toast 按字数延时;备注去内部质量码
- 新增无头浏览器冒烟测试 h5/test/e2e-browser.mjs

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-28 02:22:37 +08:00
Ubuntu 4e3d915b7d feat: 拍摄流程对齐 Figma(正→左→右顺序/描摹轮廓蒙版/正脸只提示回正) + 报告页按 Figma 08 重排
- 拍照顺序 正脸→左脸→右脸:步骤文案/语音文件(step2-leftface/step3-rightface)/payload 归属对齐
- 蒙版轮廓由 Figma 拍照示意位图 alpha 镂空区逐像素描摹生成(0 正脸含耳/1 左脸鼻朝左/2 右脸鼻朝右),框外纯黑
- 侧脸步预览与抓帧不镜像(左右不再迷惑),HeadPose 侧脸自校准阈值 30 帧防误翻转
- 语音:「保持不动」播完再进倒计时(afterCurrent 接续,不再拦腰切断)
- 正脸步角度不合格只提示「请正对屏幕」,阈值放宽 |yaw|≤15°/|pitch|≤18°;转头提示仅侧脸步
- 抓帧改完整帧(修 Face++ INVALID_IMAGE_FACE)
- 报告页按 Figma 08:内联白底顶栏(返回+标题)、总分双独立白卡(30px 大数字+15px 单位后缀)、
  维度短竖分隔线+最低分标红、Tab 黄条、免责左对齐、护理建议去 tag 加粗+收尾句、
  产品大标题移出白卡、COREⅡ 换 Figma 导出 SVG 字标、产品图 151×174、卡圆角 10px
- 精华卡判据措辞用户化(均分档→综合均分/最差项约束→最低分维度/年龄组档→年龄段,引擎值不动)
- 修报告页滚动 P0(去 position:relative 覆写),文档同步(语音文档/README)
2026-09-28 00:57:28 +08:00
Ubuntu 0e00f3e938 feat: 真机反馈第9轮(浮层层级/侧脸镜像自校准/提示样式/Tab设计宽/去历史/档案顶栏/静态禁缓存)
1. 城市下拉浮层 z-index 999(实测本不重叠,仅 1px 相邻;用户端旧样式系缓存所致——server.js 静态 html/css/js 改为 no-cache,此后改动即时到端)
3. 侧脸步「浮层」改设计语言:去气泡底,纯白/纯绿文字+投影,置于引导 chips 上方;侧脸拍摄不通的根因(本机镜像策略差异)加「镜像自校准」:语义 yaw 连续 5 帧强反向即自动翻转镜像约定,姿态引导方向随设备自适应
4. 语音引导的侧脸照片方向与镜像约定联动(camMirrored 统一管预览/抓拍/姿态),自校准后语音方向与实际出片一致
5. 痘痘图标记:坐标随 Face++ 返回原样叠加;未检出时纯照片+话术「未检出痤疮与皮损」(详见回复)
6. Tab 条对齐设计稿:文字 11px/选中 700,黄色指示条恢复设计实测宽度 78px
7. 关注行:维度名加粗 700,两行收紧
8. 报告页「历史」入口移除(存储逻辑保留)
9. 档案页顶部白条移除,返回键改悬浮白圆
HeadPose.check 增加 yaw 返回供自校准;e2e 适配历史入口变更,全量绿
2026-09-27 11:55:20 +08:00
Ubuntu 6c634e3a66 feat: 真机反馈 11 项(下拉层级/侧脸蒙版/报告改版/护理建议 V2.3/水分图)
1. 城市下拉浮层 z-index 提至 50,不再被肤质轮播圆点压盖
2. 倒计时音频已更新(用户重生成,解码验证 2.62s)
3. 侧脸步蒙版鼻向修正:2/3 右脸鼻朝右、3/3 左脸鼻朝左(原与设计稿 06/07 相反)
4. 无进展提示上移至 bottom:24%(引导 chips 上方,不再压快门)
5. 相册选择器「拍照」项为 iOS/安卓系统行为,web 无法移除(详见回复)
6. 报告页顶栏移除,返回/历史改悬浮
7. 肌龄小字按产品要求不再展示(钳制留痕仍随数据返回)
8. 关注行对齐设计稿:前缀灰 + 维度名深色 500
9. 三维度排版对齐设计稿:去掉档位徽章,最低分标红
10. 肤色水润图改用 water_area(接口水分图),REPORT_MAPS 与 mock fixture 同步更新
11. 报告「综合分析」「生活方式建议」通栏移除,新增「护理建议」卡(V2.3 §8:肤质定制/最差2分类/精华/生活方式 五段,§8.5.1 无内部标注;skin-score 实现 8.6/8.7 全量文案库,回归新增 §8.8 两组样例逐字断言 86/86 绿)
e2e 全量绿(含真实 API:水分图/红区合成图挂载、护理建议五段)
2026-09-27 11:15:54 +08:00
xsl ca76128ac0 更新 3, 2, 1 的声音 2026-09-27 10:38:28 +08:00
Ubuntu 7155f23213 fix: 用户测试 agent 反馈(协议标题遮挡/气泡重叠/脚注技术文案/图层可读性)
- 隐私协议正文上留返回键位,标题不再被悬浮返回键遮挡
- 姿态提示气泡从底部改到步骤文案下方(原位置压住「取下眼镜」引导文字)
- 报告脚注只展示用户可感知的降级项(下颌线/侧脸/补拍类),引擎内部技术项(上限锁/字段未返回)不再面向用户泄漏
- 肤色/敏感图改为正脸×图层正片叠底(multiply):色沉与红区落在脸上,解决直挂「悬浮面具感/白底过淡」
- e2e 全量绿
2026-09-27 02:20:33 +08:00
Ubuntu d09d29946d feat: 真机反馈 13 项修改(下拉/拍照页/语音时机/预热/报告样式/翻转镜头)
1. 城市改自定义下拉(原生 select 各端样式不一)
2. 姿态提示浮层下移,不再压住脸部轮廓
3. 倒计时 321 前不再抢播「保持不动」(被切断听着像吞字)
4. 相机预热:分辨率稳定两拍后才出实时画面+放开检测,开头 1-2s 大脸闪变消除
5. 隐私协议页去掉头部文字条,返回键改悬浮
6. 肌龄小字常显「与实际年龄相差X岁」,钳制时追加「触发(原X→Y)」(vm 增 realAge 字段)
7. 删除设计稿没有的「6个维度观察/状态动态流动」两段文字
8. 维度卡关注行改设计稿两行式:灰小字+深色口号(稳定力口号用设计稿原文,另两条待确认)
9. Tab 黄色指示条宽度跟随文字(原固定 78px)
10. 抓拍只取取景框可见区域(object-fit cover 中心裁切),照片=所见画幅;拍照页顶栏黑条删除;无进展提示上移不再压快门
11. 相册选择器「拍照」项为系统行为,代码层已是图库意图(无 capture),详见回复
12. 切换镜头实现:前后置切换+镜像/姿态参数跟随,替换 Toast 占位
13. 报告分类卡去掉得分与档位徽章(设计稿只有话术),图片改 100px 见方圆角 10
e2e 全量绿(E0-E7)
2026-09-27 01:56:04 +08:00
Ubuntu eae22d18a1 fix: 拍照引导检测链路校准——模拟摄像头闭环修复四个实测问题
用户真机症状:一直『未检测到人脸』;脸进框却提示太远;凑近又超框。用 C3 三视图生成 Y4M 模拟摄像头闭环复现并定位:

- 检测可靠性:tinyFaceDetector 320/0.4 → 416/0.3(正脸置信度 0.67→0.99,框更准);连续漏检 ≥3 帧才报未检测到人脸(单帧抖动不再刷屏)
- 距离阈值:0.35/0.8 → 0.26/0.58(以取景框≈42% 屏高、416 输入实测框 0.40–0.44 标定;原阈值下脸进框即误判太远)
- HeadPose:check() 双重镜像符号 bug(estimate 已翻转 yaw,check 又翻一次→侧脸引导方向相反);YAW_COEFF 2.2→3.8(±45° 侧脸实测只读 ±25°);PITCH_BASELINE 0.32→0.45(正脸误读 29° 被判低头)
- head-pose 自测夹具按新系数数值标定,全部通过
- e2e 新增 E7:模拟摄像头全自动三连拍(正脸→右脸→左脸,姿态引导+倒计时+抓帧,分析请求拦截不烧次数包),全量绿
2026-09-27 00:47:22 +08:00
Ubuntu f52b52a954 chore: temp/ 草稿目录移出版本库并加入 .gitignore 2026-09-27 00:05:34 +08:00
Ubuntu cc83987043 feat: 语音播报契约与播放模块 + 相册选图 + 报告历史存储/服务端落盘
- docs/语音播报内容设计文档_V1.0.md:14 条播报文案/触发时机/文件名契约;格式定 MP3(iOS Safari/微信不支持 OGG);播放层 WebAudio 单通道、4s 去重、manifest.json 清单制(文件待生成,缺失静默跳过)
- 相册:相机页「相册」按钮接系统图库(#album-file 不带 capture),与实拍同管线压 1280 推进,替换 Toast 占位
- 报告历史:检测成功按「检测」为单位存 localStorage(juzi.reports.v1,5 条上限)——三张照片+档案+评分数据+marks 坐标,不含 face_maps 图层;报告页「历史」列表可回看/删除/清空,回看时坐标叠加类图仍可用
- server.js:每次检测完整原始返回落盘 h5/data/results/(复核/真值,已 .gitignore)
- e2e:新增 E5(相册三连拍)/E6(存储与历史回看)断言,E3 增落盘校验;全量绿(含真实 API 闭环)
2026-09-27 00:05:34 +08:00
xsl f8de5f881a 完成语音生成 2026-09-27 00:03:34 +08:00
Ubuntu 7d72d7dd5a save 2026-09-26 23:55:11 +08:00
Ubuntu 859d262fe3 feat: 隐私政策与服务协议全文接入(替换占位层)
- Face⁺⁺个人信息与隐私保护政策(前言+正文八章)全文排版接入 #p-policy:全屏文档页(sticky 头部+返回、品牌黄章节标记、两端对齐正文、有序/无序列表、加粗术语),来源飞书 1meUI设计 wiki
- e2e 新增 E4:协议打开/全文字数/关键章节/无占位残留断言,附首中末三张截图
- README 占位清单移除隐私协议条目
2026-09-26 23:30:41 +08:00
Ubuntu aa46d87419 fix: 启动页背景素材贴边黑/亮楔子——按 Figma 画框等效区域重裁
- 根因:PSD 源图(1414×2423)本身是拼贴件,照片四周带黑楔/灰带/亮块,Figma 画框靠定位裁掉楔子,原型直接引用原图导致楔子外漏(左黑边/右下黑边/右上亮边/左下亮边)
- 修复:取画框映射等效干净区 (180,60,1240,2381) 重裁出 1060×2321,profile-bg 同源同步修复
- 测试:e2e 新增 E0 多视口启动页边缘视觉回归(352×736/375×812/390×844/414×896,自写 PNG 解码+均匀纯黑/纯白连续段检测,区分照片暗发/高光),此前单视口+DOM 断言发现不了该类问题
- 截图: preview/e2e-20260926 增补 4 张多视口启动页
2026-09-26 23:16:32 +08:00
Ubuntu ba3b346fce feat: 报告页 V2.2 检测可视化 + 评分引擎审计 + 真值回归/e2e 闭环
- server.js: face_maps 改为白名单 5 图层完整 dataURL 透传(REPORT_MAPS,按魔数判 mime),marks 坐标随 result 原样透传;实测 return_marks 不支持毛孔/黑头等扩展标记
- skin-score.js: 按需求文档 V2.2 逐字审计修正 9 处(黑眼圈 dark_circle_severity、oil_desc/spot_flag §7.2 拼接、skintone 中文映射、轮廓预警档前缀、痘痘 heavy_note、50+精华全文、综合文案数值格式),契约引用 V2.0→V2.2
- app.js/index.html/css: 报告页 6 分类检测可视化(轮廓=正脸实拍、皱纹=正脸压暗+皱纹增强线、光滑=正脸+色斑/痣/痤疮标记、肤色=色沉图、敏感=红区图、痘痘=正脸+闭口/痤疮标记),数据驱动 VIZ_CAT 配置,优雅降级
- h5/test/: Excel 两组三视图真值回归 84/84(含案例2 AY 列扁平化数据重建 fixture)
- h5/assets/mock/: 真实案例1 报告页 fixture(坐标与照片同比例缩放),?mock=1&screen=report 直渲
- e2e: Chrome 无头闭环 55/55(mock 全流程/直渲/真实 API 降级链路),截图存档 preview/e2e-20260926
- 自测: skin-score 83/83,fixture 冒烟 35/35
2026-09-26 22:35:02 +08:00
xsl 71a090fd75 跟新需求文档 2026-09-26 19:50:39 +08:00
xsl ab9a39a8f3 save 2026-09-26 16:23:59 +08:00
xsl 5957ef04fc feat: 接入 Face++ 真实测肤 + 三轮多角色迭代修复
Face++ 集成(高阶版 skinanalyze_advanced):
- h5/server.js:零依赖 Node 后端,静态托管 + /api/skin-analyze 中转,
  api_secret 只存服务端(从 apikey.bash/env 读取,.gitignore 已排除)
- 实时相机:getUserMedia 自拍取景,不可用时降级系统相机;
  相机令牌防授权回调泄漏摄像头;离开拍照页即释放
- 检测流:三连拍仅送检正面照(压至 1280px JPEG),错误码→友好提示
- 结果映射:肌肤年龄=skin_age 真实值;紧塑力/活力感/稳定力由真实
  维度合成;具体描述按检出项动态生成;检测图用用户实拍
- ?mock=1 内置样本供离线/自动化验证;README 补充部署与 HTTPS 说明

三轮迭代修复(QA+美术并行审计→开发统一修复,共 ~28 项):
- 功能:P1 鼠标拖拽轮播(Pointer Events+setPointerCapture)、
  快门/返回竞态(camSeq 令牌)、报告页状态重置、弹窗 ESC/遮罩关闭
- 视觉:还原度 80%→94%,档案页布局/弹窗比例/报告页产品卡等
  结构性偏差修正,字号/间距逐项实测核销
- 工程化:首屏 701KB→386KB(懒加载+preload+清理 212KB 无用资源)、
  favicon/SEO meta/隐私协议占位层/README

Review 修复:server.js 路径穿越前缀绕过(ROOT+sep 校验)、
getUserMedia 迟到回调释放相机(camSeqCam 令牌)
2026-09-22 21:06:33 +08:00
xsl e4e85d2805 feat: 巨子测肤 H5 原型(按 Figma 设计稿还原)
- design/: Figma 设计稿提取产物 — 设计规范文档、9 张整屏预览、
  8 个 SVG 组件切图、15 张位图素材、完整节点数据(full.json)
- h5/: 纯静态 H5 实现 — 启动页/隐私弹窗/档案填写(肤质轮播)/
  三连拍照/报告页,375px 基准还原,含压缩素材与 Playwright 验收截图
2026-09-21 23:25:01 +08:00