会员个人中心页面初步完成

This commit is contained in:
时舟年
2026-06-04 14:18:53 +08:00
committed by liwentao
parent 1fa2fbd3f3
commit a0026b1da5
170 changed files with 18092 additions and 35 deletions
+109
View File
@@ -0,0 +1,109 @@
<template>
<view class="tab-page">
<view class="tab-page__header">
<text class="tab-page__title">训练</text>
<text class="tab-page__subtitle">记录每一次进步</text>
</view>
<view class="train-cards">
<view class="train-card" hover-class="train-card--hover" @tap="goTrainReport">
<text class="train-card__title">训练报告</text>
<text class="train-card__desc">查看本周/本月运动数据与趋势</text>
</view>
<view class="train-card" hover-class="train-card--hover" @tap="goBodyTest">
<text class="train-card__title">智能体测</text>
<text class="train-card__desc">连接设备获取专业体测报告</text>
</view>
<view class="train-card" hover-class="train-card--hover" @tap="goBodyHistory">
<text class="train-card__title">体测报告</text>
<text class="train-card__desc">历史记录与对比分析</text>
</view>
<view class="train-card" hover-class="train-card--hover" @tap="goCheckIn">
<text class="train-card__title">签到记录</text>
<text class="train-card__desc">到店打卡与训练频次</text>
</view>
</view>
<view class="bottom-placeholder"></view>
<TabBar :active="2" />
</view>
</template>
<script setup>
import TabBar from '@/components/TabBar.vue'
import { PAGE, navigateToPage } from '@/common/constants/routes.js'
function goTrainReport() {
navigateToPage(PAGE.TRAIN_REPORT)
}
function goBodyTest() {
navigateToPage(PAGE.BODY_TEST_HOME)
}
function goBodyHistory() {
navigateToPage(PAGE.BODY_TEST_HISTORY)
}
function goCheckIn() {
navigateToPage(PAGE.CHECK_IN_HISTORY)
}
</script>
<style lang="scss" scoped>
.tab-page {
min-height: 100vh;
background-color: #f0f4f8;
padding-bottom: 160rpx;
}
.tab-page__header {
padding: 48rpx 32rpx 16rpx;
}
.tab-page__title {
display: block;
font-size: 40rpx;
font-weight: 700;
color: #1a202c;
}
.tab-page__subtitle {
display: block;
margin-top: 8rpx;
font-size: 24rpx;
color: #64748b;
}
.train-cards {
display: flex;
flex-direction: column;
gap: 20rpx;
padding: 24rpx 32rpx;
}
.train-card {
padding: 28rpx 32rpx;
border-radius: 24rpx;
background: #fff;
box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.06);
}
.train-card__title {
display: block;
font-size: 30rpx;
font-weight: 700;
color: #1e2a3a;
}
.train-card__desc {
display: block;
margin-top: 8rpx;
font-size: 24rpx;
color: #64748b;
}
.bottom-placeholder {
height: 40rpx;
}
</style>