You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
202 lines
4.0 KiB
202 lines
4.0 KiB
/**
|
|
* 礼品卡相关类型定义
|
|
*/
|
|
|
|
/** 礼品卡类型枚举 */
|
|
export enum GiftCardType {
|
|
/** 实物礼品卡 */
|
|
PHYSICAL = 10,
|
|
/** 虚拟礼品卡 */
|
|
VIRTUAL = 20,
|
|
/** 服务礼品卡 */
|
|
SERVICE = 30
|
|
}
|
|
|
|
/** 状态枚举 */
|
|
export enum GiftStatus {
|
|
/** 未使用 */
|
|
UNUSED = 0,
|
|
/** 已使用 */
|
|
USED = 1,
|
|
/** 失效 */
|
|
INVALID = 2
|
|
}
|
|
|
|
/** 优惠类型枚举 */
|
|
export enum PromotionType {
|
|
/** 折扣 */
|
|
DISCOUNT = 'discount',
|
|
/** 赠品 */
|
|
GIFT = 'gift',
|
|
/** 返现 */
|
|
CASHBACK = 'cashback'
|
|
}
|
|
|
|
/** 卡片主题枚举 */
|
|
export enum CardTheme {
|
|
GOLD = 'gold',
|
|
SILVER = 'silver',
|
|
BRONZE = 'bronze',
|
|
BLUE = 'blue',
|
|
GREEN = 'green',
|
|
PURPLE = 'purple'
|
|
}
|
|
|
|
/** 商品信息接口 */
|
|
export interface GoodsInfo {
|
|
/** 商品品牌 */
|
|
brand?: string
|
|
/** 商品规格 */
|
|
specification?: string
|
|
/** 商品分类 */
|
|
category?: string
|
|
/** 库存数量 */
|
|
stock?: number
|
|
/** 商品评分 */
|
|
rating?: number
|
|
/** 评价数量 */
|
|
reviewCount?: number
|
|
/** 商品标签 */
|
|
tags?: string[]
|
|
/** 使用说明 */
|
|
instructions?: string[]
|
|
/** 注意事项 */
|
|
notices?: string[]
|
|
/** 适用门店 */
|
|
applicableStores?: string[]
|
|
}
|
|
|
|
/** 优惠信息接口 */
|
|
export interface PromotionInfo {
|
|
/** 优惠类型 */
|
|
type?: PromotionType
|
|
/** 优惠描述 */
|
|
description?: string
|
|
/** 优惠金额 */
|
|
amount?: string
|
|
/** 优惠有效期 */
|
|
validUntil?: string
|
|
}
|
|
|
|
/** 礼品卡数据接口 */
|
|
export interface GiftCardData {
|
|
/** 礼品卡ID */
|
|
id: number
|
|
/** 礼品卡名称 */
|
|
name: string
|
|
/** 商品名称 */
|
|
goodsName?: string
|
|
/** 礼品卡描述 */
|
|
description?: string
|
|
/** 礼品卡兑换码 */
|
|
code?: string
|
|
/** 商品图片 */
|
|
goodsImage?: string
|
|
/** 商品图片列表 */
|
|
goodsImages?: string[]
|
|
/** 礼品卡面值 */
|
|
faceValue?: string
|
|
/** 商品原价 */
|
|
originalPrice?: string
|
|
/** 礼品卡类型 */
|
|
type?: GiftCardType
|
|
/** 状态 */
|
|
status?: GiftStatus
|
|
/** 过期时间 */
|
|
expireTime?: string
|
|
/** 使用时间 */
|
|
useTime?: string
|
|
/** 使用地址 */
|
|
useLocation?: string
|
|
/** 客服联系方式 */
|
|
contactInfo?: string
|
|
/** 商品信息 */
|
|
goodsInfo?: GoodsInfo
|
|
/** 优惠信息 */
|
|
promotionInfo?: PromotionInfo
|
|
}
|
|
|
|
/** 礼品卡组件配置接口 */
|
|
export interface GiftCardConfig {
|
|
/** 是否显示兑换码 */
|
|
showCode?: boolean
|
|
/** 是否显示使用按钮 */
|
|
showUseBtn?: boolean
|
|
/** 是否显示详情按钮 */
|
|
showDetailBtn?: boolean
|
|
/** 是否显示商品详情 */
|
|
showGoodsDetail?: boolean
|
|
/** 卡片主题色 */
|
|
theme?: CardTheme
|
|
}
|
|
|
|
/** 礼品卡事件接口 */
|
|
export interface GiftCardEvents {
|
|
/** 使用按钮点击事件 */
|
|
onUse?: () => void
|
|
/** 详情按钮点击事件 */
|
|
onDetail?: () => void
|
|
/** 卡片点击事件 */
|
|
onClick?: () => void
|
|
}
|
|
|
|
/** 完整的礼品卡属性接口 */
|
|
export interface GiftCardProps extends GiftCardData, GiftCardConfig, GiftCardEvents {}
|
|
|
|
/** 礼品卡列表项接口 */
|
|
export interface GiftCardListItem extends GiftCardData {
|
|
/** 是否选中 */
|
|
selected?: boolean
|
|
/** 是否禁用 */
|
|
disabled?: boolean
|
|
}
|
|
|
|
/** 礼品卡筛选条件接口 */
|
|
export interface GiftCardFilter {
|
|
/** 类型筛选 */
|
|
type?: GiftCardType[]
|
|
/** 状态筛选 */
|
|
status?: GiftStatus[]
|
|
/** 品牌筛选 */
|
|
brand?: string[]
|
|
/** 分类筛选 */
|
|
category?: string[]
|
|
/** 价格范围 */
|
|
priceRange?: {
|
|
min?: number
|
|
max?: number
|
|
}
|
|
/** 评分范围 */
|
|
ratingRange?: {
|
|
min?: number
|
|
max?: number
|
|
}
|
|
/** 是否有库存 */
|
|
inStock?: boolean
|
|
/** 关键词搜索 */
|
|
keyword?: string
|
|
}
|
|
|
|
/** 礼品卡排序选项接口 */
|
|
export interface GiftCardSort {
|
|
/** 排序字段 */
|
|
field: 'price' | 'rating' | 'reviewCount' | 'expireTime' | 'createTime'
|
|
/** 排序方向 */
|
|
order: 'asc' | 'desc'
|
|
}
|
|
|
|
/** API响应接口 */
|
|
export interface GiftCardApiResponse {
|
|
/** 状态码 */
|
|
code: number
|
|
/** 响应消息 */
|
|
message: string
|
|
/** 数据 */
|
|
data: GiftCardData[]
|
|
/** 总数 */
|
|
total?: number
|
|
/** 当前页 */
|
|
page?: number
|
|
/** 每页数量 */
|
|
pageSize?: number
|
|
}
|