39 lines
1003 B
JavaScript
39 lines
1003 B
JavaScript
/**
|
||
* 印花优惠券兑换状态解析工具
|
||
* 根据优惠券的redeemed状态和用户会员状态,返回兑换按钮的显示状态
|
||
*/
|
||
|
||
/**
|
||
* 解析印花优惠券兑换按钮状态
|
||
* @param {object} params
|
||
* @param {boolean} params.redeemed - 是否已兑换
|
||
* @param {boolean} params.isMember - 用户是否为会员
|
||
* @returns {{ label: string, disabled: boolean, action: 'redeem' | 'goMembership' | 'none' }}
|
||
*/
|
||
export function resolveStampRedeemButton({ redeemed, isMember }) {
|
||
// 已兑换:灰色不可点击,显示"已兑换"(需求6.6)
|
||
if (redeemed) {
|
||
return {
|
||
label: 'redeemedBtn',
|
||
disabled: true,
|
||
action: 'none'
|
||
}
|
||
}
|
||
|
||
// 未兑换 + 非会员:点击跳转会员页(需求6.4)
|
||
if (!isMember) {
|
||
return {
|
||
label: 'redeemBtn',
|
||
disabled: false,
|
||
action: 'goMembership'
|
||
}
|
||
}
|
||
|
||
// 未兑换 + 会员:可兑换(需求6.3)
|
||
return {
|
||
label: 'redeemBtn',
|
||
disabled: false,
|
||
action: 'redeem'
|
||
}
|
||
}
|