# GiftCard 礼品卡组件 一个功能丰富、设计精美的礼品卡组件,支持多种类型的礼品卡展示和交互。 ## 功能特性 ### 🎨 视觉设计 - **多主题支持**:金色、银色、铜色、蓝色、绿色、紫色六种主题 - **响应式设计**:适配不同屏幕尺寸 - **状态指示**:清晰的可用、已使用、已过期状态展示 - **折扣标识**:自动计算并显示折扣百分比 ### 🖼️ 图片展示 - **单图模式**:支持单张商品图片展示 - **轮播模式**:支持多张图片轮播展示 - **自适应尺寸**:图片自动适配容器大小 ### 💰 价格信息 - **面值显示**:突出显示礼品卡面值 - **原价对比**:显示原价和折扣信息 - **优惠活动**:展示当前优惠活动信息 ### ⭐ 商品详情 - **品牌分类**:显示商品品牌和分类信息 - **评分评价**:展示用户评分和评价数量 - **规格库存**:显示商品规格和库存状态 - **商品标签**:支持多个商品特色标签 ### 📋 使用指南 - **使用说明**:详细的使用步骤说明 - **注意事项**:重要的使用注意事项 - **适用门店**:显示可使用的门店列表 ### 🔧 交互功能 - **兑换码展示**:支持兑换码的显示和隐藏 - **操作按钮**:使用、详情等操作按钮 - **点击事件**:支持整卡点击事件 ## 使用方法 ### 基础用法 ```tsx import GiftCard from '@/components/GiftCard' const MyComponent = () => { return ( console.log('使用礼品卡')} /> ) } ``` ### 完整功能展示 ```tsx import GiftCard from '@/components/GiftCard' const FullFeatureCard = () => { const cardData = { id: 1, name: '星巴克咖啡礼品卡', description: '享受醇香咖啡时光,适用于全国星巴克门店', code: 'SB2024001234567890', goodsImages: [ 'https://example.com/image1.jpg', 'https://example.com/image2.jpg' ], faceValue: '100', originalPrice: '120', type: 20, useStatus: 0, expireTime: '2024-12-31 23:59:59', goodsInfo: { brand: '星巴克', category: '餐饮美食', rating: 4.8, reviewCount: 1256, tags: ['热门', '全国通用'], instructions: [ '出示兑换码至门店收银台即可使用', '可用于购买任意饮品和食品' ], notices: [ '礼品卡一经售出,不可退换', '请妥善保管兑换码' ], applicableStores: ['全国星巴克门店', '机场店'] }, promotionInfo: { type: 'discount', description: '限时优惠:满100减20', validUntil: '2024-09-30 23:59:59' }, showCode: true, showUseBtn: true, showGoodsDetail: true, theme: 'green' } return ( console.log('使用')} onDetail={() => console.log('详情')} onClick={() => console.log('点击')} /> ) } ``` ## 属性说明 ### 基础属性 | 属性 | 类型 | 默认值 | 说明 | |------|------|--------|------| | id | number | - | 礼品卡ID | | name | string | - | 礼品卡名称 | | description | string | - | 礼品卡描述 | | faceValue | string | - | 礼品卡面值 | | type | number | 10 | 类型:10-实物 20-虚拟 30-服务 | | useStatus | number | 0 | 状态:0-可用 1-已使用 2-已过期 | | theme | string | 'gold' | 主题色 | ### 商品信息 | 属性 | 类型 | 说明 | |------|------|------| | goodsInfo.brand | string | 商品品牌 | | goodsInfo.category | string | 商品分类 | | goodsInfo.rating | number | 商品评分 | | goodsInfo.reviewCount | number | 评价数量 | | goodsInfo.tags | string[] | 商品标签 | | goodsInfo.instructions | string[] | 使用说明 | | goodsInfo.notices | string[] | 注意事项 | ### 事件回调 | 事件 | 类型 | 说明 | |------|------|------| | onUse | () => void | 使用按钮点击 | | onDetail | () => void | 详情按钮点击 | | onClick | () => void | 卡片点击 | ## 主题配置 组件支持6种预设主题: - `gold` - 金色主题(默认) - `silver` - 银色主题 - `bronze` - 铜色主题 - `blue` - 蓝色主题 - `green` - 绿色主题 - `purple` - 紫色主题 ## 样式定制 可以通过覆盖CSS类名来自定义样式: ```scss .gift-card { // 自定义卡片样式 } .gift-card-gold { // 自定义金色主题 } ``` ## 注意事项 1. 确保传入的图片URL有效且可访问 2. 价格相关字段建议使用字符串类型,避免精度问题 3. 时间字段请使用标准的日期时间格式 4. 商品标签数量建议控制在5个以内,避免布局混乱 5. 使用说明和注意事项条目建议简洁明了