refactor(ui): 优化首页区块标题和视觉风格
- 热卖产品和热门资料区块:增加背景装饰光晕和圆角标题指示条 - 优化"查看更多"按钮样式:灰色圆角背景 + 更精致的图标 - 统一卡片阴影和边框样式,与 ProductCard 保持一致 - 增加相对定位层级,确保装饰背景不影响交互 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Showing
2 changed files
with
73 additions
and
13 deletions
| ... | @@ -5,6 +5,40 @@ | ... | @@ -5,6 +5,40 @@ |
| 5 | 5 | ||
| 6 | --- | 6 | --- |
| 7 | 7 | ||
| 8 | +## [2026-02-10] - 优化首页热卖产品板块视觉体验 | ||
| 9 | + | ||
| 10 | +### 优化 | ||
| 11 | +- **UI 升级**:将“热卖产品”板块升级为“高端专业”风格 | ||
| 12 | + - 容器:统一采用圆角卡片、自定义阴影 (`box-shadow`) 和装饰光晕 | ||
| 13 | + - 标题:增加蓝色竖条装饰,强化品牌识别度 | ||
| 14 | + - 按钮:优化“查看更多”按钮样式,改为胶囊状设计,增加交互反馈 | ||
| 15 | + | ||
| 16 | +**详细信息**: | ||
| 17 | +- **影响文件**: src/pages/index/index.vue | ||
| 18 | +- **技术栈**: Vue 3, Tailwind CSS | ||
| 19 | +- **测试状态**: 待验证 | ||
| 20 | +- **备注**: 确保首页各板块风格统一 | ||
| 21 | + | ||
| 22 | +--- | ||
| 23 | + | ||
| 24 | +## [2026-02-10] - 优化首页热门资料板块视觉体验 | ||
| 25 | + | ||
| 26 | +### 优化 | ||
| 27 | +- **UI 升级**:将“本周热门资料”板块升级为“高端专业”风格 | ||
| 28 | + - 背景:使用自定义细腻阴影 (`box-shadow`) 配合淡蓝色光晕装饰,提升视觉层次 | ||
| 29 | + - 边界:增加极淡的 `border-gray-100`,使卡片轮廓更精致 | ||
| 30 | +- **细节改进**: | ||
| 31 | + - 标题:增加蓝色竖条装饰,强化品牌识别度 | ||
| 32 | + - 按钮:优化“查看更多”按钮样式,改为胶囊状设计,增加交互反馈 | ||
| 33 | + | ||
| 34 | +**详细信息**: | ||
| 35 | +- **影响文件**: src/pages/index/index.vue | ||
| 36 | +- **技术栈**: Vue 3, Tailwind CSS | ||
| 37 | +- **测试状态**: 待验证 | ||
| 38 | +- **备注**: 与 ProductCard 风格保持统一 | ||
| 39 | + | ||
| 40 | +--- | ||
| 41 | + | ||
| 8 | ## [2026-02-10] - 优化 ProductCard 组件视觉质感 | 42 | ## [2026-02-10] - 优化 ProductCard 组件视觉质感 |
| 9 | 43 | ||
| 10 | ### 优化 | 44 | ### 优化 | ... | ... |
| ... | @@ -39,16 +39,29 @@ | ... | @@ -39,16 +39,29 @@ |
| 39 | </view> | 39 | </view> |
| 40 | 40 | ||
| 41 | <!-- Hot Products --> | 41 | <!-- Hot Products --> |
| 42 | - <view class="bg-white rounded-[32rpx] shadow-sm p-[32rpx] mb-[24rpx]"> | 42 | + <view class="relative bg-white rounded-[32rpx] p-[32rpx] mb-[24rpx] border border-gray-100 overflow-hidden" style="box-shadow: 0 8rpx 30rpx rgba(0, 0, 0, 0.04);"> |
| 43 | - <view class="flex justify-between items-center mb-[24rpx]"> | 43 | + <!-- 背景装饰 --> |
| 44 | - <text class="text-gray-900 text-[32rpx] font-bold">热卖产品</text> | 44 | + <view class="absolute -right-[60rpx] -top-[60rpx] w-[200rpx] h-[200rpx] bg-blue-50 rounded-full opacity-40 blur-[40rpx] pointer-events-none"></view> |
| 45 | - <view class="flex items-center text-blue-600" @tap="go('/pages/product-center/index')"> | 45 | + |
| 46 | - <text class="text-[26rpx] mr-[4rpx]">查看更多</text> | 46 | + <view class="relative z-10 flex justify-between items-center mb-[32rpx]"> |
| 47 | - <IconFont name="rectRight" size="12" /> | 47 | + <!-- 标题带装饰 --> |
| 48 | + <view class="flex items-center"> | ||
| 49 | + <view class="w-[8rpx] h-[32rpx] bg-blue-600 rounded-full mr-[16rpx]"></view> | ||
| 50 | + <text class="text-gray-900 text-[34rpx] font-bold tracking-tight">热卖产品</text> | ||
| 51 | + </view> | ||
| 52 | + | ||
| 53 | + <!-- 查看更多按钮优化 --> | ||
| 54 | + <view | ||
| 55 | + class="flex items-center bg-gray-50 hover:bg-gray-100 active:bg-gray-200 px-[20rpx] py-[10rpx] rounded-full transition-colors" | ||
| 56 | + @tap="go('/pages/product-center/index')" | ||
| 57 | + > | ||
| 58 | + <text class="text-[24rpx] text-gray-600 mr-[4rpx] font-medium">全部</text> | ||
| 59 | + <IconFont name="rectRight" size="10" class="text-gray-400" /> | ||
| 48 | </view> | 60 | </view> |
| 49 | </view> | 61 | </view> |
| 50 | 62 | ||
| 51 | <!-- 动态产品列表 --> | 63 | <!-- 动态产品列表 --> |
| 64 | + <view class="relative z-10"> | ||
| 52 | <ProductCard | 65 | <ProductCard |
| 53 | v-for="(product, index) in hotProducts" | 66 | v-for="(product, index) in hotProducts" |
| 54 | :key="product.id" | 67 | :key="product.id" |
| ... | @@ -60,19 +73,32 @@ | ... | @@ -60,19 +73,32 @@ |
| 60 | @plan="openPlanPopup" | 73 | @plan="openPlanPopup" |
| 61 | /> | 74 | /> |
| 62 | </view> | 75 | </view> |
| 76 | + </view> | ||
| 63 | 77 | ||
| 64 | <!-- Hot Materials --> | 78 | <!-- Hot Materials --> |
| 65 | - <view v-if="hotMaterials.length > 0" class="bg-white rounded-[32rpx] shadow-md p-[32rpx] mb-[48rpx]"> | 79 | + <view v-if="hotMaterials.length > 0" class="relative bg-white rounded-[32rpx] p-[32rpx] mb-[48rpx] border border-gray-100 overflow-hidden" style="box-shadow: 0 8rpx 30rpx rgba(0, 0, 0, 0.04);"> |
| 66 | - <view class="flex justify-between items-center mb-[24rpx]"> | 80 | + <!-- 背景装饰 --> |
| 67 | - <text class="text-gray-900 text-[32rpx] font-bold">本周热门资料</text> | 81 | + <view class="absolute -right-[60rpx] -top-[60rpx] w-[200rpx] h-[200rpx] bg-blue-50 rounded-full opacity-40 blur-[40rpx] pointer-events-none"></view> |
| 68 | - <view class="flex items-center text-blue-600" @tap="go('/pages/week-hot-material/index')"> | 82 | + |
| 69 | - <text class="text-[26rpx] mr-[4rpx]">查看更多</text> | 83 | + <view class="relative z-10 flex justify-between items-center mb-[32rpx]"> |
| 70 | - <IconFont name="rectRight" size="12" /> | 84 | + <!-- 标题带装饰 --> |
| 85 | + <view class="flex items-center"> | ||
| 86 | + <view class="w-[8rpx] h-[32rpx] bg-blue-600 rounded-full mr-[16rpx]"></view> | ||
| 87 | + <text class="text-gray-900 text-[34rpx] font-bold tracking-tight">本周热门资料</text> | ||
| 88 | + </view> | ||
| 89 | + | ||
| 90 | + <!-- 查看更多按钮优化 --> | ||
| 91 | + <view | ||
| 92 | + class="flex items-center bg-gray-50 hover:bg-gray-100 active:bg-gray-200 px-[20rpx] py-[10rpx] rounded-full transition-colors" | ||
| 93 | + @tap="go('/pages/week-hot-material/index')" | ||
| 94 | + > | ||
| 95 | + <text class="text-[24rpx] text-gray-600 mr-[4rpx] font-medium">全部</text> | ||
| 96 | + <IconFont name="rectRight" size="10" class="text-gray-400" /> | ||
| 71 | </view> | 97 | </view> |
| 72 | </view> | 98 | </view> |
| 73 | 99 | ||
| 74 | <!-- Material List --> | 100 | <!-- Material List --> |
| 75 | - <view class="flex flex-col gap-[24rpx]"> | 101 | + <view class="relative z-10 flex flex-col gap-[24rpx]"> |
| 76 | <!-- Material Items --> | 102 | <!-- Material Items --> |
| 77 | <MaterialCard | 103 | <MaterialCard |
| 78 | v-for="item in hotMaterials" | 104 | v-for="item in hotMaterials" | ... | ... |
-
Please register or login to post a comment