优惠券选择功能测试示例

演示优惠券选择功能的不同调用模式和参数配置

说明:此页面为功能演示,实际使用时需要在FastAdmin后台环境中调用相应的API接口。

1. 单选模式(默认模式)

单选模式下,用户点击优惠券行的"选择"按钮即可直接选择该优惠券并关闭弹窗。这是优惠券选择的默认模式。

调用代码:

// 基础单选(默认)
Fast.api.open('shop/coupon/select', '选择优惠券');

// 明确指定单选模式
Fast.api.open('shop/coupon/select?selectMode=single', '选择优惠券');

2. 多选模式

多选模式下,用户可以选择多个优惠券,绿色按钮表示可选择,红色按钮表示已选择,最后需要点击"确认选择"按钮完成操作。

调用代码:

// 基础多选(无数量限制)
Fast.api.open('shop/coupon/select?selectMode=multiple', '选择优惠券');

// 限制最多选择3个
Fast.api.open('shop/coupon/select?selectMode=multiple&maxSelect=3', '选择优惠券');

// 限制最多选择5个
Fast.api.open('shop/coupon/select?selectMode=multiple&maxSelect=5', '选择优惠券');

3. 优惠券状态检查

系统自动检查优惠券的可用状态,不可用的优惠券将显示为灰色按钮且不能点击。

状态检查规则:
expired = true - 优惠券已过期
is_open != 1 - 优惠券已停用
优惠券状态 按钮颜色 是否可选 提示信息
正常(未过期且开启) 蓝色(单选)/ 绿色(多选) ✓ 可选 点击选择该优惠券
已过期 灰色 ✗ 不可选 优惠券不可用
已停用 灰色 ✗ 不可选 优惠券不可用

4. 优惠券信息显示

优惠券选择界面显示完整的优惠券信息,便于用户做出准确的选择。

显示列 内容说明 示例
优惠券信息 名称、使用条件、时间信息 新用户专享券
满100元,减20元
领取: 2024-01-01 | 使用: 30天
使用条件 使用条件描述 新用户专享
发放/已领 发放数量和已领取数量 发放: 1000
已领: 256
状态 优惠券当前状态 正常 / 已过期 / 停用
选择 选择操作按钮 选择 / 操作

5. 回调数据格式

选择完成后,回调函数会返回选中的优惠券数据数组。

回调函数示例:

Fast.api.open('shop/coupon/select?selectMode=multiple', '选择优惠券', {
    callback: function(data) {
        console.log('选中的优惠券:', data);
        // data是数组,包含选中的优惠券对象
        data.forEach(function(coupon) {
            console.log('优惠券ID:', coupon.id);
            console.log('优惠券名称:', coupon.name);
            console.log('使用条件:', coupon.condition_name);
            console.log('结果数据:', coupon.result_data);
        });
    }
});

优惠券对象结构:

{
    "id": 1,
    "name": "新用户专享券",
    "condition_name": "新用户专享",
    "result": 1,
    "result_data": {
        "money": "100.00",
        "number": "20.00"
    },
    "give_num": 1000,
    "received_num": 256,
    "is_open": 1,
    "expired": false,
    "receive_times": "2024-01-01 - 2024-12-31",
    "use_times": "30",
    "mode": "fixation"
}