feat(user): 完善提现规则展示与秒杀购买交互
- 新增提现规则卡片,展示提现额度、最低提现、单次限额、每日限额、每日提现次数、提现时间、到账时间、手续费等 - 添加提现规则说明文字,提示审核时间、提现次数限制、金额范围和提现时间段 - 优化秒杀详情和秒杀页面购买按钮交互,增加秒杀状态提示(未开始、已结束、已抢光) - 统一秒杀购买事件处理函数名为 handleBuyClick,取消按钮条件绑定,增强点击响应体验 - 新增提现规则相关样式,确保提现规则卡和说明区块视觉效果一致
This commit is contained in:
@@ -91,14 +91,26 @@ const SeckillDetailPage: React.FC = () => {
|
||||
setCountdown(`${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`)
|
||||
}
|
||||
|
||||
const handleBuyNow = () => {
|
||||
const handleBuyClick = () => {
|
||||
if (!seckill) return
|
||||
|
||||
if (seckill.stock <= 0) {
|
||||
Taro.showToast({ title: '已抢光', icon: 'none' })
|
||||
if (seckill.status === 0) {
|
||||
Taro.showToast({ title: '活动尚未开始,请耐心等待', icon: 'none' })
|
||||
return
|
||||
}
|
||||
|
||||
if (seckill.status === 2 || new Date(seckill.endTime).getTime() <= Date.now()) {
|
||||
Taro.showToast({ title: '活动已结束,下次再来', icon: 'none' })
|
||||
return
|
||||
}
|
||||
|
||||
if (seckill.stock <= 0) {
|
||||
Taro.showToast({ title: '已抢光,下次再来', icon: 'none' })
|
||||
return
|
||||
}
|
||||
|
||||
if (submitting) return
|
||||
|
||||
// 先拉取商品规格(如果没有的话)
|
||||
if (!product && seckill.goodsId) {
|
||||
Taro.showLoading({ title: '加载规格...' })
|
||||
@@ -255,8 +267,11 @@ const SeckillDetailPage: React.FC = () => {
|
||||
<View className="bg-white border-t border-gray-100 px-4 py-3">
|
||||
<View
|
||||
className="w-full py-3 rounded-full text-white text-center text-base font-medium"
|
||||
style={{ backgroundColor: isActive ? '#ef4444' : '#d1d5db' }}
|
||||
onClick={isActive && !submitting ? handleBuyNow : undefined}
|
||||
style={{
|
||||
backgroundColor: isActive && !submitting ? '#ef4444' : '#d1d5db',
|
||||
opacity: submitting ? 0.7 : 1,
|
||||
}}
|
||||
onClick={handleBuyClick}
|
||||
>
|
||||
<Text>
|
||||
{submitting ? '抢购中...' : isActive ? (seckill.stock > 0 ? '立即抢购' : '已抢光') : seckill.status === 0 ? '即将开始' : '已结束'}
|
||||
|
||||
Reference in New Issue
Block a user