fix: 前端过滤 sub_status=expired 的优惠券
yifanshang/wuxianshang/duiduipeng 三个活动页面的 fetchCoupons 在赋值前过滤掉已过期的券,作为后端的防御层
This commit is contained in:
parent
bcbe7a9b29
commit
3e20dd845a
@ -1502,6 +1502,7 @@ async function fetchCoupons() {
|
||||
if (Array.isArray(res)) list = res
|
||||
else if (res && Array.isArray(res.list)) list = res.list
|
||||
else if (res && Array.isArray(res.data)) list = res.data
|
||||
list = list.filter(i => i.sub_status !== 'expired')
|
||||
coupons.value = list.map((i, idx) => {
|
||||
const cents = (i.remaining !== undefined && i.remaining !== null) ? Number(i.remaining) : Number(i.amount ?? i.value ?? 0)
|
||||
const yuan = isNaN(cents) ? 0 : (cents / 100)
|
||||
|
||||
@ -307,6 +307,7 @@ async function fetchCoupons() {
|
||||
try {
|
||||
const res = await getUserCoupons(user_id, 0, 1, 100)
|
||||
let list = Array.isArray(res) ? res : (res?.list || res?.data || [])
|
||||
list = list.filter(i => i.sub_status !== 'expired')
|
||||
coupons.value = list.map((i, idx) => {
|
||||
const amountCents = i.remaining ?? i.amount ?? i.value ?? 0
|
||||
const amt = isNaN(amountCents) ? 0 : (Number(amountCents) / 100)
|
||||
|
||||
@ -624,9 +624,7 @@ async function fetchCoupons() {
|
||||
// 获取未使用(status=1)的优惠券
|
||||
const res = await getUserCoupons(userId, 1, 1, 100)
|
||||
if (res && Array.isArray(res.list)) {
|
||||
// 简单过滤:只显示未过期的(虽然接口可能已过滤)
|
||||
// TODO: 如果需要根据活动ID过滤适用券,需后端支持或在此处根据规则过滤
|
||||
paymentCoupons.value = res.list
|
||||
paymentCoupons.value = res.list.filter(c => c.sub_status !== 'expired')
|
||||
} else {
|
||||
paymentCoupons.value = []
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user