时里院子市集
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

/**
* 礼品卡相关类型定义
*/
/** 礼品卡类型枚举 */
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
}