xsl
873b45d3a5
fix: preserve legacy admin URLs across H5 channels
...
Keep local record and download paths compatible while retaining explicit external source selection. Record Taobao, H5, WeChat and rednote compatibility verification and baseline test failures.
2026-11-04 15:17:56 +08:00
xsl
774376fa16
feat: 完善淘宝小程序拍照、报告与登录流程
...
接入本地实时识别和自动三连拍,调整报告裁切、商品跳转、分享标题及居中页眉;完善游客会话、后台渠道隔离、部署脚本与回归测试。
2026-11-04 15:07:51 +08:00
xsl
381da60ae4
chore: commit test-phase secrets so a new dev machine needs no manual copy
...
测试验证阶段,换开发机时不再需要手工拷贝两个机密文件。已与用户确认安全
要求不高,代价是密钥进入 git 历史,上线前必须清理。
入库(.gitignore 用 ! 例外放行):
- backend-java/src/main/resources/application-local.yml
淘宝 AppKey/AppSecret + verify-sign + mode=forward + forward-base
- reference/facepp-skinanalyze/credentials.env
旷视 FACEPP_API_KEY / FACEPP_API_SECRET / FACEPP_SKINANALYZE_URL
(从服务器同名文件裁剪而来,只保留旷视相关行,去掉了其它项目条目)
其它密钥防护保持不变:apikey.*、.env、*.env 等仍被忽略。
上线前必做(已写入条待办第 6 项与 .gitignore 注释):
1) 重置 AppSecret 与旷视 Key
2) git filter-repo 从历史清除这两个文件
3) 改回环境变量 / 保密字典注入
HANDOFF 1.5 节、待办第 6 项、交接检查清单已同步为「clone 即有」。
2026-11-01 23:53:11 +08:00
xsl
8bc6251899
docs(handoff): clarify where the two secret files come from
...
application-local.yml 在老开发机;credentials.env 只存在服务器
(老开发机上没有这个文件),需要 scp 取。补充了目标路径、验证命令
和「只做小程序端开发可以先不拷 credentials.env」的说明。
2026-11-01 23:51:04 +08:00
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