mirror of
https://gitee.com/beijing_hongye_huicheng/lilishop-uniapp.git
synced 2026-08-06 02:47:25 +08:00
feat: 增加礼品卡选择功能及相关逻辑
- 在 api/trade.js 中新增 selectGiftCard 函数以支持礼品卡选择 - 更新多个组件以集成礼品卡功能,包括购物车和订单页面 - 优化商品页面和订单详情展示,支持礼品卡抵扣信息 - 调整相关逻辑以确保礼品卡与其他促销活动的兼容性
This commit is contained in:
@@ -4,15 +4,16 @@
|
||||
*
|
||||
* 卡密商品(电子卡券 E_COUPON)类型与订单工具。
|
||||
*
|
||||
* 与 VIRTUAL_GOODS / VIRTUAL 核销商品区分:E_COUPON 走 BUY_NOW、支付后 COMPLETED + cardKeys,
|
||||
* 不支持加购、促销与买家售后。需求见 lilishop/docs/requirements/card-key-goods-v4.md
|
||||
* 与 VIRTUAL_GOODS / VIRTUAL 核销商品区分:E_COUPON 走 BUY_NOW/PINTUAN/POINTS/KANJIA,
|
||||
* 支付后 COMPLETED + cardKeys;禁加购、免地址;M-02 支持全量促销;不支持买家售后。
|
||||
* 需求见 lilishop/docs/requirements/card-key-goods-v4.md
|
||||
*/
|
||||
export const E_COUPON_GOODS_TYPE = 'E_COUPON'
|
||||
export const E_COUPON_ORDER_TYPE = 'E_COUPON'
|
||||
export const VIRTUAL_GOODS_TYPE = 'VIRTUAL_GOODS'
|
||||
export const VIRTUAL_ORDER_TYPE = 'VIRTUAL'
|
||||
|
||||
/** 单次购买数量上限(O-09 默认:min(poolStock, 999)) */
|
||||
/** 单次购买数量上限(O-09 默认:min(quantity, 999)) */
|
||||
export const E_COUPON_MAX_BUY_NUM = 999
|
||||
|
||||
export function isECoupon(goodsType) {
|
||||
@@ -40,13 +41,9 @@ export function isNonPhysicalOrder(orderType) {
|
||||
return isECouponOrder(orderType) || isVirtualOrder(orderType)
|
||||
}
|
||||
|
||||
/** 可售库存:E_COUPON 以卡池 poolStock 为准,quantity 仅为镜像回退 */
|
||||
/** 可售库存:E_COUPON 读 SKU quantity(由卡池 syncSkuStock 同步) */
|
||||
export function getECouponStock(sku) {
|
||||
if (!sku) return 0
|
||||
const pool = sku.poolStock
|
||||
if (pool !== undefined && pool !== null) {
|
||||
return Number(pool) || 0
|
||||
}
|
||||
return Number(sku.quantity) || 0
|
||||
}
|
||||
|
||||
@@ -57,7 +54,7 @@ export function getECouponMaxBuyNum(sku) {
|
||||
}
|
||||
|
||||
/**
|
||||
* 结算页识别当前交易是否含 E_COUPON SKU。
|
||||
* 结算页识别当前交易是否含 E_COUPON SKU(用于免地址/免配送,不用于促销屏蔽)。
|
||||
* 须从 goodsSku.goodsType 判断,不能依赖 cartTypeEnum=VIRTUAL(E_COUPON 仍是 BUY_NOW)。
|
||||
*/
|
||||
export function hasECouponInCheckout(orderMessage) {
|
||||
|
||||
Reference in New Issue
Block a user