From 18afba01ec7590aa168fbdac124a06babf3926ba Mon Sep 17 00:00:00 2001 From: zhangyibo95 <690096405@qq.com> Date: Tue, 26 May 2026 11:38:49 +0800 Subject: [PATCH] =?UTF-8?q?update:=E6=96=B0=E5=A2=9E=E5=9F=BA=E7=A1=80?= =?UTF-8?q?=E8=AE=AD=E7=BB=83=E5=85=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../training/TrainingDifficultyBadge.vue | 327 ------------------ .../TrainingDifficultyPreviewCard.vue | 86 ----- .../TrainingDifficultyStartButton.vue | 81 ----- src/pages/training/index.vue | 61 +++- 4 files changed, 42 insertions(+), 513 deletions(-) delete mode 100644 src/components/training/TrainingDifficultyBadge.vue delete mode 100644 src/components/training/TrainingDifficultyPreviewCard.vue delete mode 100644 src/components/training/TrainingDifficultyStartButton.vue diff --git a/src/components/training/TrainingDifficultyBadge.vue b/src/components/training/TrainingDifficultyBadge.vue deleted file mode 100644 index 01ee967..0000000 --- a/src/components/training/TrainingDifficultyBadge.vue +++ /dev/null @@ -1,327 +0,0 @@ - - - - - diff --git a/src/components/training/TrainingDifficultyPreviewCard.vue b/src/components/training/TrainingDifficultyPreviewCard.vue deleted file mode 100644 index d8fa3a8..0000000 --- a/src/components/training/TrainingDifficultyPreviewCard.vue +++ /dev/null @@ -1,86 +0,0 @@ - - - - - diff --git a/src/components/training/TrainingDifficultyStartButton.vue b/src/components/training/TrainingDifficultyStartButton.vue deleted file mode 100644 index 536c34f..0000000 --- a/src/components/training/TrainingDifficultyStartButton.vue +++ /dev/null @@ -1,81 +0,0 @@ - - - - - diff --git a/src/pages/training/index.vue b/src/pages/training/index.vue index c09441a..2440a50 100644 --- a/src/pages/training/index.vue +++ b/src/pages/training/index.vue @@ -2,6 +2,7 @@ import { nextTick, onMounted, ref } from "vue"; import { onShow } from "@dcloudio/uni-app"; import Container from "@/components/Container.vue"; +import TargetPicker from "@/components/TargetPicker.vue"; import { getPersonalTrainingAPI } from "@/apis"; const checkedIcon = "../../static/training-home/done.png"; @@ -57,6 +58,7 @@ const createDefaultTrainingData = () => ({ const trainingData = ref(createDefaultTrainingData()); const pageMounted = ref(false); +const showRoutineTargetPicker = ref(false); const trainingRadarCanvasId = "training-home-radar"; const radarImageWidth = 225; const radarImageHeight = 224; @@ -111,10 +113,6 @@ const getTrainingTitleImage = (item = {}) => const getTrainingMode = (item = {}) => trainingModeRouteMap[item.id] || item.id || ""; -const getFeaturedItem = () => - trainingData.value.training_items.find((item) => item.id === "base") || - trainingData.value.training_items[0]; - const getRadarPoint = (centerX, centerY, radiusX, radiusY, angle) => ({ x: centerX + radiusX * Math.cos(angle), y: centerY + radiusY * Math.sin(angle), @@ -243,9 +241,15 @@ const openTrainingItem = (item = {}) => { }); }; -const openFeaturedTraining = () => { - const item = getFeaturedItem(); - if (item) openTrainingItem(item); +const openRoutineTraining = () => { + showRoutineTargetPicker.value = true; +}; + +const handleRoutineTargetConfirm = (target) => { + showRoutineTargetPicker.value = false; + uni.navigateTo({ + url: `/pages/practise-one?target=${target}`, + }); }; // 首次进入页面时拉取数据并完成雷达图初始化。 @@ -427,22 +431,22 @@ onShow(async () => { - + + - - {{ getLevelText(getFeaturedItem()) }} - + 常规训练 + 12箭练习 { + @@ -756,33 +765,47 @@ onShow(async () => { width: 100%; height: 150rpx; margin-top: 70rpx; + border-radius: 16rpx; + overflow: hidden; } .featured-card-bg { width: 100%; } +.featured-card-mask { + position: absolute; + left: 0; + top: 0; + width: 278rpx; + height: 150rpx; + background: linear-gradient(90deg, #ffdaa0 0%, #f5c580 74%, rgba(245, 197, 128, 0) 100%); +} + .featured-card-copy { position: absolute; - left: 160rpx; - top: 68rpx; + left: 30rpx; + top: 34rpx; display: flex; - align-items: center; + flex-direction: column; } .featured-card-title { + display: block; color: #895409; - font-size: 28rpx; + font-size: 34rpx; font-family: "AlimamaShuHeiTi-Bold", "PingFang SC", sans-serif; font-weight: 700; - line-height: 32rpx; + line-height: 42rpx; } -.featured-card-progress { - margin-left: 18rpx; +.featured-card-subtitle { + display: block; + margin-top: 10rpx; color: #895409; font-size: 22rpx; line-height: 32rpx; + opacity: 0.72; } .mode-grid {