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 操作步骤,新增本次交接文档
1.7 KiB
1.7 KiB
taobao-mvp-backend
淘宝小程序 + 淘宝云网关 + SAE 的最小 Java 后端验证工程。
快速启动
Set-ExecutionPolicy -Scope Process Bypass
. D:\juzi\tools\env-java.ps1
cd D:\juzi\backend-java
mvn -DskipTests package
java -jar target\taobao-mvp-backend-0.0.2.jar
启动后:
- 健康检查:http://127.0.0.1:8080/actuator/health
- 云网关测试接口:
POST http://127.0.0.1:8080/api/taobao/ping
接口
| 方法 | 路径 | 作用 |
|---|---|---|
| GET | /actuator/health |
SAE 健康检查 |
| GET/POST | /api/taobao/ping |
返回统一 envelope,验证连通性 |
| POST | /api/taobao/whoami |
返回网关注入的 query 参数(open_id/app_key/env/sign 等) |
| POST | /api/taobao/echo |
原样回显 JSON body,验证 POST/Content-Type |
统一响应:
{"success":true,"data":{"ok":true}}
失败:
{"success":false,"errorCode":"SIGN_INVALID","errorMessage":"..."}
环境变量(SAE)
| 变量 | 本地 | 云端 |
|---|---|---|
TAOBAO_APP_KEY |
可空 | 淘宝开放平台 AppKey |
TAOBAO_APP_SECRET |
可空 | AppSecret,只放服务端 |
TAOBAO_VERIFY_SIGN |
false |
true |
云端必须用 TAOBAO_VERIFY_SIGN=true,否则任何知道地址的人都能直接调用接口。
说明
- 本工程只实现连通性 MVP:
ping/whoami/echo。 - 真实的
challenge/session/photo/skin-analyze/analysis/reports尚未迁移;现有 Node 实现见../h5/lib/taobao-routes.js,可作为 Java 迁移的接口契约参考。 - SAE 部署时选 JAR 包部署 + 标准 Java 应用运行环境 + Open JDK 17,不要选 WAR/Tomcat/EDAS-Container。
- 端口
8080,健康检查/actuator/health,至少 2 实例。