import React from 'react'; import { View, Text } from '@tarojs/components'; import type { PointsProduct } from '@/services/points'; import './index.scss'; interface ProductCardProps { product: PointsProduct; onPress?: (product: PointsProduct) => void; } const TYPE_BG_CLASS: Record = { physical: 'product-card__thumb--physical', service: 'product-card__thumb--service', privilege: 'product-card__thumb--privilege', }; const TYPE_LABELS: Record = { physical: '实物', service: '服务券', privilege: '权益', }; const ProductCard: React.FC = ({ product, onPress }) => { const isSoldOut = product.stock <= 0; const isLowStock = product.stock > 0 && product.stock <= 10; return ( onPress?.(product)} > {TYPE_LABELS[product.product_type] || '商品'} {isSoldOut && ( 已兑完 )} {product.name} {product.points_cost} 积分 {isLowStock && ( 仅剩{product.stock}件 )} ); }; export default React.memo(ProductCard);