fix(changelog): 下单/支付 adminId 改为「用字符串」纠正精度误导 (PR #3039)
此前写「必须 number / Number() 转换」会让雪花 adminId 丢精度。 更正:adminId 用字符串传,后端按字符串精确解析为 Long 不丢精度。
这个提交包含在:
父节点
a77bb39ab8
当前提交
b1c8b3a934
@ -23,10 +23,10 @@
|
|||||||
|
|
||||||
| key | 类型 | 说明 |
|
| key | 类型 | 说明 |
|
||||||
|-----|------|------|
|
|-----|------|------|
|
||||||
| `adminId` 或 `customizerId`(二选一,等价) | number \| null | 分享来源定制师的 adminId。两个 key 后端都认(`adminId` 是 `customizerId` 的别名) |
|
| `adminId` 或 `customizerId`(二选一,等价) | number 或 **string** \| null | 分享来源定制师的 adminId。两个 key 后端都认(`adminId` 是 `customizerId` 的别名) |
|
||||||
|
|
||||||
要点:
|
要点(⚠️ 此前本篇写「必须 number / 需 Number() 转换」是错的,已更正):
|
||||||
- **必须是 number 类型**。前端从 URL `?adminId=` 拿到的是字符串,需 `Number()`/`parseInt` 转换后再传。
|
- **adminId 是雪花 ID,请用字符串传**(JS number 超过 2^53 会丢精度!)。后端按字符串精确解析为 Long、不丢精度。**不要在前端把它转成 number**。number 形式也接受(小 ID 无碍),但雪花一律走 string 才安全。
|
||||||
- 选填。不传 / 传 null / 传 0 / 传无效或非定制师 → 不报错,走兜底分配(见下)。
|
- 选填。不传 / 传 null / 传 0 / 传无效或非定制师 → 不报错,走兜底分配(见下)。
|
||||||
- 两个 key 都传时以 Jackson 解析为准(不要同时传,避免歧义)。
|
- 两个 key 都传时以 Jackson 解析为准(不要同时传,避免歧义)。
|
||||||
|
|
||||||
@ -46,9 +46,9 @@
|
|||||||
|
|
||||||
## ⚠️ 前端说明
|
## ⚠️ 前端说明
|
||||||
|
|
||||||
1. 分享下单:把分享来源的 `adminId`(number)放进下单请求体的 `adminId`(或 `customizerId`)字段即可,后端自动校验 + 绑定。
|
1. 分享下单:把分享来源的 `adminId`(**字符串**,雪花)放进下单请求体的 `adminId`(或 `customizerId`)字段即可,后端自动校验 + 绑定。
|
||||||
2. 校验不通过(非定制师 / 已禁用 / adminId 不存在)**不会让下单失败**,只是走兜底分配,前端无需特殊处理。
|
2. 校验不通过(非定制师 / 已禁用 / adminId 不存在)**不会让下单失败**,只是走兜底分配,前端无需特殊处理。
|
||||||
3. 非分享场景不传该字段即可(别传空字符串 `""`,要么不传、要么传 number)。
|
3. 非分享场景不传该字段即可(别传空字符串 `""`;要么不传,要么传字符串形式的 adminId)。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
正在加载...
x
在新工单中引用
屏蔽一个用户