214 lines
4.6 KiB
Vue
214 lines
4.6 KiB
Vue
<template>
|
|
<!-- 今日推荐容器 -->
|
|
<view class="today-recommend">
|
|
<!-- 区域标题栏 -->
|
|
<view class="section-header">
|
|
<!-- 区域标题 -->
|
|
<text class="section-title">今日推荐</text>
|
|
<!-- 查看更多按钮 -->
|
|
<view class="view-more">
|
|
<text>查看更多</text>
|
|
<text class="arrow">
|
|
<uni-icons type="right" size="20" color="#94a3b8"></uni-icons>
|
|
</text>
|
|
</view>
|
|
</view>
|
|
|
|
<!-- 推荐列表 -->
|
|
<view class="recommend-list">
|
|
<!-- 推荐项 -->
|
|
<view
|
|
v-for="(item, index) in recommends"
|
|
:key="index"
|
|
class="recommend-item"
|
|
>
|
|
<!-- 推荐项图片 -->
|
|
<image :src="item.image" mode="aspectFill" class="item-image" />
|
|
<!-- 推荐项内容区域 -->
|
|
<view class="item-content">
|
|
<!-- 推荐项标题 -->
|
|
<text class="item-title">{{ item.title }}</text>
|
|
<!-- 推荐项标签列表 -->
|
|
<view class="item-tags">
|
|
<text v-for="(tag, tagIndex) in item.tags" :key="tagIndex" class="tag">{{ tag }}</text>
|
|
</view>
|
|
<!-- 推荐项描述 -->
|
|
<text class="item-desc">{{ item.desc }}</text>
|
|
</view>
|
|
<!-- 推荐项操作区域 -->
|
|
<view class="item-action">
|
|
<!-- 开始训练按钮 -->
|
|
<view class="start-btn">
|
|
<text class="start-btn-text">开始训练</text>
|
|
</view>
|
|
<!-- 参与人数 -->
|
|
<text class="participants">{{ item.participants }}人参与</text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script setup>
|
|
// 今日推荐数据列表
|
|
const recommends = [
|
|
{
|
|
image: 'https://images.unsplash.com/photo-1571019613454-1cb2f99b2d8b?w=300&q=80',
|
|
title: '晨间活力唤醒跑',
|
|
tags: ['20分钟', '初级'],
|
|
desc: '唤醒身体,开启活力一天',
|
|
participants: '2784'
|
|
},
|
|
{
|
|
image: 'https://images.unsplash.com/photo-1581009146145-b5ef050c149a?w=300&q=80',
|
|
title: '全身力量塑形',
|
|
tags: ['50分钟', '中级'],
|
|
desc: '全身综合训练,塑造完美线条',
|
|
participants: '4126'
|
|
},
|
|
{
|
|
image: 'https://images.unsplash.com/photo-1490645935967-10de6ba17061?w=300&q=80',
|
|
title: '蛋白增肌饮食指南',
|
|
tags: ['营养饮食', '12分钟'],
|
|
desc: '科学饮食搭配,助力肌肉增长',
|
|
participants: '1865'
|
|
}
|
|
]
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
/* 今日推荐容器样式 */
|
|
.today-recommend {
|
|
padding: 0 24rpx;
|
|
}
|
|
|
|
/* 区域标题栏样式 */
|
|
.section-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
margin-bottom: 24rpx;
|
|
}
|
|
|
|
/* 区域标题样式 */
|
|
.section-title {
|
|
font-size: 34rpx;
|
|
font-weight: 700;
|
|
color: #1a202c;
|
|
}
|
|
|
|
/* 查看更多按钮样式 */
|
|
.view-more {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 4rpx;
|
|
font-size: 26rpx;
|
|
color: #94a3b8;
|
|
}
|
|
|
|
/* 箭头图标样式 */
|
|
.arrow {
|
|
font-size: 32rpx;
|
|
}
|
|
|
|
/* 推荐列表样式 */
|
|
.recommend-list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 24rpx;
|
|
}
|
|
|
|
/* 推荐项卡片样式 */
|
|
.recommend-item {
|
|
display: flex;
|
|
gap: 24rpx;
|
|
background: #ffffff;
|
|
border-radius: 24rpx;
|
|
padding: 20rpx;
|
|
box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.08);
|
|
}
|
|
|
|
/* 推荐项图片样式 */
|
|
.item-image {
|
|
width: 200rpx;
|
|
height: 160rpx;
|
|
border-radius: 16rpx;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
/* 推荐项内容区域样式 */
|
|
.item-content {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
min-width: 0;
|
|
}
|
|
|
|
/* 推荐项标题样式 */
|
|
.item-title {
|
|
font-size: 30rpx;
|
|
font-weight: 600;
|
|
color: #1a202c;
|
|
margin-bottom: 12rpx;
|
|
}
|
|
|
|
/* 推荐项标签列表样式 */
|
|
.item-tags {
|
|
display: flex;
|
|
gap: 12rpx;
|
|
margin-bottom: 12rpx;
|
|
}
|
|
|
|
/* 推荐项标签样式 */
|
|
.tag {
|
|
padding: 6rpx 16rpx;
|
|
background: #f1f5f9;
|
|
border-radius: 8rpx;
|
|
font-size: 22rpx;
|
|
color: #64748b;
|
|
}
|
|
|
|
/* 推荐项描述文字样式 */
|
|
.item-desc {
|
|
font-size: 24rpx;
|
|
color: #94a3b8;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
/* 推荐项操作区域样式 */
|
|
.item-action {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: flex-end;
|
|
justify-content: center;
|
|
gap: 16rpx;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
/* 开始训练按钮样式 */
|
|
.start-btn {
|
|
padding: 16rpx 28rpx;
|
|
background: linear-gradient(135deg, #f97316 0%, #fb923c 100%);
|
|
border-radius: 9999rpx;
|
|
box-shadow: 0 4rpx 16rpx rgba(249, 115, 22, 0.4);
|
|
}
|
|
|
|
/* 开始训练按钮文字样式 */
|
|
.start-btn-text {
|
|
font-size: 24rpx;
|
|
font-weight: 600;
|
|
color: #ffffff;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
/* 参与人数文字样式 */
|
|
.participants {
|
|
font-size: 22rpx;
|
|
color: #94a3b8;
|
|
white-space: nowrap;
|
|
}
|
|
</style>
|