更新接口不通过user_id绑定数据

This commit is contained in:
2026-07-27 14:24:53 +08:00
parent 778cdc01da
commit f2543b9aa4
8 changed files with 58 additions and 50 deletions

View File

@@ -35,16 +35,15 @@
## 2. 身份与鉴权(重要)
以下接口都会通过服务端逻辑解析当前资产主体”,优先级如下
以下接口通过服务端解析当前资产主体」,**仅**支持
1. **`session_id`**GET/POST对应表 `mall_session`,未过期则可映射到资产主体
2. **`token`**GET/POST 或 Header):支持会员 token 或 `muser` tokenH5 临时登录签发)
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

View File

@@ -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 参数
| 字段 | 类型 | 必填 | 说明 |