chore: 同步本地首页/用户管理/CKB 与小程序接口改动
Made-with: Cursor
This commit is contained in:
@@ -67,8 +67,32 @@ function normalizeTipGifts(raw) {
|
||||
const base = DEFAULT_TIP_GIFTS
|
||||
if (!Array.isArray(raw) || raw.length === 0) return base.map((g) => ({ ...g }))
|
||||
return raw.map((row, i) => {
|
||||
const d = base[Math.min(i, base.length - 1)]
|
||||
const id = String(row.id != null ? row.id : d.id).trim() || d.id
|
||||
const dFallback = base[Math.min(i, base.length - 1)]
|
||||
const rn = String(row.name != null ? row.name : '').trim()
|
||||
let id = row.id != null ? String(row.id).trim() : ''
|
||||
let d = dFallback
|
||||
// 无 id / 空 id 时禁止按下标套默认 id:后台顺序多为「人气票、小心心、嘉年华」,下标1会变成 gift_star,
|
||||
// 导致中间显示小心心¥9.9 却带 gift_star 去支付变成¥29.8。优先按礼物名称、再按 micOrder 对齐默认档。
|
||||
if (!id) {
|
||||
const byName = rn ? base.find((g) => g.name === rn) : undefined
|
||||
if (byName) {
|
||||
d = byName
|
||||
id = byName.id
|
||||
} else {
|
||||
let mo = row.micOrder != null ? parseInt(String(row.micOrder), 10) : NaN
|
||||
if (!Number.isNaN(mo)) {
|
||||
const byOrder = base.find((g) => Number(g.micOrder) === mo)
|
||||
if (byOrder) {
|
||||
d = byOrder
|
||||
id = byOrder.id
|
||||
}
|
||||
}
|
||||
if (!id) {
|
||||
d = dFallback
|
||||
id = d.id
|
||||
}
|
||||
}
|
||||
}
|
||||
const name = String(row.name != null ? row.name : d.name).trim() || d.name
|
||||
let price = parseFloat(row.price)
|
||||
if (Number.isNaN(price) || price <= 0) price = d.price
|
||||
|
||||
Reference in New Issue
Block a user