更新接口不通过user_id绑定数据
This commit is contained in:
@@ -35,16 +35,15 @@
|
||||
|
||||
## 2. 身份与鉴权(重要)
|
||||
|
||||
以下接口都会通过服务端逻辑解析“当前资产主体”,优先级如下:
|
||||
以下接口通过服务端解析「当前资产主体」,**仅**支持:
|
||||
|
||||
1. **`session_id`**(GET/POST):对应表 `mall_session`,未过期则可映射到资产主体
|
||||
2. **`token`**(GET/POST 或 Header):支持会员 token 或 `muser` token(H5 临时登录签发)
|
||||
3. **`user_id`**(GET/POST):
|
||||
- 纯数字:视为 `mall_user_asset.id`
|
||||
- 非纯数字:按 `mall_user_asset.playx_user_id` 查找
|
||||
2. **`token`**(GET/POST 或 Header `token` / `ba-token`):会员 token 或 H5 临时登录签发的 **`muser`** token
|
||||
|
||||
不再支持单独传 `user_id` 作为鉴权参数(避免越权)。
|
||||
|
||||
推荐做法:
|
||||
- H5 统一只用 **Header `token`**(值为 `muser` token),避免 URL 泄露与参数歧义。
|
||||
- H5 统一使用 **Header `token`**(`muser` 或 playX 换 session 后的凭证),避免 URL 泄露。
|
||||
|
||||
---
|
||||
|
||||
@@ -77,7 +76,7 @@ curl "https://{域名}/api/v1/temLogin?username=test001"
|
||||
|
||||
**GET** ` /api/v1/mall/assets `
|
||||
|
||||
鉴权:携带 `token` 或 `session_id` 或 `user_id`
|
||||
鉴权:携带 `token` 或 `session_id`
|
||||
|
||||
成功返回 `data`:
|
||||
- `locked_points`:待领取积分
|
||||
@@ -94,7 +93,7 @@ curl "https://{域名}/api/v1/temLogin?username=test001"
|
||||
|
||||
参数:
|
||||
- `claim_request_id`:必填,幂等键(建议:`{业务前缀}_{assetId}_{毫秒时间戳}`)
|
||||
- 身份参数:`token` / `session_id` / `user_id` 三选一(推荐 `token`)
|
||||
- 身份参数:`token` / `session_id`(推荐 Header `token`)
|
||||
|
||||
说明:
|
||||
- 同一个 `claim_request_id` 重复提交会直接返回成功(不会重复入账)
|
||||
@@ -117,7 +116,7 @@ curl "https://{域名}/api/v1/temLogin?username=test001"
|
||||
|
||||
参数:
|
||||
- `item_id`:必填
|
||||
- 身份参数:`token` / `session_id` / `user_id`
|
||||
- 身份参数:`token` / `session_id`
|
||||
|
||||
返回:
|
||||
- `data.order_id`
|
||||
@@ -132,7 +131,7 @@ curl "https://{域名}/api/v1/temLogin?username=test001"
|
||||
参数:
|
||||
- `item_id`:必填
|
||||
- `address_id`:必填,收货地址主键(`mall_address.id`,须为当前用户资产下地址)
|
||||
- 身份参数:`token` / `session_id` / `user_id`
|
||||
- 身份参数:`token` / `session_id`
|
||||
|
||||
说明:服务端会将该地址在下单时刻的 **收货人 / 电话 / 完整地址** 写入订单字段(快照),并写入 `mall_order.mall_address_id` 关联所选地址。
|
||||
|
||||
@@ -144,7 +143,7 @@ curl "https://{域名}/api/v1/temLogin?username=test001"
|
||||
|
||||
参数:
|
||||
- `item_id`:必填
|
||||
- 身份参数:`token` / `session_id` / `user_id`
|
||||
- 身份参数:`token` / `session_id`
|
||||
|
||||
---
|
||||
|
||||
@@ -152,7 +151,7 @@ curl "https://{域名}/api/v1/temLogin?username=test001"
|
||||
|
||||
**GET** ` /api/v1/mall/orders `
|
||||
|
||||
鉴权:`token` / `session_id` / `user_id`
|
||||
鉴权:`token` / `session_id`
|
||||
|
||||
说明:
|
||||
- 返回最多 100 条
|
||||
@@ -164,7 +163,7 @@ curl "https://{域名}/api/v1/temLogin?username=test001"
|
||||
|
||||
**GET** ` /api/v1/mall/order `
|
||||
|
||||
鉴权:`token` / `session_id` / `user_id`(同订单列表)
|
||||
鉴权:`token` / `session_id`(同订单列表)
|
||||
|
||||
参数(Query):
|
||||
- `order_id`:必填,商城订单主键 `mall_order.id`(兼容参数名 `id`)
|
||||
@@ -191,7 +190,7 @@ curl -G "https://{域名}/api/v1/mall/order" \
|
||||
|
||||
**GET** ` /api/v1/mall/pointsLogs `
|
||||
|
||||
鉴权:携带 `token` 或 `session_id` 或 `user_id`
|
||||
鉴权:携带 `token` 或 `session_id`
|
||||
|
||||
参数(Query):
|
||||
- `limit`:可选,每页条数(默认 20,最大 100)
|
||||
|
||||
@@ -212,11 +212,8 @@ curl -X POST 'http://localhost:1818/api/v1/mall/dailyPush' \
|
||||
* 若会话无效:兼容把 `session_id` 参数误当作 **商城 token** 再试一次(UUID 形态 token)。
|
||||
2. **`token`**(`post` / `get` 或请求头 **`ba-token`** / **`token`**)
|
||||
* 校验 `token` 表:类型为会员 `user` 或商城临时 **`muser`**。未过期时,`user_id` 字段为 **`mall_user_asset.id`**(`muser`)或会员体系约定 ID(`user`)。
|
||||
3. **`user_id`**(`post` / `get` 兼容)
|
||||
* **纯数字**:视为 **`mall_user_asset.id`**。
|
||||
* **非纯数字**:视为 **`playx_user_id`**,在 `mall_user_asset` 按该字段查找主键。
|
||||
|
||||
> 注意:请求参数的取值方式是 `post()` 优先,`get()` 兼容(即同字段既可传 post 也可传 get)。
|
||||
> 注意:请求参数的取值方式是 `post()` 优先,`get()` 兼容。不再支持单独传 `user_id` 作为鉴权。
|
||||
|
||||
---
|
||||
|
||||
@@ -309,7 +306,7 @@ curl -X POST 'http://localhost:1818/api/v1/mall/verifyToken' \
|
||||
|
||||
### 3.x 收货地址(`mall_address`)
|
||||
|
||||
> 下面接口用于 H5 维护收货地址。鉴权同本章其他接口:携带 `session_id` 或 `token` 或 `user_id`。
|
||||
> 下面接口用于 H5 维护收货地址。鉴权同本章其他接口:携带 `session_id` 或 `token`。
|
||||
|
||||
#### 3.x.1 地址列表
|
||||
* 方法:`GET`
|
||||
@@ -353,7 +350,6 @@ Body:`id` 必填。若删除默认地址,服务端会自动挑选一条剩
|
||||
|
||||
* `session_id`
|
||||
* `token`(或请求头 `ba-token` / `token`)
|
||||
* `user_id`(纯数字为 **`mall_user_asset.id`**,否则为 **`playx_user_id`**)
|
||||
|
||||
#### 返回(成功 data)
|
||||
若未找到资产:返回 0。
|
||||
@@ -397,7 +393,7 @@ curl -G 'http://localhost:1818/api/v1/mall/assets' --data-urlencode 'token=上
|
||||
|
||||
* `claim_request_id`:幂等键(string,唯一)
|
||||
|
||||
鉴权:同 **3.1**(`session_id` / `token` / `user_id`)
|
||||
鉴权:同 **3.1**(`session_id` / `token`)
|
||||
|
||||
#### 返回(成功 data)
|
||||
与 `用户资产` 返回字段一致(资产快照)。
|
||||
@@ -497,7 +493,7 @@ curl -G 'http://localhost:1818/api/v1/mall/items' --data-urlencode 'type=WITHDRA
|
||||
#### 请求 Body
|
||||
必填:
|
||||
* `item_id`:商品 ID(要求 `mall_item.type=BONUS` 且 `status=1`)
|
||||
鉴权:同 **3.1**(`session_id` / `token` / `user_id`)
|
||||
鉴权:同 **3.1**(`session_id` / `token`)
|
||||
|
||||
#### 返回(成功)
|
||||
* `msg`:`Redeem submitted, please wait about 10 minutes`
|
||||
@@ -535,7 +531,7 @@ curl -X POST 'http://localhost:1818/api/v1/mall/bonusRedeem' \
|
||||
必填:
|
||||
* `item_id`:商品 ID(要求 `mall_item.type=PHYSICAL` 且 `status=1`)
|
||||
* `address_id`:收货地址 ID(`mall_address.id`,须属于当前用户资产;下单时写入 `mall_order.mall_address_id`,并将该地址快照写入 `receiver_name` / `receiver_phone` / `receiver_address`)
|
||||
鉴权:同 **3.1**(`session_id` / `token` / `user_id`)
|
||||
鉴权:同 **3.1**(`session_id` / `token`)
|
||||
|
||||
#### 返回(成功)
|
||||
* `msg`:`Redeem success`
|
||||
@@ -569,7 +565,7 @@ curl -X POST 'http://localhost:1818/api/v1/mall/physicalRedeem' \
|
||||
#### 请求 Body
|
||||
必填:
|
||||
* `item_id`:商品 ID(要求 `mall_item.type=WITHDRAW` 且 `status=1`)
|
||||
鉴权:同 **3.1**(`session_id` / `token` / `user_id`)
|
||||
鉴权:同 **3.1**(`session_id` / `token`)
|
||||
|
||||
#### 返回(成功)
|
||||
* `msg`:`Withdraw submitted, please wait about 10 minutes`
|
||||
@@ -605,7 +601,7 @@ curl -X POST 'http://localhost:1818/api/v1/mall/withdrawApply' \
|
||||
|
||||
#### 请求参数(鉴权)
|
||||
|
||||
同 **3.1**(`session_id` / `token` / `user_id`)。
|
||||
同 **3.1**(`session_id` / `token`)。
|
||||
|
||||
#### 返回(成功 data)
|
||||
|
||||
@@ -654,7 +650,7 @@ curl -G 'http://localhost:1818/api/v1/mall/orders' --data-urlencode 'token=上
|
||||
* 路径:`/api/v1/mall/pointsLogs`
|
||||
|
||||
#### 请求参数(鉴权)
|
||||
同 **3.1**(`session_id` / `token` / `user_id`)。
|
||||
同 **3.1**(`session_id` / `token`)。
|
||||
|
||||
#### Query 参数
|
||||
| 字段 | 类型 | 必填 | 说明 |
|
||||
|
||||
Reference in New Issue
Block a user