@quantabit/coupon-sdk
v1.0.1
Published
QuantaBit 优惠券 SDK - 提供优惠券发放、领取、核销功能
Maintainers
Readme
@quantabit/coupon-sdk
QuantaBit 优惠券 SDK - 提供优惠券发放、领取、核销功能
📦 安装
npm install @quantabit/coupon-sdk
# 或
yarn add @quantabit/coupon-sdk🚀 快速开始
1. 引入 Provider
import { CouponProvider } from "@quantabit/coupon-sdk";
import "@quantabit/coupon-sdk/styles.css";
function App() {
return (
<CouponProvider
apiUrl="https://api.example.com/v1"
token="your-auth-token"
language="zh"
onClaim={(coupon) => console.log("领取成功:", coupon)}
>
<YourComponent />
</CouponProvider>
);
}2. 使用组件
import { CouponCard, CouponList } from '@quantabit/coupon-sdk';
// 优惠券卡片
<CouponCard
coupon={couponData}
onClaim={(coupon) => handleClaim(coupon)}
/>
// 我的优惠券列表
<CouponList
type="my"
showFilter
onUse={(coupon) => handleUse(coupon)}
/>
// 可领取优惠券列表
<CouponList
type="available"
onClaim={(coupon) => handleClaim(coupon)}
/>
// 选择优惠券(结算页面)
<CouponList
type="my"
selectable
selectedId={selectedCouponId}
onSelect={(coupon) => setSelectedCoupon(coupon)}
/>3. 使用 Hooks
import { useCoupon } from "@quantabit/coupon-sdk";
function MyComponent() {
const {
availableCoupons, // 可领取优惠券
myCoupons, // 我的优惠券
stats, // 统计(可用/已用/过期数量)
loading,
claimCoupon, // 领取优惠券
getUsableCoupons, // 获取订单可用优惠券
} = useCoupon();
return <div>...</div>;
}📚 组件列表
| 组件 | 描述 |
| ------------ | ------------------------------------- |
| CouponCard | 优惠券卡片(价值展示、领取/使用按钮) |
| CouponList | 优惠券列表,支持筛选和选择模式 |
📖 类型定义
import { CouponType, CouponStatus } from "@quantabit/coupon-sdk";
// 优惠券类型
CouponType.DISCOUNT; // 折扣券
CouponType.AMOUNT; // 满减券
CouponType.CASH; // 现金券
CouponType.GIFT; // 礼品券
CouponType.FREESHIP; // 包邮券
// 优惠券状态
CouponStatus.AVAILABLE; // 可使用
CouponStatus.USED; // 已使用
CouponStatus.EXPIRED; // 已过期
CouponStatus.LOCKED; // 已锁定🧮 优惠计算
import { calculateDiscount, isCouponUsable } from "@quantabit/coupon-sdk";
// 检查优惠券是否可用
const usable = isCouponUsable(userCoupon, orderAmount);
// 计算优惠金额
const discount = calculateDiscount(coupon, orderAmount);📄 许可证
MIT License
