对接文档-PlayX 调用积分商城接口说明
This commit is contained in:
@@ -57,7 +57,7 @@ flowchart LR
|
||||
|
||||
### 4.1 登录鉴权(Iframe + token)
|
||||
|
||||
> **接口与字段细节**以代码为准,完整说明见同目录《PlayX-接口文档.md》(§3 H5、§3.2 `temLogin`、§3.3 `verify-token`)。
|
||||
> **接口与字段细节**以代码为准,完整说明见同目录《PlayX-接口文档.md》(§3 H5、§3.2 `temLogin`、§3.3 `verifyToken`)。
|
||||
|
||||
#### 4.1.1 身份与数据模型(商城侧)
|
||||
|
||||
@@ -71,7 +71,7 @@ flowchart LR
|
||||
|
||||
1. 用户在 PlayX 内打开积分商城入口(iframe)。
|
||||
2. PlayX 前端通过 postMessage 将 **PlayX 下发的 token**(及必要上下文)传给商城 H5。
|
||||
3. 商城 H5 调用商城后端 **`POST /api/v1/playx/verify-token`**,由商城向 PlayX 的 **Token Verification API**(`playx.api.base_url` + `playx.api.token_verify_url`)发起校验。
|
||||
3. 商城 H5 调用商城后端 **`POST /api/v1/mall/verifyToken`**,由商城向 PlayX 的 **Token Verification API**(`playx.api.base_url` + `playx.api.token_verify_url`)发起校验。
|
||||
4. **前提**:配置 **`playx.verify_token_local_only = false`**,且 **`playx.api.base_url`** 已配置为可访问的 PlayX 基地址。
|
||||
5. PlayX 返回 **`user_id`、`username`**(及可选会话过期时间等)。
|
||||
6. 商城写入 **`mall_playx_session`**(`session_id` + 上述 `user_id`/`username` + 过期时间),后续 H5 可用 **`session_id`** 或 **`token`(商城临时 token,见模式 B)** 调用资产/领取等接口。
|
||||
@@ -86,9 +86,9 @@ flowchart LR
|
||||
用于开发、联调前自测、或 PlayX 接口未就绪时:
|
||||
|
||||
1. 配置 **`playx.verify_token_local_only = true`**(环境变量 **`PLAYX_VERIFY_TOKEN_LOCAL_ONLY`**,默认可为开启,以项目 `config/playx.php` 为准)。
|
||||
2. 此时 **`/api/v1/playx/verify-token` 不会访问 PlayX**,仅在商城内校验 **商城临时 token**(token 表类型 **`muser`**,由下方 `temLogin` 签发)。
|
||||
2. 此时 **`/api/v1/mall/verifyToken` 不会访问 PlayX**,仅在商城内校验 **商城临时 token**(token 表类型 **`muser`**,由下方 `temLogin` 签发)。
|
||||
3. 调用 **`GET/POST /api/v1/temLogin?username=...`**(需 **`buildadmin.agent_auth.temp_login_enable = true`**):不存在则创建 **`mall_user`**,并保证存在 **`mall_playx_user_asset`**(含 `playx_user_id`,默认 **`mall_{id}`**),返回 **`userInfo.token`**、**`playx_user_id`**、**`expires_in`** 等。
|
||||
4. 再用该 token 调用 **`verify-token`** 可得到 **`session_id`**,与模式 A 一样供后续接口使用;或直接带 **`token` / `ba-token`** 调资产等接口(见《PlayX-接口文档》§3.1)。
|
||||
4. 再用该 token 调用 **`verifyToken`** 可得到 **`session_id`**,与模式 A 一样供后续接口使用;或直接带 **`token` / `ba-token`** 调资产等接口(见《PlayX-接口文档》§3.1)。
|
||||
|
||||
#### 4.1.4 会话续期与前端约定
|
||||
|
||||
@@ -159,7 +159,7 @@ flowchart LR
|
||||
|
||||
- **目的**:推送昨日玩家数据,用于 T+1 计算入池与领取上限。
|
||||
- **幂等键**:`user_id + date`(date 建议为 PlayX 业务日)
|
||||
- **Method/Path(建议)**:`POST /api/v1/playx/daily-push`
|
||||
- **Method/Path(建议)**:`POST /api/v1/mall/dailyPush`
|
||||
|
||||
请求字段说明(最小集合,来自现有资料):
|
||||
|
||||
@@ -431,7 +431,7 @@ flowchart LR
|
||||
|
||||
其中:
|
||||
|
||||
- `PATH` 不含域名与 querystring(例如 `/api/v1/playx/daily-push`)。
|
||||
- `PATH` 不含域名与 querystring(例如 `/api/v1/mall/dailyPush`)。
|
||||
- `REQUEST_BODY_JSON` 使用原始 request body(不做 key 排序时,需双方约定序列化方式;更推荐双方统一为“key 排序后的紧凑 JSON”)。
|
||||
|
||||
## 8. 错误码与可观测(建议)
|
||||
|
||||
Reference in New Issue
Block a user