mirror of
https://gitee.com/beijing_hongye_huicheng/lilishop-uniapp.git
synced 2026-08-06 02:47:25 +08:00
refactor: 优化促销商品列表和电子卡券逻辑
- 更新促销商品列表组件,简化商品详情页跳转逻辑 - 移除不必要的礼品卡相关状态管理,确保电子卡券逻辑的清晰性 - 调整 utils/goodsType.js 中的卡密处理函数,专注于当前订单的卡密履约行 - 优化订单详情页的卡密展示逻辑,确保信息准确性
This commit is contained in:
@@ -115,20 +115,16 @@ function normalizeCardKeyFulfillLine(source) {
|
||||
status,
|
||||
message: source.cardKeyFulfillMessage,
|
||||
cardKeys,
|
||||
isGift: !!source.isGift,
|
||||
}
|
||||
}
|
||||
|
||||
/** 汇总 E_COUPON 主单行 + 满赠子单摘要的履约行 */
|
||||
export function collectCardKeyFulfillLines(orderItems = [], giftSummaries = []) {
|
||||
/** 汇总当前订单 orderItems 的卡密履约行(仅本单;满赠赠品在赠品订单单独查看) */
|
||||
export function collectCardKeyFulfillLines(orderItems = []) {
|
||||
const lines = []
|
||||
;(orderItems || []).forEach((item) => {
|
||||
if (!isCardKeyFulfillApplicable(item)) return
|
||||
lines.push(normalizeCardKeyFulfillLine(item))
|
||||
})
|
||||
;(giftSummaries || []).forEach((gift) => {
|
||||
lines.push(normalizeCardKeyFulfillLine({ ...gift, isGift: true }))
|
||||
})
|
||||
return lines
|
||||
}
|
||||
|
||||
@@ -143,19 +139,15 @@ function flattenCardKeyFulfillLines(lines, withGoodsName = false) {
|
||||
return rows
|
||||
}
|
||||
|
||||
/** 订单是否含已交付卡密(含满赠 E_COUPON 子单) */
|
||||
export function orderHasCardKeyContent(orderItems, giftSummaries) {
|
||||
const lines = collectCardKeyFulfillLines(orderItems, giftSummaries)
|
||||
/** 当前订单是否含已交付卡密(仅 orderItems) */
|
||||
export function orderHasCardKeyContent(orderItems) {
|
||||
const lines = collectCardKeyFulfillLines(orderItems)
|
||||
return flattenCardKeyFulfillLines(lines).length > 0
|
||||
}
|
||||
|
||||
/** 将 orderItems[].cardKeys 展平为明文列表(DELIVERED 且含 cardSecret) */
|
||||
export function flattenOrderCardKeys(
|
||||
orderItems,
|
||||
withGoodsName = false,
|
||||
giftSummaries
|
||||
) {
|
||||
const lines = collectCardKeyFulfillLines(orderItems, giftSummaries)
|
||||
export function flattenOrderCardKeys(orderItems, withGoodsName = false) {
|
||||
const lines = collectCardKeyFulfillLines(orderItems)
|
||||
if (lines.some((line) => line.status)) {
|
||||
return flattenCardKeyFulfillLines(lines, withGoodsName)
|
||||
}
|
||||
@@ -168,8 +160,3 @@ export function flattenOrderCardKeys(
|
||||
})
|
||||
return rows
|
||||
}
|
||||
|
||||
/** 是否已发卡(兼容旧调用;含满赠子单) */
|
||||
export function isCardKeyDelivered(orderItems, giftSummaries) {
|
||||
return orderHasCardKeyContent(orderItems, giftSummaries)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user