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 操作步骤,新增本次交接文档
57 lines
1.7 KiB
Markdown
57 lines
1.7 KiB
Markdown
# taobao-mvp-backend
|
||
|
||
淘宝小程序 + 淘宝云网关 + SAE 的最小 Java 后端验证工程。
|
||
|
||
## 快速启动
|
||
|
||
```powershell
|
||
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 |
|
||
|
||
统一响应:
|
||
|
||
```json
|
||
{"success":true,"data":{"ok":true}}
|
||
```
|
||
|
||
失败:
|
||
|
||
```json
|
||
{"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 实例。
|