taro-h5-kf-photo-flow
✔ ensure-h5:public/h5 已是当前源码构建的,无需重建
✓ minted in jnc_ma (uid=990863 corp=1 client_type=50, access TTL 86400s)
PASS 前置:签发到 H5 Bearer token
PASS 前置:夹具 JPEG 已生成
=== A · 商品详情页「客服」按钮尺寸 ===
量得:{"root":20,"kf":{"w":71.8,"h":44,"fs":"15px","cls":"folio-btn folio-btn--danger folio-btn--md"},"cta":{"w":140,"h":52,"fs":"18px","cls":"folio-btn folio-btn--primary folio-btn--lg detail-bottom__cta"}}
PASS 守卫:根 font-size = 20px(375 宽下的 pxtransform 基准)
PASS 守卫:主 CTA 高仍是 52px(没被误伤)
PASS 🔴 A:客服按钮已改用设计系统 Btn
PASS 🔴 A:客服按钮高 = 44px(SCSS 88px 经 rem 折半),不再是 82px
PASS 🔴 A:客服按钮比主 CTA 矮(次要动作的视觉层级正确)
=== B · chooseImage 不再被打上 capture ===
iPhone UA: {"clicks":[{"capture":null,"accept":"image/*"}],"sheet":false,"chooserSeen":true}
PASS 🔴 B[iPhone UA]:file input 无 capture ⇒ 浏览器给出「拍照/照片图库/文件」
PASS 守卫[iPhone UA]:accept 仍是 image/*
PASS B[iPhone UA]:不再多弹一层 Taro 自带的中文选择条
iPad UA(is-mobile=false,修复前的重灾区): {"clicks":[{"capture":null,"accept":"image/*"}],"sheet":false,"chooserSeen":true}
PASS 🔴 B[iPad UA(is-mobile=false,修复前的重灾区)]:file input 无 capture ⇒ 浏览器给出「拍照/照片图库/文件」
PASS 守卫[iPad UA(is-mobile=false,修复前的重灾区)]:accept 仍是 image/*
PASS B[iPad UA(is-mobile=false,修复前的重灾区)]:不再多弹一层 Taro 自带的中文选择条
=== C · 从相册选一张图 → 真的上传成功 ===
multipart 文件名:"kf.jpg" 响应:{"data":{"msg_id":115},"info":"1","status":1}
PASS 守卫:确实往 FormData 里塞了 file(Blob)
PASS 🔴 C:上传请求带上了 X-Client-Type: 50(否则后端按 30 校验 → token invalid)
PASS 🔴 C:multipart 文件名带 .jpg 扩展名(修复前是 file-<时间戳>)
PASS 🔴 C:后端返回 info=1(上传成功)
PASS 🔴 C:聊天窗口里真的多出一条图片消息(用户可见)
PASS 🔴 C:全程没有弹出过「图片上传失败」之类的提示
清理:{"msg":1,"oss":1}
────────────────
PASS=19 FAIL=0