xsl
2eb0d8e807
docs(proposal): add Taobao product proposal decks and their generators
...
产品方案 PPT 是交付物,之前只存在于本机,换开发机后会丢,所以入库。
- 3 份 pptx:智能测肤方案(正版 1.3MB / 深色版 1.3MB)+ 购物小程序方案模版(0.1MB);
模版是 build_taobao_proposal_from_template.py 的输入,必须一起入库
- 3 个生成脚本:把硬编码的 D:\juzi\... 改为相对仓库根(Path(__file__).parents[1]),
渲染用的截图素材 temp/ppt_assets 属临时产物,加进 .gitignore
- build_taobao_proposal_pptx.py 是更早的一版(产物 AI智能测肤...pptx 当前不在仓库),
保留用于追溯版式
- 新增 .gitignore:/sdk-java-35479221/(淘宝开放平台自动生成的 Java SDK,
对应已废弃的 AppKey 35479221,当前架构走 HTTP 透传,不引 SDK)
2026-11-01 23:37:38 +08:00
xsl
43a5373233
docs: add development-machine handoff and server deploy configs
...
换开发机继续开发。新机器只需要拉仓库 + 自备工具链 + 单独拷贝两个机密文件,
服务器/聚石塔/SAE 全部沿用,不需要重建。
- docs/HANDOFF-2026-11-02.md:开发机交接(环境、仓库地图、三套测试、
本地怎么跑、云端资源清单、上线方式、11 条关键结论、9 项待办、故障对照表)
- deploy/:服务器侧配置入库(原先只存在于机器上)
- systemd/juzi-taobao.service(18081,独立数据目录与凭据文件)
- nginx/tb-location.conf(/tb/ 反代 + 只放行聚石塔 NAT EIP)
- add-tb-nginx.sh(幂等插入,先备份,nginx -t 通过才 reload)
- README.md(重建与回滚步骤)
- tools/env-java.ps1:优先用仓库内便携工具链,缺失时回退 JAVA_HOME/PATH,
换机器不用再下便携 JDK/Maven
- README.md:交接文档入口更新
2026-11-01 23:34:26 +08:00
xsl
fed52930cc
feat(miniapp): align UI with H5 and harden device debugging
...
五个页面按 h5/css 的 style.css → ui-20261009 → ui-20261012 覆盖顺序逐条重排,
换算规则固定为 calc(N * var(--u)) → 2N rpx,固定 px 的字号保持 px。
- app.acss:换回 H5 设计 token(方角小倒角按钮 10rpx、卡片 14rpx、.chev 折线箭头)
- splash/profile/history:底图与按钮文字图改用 H5 资源,隐私/政策弹窗按 H5 重排
- report:环形分用 conic-gradient、人脸裁切窗口叠加 face_maps、标记点百分比盒、
侧脸皱纹 pending/unavailable 文案;用 Playwright 抓 H5 94 个选择器几何比对,
整页高 2438.7 vs 2438.67
- camera:淘宝 <camera> 组件在真机整页崩溃(嵌了微信专有的 <cover-view>),
改为默认系统相机 + `config.nativeCamera` 开关 + pages/camtest 冒烟页验证组件
- permissions:淘宝用带前缀的 scope.camera(裸名返回 5022 Scope:camera信息不存在),
先试带前缀再退回裸名,拒绝后不再重复弹窗
- voice:非 HTTPS 资源导致的异常不再冒泡成整页崩溃;app.js 加开发版错误 toast
- 开发版入口:权限诊断(启动页/相机页)、相机组件测试
- 测试 20/20(新增权限与相机能力用例)
2026-11-01 23:30:38 +08:00
xsl
f5c416dd9d
feat(sae): add cloud-gateway adapters and forward mode (0.0.4)
...
SAE 上这一版只做云网关适配层:/api/taobao/* 字节级透传给 1me.xajuzi.com 上
现有的 H5 后端(旷视调用、评分、报告都留在那边),Java 不再重写测肤逻辑。
- TaobaoEnvelope:客户端要求的 data.ok + data.http_status 信封(HTTP 恒 200)
- TaobaoAuthController:challenge/session/me/logout(native 模式)
- TaobaoSessionService:一次性 challenge + 30 天 Bearer token,按 open_id 限流
(网关后面所有请求同源 IP,按 IP 计数会变成全站共享 30 次/分钟)
- TaobaoForwardController:mode=forward 时透传,保留原始 query 与 body 字节
(签名覆盖原始 body,重新序列化会让验签失败)
- TaobaoSignatureVerifier:缺省 sign_method 按 md5 校验
- 打包名固定为 taobao-mvp-backend-0.0.4-forward,SAE 不需要任何环境变量
- pom 版本 0.0.4;mvn test 11/11(新增 8 个用例)
- docs:更新 SAE 操作步骤,新增本次交接文档
2026-11-01 23:30:35 +08:00
xsl
65ba3cc7a5
fix(taobao): default cloud gateway signature to the md5 form
...
真实网关请求不带 sign_method(2026-11-01 用 nginx access.log 抓到的真实请求离线复算确认),
缺省签名形式是 MD5(secret + content + secret),也就是 sign_method=md5 的算法,
而不是 MD5(content + secret)。旧实现按「空方法」走了后者,必然 mismatch,
真机登录一直卡在 401「淘宝身份校验失败」。
- h5/lib/taobao-auth.js:缺省 method 归一为 md5
- h5/test/taobao-auth.js:把抓包参数固化成回归测试(含旧算法的反例与 verify 正反例)
2026-11-01 23:30:29 +08:00
xsl
ac0b7ca42b
feat(sae): add Java MVP backend and Taobao connectivity page
...
Spring Boot 3.5.6 / Java 17 JAR with cloud gateway envelope and ping/whoami/echo; Taobao gateway signature verification matching the Node implementation; /pages/mvp page, splash dev entry and local transport contract test; SAE + 聚石塔 runbook and portable JDK/Maven setup; Windows 11 wmic shim for Taobao DevTools.
2026-10-31 18:35:04 +08:00
xsl
459e21dad4
docs(rednote): record verified isolated production deployment
2026-10-19 23:04:28 +08:00
xsl
4af825a5e4
feat(rednote): add isolated persistent browser H5 entry
2026-10-19 22:59:10 +08:00
xsl
9eec4369da
feat(taobao): add native mini program with shared backend
...
Preserve H5 flows while adding Taobao identity, native capture, reports and isolated local development. Fix canceled province selection and expired-session logout. Record passing local regressions, two pre-existing H5 assertion failures and pending platform validation.
2026-10-19 20:14:31 +08:00
xsl
d07f8cc1bb
save
2026-10-17 17:01:46 +08:00
xsl
bb6da17f54
fix(recommendation): use displayed skin age across reports and admin
2026-10-16 19:03:25 +08:00
xsl
571d78a2ed
ui(report): show wrinkle loading hints over side photos
2026-10-16 16:45:07 +08:00
xsl
9181069643
perf(report): load side wrinkle layers after report entry
2026-10-16 16:34:11 +08:00
xsl
b19811f974
fix(camera): add 30-second scan waiting watchdog
2026-10-16 16:07:53 +08:00
xsl
5e07985b19
fix(camera): remove post-capture photo revalidation
2026-10-16 16:01:25 +08:00
xsl
6a628f837b
fix(camera): make lighting checks advisory only
2026-10-16 15:51:07 +08:00
xsl
9ff7a582af
feat(admin): track capture-to-report conversion funnel
2026-10-16 15:45:13 +08:00
xsl
03a8907b4e
fix(camera): lower frontal and side confidence thresholds
2026-10-16 15:35:53 +08:00
xsl
30c90f8df5
fix(camera): relax initial frontal face recognition
2026-10-16 15:27:36 +08:00
xsl
8365ef459f
fix(report): remove eye conditions from contour conclusions
2026-10-16 11:05:34 +08:00
xsl
98d6189f5c
final save
2026-10-15 22:16:01 +08:00
xsl
49db1a6f5b
fix(camera): relax pitch and roll acceptance limits
2026-10-15 21:16:46 +08:00
xsl
c6d65493b6
fix(camera): set accepted face brightness to 110–220
2026-10-15 20:51:19 +08:00
xsl
fbc556d1a6
fix(report): move side photo preview fill upward
2026-10-15 20:47:41 +08:00
xsl
8115db4ec2
fix(camera): constrain brightness and adjust side photo previews
2026-10-15 20:41:28 +08:00
xsl
480fed40cc
fix(camera): raise minimum face brightness to 100
2026-10-15 20:23:45 +08:00
xsl
5632ac43d7
fix(report): cap dimension scores and match zoom crops to thumbnails
2026-10-15 20:17:07 +08:00
xsl
482fb4280d
fix(h5): relax capture angles and annotate acne marks
2026-10-15 19:55:21 +08:00
xsl
757b96dfad
feat(report): add annotated wrinkle views and restore capture countdown
2026-10-15 19:45:21 +08:00
xsl
2d80f6dfd0
feat(report): unify display grades and add contour side photos
2026-10-15 17:14:05 +08:00
xsl
60f0965c5a
feat(scoring): use independent tone hydration minima and focus-first care
2026-10-15 14:40:59 +08:00
xsl
77493bdff5
feat(h5): align report care and single-product section with updated design
2026-10-15 01:30:45 +08:00
xsl
60ae6c97ef
feat(h5): update skin scoring, age display and capture countdown
2026-10-15 00:20:48 +08:00
xsl
d8c67762da
feat(h5): calculate integer total from weighted dimensions across reports and admin
2026-10-14 14:25:17 +08:00
xsl
61a7f7c726
fix(h5): enlarge regular brand text for optical alignment
2026-10-13 22:40:04 +08:00
xsl
fc711e3b1c
fix(h5): add comma after brand name on splash and photo guide
2026-10-13 20:29:40 +08:00
xsl
6acc541cd8
fix(h5): unify regular slogan typography on splash and photo guide
2026-10-13 19:01:00 +08:00
xsl
84a92137aa
fix(h5): use replacement flip icon on report scanning screen
2026-10-13 18:04:32 +08:00
xsl
7381306139
fix(h5): optimize camera flipping and angle haptics, refresh splash branding
2026-10-13 17:57:55 +08:00
xsl
e71368db6d
fix(h5): show raw skin age, support Harmony touch pickers and add WeChat logout
2026-10-13 16:12:54 +08:00
xsl
4e42e33994
fix(h5): rename guest entry button to 游客登陆
2026-10-13 15:28:07 +08:00
xsl
1fdbb575b0
feat(h5): allow guest access without login and retain history only for WeChat
2026-10-13 15:23:23 +08:00
xsl
98935dd168
fix(h5): prevent native scrolling from stealing diagonal image swipes
2026-10-13 00:42:01 +08:00
xsl
4c478b16e3
fix(h5): prioritize horizontal report image gestures
2026-10-13 00:32:44 +08:00
xsl
3efa28b311
fix(h5): reduce report swipe conflicts and limit edge overscroll
2026-10-13 00:24:52 +08:00
xsl
f1e64565b9
fix(h5): center grouped score unit and tighten report summary spacing
2026-10-13 00:12:02 +08:00
xsl
6f83f58a09
fix(h5): center score stack, lock profile scroll and gate turn guidance
2026-10-12 23:48:11 +08:00
xsl
2a49ebdab2
test(deploy): verify report touch release on public server
2026-10-12 22:44:41 +08:00
xsl
63c9e065a9
feat(h5): refine report layout, add finger-following tabs and optimize images
2026-10-12 22:36:44 +08:00
xsl
bcf198ca6f
添加反馈文档
2026-10-12 21:46:47 +08:00
xsl
69dc9962c0
fix(h5): show captured face behind report scan animation
2026-10-12 21:21:49 +08:00
xsl
ce6dbc20d4
feat(h5): remember profile selections and add finger-following skin swipe
2026-10-12 21:10:00 +08:00
xsl
c9352fe4ca
fix(h5): ease camera capture requirements and rename page title
2026-10-12 20:47:58 +08:00
xsl
3f165bf9e5
test(deploy): verify fourth feedback capture and public release
2026-10-12 20:27:45 +08:00
xsl
92a3965b7d
feat(h5): apply fourth feedback and tighten local capture validation
2026-10-12 20:16:41 +08:00
xsl
e53c809522
docs(deploy): record third feedback production verification
2026-10-12 16:38:36 +08:00
xsl
c7b085e795
feat(h5): align third feedback with latest PSD and scanning screen
2026-10-12 16:33:10 +08:00
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
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
xsl
55f26d91af
修改整理反馈需求
2026-10-09 22:12:33 +08:00
xsl
499be22771
第一版反馈
2026-10-09 21:08:12 +08:00
xsl
3d32434d6f
添加后端文档
2026-09-28 10:49:09 +08:00
xsl and Cursor
67b6d86fce
chore: 移除 graphify 日期快照目录
...
历史快照与根目录图重复,加入 ignore 防止再入库。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-28 09:05:25 +08:00
xsl and Cursor
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
xsl and Cursor
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
xsl
ca76128ac0
更新 3, 2, 1 的声音
2026-09-27 10:38:28 +08:00
xsl
f8de5f881a
完成语音生成
2026-09-27 00:03:34 +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