fix: 前端过滤 sub_status=expired 的优惠券

yifanshang/wuxianshang/duiduipeng 三个活动页面的 fetchCoupons
在赋值前过滤掉已过期的券,作为后端的防御层
This commit is contained in:
Zuncle 2026-03-18 21:58:41 +08:00
parent bcbe7a9b29
commit 3e20dd845a
3 changed files with 3 additions and 3 deletions

View File

@ -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)

View File

@ -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)

View File

@ -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 = []
}