From dacbee197cdbea24eff37bf654c3182d69929af4 Mon Sep 17 00:00:00 2001 From: richarjiang Date: Fri, 15 Aug 2025 17:01:33 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=9B=B4=E6=96=B0=E8=AE=AD=E7=BB=83?= =?UTF-8?q?=E8=AE=A1=E5=88=92=E5=92=8C=E6=89=93=E5=8D=A1=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在训练计划中新增训练项目的添加、更新和删除功能,支持用户灵活管理训练内容 - 优化训练计划排课界面,提升用户体验 - 更新打卡功能,支持按日期加载和展示打卡记录 - 删除不再使用的打卡相关页面,简化代码结构 - 新增今日训练页面,集成今日训练计划和动作展示 - 更新样式以适应新功能的展示和交互 --- app/(tabs)/index.tsx | 174 ++-- app/ai-coach-chat.tsx | 4 +- app/checkin/calendar.tsx | 121 --- app/checkin/index.tsx | 385 --------- app/checkin/select.tsx | 407 ---------- app/training-plan.tsx | 235 ++---- app/training-plan/schedule/select.tsx | 475 +++++++++-- app/workout/_layout.tsx | 15 + app/workout/today.tsx | 1066 +++++++++++++++++++++++++ assets/images/demo/imageBody.jpeg | Bin 0 -> 449425 bytes components/MyPlanCard.tsx | 223 ++++++ services/exercises.ts | 57 +- services/scheduleExerciseApi.ts | 106 +++ services/trainingPlanApi.ts | 9 + services/workoutsApi.ts | 204 +++++ store/exerciseLibrarySlice.ts | 126 +++ store/index.ts | 14 +- store/scheduleExerciseSlice.ts | 233 ++++++ store/workoutSlice.ts | 395 +++++++++ 19 files changed, 3052 insertions(+), 1197 deletions(-) delete mode 100644 app/checkin/calendar.tsx delete mode 100644 app/checkin/index.tsx delete mode 100644 app/checkin/select.tsx create mode 100644 app/workout/_layout.tsx create mode 100644 app/workout/today.tsx create mode 100644 assets/images/demo/imageBody.jpeg create mode 100644 components/MyPlanCard.tsx create mode 100644 services/scheduleExerciseApi.ts create mode 100644 services/workoutsApi.ts create mode 100644 store/exerciseLibrarySlice.ts create mode 100644 store/scheduleExerciseSlice.ts create mode 100644 store/workoutSlice.ts diff --git a/app/(tabs)/index.tsx b/app/(tabs)/index.tsx index fd309f9..bd3a5cf 100644 --- a/app/(tabs)/index.tsx +++ b/app/(tabs)/index.tsx @@ -4,13 +4,14 @@ import { SearchBox } from '@/components/SearchBox'; import { ThemedText } from '@/components/ThemedText'; import { ThemedView } from '@/components/ThemedView'; import { Colors } from '@/constants/Colors'; +import { useAppDispatch, useAppSelector } from '@/hooks/redux'; import { useColorScheme } from '@/hooks/useColorScheme'; import { listRecommendedArticles } from '@/services/articles'; import { fetchRecommendations, RecommendationType } from '@/services/recommendations'; +import { loadPlans, type TrainingPlan } from '@/store/trainingPlanSlice'; // Removed WorkoutCard import since we no longer use the horizontal carousel import { useAuthGuard } from '@/hooks/useAuthGuard'; import { getChineseGreeting } from '@/utils/date'; -import dayjs from 'dayjs'; import { useRouter } from 'expo-router'; import React from 'react'; import { Animated, Image, PanResponder, Pressable, SafeAreaView, ScrollView, StyleSheet, useWindowDimensions, View } from 'react-native'; @@ -20,12 +21,17 @@ import { useSafeAreaInsets } from 'react-native-safe-area-context'; export default function HomeScreen() { const router = useRouter(); + const dispatch = useAppDispatch(); const { pushIfAuthedElseLogin, isLoggedIn } = useAuthGuard(); const theme = (useColorScheme() ?? 'light') as 'light' | 'dark'; const colorTokens = Colors[theme]; const insets = useSafeAreaInsets(); const { width: windowWidth, height: windowHeight } = useWindowDimensions(); + // 训练计划状态 + const { plans, currentId } = useAppSelector((s) => s.trainingPlan); + const [activePlan, setActivePlan] = React.useState(null); + // Draggable coach badge state const pan = React.useRef(new Animated.ValueXY()).current; const [coachSize, setCoachSize] = React.useState({ width: 0, height: 0 }); @@ -101,6 +107,17 @@ export default function HomeScreen() { // 打底数据(接口不可用时) const getFallbackItems = React.useCallback((): RecommendItem[] => { return [ + { + type: 'plan', + key: 'today-workout', + image: + 'https://plates-1251306435.cos.ap-guangzhou.myqcloud.com/images/imagedemo.jpeg', + title: '今日训练', + subtitle: '完成一次普拉提训练,记录你的坚持', + level: '初学者', + progress: 0, + onPress: () => pushIfAuthedElseLogin('/workout/today'), + }, { type: 'plan', key: 'assess', @@ -122,10 +139,27 @@ export default function HomeScreen() { readCount: a.readCount, })), ]; - }, [router]); + }, [router, pushIfAuthedElseLogin]); const [items, setItems] = React.useState(() => getFallbackItems()); + // 加载训练计划数据 + React.useEffect(() => { + if (isLoggedIn) { + dispatch(loadPlans()); + } + }, [isLoggedIn, dispatch]); + + // 获取激活的训练计划 + React.useEffect(() => { + if (isLoggedIn && currentId && plans.length > 0) { + const currentPlan = plans.find(p => p.id === currentId); + setActivePlan(currentPlan || null); + } else { + setActivePlan(null); + } + }, [isLoggedIn, currentId, plans]); + // 拉取推荐接口(已登录时) React.useEffect(() => { let canceled = false; @@ -158,10 +192,10 @@ export default function HomeScreen() { type: 'plan', key: c.id || 'checkin', image: 'https://plates-1251306435.cos.ap-guangzhou.myqcloud.com/images/imagedemo.jpeg', - title: c.title || '今日打卡', + title: c.title || '今日训练', subtitle: c.subtitle || '完成一次普拉提训练,记录你的坚持', progress: 0, - onPress: () => pushIfAuthedElseLogin('/checkin?date=' + dayjs().format('YYYY-MM-DD')), + onPress: () => pushIfAuthedElseLogin('/workout/today'), }); } } @@ -176,6 +210,14 @@ export default function HomeScreen() { return () => { canceled = true; }; }, [isLoggedIn, pushIfAuthedElseLogin, getFallbackItems]); + // 处理点击训练计划卡片,跳转到锻炼tab + const handlePlanCardPress = () => { + if (activePlan) { + // 跳转到训练计划页面的锻炼tab,并传递planId参数 + router.push(`/training-plan?planId=${activePlan.id}&tab=schedule` as any); + } + }; + return ( @@ -244,36 +286,37 @@ export default function HomeScreen() { style={[styles.featureCard, styles.featureCardPrimary]} onPress={() => router.push('/ai-posture-assessment')} > + + + AI体态评估 - 3分钟获取体态报告 - - - router.push('/ai-coach-chat?name=Sarah' as any)} - > - 在线教练 - 认证教练 · 1对1即时解答 - - - pushIfAuthedElseLogin('/checkin?date=' + dayjs().format('YYYY-MM-DD'))} - > - 每日打卡 - 自选动作 · 记录完成 pushIfAuthedElseLogin('/training-plan')} > - 训练计划制定 - 按周安排 · 个性化目标 + + + 💪 + + + 计划管理 + {/* My Plan Section - 显示激活的训练计划 */} + {/* {activePlan && ( + + )} */} + {/* Today Plan Section */} 为你推荐 @@ -408,48 +451,89 @@ const styles = StyleSheet.create({ featureGrid: { paddingHorizontal: 24, flexDirection: 'row', - justifyContent: 'space-between', - flexWrap: 'wrap', + gap: 12, }, featureCard: { - width: '48%', + flex: 1, + flexDirection: 'row', + alignItems: 'center', borderRadius: 12, - padding: 12, + paddingHorizontal: 12, + paddingVertical: 10, backgroundColor: '#FFFFFF', - marginBottom: 12, - // 轻量阴影,减少臃肿感 + // 精致的阴影效果 shadowColor: '#000', - shadowOpacity: 0.04, + shadowOpacity: 0.06, shadowRadius: 8, - shadowOffset: { width: 0, height: 4 }, - elevation: 2, + shadowOffset: { width: 0, height: 2 }, + elevation: 3, + // 渐变边框效果 + borderWidth: 1, + borderColor: 'rgba(255, 255, 255, 0.8)', + // 添加微妙的内阴影效果 + position: 'relative', + minHeight: 48, }, featureCardPrimary: { - backgroundColor: '#EEF2FF', // 柔和的靛蓝背景 + // 由于RN不支持CSS渐变,使用渐变色背景 + backgroundColor: '#667eea', }, featureCardSecondary: { - backgroundColor: '#F0FDFA', // 柔和的青绿背景 + backgroundColor: '#4facfe', }, featureCardTertiary: { - backgroundColor: '#FFF7ED', // 柔和的橙色背景 + backgroundColor: '#43e97b', }, featureCardQuaternary: { - backgroundColor: '#F5F3FF', // 柔和的紫色背景 + backgroundColor: '#fa709a', }, - featureIcon: { - fontSize: 28, - marginBottom: 8, + featureIconWrapper: { + width: 32, + height: 32, + borderRadius: 16, + backgroundColor: 'rgba(255, 255, 255, 0.25)', + alignItems: 'center', + justifyContent: 'center', + marginRight: 10, + // 图标容器的阴影 + shadowColor: '#000', + shadowOpacity: 0.06, + shadowRadius: 4, + shadowOffset: { width: 0, height: 1 }, + elevation: 2, }, + featureIconImage: { + width: 20, + height: 20, + borderRadius: 10, + resizeMode: 'cover', + }, + featureIconPlaceholder: { + width: 20, + height: 20, + borderRadius: 10, + backgroundColor: 'rgba(255, 255, 255, 0.3)', + alignItems: 'center', + justifyContent: 'center', + }, + featureIconText: { + fontSize: 12, + }, + featureTitle: { - fontSize: 16, + fontSize: 14, fontWeight: '700', - color: '#0F172A', - marginBottom: 4, + color: '#FFFFFF', + textAlign: 'left', + letterSpacing: 0.2, + flex: 1, }, featureSubtitle: { - fontSize: 11, - color: '#6B7280', - lineHeight: 15, + fontSize: 12, + color: 'rgba(255, 255, 255, 0.85)', + lineHeight: 16, + textAlign: 'center', + fontWeight: '500', }, planList: { paddingHorizontal: 24, diff --git a/app/ai-coach-chat.tsx b/app/ai-coach-chat.tsx index 083c0a1..0ec67c3 100644 --- a/app/ai-coach-chat.tsx +++ b/app/ai-coach-chat.tsx @@ -557,7 +557,7 @@ export default function AICoachChatScreen() { style={styles.weightInput} onSubmitEditing={(e) => handleSubmitWeight(e.nativeEvent.text)} returnKeyType="done" - blurOnSubmit + submitBehavior="blurAndSubmit" /> kg handleSubmitWeight((preset || '').toString())}> @@ -603,7 +603,7 @@ export default function AICoachChatScreen() { // 不阻断对话体验 } // 在对话中插入“确认消息”并发送给教练 - const textMsg = `我记录了今日体重:${val} kg。请基于这一变化给出训练/营养建议。`; + const textMsg = `记录了今日体重:${val} kg。`; await send(textMsg); } catch (e: any) { Alert.alert('保存失败', e?.message || '请稍后重试'); diff --git a/app/checkin/calendar.tsx b/app/checkin/calendar.tsx deleted file mode 100644 index 670641f..0000000 --- a/app/checkin/calendar.tsx +++ /dev/null @@ -1,121 +0,0 @@ -import { HeaderBar } from '@/components/ui/HeaderBar'; -import { Colors } from '@/constants/Colors'; -import { useAppDispatch, useAppSelector } from '@/hooks/redux'; -import { useColorScheme } from '@/hooks/useColorScheme'; -import { DailyStatusItem, fetchDailyStatusRange } from '@/services/checkins'; -import { loadMonthCheckins } from '@/store/checkinSlice'; -import { getMonthDaysZh } from '@/utils/date'; -import dayjs from 'dayjs'; -import { useRouter } from 'expo-router'; -import React, { useEffect, useMemo, useState } from 'react'; -import { Dimensions, FlatList, SafeAreaView, StyleSheet, Text, TouchableOpacity, View } from 'react-native'; -import { useSafeAreaInsets } from 'react-native-safe-area-context'; - -function formatDate(d: Date) { - const y = d.getFullYear(); - const m = `${d.getMonth() + 1}`.padStart(2, '0'); - const day = `${d.getDate()}`.padStart(2, '0'); - return `${y}-${m}-${day}`; -} - -export default function CheckinCalendarScreen() { - const router = useRouter(); - const theme = (useColorScheme() ?? 'light') as 'light' | 'dark'; - const colorTokens = Colors[theme]; - const dispatch = useAppDispatch(); - const checkin = useAppSelector((s) => (s as any).checkin); - const insets = useSafeAreaInsets(); - - const [cursor, setCursor] = useState(dayjs()); - const days = useMemo(() => getMonthDaysZh(cursor), [cursor]); - const monthTitle = useMemo(() => `${cursor.format('YYYY年M月')} 打卡`, [cursor]); - const [statusMap, setStatusMap] = useState>({}); - - useEffect(() => { - dispatch(loadMonthCheckins({ year: cursor.year(), month1Based: cursor.month() + 1 })); - const y = cursor.year(); - const m = cursor.month() + 1; - const pad = (n: number) => `${n}`.padStart(2, '0'); - const startDate = `${y}-${pad(m)}-01`; - const endDate = `${y}-${pad(m)}-${pad(new Date(y, m, 0).getDate())}`; - fetchDailyStatusRange(startDate, endDate) - .then((list: DailyStatusItem[]) => { - const next: Record = {}; - for (const it of list) { - if (typeof it?.date === 'string') next[it.date] = !!it?.checkedIn; - } - setStatusMap(next); - }) - .catch(() => setStatusMap({})); - }, [cursor, dispatch]); - - const goPrevMonth = () => setCursor((c) => c.subtract(1, 'month')); - const goNextMonth = () => setCursor((c) => c.add(1, 'month')); - - return ( - - - router.back()} withSafeTop={false} transparent /> - - 上一月 - {monthTitle} - 下一月 - - - item.date.format('YYYY-MM-DD')} - numColumns={5} - columnWrapperStyle={{ justifyContent: 'space-between', marginBottom: 12 }} - contentContainerStyle={{ paddingHorizontal: 20, paddingTop: 10, paddingBottom: insets.bottom + 20 }} - renderItem={({ item }) => { - const d = item.date.toDate(); - const dateStr = formatDate(d); - const hasAny = statusMap[dateStr] ?? !!(checkin?.byDate?.[dateStr]?.items?.length); - const isToday = formatDate(new Date()) === dateStr; - return ( - { - // 通过路由参数传入日期,便于目标页初始化 - router.push({ pathname: '/checkin', params: { date: dateStr } }); - }} - activeOpacity={0.8} - style={[styles.dayCell, { backgroundColor: colorTokens.card }, hasAny && styles.dayCellCompleted, isToday && styles.dayCellToday]} - > - {item.dayOfMonth} - {hasAny && } - - ); - }} - /> - - - ); -} - -const { width } = Dimensions.get('window'); -const cellSize = (width - 40 - 4 * 12) / 5; // 20 padding *2, 12 spacing *4 - -const styles = StyleSheet.create({ - safeArea: { flex: 1, backgroundColor: '#F7F8FA' }, - container: { flex: 1, backgroundColor: '#F7F8FA' }, - headerRow: { flexDirection: 'row', alignItems: 'center', justifyContent: 'space-between', paddingHorizontal: 20, paddingTop: 6 }, - monthTitle: { fontSize: 18, fontWeight: '800' }, - monthBtn: { paddingHorizontal: 12, paddingVertical: 8, borderRadius: 999 }, - monthBtnText: { fontWeight: '700' }, - dayCell: { - width: cellSize, - height: cellSize, - borderRadius: 16, - alignItems: 'center', - justifyContent: 'center', - shadowColor: '#000', shadowOpacity: 0.06, shadowRadius: 12, shadowOffset: { width: 0, height: 6 }, elevation: 3, - position: 'relative', - }, - dayCellCompleted: { backgroundColor: '#ECFDF5', borderWidth: 1, borderColor: '#A7F3D0' }, - dayCellToday: { borderWidth: 1, borderColor: '#BBF246' }, - dayNumber: { fontWeight: '800', fontSize: 16 }, - dot: { position: 'absolute', top: 6, right: 6, width: 8, height: 8, borderRadius: 4, backgroundColor: '#10B981' }, -}); - - diff --git a/app/checkin/index.tsx b/app/checkin/index.tsx deleted file mode 100644 index 092fcd6..0000000 --- a/app/checkin/index.tsx +++ /dev/null @@ -1,385 +0,0 @@ -import { HeaderBar } from '@/components/ui/HeaderBar'; -import { Colors } from '@/constants/Colors'; -import { useAppDispatch, useAppSelector } from '@/hooks/redux'; -import { useColorScheme } from '@/hooks/useColorScheme'; -import type { CheckinExercise } from '@/store/checkinSlice'; -import { getDailyCheckins, removeExercise, replaceExercises, setCurrentDate, toggleExerciseCompleted } from '@/store/checkinSlice'; -import { loadPlans, type TrainingPlan } from '@/store/trainingPlanSlice'; -import { buildClassicalSession } from '@/utils/classicalSession'; -import { Ionicons } from '@expo/vector-icons'; -import { useLocalSearchParams, useRouter } from 'expo-router'; -import React, { useEffect, useMemo, useRef, useState } from 'react'; -import { Alert, FlatList, Modal, SafeAreaView, StyleSheet, Switch, Text, TextInput, TouchableOpacity, View } from 'react-native'; - -function formatDate(d: Date) { - const y = d.getFullYear(); - const m = `${d.getMonth() + 1}`.padStart(2, '0'); - const day = `${d.getDate()}`.padStart(2, '0'); - return `${y}-${m}-${day}`; -} - -export default function CheckinHome() { - const dispatch = useAppDispatch(); - const router = useRouter(); - const params = useLocalSearchParams<{ date?: string }>(); - const today = useMemo(() => formatDate(new Date()), []); - const checkin = useAppSelector((s) => (s as any).checkin); - const training = useAppSelector((s) => (s as any).trainingPlan); - const routeDateParam = typeof params?.date === 'string' && params.date ? params.date : undefined; - const currentDate: string = routeDateParam || (checkin?.currentDate as string) || today; - const record = checkin?.byDate?.[currentDate] as (undefined | { items?: CheckinExercise[]; note?: string; raw?: any[] }); - const theme = (useColorScheme() ?? 'light') as 'light' | 'dark'; - const colorTokens = Colors[theme]; - - console.log('CheckinHome render', { - currentDate, - routeDateParam, - itemsCount: record?.items?.length || 0, - rawCount: (record as any)?.raw?.length || 0, - }); - - const lastFetchedRef = useRef(null); - useEffect(() => { - // 初始化当前日期:路由参数优先,其次 store,最后今天 - if (currentDate && checkin?.currentDate !== currentDate) { - dispatch(setCurrentDate(currentDate)); - } - // 仅当切换日期时获取一次,避免重复请求 - if (currentDate && lastFetchedRef.current !== currentDate) { - lastFetchedRef.current = currentDate; - dispatch(getDailyCheckins(currentDate)).unwrap().catch((err: any) => { - Alert.alert('获取打卡失败', err?.message || '请稍后重试'); - }); - } - }, [dispatch, currentDate]); - - // 加载训练计划列表:仅在页面挂载时尝试一次,避免因失败导致的重复请求 - const hasLoadedPlansRef = useRef(false); - useEffect(() => { - if (hasLoadedPlansRef.current) return; - hasLoadedPlansRef.current = true; - dispatch(loadPlans()); - }, [dispatch]); - - // 同步触发逻辑改为显式操作处调用,避免页面渲染期间的副作用 - - const [genVisible, setGenVisible] = useState(false); - const [genLevel, setGenLevel] = useState<'beginner' | 'intermediate' | 'advanced'>('beginner'); - const [genWithRests, setGenWithRests] = useState(true); - const [genWithNotes, setGenWithNotes] = useState(true); - const [genRest, setGenRest] = useState('30'); - - // 计算“进行中的训练计划”(startDate <= 当前日期)。若 currentId 存在,优先该计划。 - const activePlan: TrainingPlan | null = useMemo(() => { - const plans: TrainingPlan[] = training?.plans || []; - if (!plans.length) return null; - const current = training?.currentId ? plans.find((p) => p.id === training.currentId) : null; - const dateObj = new Date(`${currentDate}T00:00:00`); - if (current && new Date(current.startDate) <= dateObj) return current; - const ongoing = plans - .filter((p) => new Date(p.startDate) <= dateObj) - .sort((a, b) => new Date(b.startDate).getTime() - new Date(a.startDate).getTime()); - return ongoing[0] ?? null; - }, [training?.plans, training?.currentId, currentDate]); - - const planStartText = useMemo(() => { - if (!activePlan?.startDate) return ''; - const d = new Date(activePlan.startDate); - const y = d.getFullYear(); - const m = `${d.getMonth() + 1}`.padStart(2, '0'); - const day = `${d.getDate()}`.padStart(2, '0'); - return `${y}-${m}-${day}`; - }, [activePlan?.startDate]); - - const onGenerate = () => { - const restSec = Math.max(10, Math.min(120, parseInt(genRest || '30', 10))); - const { items, note } = buildClassicalSession({ withSectionRests: genWithRests, restSeconds: restSec, withNotes: genWithNotes, level: genLevel }); - dispatch(replaceExercises({ date: currentDate, items, note })); - // 自动同步将由中间件处理 - setGenVisible(false); - Alert.alert('排课已生成', '已为你生成经典普拉提序列,可继续调整。'); - }; - - return ( - - - - - - - - router.back()} withSafeTop={false} transparent /> - - {currentDate} - 请选择动作并记录完成情况 - - - {/* 训练计划提示(非强制) */} - - {activePlan ? ( - - - 已有训练计划进行中 - {!!planStartText && ( - 开始于 {planStartText} - )} - - router.push('/training-plan' as any)} - accessibilityRole="button" - accessibilityLabel="查看训练计划" - > - 查看训练计划 - - - ) : ( - - - 你还没有训练计划 - 创建计划可明确每周节奏与目标(可跳过) - - router.push('/training-plan/create' as any)} - accessibilityRole="button" - accessibilityLabel="创建训练计划" - > - 创建训练计划 - - - )} - - - - router.push({ pathname: '/checkin/select', params: { date: currentDate } })} - > - 新增动作 - - - setGenVisible(true)} - > - 一键排课(经典序列) - - - - 0) - ? record.items - : ((record as any)?.raw || [])} - keyExtractor={(item, index) => (item?.key || item?.id || `${currentDate}_${index}`)} - contentContainerStyle={{ paddingHorizontal: 20, paddingBottom: 20 }} - ListEmptyComponent={ - - 还没有选择任何动作,点击“新增动作”开始吧。 - - } - renderItem={({ item }) => { - // 若为后端原始项(无 key),以标题/时间为卡片,禁用交互 - const isRaw = !item?.key; - if (isRaw) { - const title = item?.title || '每日训练打卡'; - const status = item?.status || ''; - const startedAt = item?.startedAt ? new Date(item.startedAt).toLocaleString() : ''; - return ( - - - {title} - {!!status && {status}} - {!!startedAt && {startedAt}} - - - ); - } - const exercise = item as CheckinExercise; - const type = exercise.itemType ?? 'exercise'; - const isRest = type === 'rest'; - const isNote = type === 'note'; - const cardStyle = [styles.card, { backgroundColor: colorTokens.card }]; - if (isRest || isNote) { - return ( - - - - - {isRest ? `间隔休息 ${exercise.restSec ?? 30}s` : (exercise.note || '提示')} - - - - Alert.alert('确认移除', '确定要移除该条目吗?', [ - { text: '取消', style: 'cancel' }, - { - text: '移除', - style: 'destructive', - onPress: () => { - dispatch(removeExercise({ date: currentDate, key: exercise.key })); - // 自动同步将由中间件处理 - }, - }, - ]) - } - hitSlop={{ top: 6, bottom: 6, left: 6, right: 6 }} - > - - - - ); - } - return ( - - - {exercise.name} - {exercise.category} - {isNote && ( - {exercise.note || '提示'} - )} - {!isNote && ( - - {isRest - ? `建议休息 ${exercise.restSec ?? 30}s` - : `组数 ${exercise.sets}${exercise.reps ? ` · 每组 ${exercise.reps} 次` : ''}${exercise.durationSec ? ` · 每组 ${exercise.durationSec}s` : ''}`} - - )} - - {type === 'exercise' && ( - { - dispatch(toggleExerciseCompleted({ date: currentDate, key: exercise.key })); - // 自动同步将由中间件处理 - }} - hitSlop={{ top: 6, bottom: 6, left: 6, right: 6 }} - > - - - )} - - Alert.alert('确认移除', '确定要移除该动作吗?', [ - { text: '取消', style: 'cancel' }, - { - text: '移除', - style: 'destructive', - onPress: () => { - dispatch(removeExercise({ date: currentDate, key: exercise.key })); - // 自动同步将由中间件处理 - }, - }, - ]) - } - > - 移除 - - - ); - }} - /> - {/* 生成配置弹窗 */} - setGenVisible(false)}> - setGenVisible(false)}> - e.stopPropagation() as any}> - 经典排课配置 - 强度水平 - - {(['beginner', 'intermediate', 'advanced'] as const).map((lv) => ( - setGenLevel(lv)}> - - {lv === 'beginner' ? '入门' : lv === 'intermediate' ? '进阶' : '高级'} - - - ))} - - - 段间休息 - - - - 插入操作提示 - - - - 休息秒数 - - - - - 生成今日计划 - - - - - - - ); -} - -const styles = StyleSheet.create({ - safeArea: { flex: 1, backgroundColor: '#F7F8FA' }, - container: { flex: 1, backgroundColor: '#F7F8FA' }, - header: { paddingHorizontal: 20, paddingTop: 12, paddingBottom: 8 }, - headerRow: { flexDirection: 'row', alignItems: 'center', justifyContent: 'space-between', zIndex: 2 }, - backButton: { width: 32, height: 32, borderRadius: 16, alignItems: 'center', justifyContent: 'center', backgroundColor: '#E5E7EB' }, - hero: { backgroundColor: 'rgba(187,242,70,0.18)', borderRadius: 16, padding: 14 }, - title: { fontSize: 24, fontWeight: '800', color: '#111827' }, - subtitle: { marginTop: 6, fontSize: 12, color: '#6B7280' }, - bgOrnaments: { position: 'absolute', left: 0, right: 0, top: 0, bottom: 0 }, - blob: { position: 'absolute', width: 260, height: 260, borderRadius: 999 }, - blobPrimary: { backgroundColor: '#00000000' }, - blobPurple: { backgroundColor: '#00000000' }, - actionRow: { paddingHorizontal: 20, marginTop: 8 }, - primaryBtn: { backgroundColor: '#111827', paddingVertical: 10, borderRadius: 10, alignItems: 'center' }, - primaryBtnText: { color: '#FFFFFF', fontWeight: '800' }, - secondaryBtn: { borderWidth: 2, paddingVertical: 10, borderRadius: 10, alignItems: 'center' }, - secondaryBtnText: { fontWeight: '800' }, - // 训练计划提示卡片 - planHintCard: { flexDirection: 'row', alignItems: 'center', gap: 10, borderRadius: 14, paddingHorizontal: 14, paddingVertical: 12, borderWidth: 1 }, - planHintTitle: { fontSize: 14, fontWeight: '800' }, - planHintSub: { marginTop: 4, fontSize: 12 }, - hintBtn: { paddingHorizontal: 10, paddingVertical: 8, borderRadius: 10, borderWidth: 1 }, - hintBtnText: { fontWeight: '800' }, - hintPrimaryBtn: { paddingHorizontal: 12, paddingVertical: 10, borderRadius: 10 }, - hintPrimaryBtnText: { fontWeight: '800' }, - emptyBox: { marginTop: 16, backgroundColor: '#FFFFFF', borderRadius: 16, padding: 16, marginHorizontal: 0 }, - emptyText: { color: '#6B7280' }, - card: { marginTop: 12, marginHorizontal: 0, backgroundColor: '#FFFFFF', borderRadius: 16, padding: 16, flexDirection: 'row', alignItems: 'center', gap: 12, shadowColor: '#000', shadowOpacity: 0.06, shadowRadius: 12, shadowOffset: { width: 0, height: 6 }, elevation: 3 }, - cardTitle: { fontSize: 16, fontWeight: '800', color: '#111827' }, - cardMeta: { marginTop: 4, fontSize: 12, color: '#6B7280' }, - cardMetaItalic: { marginTop: 4, fontSize: 12, color: '#6B7280', fontStyle: 'italic' }, - removeBtn: { backgroundColor: '#F3F4F6', paddingHorizontal: 10, paddingVertical: 6, borderRadius: 8 }, - removeBtnText: { color: '#111827', fontWeight: '700' }, - doneIconBtn: { paddingHorizontal: 4, paddingVertical: 4, borderRadius: 16, marginRight: 8 }, - inlineRow: { marginTop: 10, marginHorizontal: 20, flexDirection: 'row', alignItems: 'center' }, - inlineBadge: { marginLeft: 6, borderWidth: 1, borderRadius: 999, paddingVertical: 6, paddingHorizontal: 10 }, - inlineBadgeRest: { backgroundColor: '#F8FAFC' }, - inlineBadgeNote: { backgroundColor: '#F9FAFB' }, - inlineText: { fontSize: 12, fontWeight: '700' }, - inlineTextItalic: { fontSize: 12, fontStyle: 'italic' }, - inlineRemoveBtn: { marginLeft: 6, padding: 4, borderRadius: 999 }, - modalOverlay: { flex: 1, backgroundColor: 'rgba(0,0,0,0.35)', alignItems: 'center', justifyContent: 'flex-end' }, - modalSheet: { width: '100%', borderTopLeftRadius: 16, borderTopRightRadius: 16, paddingHorizontal: 16, paddingTop: 14, paddingBottom: 24 }, - modalTitle: { fontSize: 16, fontWeight: '800', marginBottom: 8 }, - modalLabel: { fontSize: 12, marginBottom: 6 }, - segmentedRow: { flexDirection: 'row', gap: 8, marginBottom: 8 }, - segment: { flex: 1, borderRadius: 999, borderWidth: 1, borderColor: '#E5E7EB', paddingVertical: 8, alignItems: 'center' }, - segmentText: { fontWeight: '700' }, - switchRow: { flexDirection: 'row', alignItems: 'center', justifyContent: 'space-between', marginTop: 8 }, - switchLabel: { fontWeight: '700' }, - inputRow: { marginTop: 8 }, - input: { height: 40, borderWidth: 1, borderRadius: 10, paddingHorizontal: 12 }, - -}); - - diff --git a/app/checkin/select.tsx b/app/checkin/select.tsx deleted file mode 100644 index d3ba81c..0000000 --- a/app/checkin/select.tsx +++ /dev/null @@ -1,407 +0,0 @@ -import { HeaderBar } from '@/components/ui/HeaderBar'; -import { Colors } from '@/constants/Colors'; -import { useAppDispatch } from '@/hooks/redux'; -import { useColorScheme } from '@/hooks/useColorScheme'; -import { fetchExerciseConfig, normalizeToLibraryItems } from '@/services/exercises'; -import { addExercise } from '@/store/checkinSlice'; -import { EXERCISE_LIBRARY, getCategories } from '@/utils/exerciseLibrary'; -import { Ionicons } from '@expo/vector-icons'; -import AsyncStorage from '@react-native-async-storage/async-storage'; -import * as Haptics from 'expo-haptics'; -import { useLocalSearchParams, useRouter } from 'expo-router'; -import React, { useEffect, useMemo, useRef, useState } from 'react'; -import { Animated, FlatList, LayoutAnimation, Modal, Platform, SafeAreaView, StyleSheet, Text, TextInput, TouchableOpacity, UIManager, View } from 'react-native'; - -function formatDate(d: Date) { - const y = d.getFullYear(); - const m = `${d.getMonth() + 1}`.padStart(2, '0'); - const day = `${d.getDate()}`.padStart(2, '0'); - return `${y}-${m}-${day}`; -} - -export default function SelectExerciseScreen() { - const dispatch = useAppDispatch(); - const router = useRouter(); - const params = useLocalSearchParams<{ date?: string }>(); - const today = useMemo(() => formatDate(new Date()), []); - const currentDate = (typeof params?.date === 'string' && params.date) ? params.date : today; - const theme = (useColorScheme() ?? 'light') as 'light' | 'dark'; - const colorTokens = Colors[theme]; - - const [keyword, setKeyword] = useState(''); - const [category, setCategory] = useState('全部'); - const [selectedKey, setSelectedKey] = useState(null); - const [sets, setSets] = useState(3); - const [reps, setReps] = useState(undefined); - const [showCustomReps, setShowCustomReps] = useState(false); - const [customRepsInput, setCustomRepsInput] = useState(''); - const [showCategoryPicker, setShowCategoryPicker] = useState(false); - const [serverLibrary, setServerLibrary] = useState<{ key: string; name: string; description: string; category: string }[] | null>(null); - const [serverCategories, setServerCategories] = useState(null); - - const controlsOpacity = useRef(new Animated.Value(0)).current; - - useEffect(() => { - if (Platform.OS === 'android' && UIManager.setLayoutAnimationEnabledExperimental) { - UIManager.setLayoutAnimationEnabledExperimental(true); - } - }, []); - useEffect(() => { - let aborted = false; - const CACHE_KEY = '@exercise_config_v1'; - (async () => { - try { - const cached = await AsyncStorage.getItem(CACHE_KEY); - if (cached && !aborted) { - const parsed = JSON.parse(cached); - const items = normalizeToLibraryItems(parsed); - if (items.length) { - setServerLibrary(items); - const cats = Array.from(new Set(items.map((i) => i.category))); - setServerCategories(cats); - } - } - } catch {} - try { - const resp = await fetchExerciseConfig(); - console.log('fetchExerciseConfig', resp); - if (aborted) return; - const items = normalizeToLibraryItems(resp); - setServerLibrary(items); - const cats = Array.from(new Set(items.map((i) => i.category))); - setServerCategories(cats); - try { await AsyncStorage.setItem(CACHE_KEY, JSON.stringify(resp)); } catch {} - } catch (err) {} - })(); - return () => { aborted = true; }; - }, []); - - const categories = useMemo(() => { - const base = serverCategories ?? getCategories(); - return ['全部', ...base]; - }, [serverCategories]); - const mainCategories = useMemo(() => { - const preferred = ['全部', '核心与腹部', '脊柱与后链', '侧链与髋', '平衡与支撑']; - const exists = (name: string) => categories.includes(name); - const picked = preferred.filter(exists); - // 兜底:若某些偏好分类不存在,补足其他分类 - const rest = categories.filter((c) => !picked.includes(c)); - while (picked.length < 5 && rest.length) picked.push(rest.shift() as string); - return picked; - }, [categories]); - const library = useMemo(() => serverLibrary ?? EXERCISE_LIBRARY, [serverLibrary]); - const filtered = useMemo(() => { - const kw = keyword.trim().toLowerCase(); - const base = kw - ? library.filter((e) => e.name.toLowerCase().includes(kw) || (e.description || '').toLowerCase().includes(kw)) - : library; - if (category === '全部') return base; - return base.filter((e) => e.category === category); - }, [keyword, category, library]); - - const selected = useMemo(() => library.find((e) => e.key === selectedKey) || null, [selectedKey, library]); - - useEffect(() => { - Animated.timing(controlsOpacity, { - toValue: selected ? 1 : 0, - duration: selected ? 220 : 160, - useNativeDriver: true, - }).start(); - }, [selected, controlsOpacity]); - - const handleAdd = () => { - if (!selected) return; - dispatch(addExercise({ - date: currentDate, - item: { - key: selected.key, - name: selected.name, - category: selected.category, - sets: Math.max(1, sets), - reps: reps && reps > 0 ? reps : undefined, - }, - })); - console.log('addExercise', currentDate, selected.key, sets, reps); - // 自动同步将由中间件处理,无需手动调用 syncCheckin - router.back(); - }; - - const onSelectItem = (key: string) => { - LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut); - if (selectedKey === key) { - setSelectedKey(null); - return; - } - setSets(3); - setReps(undefined); - setShowCustomReps(false); - setCustomRepsInput(''); - setSelectedKey(key); - }; - - return ( - - - - - - - - router.back()} withSafeTop={false} transparent /> - - 从动作库里选择一个动作,设置组数与每组次数 - - - {/* 大分类宫格(无横向滚动) */} - - {[...mainCategories, '更多'].map((item) => { - const active = category === item; - const meta: Record = { - 全部: { bg: 'rgba(187,242,70,0.22)' }, - 核心与腹部: { bg: 'rgba(187,242,70,0.18)' }, - 脊柱与后链: { bg: 'rgba(149,204,227,0.20)' }, - 侧链与髋: { bg: 'rgba(164,138,237,0.20)' }, - 平衡与支撑: { bg: 'rgba(252,196,111,0.22)' }, - 进阶控制: { bg: 'rgba(237,71,71,0.18)' }, - 柔韧与拉伸: { bg: 'rgba(149,204,227,0.18)' }, - 更多: { bg: 'rgba(24,24,27,0.06)' }, - }; - const scale = new Animated.Value(1); - const onPressIn = () => Animated.spring(scale, { toValue: 0.96, useNativeDriver: true, speed: 20, bounciness: 6 }).start(); - const onPressOut = () => Animated.spring(scale, { toValue: 1, useNativeDriver: true, speed: 20, bounciness: 6 }).start(); - const handlePress = () => { - onPressOut(); - if (item === '更多') { - setShowCategoryPicker(true); - Haptics.selectionAsync(); - } else { - setCategory(item); - Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Light); - } - }; - return ( - - - {item} - - - ); - })} - - - {/* 分类选择弹层(更多) */} - setShowCategoryPicker(false)} - > - setShowCategoryPicker(false)}> - e.stopPropagation() as any} - > - 选择分类 - - {categories.filter((c) => c !== '全部').map((c) => { - const scale = new Animated.Value(1); - const onPressIn = () => Animated.spring(scale, { toValue: 0.96, useNativeDriver: true, speed: 20, bounciness: 6 }).start(); - const onPressOut = () => Animated.spring(scale, { toValue: 1, useNativeDriver: true, speed: 20, bounciness: 6 }).start(); - return ( - - { - onPressOut(); - setCategory(c); - setShowCategoryPicker(false); - Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Light); - }} - activeOpacity={0.9} - style={[styles.catTile, { backgroundColor: 'rgba(24,24,27,0.06)' }]} - > - {c} - - - ); - })} - - - - - - - - - - item.key} - contentContainerStyle={{ paddingHorizontal: 20, paddingBottom: 40 }} - renderItem={({ item }) => { - const isSelected = item.key === selectedKey; - return ( - onSelectItem(item.key)} - activeOpacity={0.9} - > - - {item.name} - {item.category} - {item.description} - - {isSelected && } - {isSelected && ( - - - - 组数 - - setSets(Math.max(1, sets - 1))}>- - {sets} - setSets(Math.min(20, sets + 1))}>+ - - - - - 每组次数 - - {[6, 8, 10, 12, 15, 20, 25, 30].map((v) => { - const active = reps === v; - return ( - { - setReps(v); - Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Light); - }} - > - {v} - - ); - })} - { - setShowCustomReps((s) => !s); - Haptics.selectionAsync(); - }} - > - 自定义 - - - {showCustomReps && ( - - - { - const n = Math.max(1, Math.min(100, parseInt(customRepsInput || '0', 10))); - if (!Number.isNaN(n)) { - setReps(n); - Haptics.notificationAsync(Haptics.NotificationFeedbackType.Success); - } - }} - > - 确定 - - - )} - - - - - 添加到今日打卡 - - - )} - - ); - }} - /> - - - - - ); -} - -const styles = StyleSheet.create({ - safeArea: { flex: 1, backgroundColor: '#F7F8FA' }, - container: { flex: 1, backgroundColor: '#F7F8FA' }, - header: { paddingHorizontal: 20, paddingTop: 10, paddingBottom: 10 }, - headerRow: { flexDirection: 'row', alignItems: 'center', justifyContent: 'space-between', zIndex: 2 }, - backButton: { width: 32, height: 32, borderRadius: 16, alignItems: 'center', justifyContent: 'center', backgroundColor: '#E5E7EB' }, - headerTitle: { fontSize: 18, fontWeight: '800', color: '#1A1A1A' }, - subtitle: { marginTop: 6, fontSize: 12, color: '#6B7280' }, - catCard: { paddingHorizontal: 14, paddingVertical: 10, borderRadius: 14, flexDirection: 'row', alignItems: 'center' }, - catCardActive: { borderWidth: 2, borderColor: '#BBF246' }, - catEmoji: { fontSize: 16, marginRight: 6 }, - catText: { fontSize: 13, fontWeight: '800' }, - hero: { backgroundColor: 'rgba(187,242,70,0.18)', borderRadius: 16, padding: 14, marginTop: 8 }, - bgOrnaments: { position: 'absolute', left: 0, right: 0, top: 0, bottom: 0 }, - blob: { position: 'absolute', width: 260, height: 260, borderRadius: 999 }, - catGrid: { paddingHorizontal: 16, paddingTop: 10, flexDirection: 'row', flexWrap: 'wrap' }, - catTileWrapper: { width: '33.33%', padding: 6 }, - catTile: { borderRadius: 14, paddingVertical: 16, paddingHorizontal: 8, alignItems: 'center', justifyContent: 'center' }, - catTileActive: { borderWidth: 2, borderColor: '#BBF246' }, - searchRow: { paddingHorizontal: 20, marginTop: 8 }, - searchInput: { backgroundColor: '#FFFFFF', borderRadius: 12, paddingHorizontal: 12, paddingVertical: 10, color: '#111827' }, - itemCard: { backgroundColor: '#FFFFFF', borderRadius: 16, padding: 16, marginTop: 12, shadowColor: '#000', shadowOpacity: 0.06, shadowRadius: 12, shadowOffset: { width: 0, height: 6 }, elevation: 3 }, - itemCardSelected: { borderWidth: 2, borderColor: '#10B981' }, - itemTitle: { fontSize: 16, fontWeight: '800', color: '#111827' }, - itemMeta: { marginTop: 4, fontSize: 12, color: '#6B7280' }, - itemDesc: { marginTop: 6, fontSize: 12, color: '#6B7280' }, - expandedBox: { marginTop: 12 }, - controlsRow: { flexDirection: 'row', alignItems: 'center', gap: 12, flexWrap: 'wrap', marginBottom: 10 }, - counterBox: { backgroundColor: '#F3F4F6', borderRadius: 8, padding: 8 }, - counterLabel: { fontSize: 10, color: '#6B7280' }, - counterRow: { flexDirection: 'row', alignItems: 'center' }, - counterBtn: { backgroundColor: '#E5E7EB', width: 28, height: 28, borderRadius: 6, alignItems: 'center', justifyContent: 'center' }, - counterBtnText: { fontWeight: '800', color: '#111827' }, - counterValue: { minWidth: 40, textAlign: 'center', fontWeight: '700', color: '#111827' }, - repsChipsRow: { flexDirection: 'row', flexWrap: 'wrap', gap: 8, marginTop: 6 }, - repChip: { paddingHorizontal: 12, paddingVertical: 8, borderRadius: 999, backgroundColor: '#F3F4F6', borderWidth: 1, borderColor: '#E5E7EB' }, - repChipText: { color: '#111827', fontWeight: '700' }, - repChipGhost: { paddingHorizontal: 12, paddingVertical: 8, borderRadius: 999, borderWidth: 1, backgroundColor: 'transparent' }, - repChipGhostText: { fontWeight: '700' }, - customRepsRow: { flexDirection: 'row', alignItems: 'center', gap: 10, marginTop: 8 }, - customRepsInput: { flex: 1, height: 40, borderWidth: 1, borderRadius: 10, paddingHorizontal: 12 }, - customRepsBtn: { paddingHorizontal: 12, paddingVertical: 10, borderRadius: 10 }, - customRepsBtnText: { fontWeight: '800' }, - modalOverlay: { flex: 1, backgroundColor: 'rgba(0,0,0,0.35)', alignItems: 'center', justifyContent: 'flex-end' }, - modalSheet: { width: '100%', borderTopLeftRadius: 16, borderTopRightRadius: 16, paddingHorizontal: 16, paddingTop: 14, paddingBottom: 24 }, - modalTitle: { fontSize: 16, fontWeight: '800', marginBottom: 8 }, - catGridModal: { flexDirection: 'row', flexWrap: 'wrap' }, - primaryBtn: { backgroundColor: '#111827', paddingVertical: 12, borderRadius: 12, alignItems: 'center' }, - primaryBtnText: { color: '#FFFFFF', fontWeight: '800' }, -}); - - diff --git a/app/training-plan.tsx b/app/training-plan.tsx index d2d9ea0..6fffb81 100644 --- a/app/training-plan.tsx +++ b/app/training-plan.tsx @@ -21,31 +21,17 @@ import { HeaderBar } from '@/components/ui/HeaderBar'; import { Colors, palette } from '@/constants/Colors'; import { useAppDispatch, useAppSelector } from '@/hooks/redux'; import { useColorScheme } from '@/hooks/useColorScheme'; +import { + addExercise, + clearExercises, + clearError as clearScheduleError, + deleteExercise, + loadExercises, + toggleCompletion +} from '@/store/scheduleExerciseSlice'; import { activatePlan, clearError, deletePlan, loadPlans, type TrainingPlan } from '@/store/trainingPlanSlice'; import { buildClassicalSession } from '@/utils/classicalSession'; -// 训练计划排课项目类型 -export interface ScheduleExercise { - key: string; - name: string; - category: string; - sets: number; - reps?: number; - durationSec?: number; - restSec?: number; - note?: string; - itemType?: 'exercise' | 'rest' | 'note'; - completed?: boolean; -} - -// 训练计划排课数据 -export interface PlanSchedule { - planId: string; - exercises: ScheduleExercise[]; - note?: string; - lastModified: string; -} - // Tab 类型定义 type TabType = 'list' | 'schedule'; @@ -258,18 +244,15 @@ function BottomTabs({ activeTab, onTabChange, selectedPlan }: { export default function TrainingPlanScreen() { const router = useRouter(); const dispatch = useAppDispatch(); - const params = useLocalSearchParams<{ planId?: string; newExercise?: string }>(); + const params = useLocalSearchParams<{ planId?: string; tab?: string }>(); const { plans, currentId, loading, error } = useAppSelector((s) => s.trainingPlan); + const { exercises, error: scheduleError } = useAppSelector((s) => s.scheduleExercise); - // Tab 状态管理 - const [activeTab, setActiveTab] = useState('list'); + // Tab 状态管理 - 支持从URL参数设置初始tab + const initialTab: TabType = params.tab === 'schedule' ? 'schedule' : 'list'; + const [activeTab, setActiveTab] = useState(initialTab); const [selectedPlanId, setSelectedPlanId] = useState(params.planId || currentId || null); - // 排课相关状态 - const [exercises, setExercises] = useState([]); - const [scheduleNote, setScheduleNote] = useState(''); - const [hasUnsavedChanges, setHasUnsavedChanges] = useState(false); - // 一键排课配置 const [genVisible, setGenVisible] = useState(false); const [genLevel, setGenLevel] = useState<'beginner' | 'intermediate' | 'advanced'>('beginner'); @@ -279,54 +262,14 @@ export default function TrainingPlanScreen() { const selectedPlan = useMemo(() => plans.find(p => p.id === selectedPlanId), [plans, selectedPlanId]); - // 模拟加载排课数据的函数 - const loadScheduleData = async (planId: string): Promise => { - // 模拟 API 调用延迟 - await new Promise(resolve => setTimeout(resolve, 300)); - - // 模拟数据 - 在实际应用中,这里应该从后端或本地存储获取数据 - const mockData: Record = { - // 示例数据结构,实际应用中应从服务器或本地存储获取 - // 'plan1': { - // planId: 'plan1', - // exercises: [...], - // note: '示例备注', - // lastModified: new Date().toISOString() - // } - }; - - return mockData[planId] || null; - }; - - // 监听 selectedPlan 变化,加载对应的排课数据 + // 监听选中计划变化,加载对应的排课数据 useEffect(() => { - const loadSchedule = async () => { - if (selectedPlan) { - try { - const scheduleData = await loadScheduleData(selectedPlan.id); - if (scheduleData) { - setExercises(scheduleData.exercises); - setScheduleNote(scheduleData.note || ''); - } else { - // 如果没有保存的排课数据,重置为默认空状态 - setExercises([]); - setScheduleNote(''); - } - } catch (error) { - console.error('加载排课数据失败:', error); - // 出错时重置为默认空状态 - setExercises([]); - setScheduleNote(''); - } - } else { - // 没有选中计划时,重置为默认空状态 - setExercises([]); - setScheduleNote(''); - } - }; - - loadSchedule(); - }, [selectedPlan]); + if (selectedPlanId) { + dispatch(loadExercises(selectedPlanId)); + } else { + dispatch(clearExercises()); + } + }, [selectedPlanId, dispatch]); useEffect(() => { dispatch(loadPlans()); @@ -342,19 +285,15 @@ export default function TrainingPlanScreen() { } }, [error, dispatch]); - // 处理从选择页面传回的新动作 useEffect(() => { - if (params.newExercise) { - try { - const newExercise: ScheduleExercise = JSON.parse(params.newExercise); - setExercises(prev => [...prev, newExercise]); - setHasUnsavedChanges(true); - router.setParams({ newExercise: undefined } as any); - } catch (error) { - console.error('解析新动作数据失败:', error); - } + if (scheduleError) { + console.error('排课错误:', scheduleError); + const timer = setTimeout(() => { + dispatch(clearScheduleError()); + }, 3000); + return () => clearTimeout(timer); } - }, [params.newExercise]); + }, [scheduleError, dispatch]); const handleActivate = async (planId: string) => { try { @@ -367,7 +306,6 @@ export default function TrainingPlanScreen() { const handlePlanSelect = (plan: TrainingPlan) => { setSelectedPlanId(plan.id); setActiveTab('schedule'); - // TODO: 加载该计划的排课数据 } const handleTabChange = (tab: TabType) => { @@ -380,78 +318,70 @@ export default function TrainingPlanScreen() { } // 排课相关方法 - const handleSave = async () => { - if (!selectedPlan) return; - - try { - const scheduleData: PlanSchedule = { - planId: selectedPlan.id, - exercises, - note: scheduleNote, - lastModified: new Date().toISOString(), - }; - - console.log('保存排课数据:', scheduleData); - setHasUnsavedChanges(false); - Alert.alert('保存成功', '训练计划排课已保存'); - } catch (error) { - console.error('保存排课失败:', error); - Alert.alert('保存失败', '请稍后重试'); - } - }; - const handleAddExercise = () => { router.push(`/training-plan/schedule/select?planId=${selectedPlanId}` as any); }; - const handleRemoveExercise = (key: string) => { + const handleRemoveExercise = (exerciseId: string) => { + if (!selectedPlanId) return; + Alert.alert('确认移除', '确定要移除该动作吗?', [ { text: '取消', style: 'cancel' }, { text: '移除', style: 'destructive', onPress: () => { - setExercises(prev => prev.filter(ex => ex.key !== key)); - setHasUnsavedChanges(true); + dispatch(deleteExercise({ planId: selectedPlanId, exerciseId })); }, }, ]); }; - const handleToggleCompleted = (key: string) => { - setExercises(prev => prev.map(ex => - ex.key === key ? { ...ex, completed: !ex.completed } : ex - )); - setHasUnsavedChanges(true); + const handleToggleCompleted = (exerciseId: string, currentCompleted: boolean) => { + if (!selectedPlanId) return; + + dispatch(toggleCompletion({ + planId: selectedPlanId, + exerciseId, + completed: !currentCompleted + })); }; - const onGenerate = () => { + const onGenerate = async () => { + if (!selectedPlanId) return; + const restSec = Math.max(10, Math.min(120, parseInt(genRest || '30', 10))); - const { items, note } = buildClassicalSession({ + const { items } = buildClassicalSession({ withSectionRests: genWithRests, restSeconds: restSec, withNotes: genWithNotes, level: genLevel }); - const scheduleItems: ScheduleExercise[] = items.map((item, index) => ({ - key: `generated_${Date.now()}_${index}`, - name: item.name, - category: item.category, - sets: item.sets, - reps: item.reps, - durationSec: item.durationSec, - restSec: item.restSec, - note: item.note, - itemType: item.itemType, - completed: false, - })); - - setExercises(scheduleItems); - setScheduleNote(note || ''); - setHasUnsavedChanges(true); setGenVisible(false); - Alert.alert('排课已生成', '已为你生成经典普拉提序列,可继续调整。'); + + try { + // 按顺序添加每个生成的训练项目 + for (const item of items) { + const dto = { + exerciseKey: item.key, // 使用key作为exerciseKey + name: item.name, + sets: item.sets, + reps: item.reps, + durationSec: item.durationSec, + restSec: item.restSec, + note: item.note, + itemType: item.itemType || 'exercise' as const, + }; + + await dispatch(addExercise({ planId: selectedPlanId, dto })).unwrap(); + } + + Alert.alert('排课已生成', '已为你生成经典普拉提序列,可继续调整。'); + } catch (error) { + console.error('生成排课失败:', error); + Alert.alert('生成失败', '请稍后重试'); + } }; // 渲染训练计划列表 @@ -462,9 +392,9 @@ export default function TrainingPlanScreen() { 点击计划卡片进入排课模式,或使用底部切换 - {error && ( + {(error || scheduleError) && ( - ⚠️ {error} + ⚠️ {error || scheduleError} )} @@ -567,7 +497,7 @@ export default function TrainingPlanScreen() { {/* 动作列表 */} item.key} + keyExtractor={(item) => item.id} contentContainerStyle={styles.scheduleListContent} showsVerticalScrollIndicator={false} ListEmptyComponent={ @@ -607,7 +537,7 @@ export default function TrainingPlanScreen() { handleRemoveExercise(item.key)} + onPress={() => handleRemoveExercise(item.id)} hitSlop={{ top: 6, bottom: 6, left: 6, right: 6 }} > @@ -624,9 +554,9 @@ export default function TrainingPlanScreen() { {item.name} - {item.category} + {item.exercise?.categoryName || '运动'} - 组数 {item.sets} + 组数 {item.sets || 1} {item.reps ? ` · 每组 ${item.reps} 次` : ''} {item.durationSec ? ` · 每组 ${item.durationSec}s` : ''} @@ -635,7 +565,7 @@ export default function TrainingPlanScreen() { handleToggleCompleted(item.key)} + onPress={() => handleToggleCompleted(item.id, item.completed)} hitSlop={{ top: 6, bottom: 6, left: 6, right: 6 }} > handleRemoveExercise(item.key)} + onPress={() => handleRemoveExercise(item.id)} > 移除 @@ -678,10 +608,6 @@ export default function TrainingPlanScreen() { router.push('/training-plan/create' as any)} style={styles.headerRightBtn}> + 新建 - ) : hasUnsavedChanges ? ( - - 保存 - ) : undefined } /> @@ -1462,4 +1388,17 @@ const styles = StyleSheet.create({ fontWeight: '800', fontSize: 10, }, + + // 统计显示 + statsContainer: { + paddingHorizontal: 12, + paddingVertical: 4, + backgroundColor: 'rgba(187,242,70,0.2)', + borderRadius: 16, + }, + statsText: { + fontSize: 12, + fontWeight: '800', + color: palette.ink, + }, }); diff --git a/app/training-plan/schedule/select.tsx b/app/training-plan/schedule/select.tsx index 5ce8fa1..e9bf6a5 100644 --- a/app/training-plan/schedule/select.tsx +++ b/app/training-plan/schedule/select.tsx @@ -1,18 +1,18 @@ import { HeaderBar } from '@/components/ui/HeaderBar'; import { palette } from '@/constants/Colors'; -import { useAppSelector } from '@/hooks/redux'; -import { fetchExerciseConfig, normalizeToLibraryItems } from '@/services/exercises'; +import { useAppDispatch, useAppSelector } from '@/hooks/redux'; +import { loadExerciseLibrary } from '@/store/exerciseLibrarySlice'; import { EXERCISE_LIBRARY, getCategories } from '@/utils/exerciseLibrary'; import { Ionicons } from '@expo/vector-icons'; -import AsyncStorage from '@react-native-async-storage/async-storage'; import * as Haptics from 'expo-haptics'; import { LinearGradient } from 'expo-linear-gradient'; import { useLocalSearchParams, useRouter } from 'expo-router'; import React, { useEffect, useMemo, useRef, useState } from 'react'; -import { Animated, FlatList, LayoutAnimation, Modal, Platform, SafeAreaView, StyleSheet, Text, TextInput, TouchableOpacity, UIManager, View } from 'react-native'; +import { Alert, Animated, FlatList, LayoutAnimation, Modal, Platform, SafeAreaView, StyleSheet, Text, TextInput, TouchableOpacity, UIManager, View } from 'react-native'; import { ThemedText } from '@/components/ThemedText'; -import type { ScheduleExercise } from './index'; +import { addExercise } from '@/store/scheduleExerciseSlice'; +import { addWorkoutExercise } from '@/store/workoutSlice'; const GOAL_TEXT: Record = { postpartum_recovery: { title: '产后恢复', color: '#9BE370', description: '温和激活,核心重建' }, @@ -40,12 +40,20 @@ function DynamicBackground({ color }: { color: string }) { export default function SelectExerciseForScheduleScreen() { const router = useRouter(); - const params = useLocalSearchParams<{ planId?: string }>(); + const dispatch = useAppDispatch(); + const params = useLocalSearchParams<{ planId?: string; sessionId?: string }>(); const { plans } = useAppSelector((s) => s.trainingPlan); + const { currentSession } = useAppSelector((s) => s.workout); const planId = params.planId; + const sessionId = params.sessionId; const plan = useMemo(() => plans.find(p => p.id === planId), [plans, planId]); - const goalConfig = plan ? (GOAL_TEXT[plan.goal] || { title: '训练计划', color: palette.primary, description: '开始你的训练之旅' }) : null; + const session = useMemo(() => sessionId ? currentSession : null, [sessionId, currentSession]); + + // 根据是否有sessionId来确定是训练计划模式还是训练会话模式 + const isSessionMode = !!sessionId; + const targetGoal = plan?.goal || session?.trainingPlan?.goal; + const goalConfig = targetGoal ? (GOAL_TEXT[targetGoal] || { title: isSessionMode ? '添加动作' : '训练计划', color: palette.primary, description: isSessionMode ? '选择要添加的动作' : '开始你的训练之旅' }) : null; const [keyword, setKeyword] = useState(''); const [category, setCategory] = useState('全部'); @@ -55,8 +63,12 @@ export default function SelectExerciseForScheduleScreen() { const [showCustomReps, setShowCustomReps] = useState(false); const [customRepsInput, setCustomRepsInput] = useState(''); const [showCategoryPicker, setShowCategoryPicker] = useState(false); - const [serverLibrary, setServerLibrary] = useState<{ key: string; name: string; description: string; category: string }[] | null>(null); - const [serverCategories, setServerCategories] = useState(null); + const [showRestModal, setShowRestModal] = useState(false); + const [showNoteModal, setShowNoteModal] = useState(false); + const [restDuration, setRestDuration] = useState(30); + const [noteContent, setNoteContent] = useState(''); + const { categories: serverCategoryDtos, exercises: serverExercises } = useAppSelector((s) => s.exerciseLibrary); + const [adding, setAdding] = useState(false); const controlsOpacity = useRef(new Animated.Value(0)).current; @@ -67,39 +79,16 @@ export default function SelectExerciseForScheduleScreen() { }, []); useEffect(() => { - let aborted = false; - const CACHE_KEY = '@exercise_config_v1'; - (async () => { - try { - const cached = await AsyncStorage.getItem(CACHE_KEY); - if (cached && !aborted) { - const parsed = JSON.parse(cached); - const items = normalizeToLibraryItems(parsed); - if (items.length) { - setServerLibrary(items); - const cats = Array.from(new Set(items.map((i) => i.category))); - setServerCategories(cats); - } - } - } catch { } - try { - const resp = await fetchExerciseConfig(); - console.log('fetchExerciseConfig', resp); - if (aborted) return; - const items = normalizeToLibraryItems(resp); - setServerLibrary(items); - const cats = Array.from(new Set(items.map((i) => i.category))); - setServerCategories(cats); - try { await AsyncStorage.setItem(CACHE_KEY, JSON.stringify(resp)); } catch { } - } catch (err) { } - })(); - return () => { aborted = true; }; - }, []); + dispatch(loadExerciseLibrary()); + }, [dispatch]); const categories = useMemo(() => { - const base = serverCategories ?? getCategories(); - return ['全部', ...base]; - }, [serverCategories]); + const base = serverCategoryDtos && serverCategoryDtos.length + ? serverCategoryDtos.map((c) => c.name) + : getCategories(); + const unique = Array.from(new Set(base)); + return ['全部', ...unique]; + }, [serverCategoryDtos]); const mainCategories = useMemo(() => { const preferred = ['全部', '核心与腹部', '脊柱与后链', '侧链与髋', '平衡与支撑']; @@ -110,7 +99,7 @@ export default function SelectExerciseForScheduleScreen() { return picked; }, [categories]); - const library = useMemo(() => serverLibrary ?? EXERCISE_LIBRARY, [serverLibrary]); + const library = useMemo(() => (serverExercises && serverExercises.length ? serverExercises : EXERCISE_LIBRARY), [serverExercises]); const filtered = useMemo(() => { const kw = keyword.trim().toLowerCase(); @@ -131,29 +120,126 @@ export default function SelectExerciseForScheduleScreen() { }).start(); }, [selected, controlsOpacity]); - const handleAdd = () => { - if (!selected || !plan) return; + const handleAdd = async () => { + if (!selected || adding) return; - const exerciseData: ScheduleExercise = { - key: `${selected.key}_${Date.now()}`, + console.log('选择动作:', selected); + + const newExerciseDto = { + exerciseKey: selected.key, name: selected.name, - category: selected.category, - sets: Math.max(1, sets), - reps: reps && reps > 0 ? reps : undefined, - itemType: 'exercise', - completed: false, + plannedSets: sets, + plannedReps: reps, + itemType: 'exercise' as const, + note: `${selected.category}训练`, }; - console.log('添加动作到排课:', exerciseData); - - // 通过路由参数传递数据回到排课页面 - router.push({ - pathname: '/training-plan/schedule', - params: { - planId: planId, - newExercise: JSON.stringify(exerciseData) + setAdding(true); + try { + if (isSessionMode && sessionId) { + // 训练会话模式:添加到训练会话 + await dispatch(addWorkoutExercise({ sessionId, dto: newExerciseDto })).unwrap(); + } else if (plan) { + // 训练计划模式:添加到训练计划 + const planExerciseDto = { + exerciseKey: selected.key, + name: selected.name, + sets: sets, + reps: reps, + itemType: 'exercise' as const, + note: `${selected.category}训练`, + }; + await dispatch(addExercise({ planId: plan.id, dto: planExerciseDto })).unwrap(); + } else { + throw new Error('缺少必要的参数'); } - } as any); + + // 返回到上一页 + router.back(); + } catch (error) { + console.error('添加动作失败:', error); + Alert.alert('添加失败', '添加动作时出现错误,请稍后重试'); + } finally { + setAdding(false); + } + }; + + // 添加休息项目 + const handleAddRest = () => { + setShowRestModal(true); + Haptics.selectionAsync(); + }; + + // 添加备注项目 + const handleAddNote = () => { + setShowNoteModal(true); + Haptics.selectionAsync(); + }; + + // 确认添加休息 + const confirmAddRest = async () => { + if (adding) return; + + const restDto = { + name: `间隔休息 ${restDuration}s`, + restSec: restDuration, + itemType: 'rest' as const, + }; + + setAdding(true); + try { + if (isSessionMode && sessionId) { + // 训练会话模式 + await dispatch(addWorkoutExercise({ sessionId, dto: restDto })).unwrap(); + } else if (plan) { + // 训练计划模式 + await dispatch(addExercise({ planId: plan.id, dto: restDto })).unwrap(); + } else { + throw new Error('缺少必要的参数'); + } + + setShowRestModal(false); + setRestDuration(30); + router.back(); + } catch (error) { + console.error('添加休息失败:', error); + Alert.alert('添加失败', '添加休息时出现错误,请稍后重试'); + } finally { + setAdding(false); + } + }; + + // 确认添加备注 + const confirmAddNote = async () => { + if (adding || !noteContent.trim()) return; + + const noteDto = { + name: '训练提示', + note: noteContent.trim(), + itemType: 'note' as const, + }; + + setAdding(true); + try { + if (isSessionMode && sessionId) { + // 训练会话模式 + await dispatch(addWorkoutExercise({ sessionId, dto: noteDto })).unwrap(); + } else if (plan) { + // 训练计划模式 + await dispatch(addExercise({ planId: plan.id, dto: noteDto })).unwrap(); + } else { + throw new Error('缺少必要的参数'); + } + + setShowNoteModal(false); + setNoteContent(''); + router.back(); + } catch (error) { + console.error('添加备注失败:', error); + Alert.alert('添加失败', '添加备注时出现错误,请稍后重试'); + } finally { + setAdding(false); + } }; const onSelectItem = (key: string) => { @@ -162,19 +248,22 @@ export default function SelectExerciseForScheduleScreen() { setSelectedKey(null); return; } - setSets(3); - setReps(undefined); + const sel = library.find((e) => e.key === key) as any; + setSets(sel?.beginnerSets ?? 3); + setReps(sel?.beginnerReps); setShowCustomReps(false); setCustomRepsInput(''); setSelectedKey(key); }; - if (!plan || !goalConfig) { + if (!goalConfig || (!plan && !isSessionMode)) { return ( router.back()} /> - 找不到指定的训练计划 + + {isSessionMode ? '找不到指定的训练会话' : '找不到指定的训练计划'} + ); @@ -187,7 +276,7 @@ export default function SelectExerciseForScheduleScreen() { router.back()} withSafeTop={false} transparent={true} @@ -200,10 +289,31 @@ export default function SelectExerciseForScheduleScreen() { {goalConfig.title} - 从动作库里选择一个动作,设置组数与每组次数 + + {isSessionMode ? '为当前训练会话添加动作' : '选择动作或添加休息、备注项目'} + + {/* 快捷添加区域 */} + + + + 添加休息 + + + + + 添加备注 + + + {/* 大分类宫格 */} {[...mainCategories, '更多'].map((item) => { @@ -327,6 +437,16 @@ export default function SelectExerciseForScheduleScreen() { {item.name} {item.category} + {((item as any).targetMuscleGroups || (item as any).equipmentName) && ( + + {[(item as any).targetMuscleGroups, (item as any).equipmentName].filter(Boolean).join(' · ')} + + )} + {(((item as any).beginnerSets || (item as any).beginnerReps)) && ( + + 建议 {(item as any).beginnerSets ?? '-'} 组 × {(item as any).beginnerReps ?? '-'} 次 + + )} {item.description} {isSelected && } @@ -414,12 +534,14 @@ export default function SelectExerciseForScheduleScreen() { style={[ styles.addBtn, { backgroundColor: goalConfig.color }, - (!reps || reps <= 0) && { opacity: 0.5 } + ((!reps || reps <= 0) || adding) && { opacity: 0.5 } ]} - disabled={!reps || reps <= 0} + disabled={!reps || reps <= 0 || adding} onPress={handleAdd} > - 添加到训练计划 + + {adding ? '添加中...' : (isSessionMode ? '添加到训练会话' : '添加到训练计划')} + )} @@ -429,6 +551,104 @@ export default function SelectExerciseForScheduleScreen() { /> + + {/* 休息时间配置模态框 */} + setShowRestModal(false)}> + setShowRestModal(false)}> + e.stopPropagation() as any}> + 设置休息时间 + + + {[15, 30, 45, 60, 90, 120].map((v) => { + const active = restDuration === v; + return ( + { + setRestDuration(v); + Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Light); + }} + > + {v}s + + ); + })} + + + + 自定义时间 + + { + const num = parseInt(text) || 30; + setRestDuration(Math.max(10, Math.min(300, num))); + }} + keyboardType="number-pad" + style={styles.customRestInput} + /> + + + + + + {adding ? '添加中...' : '确认添加'} + + + + + + {/* 备注配置模态框 */} + setShowNoteModal(false)}> + setShowNoteModal(false)}> + e.stopPropagation() as any}> + 添加训练提示 + + + + + {noteContent.length}/100 + {noteContent.length > 0 && ( + setNoteContent('')} + style={styles.noteClearBtn} + > + + + )} + + + + {adding ? '添加中...' : '确认添加'} + + + + ); } @@ -492,6 +712,28 @@ const styles = StyleSheet.create({ opacity: 0.8, }, + // 快捷添加区域 + quickAddSection: { + flexDirection: 'row', + gap: 12, + marginBottom: 16, + }, + quickAddBtn: { + flex: 1, + flexDirection: 'row', + alignItems: 'center', + justifyContent: 'center', + paddingVertical: 12, + paddingHorizontal: 16, + borderRadius: 12, + borderWidth: 1, + gap: 8, + }, + quickAddText: { + fontSize: 14, + fontWeight: '700', + }, + // 分类网格 catGrid: { paddingTop: 10, @@ -671,7 +913,104 @@ const styles = StyleSheet.create({ color: '#FFFFFF', fontSize: 12, }, + + // 休息时间配置 + restTimeRow: { + flexDirection: 'row', + flexWrap: 'wrap', + gap: 8, + marginBottom: 16, + }, + restChip: { + paddingHorizontal: 12, + paddingVertical: 8, + borderRadius: 16, + borderWidth: 1, + borderColor: '#E5E7EB', + backgroundColor: '#FFFFFF', + }, + restChipText: { + fontSize: 12, + fontWeight: '700', + color: '#384046', + }, + + // 模态框自定义休息时间 + customRestSection: { + marginBottom: 20, + }, + sectionLabel: { + fontSize: 14, + fontWeight: '700', + color: '#384046', + marginBottom: 10, + }, + customRestRow: { + flexDirection: 'row', + alignItems: 'center', + gap: 10, + }, + customRestInput: { + flex: 1, + height: 40, + borderWidth: 1, + borderColor: '#E5E7EB', + borderRadius: 10, + paddingHorizontal: 12, + color: '#384046', + fontSize: 16, + textAlign: 'center', + }, + customRestUnit: { + fontSize: 14, + color: '#384046', + fontWeight: '600', + }, + + // 备注模态框 + noteModalInput: { + minHeight: 100, + maxHeight: 150, + borderWidth: 1, + borderColor: '#E5E7EB', + borderRadius: 12, + paddingHorizontal: 12, + paddingVertical: 10, + color: '#384046', + fontSize: 14, + textAlignVertical: 'top', + backgroundColor: '#FFFFFF', + marginBottom: 10, + }, + noteModalInfo: { + flexDirection: 'row', + justifyContent: 'space-between', + alignItems: 'center', + marginBottom: 20, + }, + noteCounter: { + fontSize: 11, + color: '#888F92', + }, + noteClearBtn: { + padding: 4, + }, + + // 确认按钮 + confirmBtn: { + paddingVertical: 12, + borderRadius: 12, + alignItems: 'center', + marginTop: 10, + }, + confirmBtnText: { + color: '#FFFFFF', + fontWeight: '800', + fontSize: 14, + }, + addBtn: { + marginTop: 20, paddingVertical: 12, borderRadius: 12, alignItems: 'center', diff --git a/app/workout/_layout.tsx b/app/workout/_layout.tsx new file mode 100644 index 0000000..5e82535 --- /dev/null +++ b/app/workout/_layout.tsx @@ -0,0 +1,15 @@ +import { Stack } from 'expo-router'; + +export default function WorkoutLayout() { + return ( + + + + ); +} diff --git a/app/workout/today.tsx b/app/workout/today.tsx new file mode 100644 index 0000000..56fc9ad --- /dev/null +++ b/app/workout/today.tsx @@ -0,0 +1,1066 @@ +import { Ionicons } from '@expo/vector-icons'; +import * as Haptics from 'expo-haptics'; +import { LinearGradient } from 'expo-linear-gradient'; +import { useRouter } from 'expo-router'; +import React, { useEffect, useMemo, useState } from 'react'; +import { Alert, FlatList, Modal, SafeAreaView, StyleSheet, Text, TouchableOpacity, View } from 'react-native'; +import Animated, { FadeInUp } from 'react-native-reanimated'; + +import { CircularRing } from '@/components/CircularRing'; +import { ThemedText } from '@/components/ThemedText'; +import { HeaderBar } from '@/components/ui/HeaderBar'; +import { palette } from '@/constants/Colors'; +import { useAppDispatch, useAppSelector } from '@/hooks/redux'; +import type { WorkoutExercise } from '@/services/workoutsApi'; +import { + clearWorkoutError, + completeWorkoutExercise, + deleteWorkoutSession, + loadTodayWorkout, + skipWorkoutExercise, + startWorkoutExercise, + startWorkoutSession +} from '@/store/workoutSlice'; + +// ==================== 工具函数 ==================== + +// 计算两个时间之间的耗时(秒) +const calculateDuration = (startTime: string, endTime: string): number => { + const start = new Date(startTime); + const end = new Date(endTime); + return Math.floor((end.getTime() - start.getTime()) / 1000); +}; + +// 格式化耗时显示(分钟:秒) +const formatDuration = (seconds: number): string => { + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + return `${minutes}分${remainingSeconds.toString().padStart(2, '0')}秒`; +}; + +// 获取动作的耗时信息 +const getExerciseDuration = (exercise: WorkoutExercise): { duration: number; formatted: string } | null => { + if (exercise.status === 'completed' && exercise.startedAt && exercise.completedAt) { + const duration = calculateDuration(exercise.startedAt, exercise.completedAt); + return { + duration, + formatted: formatDuration(duration) + }; + } + return null; +}; + +const GOAL_TEXT: Record = { + postpartum_recovery: { title: '产后恢复', color: '#9BE370', description: '温和激活,核心重建' }, + fat_loss: { title: '减脂塑形', color: '#FFB86B', description: '全身燃脂,线条雕刻' }, + posture_correction: { title: '体态矫正', color: '#95CCE3', description: '打开胸肩,改善圆肩驼背' }, + core_strength: { title: '核心力量', color: '#A48AED', description: '核心稳定,提升运动表现' }, + flexibility: { title: '柔韧灵活', color: '#B0F2A7', description: '拉伸延展,释放紧张' }, + rehab: { title: '康复保健', color: '#FF8E9E', description: '循序渐进,科学修复' }, + stress_relief: { title: '释压放松', color: '#9BD1FF', description: '舒缓身心,改善睡眠' }, +}; + +// 动态背景组件 +function DynamicBackground({ color }: { color: string }) { + return ( + + + + + + ); +} + +export default function TodayWorkoutScreen() { + const router = useRouter(); + const dispatch = useAppDispatch(); + const { currentSession, exercises, loading, exerciseLoading, error } = useAppSelector((s) => s.workout); + + // 本地状态 + const [completionModal, setCompletionModal] = useState<{ + visible: boolean; + exercise: WorkoutExercise | null; + sets: number; + reps: number; + }>({ + visible: false, + exercise: null, + sets: 0, + reps: 0, + }); + + const goalConfig = currentSession?.trainingPlan + ? (GOAL_TEXT[currentSession.trainingPlan.goal] || { title: '今日训练', color: palette.primary, description: '开始你的训练之旅' }) + : { title: '今日训练', color: palette.primary, description: '开始你的训练之旅' }; + + // 加载今日训练数据 + useEffect(() => { + dispatch(loadTodayWorkout()); + }, [dispatch]); + + // 错误处理 + useEffect(() => { + if (error) { + Alert.alert('错误', error, [ + { text: '确定', onPress: () => dispatch(clearWorkoutError()) } + ]); + } + }, [error, dispatch]); + + // 训练状态统计 + const workoutStats = useMemo(() => { + const exerciseItems = exercises.filter(ex => ex.itemType === 'exercise'); + return { + total: exerciseItems.length, + completed: exerciseItems.filter(ex => ex.status === 'completed').length, + inProgress: exerciseItems.filter(ex => ex.status === 'in_progress').length, + pending: exerciseItems.filter(ex => ex.status === 'pending').length, + skipped: exerciseItems.filter(ex => ex.status === 'skipped').length, + }; + }, [exercises]); + + const completionPercentage = workoutStats.total > 0 + ? Math.round((workoutStats.completed / workoutStats.total) * 100) + : 0; + + // 开始训练会话 + const handleStartWorkout = () => { + if (!currentSession) return; + + Alert.alert( + '开始训练', + '准备好开始今日的训练了吗?', + [ + { text: '取消', style: 'cancel' }, + { + text: '开始', + onPress: () => { + dispatch(startWorkoutSession({ sessionId: currentSession.id })); + Haptics.notificationAsync(Haptics.NotificationFeedbackType.Success); + } + } + ] + ); + }; + + // 开始动作 + const handleStartExercise = (exercise: WorkoutExercise) => { + if (!currentSession || exercise.status !== 'pending') return; + + dispatch(startWorkoutExercise({ + sessionId: currentSession.id, + exerciseId: exercise.id + })); + Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Medium); + }; + + // 显示完成动作模态框 + const handleShowCompleteModal = (exercise: WorkoutExercise) => { + setCompletionModal({ + visible: true, + exercise, + sets: exercise.completedSets || exercise.plannedSets || 0, + reps: exercise.completedReps || exercise.plannedReps || 0, + }); + }; + + // 完成动作 + const handleCompleteExercise = () => { + const { exercise, sets, reps } = completionModal; + if (!currentSession || !exercise) return; + + dispatch(completeWorkoutExercise({ + sessionId: currentSession.id, + exerciseId: exercise.id, + dto: { + completedSets: sets, + completedReps: reps, + } + })); + + setCompletionModal({ visible: false, exercise: null, sets: 0, reps: 0 }); + Haptics.notificationAsync(Haptics.NotificationFeedbackType.Success); + }; + + // 跳过动作 + const handleSkipExercise = (exercise: WorkoutExercise) => { + if (!currentSession) return; + + Alert.alert( + '跳过动作', + `确定要跳过"${exercise.name}"吗?`, + [ + { text: '取消', style: 'cancel' }, + { + text: '跳过', + style: 'destructive', + onPress: () => { + dispatch(skipWorkoutExercise({ + sessionId: currentSession.id, + exerciseId: exercise.id + })); + Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Light); + } + } + ] + ); + }; + + // 删除训练会话 + const handleDeleteSession = () => { + if (!currentSession) return; + + Alert.alert( + '删除训练会话', + '确定要删除这个训练会话吗?删除后无法恢复。', + [ + { text: '取消', style: 'cancel' }, + { + text: '删除', + style: 'destructive', + onPress: () => { + dispatch(deleteWorkoutSession(currentSession.id)); + Haptics.notificationAsync(Haptics.NotificationFeedbackType.Warning); + // 删除成功后返回上一页 + router.back(); + } + } + ] + ); + }; + + // 获取动作状态文本和颜色 + const getExerciseStatusConfig = (exercise: WorkoutExercise) => { + switch (exercise.status) { + case 'completed': + return { text: '已完成', color: '#22C55E', backgroundColor: '#22C55E15' }; + case 'in_progress': + return { text: '进行中', color: '#F59E0B', backgroundColor: '#F59E0B15' }; + case 'skipped': + return { text: '已跳过', color: '#6B7280', backgroundColor: '#6B728015' }; + default: + return { text: '待开始', color: '#6B7280', backgroundColor: '#6B728015' }; + } + }; + + // 渲染动作卡片 + const renderExerciseItem = ({ item, index }: { item: WorkoutExercise; index: number }) => { + const statusConfig = getExerciseStatusConfig(item); + const isLoading = exerciseLoading === item.id; + + if (item.itemType === 'rest') { + return ( + + + + + + {item.name} + {item.restSec}秒 + + + ); + } + + if (item.itemType === 'note') { + return ( + + + + + + {item.name} + {item.note && {item.note}} + + + ); + } + + return ( + + + + {item.name} + {item.exercise && ( + {item.exercise.categoryName} + )} + + + + {statusConfig.text} + + + + + + {item.plannedSets && ( + + {item.plannedSets} 组 × {item.plannedReps || '-'} 次 + + )} + {item.plannedDurationSec && ( + + 持续 {item.plannedDurationSec} 秒 + + )} + + + {item.status === 'completed' && ( + + + + 实际完成: {item.completedSets || '-'} 组 × {item.completedReps || '-'} 次 + + {(() => { + const durationInfo = getExerciseDuration(item); + return durationInfo ? ( + + + + {durationInfo.formatted} + + + ) : null; + })()} + + + )} + + + {item.status === 'pending' && currentSession?.status === 'in_progress' && ( + handleStartExercise(item)} + disabled={isLoading} + > + + {isLoading ? '开始中...' : '开始'} + + + )} + + {item.status === 'in_progress' && ( + <> + handleShowCompleteModal(item)} + disabled={isLoading} + > + + {isLoading ? '完成中...' : '完成'} + + + handleSkipExercise(item)} + disabled={isLoading} + > + 跳过 + + + )} + + {item.status === 'pending' && ( + handleSkipExercise(item)} + disabled={isLoading} + > + 跳过 + + )} + + + ); + }; + + if (loading && !currentSession) { + return ( + + router.back()} /> + + 加载中... + + + ); + } + + if (!currentSession) { + return ( + + router.back()} /> + + + 暂无今日训练 + 请先激活一个训练计划 + router.push('/training-plan' as any)} + > + 去创建训练计划 + + + + ); + } + + return ( + + {/* 动态背景 */} + + + + router.back()} + withSafeTop={false} + transparent={true} + tone="light" + right={ + currentSession?.status === 'in_progress' ? ( + router.push(`/training-plan/schedule/select?sessionId=${currentSession.id}` as any)} + disabled={loading} + > + + + ) : null + } + /> + + + {/* 训练计划信息头部 */} + + {/* 删除按钮 - 右上角 */} + + + + + + + {goalConfig.title} + + {currentSession.trainingPlan?.name || '今日训练'} + + {/* 进度统计文字 */} + {currentSession.status !== 'planned' && ( + + {workoutStats.completed}/{workoutStats.total} 个动作已完成 + + )} + + + {/* 右侧区域:圆环进度或开始按钮 */} + {currentSession.status === 'planned' ? ( + + + + ) : ( + + + + + {completionPercentage}% + + + + )} + + + {/* 训练完成提示 */} + {currentSession.status === 'completed' && ( + + + 训练已完成! + + )} + + {/* 动作列表 */} + item.id} + renderItem={renderExerciseItem} + contentContainerStyle={styles.listContent} + showsVerticalScrollIndicator={false} + /> + + + + {/* 完成动作模态框 */} + setCompletionModal({ visible: false, exercise: null, sets: 0, reps: 0 })} + > + setCompletionModal({ visible: false, exercise: null, sets: 0, reps: 0 })} + > + e.stopPropagation()} + > + 完成动作 + {completionModal.exercise?.name} + + + + 完成组数 + + setCompletionModal(prev => ({ + ...prev, + sets: Math.max(0, prev.sets - 1) + }))} + > + - + + {completionModal.sets} + setCompletionModal(prev => ({ + ...prev, + sets: Math.min(20, prev.sets + 1) + }))} + > + + + + + + + + 每组次数 + + setCompletionModal(prev => ({ + ...prev, + reps: Math.max(0, prev.reps - 1) + }))} + > + - + + {completionModal.reps} + setCompletionModal(prev => ({ + ...prev, + reps: Math.min(50, prev.reps + 1) + }))} + > + + + + + + + + + 确认完成 + + + + + + ); +} + +const styles = StyleSheet.create({ + safeArea: { + flex: 1, + }, + contentWrapper: { + flex: 1, + }, + content: { + flex: 1, + paddingHorizontal: 20, + }, + + // 动态背景 + backgroundOrb: { + position: 'absolute', + width: 300, + height: 300, + borderRadius: 150, + top: -150, + right: -100, + }, + backgroundOrb2: { + position: 'absolute', + width: 400, + height: 400, + borderRadius: 200, + bottom: -200, + left: -150, + }, + + // 计划信息头部 + planHeader: { + flexDirection: 'row', + alignItems: 'center', + padding: 16, + borderRadius: 16, + marginBottom: 16, + }, + planColorIndicator: { + width: 4, + height: 40, + borderRadius: 2, + marginRight: 12, + }, + planInfo: { + flex: 1, + }, + planTitle: { + fontSize: 18, + fontWeight: '800', + color: '#192126', + marginBottom: 4, + }, + planDescription: { + fontSize: 13, + color: '#5E6468', + opacity: 0.8, + marginBottom: 4, + }, + planProgressStats: { + fontSize: 12, + color: '#6B7280', + marginTop: 4, + }, + + // 圆环进度容器 + circularProgressContainer: { + alignItems: 'center', + justifyContent: 'center', + marginRight: 32, + position: 'relative', + }, + circularProgressText: { + position: 'absolute', + alignItems: 'center', + justifyContent: 'center', + width: 60, + height: 60, + }, + circularProgressPercentage: { + fontSize: 14, + fontWeight: '800', + textAlign: 'center', + }, + + // 删除按钮 + deleteBtn: { + position: 'absolute', + top: 8, + right: 8, + width: 32, + height: 32, + borderRadius: 16, + alignItems: 'center', + justifyContent: 'center', + backgroundColor: 'rgba(255, 255, 255, 0.9)', + zIndex: 10, + shadowColor: '#000', + shadowOpacity: 0.1, + shadowRadius: 4, + shadowOffset: { width: 0, height: 2 }, + elevation: 2, + }, + + // 开始训练按钮 + planStartBtn: { + width: 44, + height: 44, + borderRadius: 22, + alignItems: 'center', + justifyContent: 'center', + marginRight: 32, + }, + + // 完成提示 + completedBanner: { + flexDirection: 'row', + alignItems: 'center', + justifyContent: 'center', + backgroundColor: '#F0FDF4', + paddingVertical: 12, + paddingHorizontal: 16, + borderRadius: 12, + marginBottom: 16, + gap: 8, + }, + completedBannerText: { + color: '#22C55E', + fontSize: 16, + fontWeight: '700', + }, + + // 列表 + listContent: { + paddingBottom: 40, + }, + + // 动作卡片 + exerciseCard: { + backgroundColor: '#FFFFFF', + borderRadius: 16, + padding: 16, + marginBottom: 12, + shadowColor: '#000', + shadowOpacity: 0.06, + shadowRadius: 12, + shadowOffset: { width: 0, height: 6 }, + elevation: 3, + }, + exerciseHeader: { + flexDirection: 'row', + justifyContent: 'space-between', + alignItems: 'flex-start', + marginBottom: 8, + }, + exerciseInfo: { + flex: 1, + }, + exerciseName: { + fontSize: 16, + fontWeight: '800', + color: '#192126', + marginBottom: 4, + }, + exerciseCategory: { + fontSize: 12, + color: '#888F92', + }, + statusBadge: { + paddingHorizontal: 8, + paddingVertical: 4, + borderRadius: 8, + }, + statusText: { + fontSize: 12, + fontWeight: '600', + }, + exerciseDetails: { + marginBottom: 12, + }, + exerciseParams: { + fontSize: 14, + color: '#5E6468', + marginBottom: 2, + }, + completedInfo: { + backgroundColor: '#F0FDF4', + borderRadius: 8, + }, + completedRow: { + flexDirection: 'row', + justifyContent: 'space-between', + alignItems: 'center', + }, + completedText: { + fontSize: 12, + color: '#22C55E', + fontWeight: '600', + flex: 1, + }, + durationBadge: { + flexDirection: 'row', + alignItems: 'center', + paddingHorizontal: 6, + paddingVertical: 3, + borderRadius: 6, + gap: 3, + }, + durationText: { + fontSize: 11, + fontWeight: '600', + }, + exerciseActions: { + flexDirection: 'row', + gap: 8, + }, + actionBtn: { + flex: 1, + paddingVertical: 10, + paddingHorizontal: 16, + borderRadius: 8, + alignItems: 'center', + }, + startBtn: { + backgroundColor: '#22C55E', + }, + startBtnText: { + color: '#FFFFFF', + fontSize: 14, + fontWeight: '700', + }, + completeBtn: { + backgroundColor: '#22C55E', + }, + completeBtnText: { + color: '#FFFFFF', + fontSize: 14, + fontWeight: '700', + }, + skipBtn: { + backgroundColor: '#F3F4F6', + borderWidth: 1, + borderColor: '#E5E7EB', + }, + skipBtnText: { + color: '#6B7280', + fontSize: 14, + fontWeight: '600', + }, + + // 休息卡片 + restCard: { + backgroundColor: '#FFFFFF', + borderRadius: 16, + padding: 16, + marginBottom: 12, + borderLeftWidth: 4, + flexDirection: 'row', + alignItems: 'center', + shadowColor: '#000', + shadowOpacity: 0.06, + shadowRadius: 8, + shadowOffset: { width: 0, height: 4 }, + elevation: 2, + }, + restIconContainer: { + marginRight: 12, + }, + restContent: { + flex: 1, + }, + restTitle: { + fontSize: 16, + fontWeight: '700', + color: '#192126', + marginBottom: 4, + }, + restDuration: { + fontSize: 14, + color: '#5E6468', + }, + + // 备注卡片 + noteCard: { + backgroundColor: '#FFFFFF', + borderRadius: 16, + padding: 16, + marginBottom: 12, + borderLeftWidth: 4, + flexDirection: 'row', + alignItems: 'flex-start', + shadowColor: '#000', + shadowOpacity: 0.06, + shadowRadius: 8, + shadowOffset: { width: 0, height: 4 }, + elevation: 2, + }, + noteIconContainer: { + marginRight: 12, + marginTop: 2, + }, + noteContent: { + flex: 1, + }, + noteTitle: { + fontSize: 16, + fontWeight: '700', + color: '#192126', + marginBottom: 4, + }, + noteText: { + fontSize: 14, + color: '#5E6468', + lineHeight: 20, + }, + + // 空状态 + emptyContainer: { + flex: 1, + alignItems: 'center', + justifyContent: 'center', + padding: 20, + }, + emptyTitle: { + fontSize: 18, + fontWeight: '700', + color: '#192126', + marginTop: 16, + marginBottom: 8, + }, + emptyText: { + fontSize: 14, + color: '#6B7280', + textAlign: 'center', + marginBottom: 24, + }, + createPlanBtn: { + backgroundColor: '#22C55E', + paddingVertical: 12, + paddingHorizontal: 24, + borderRadius: 8, + }, + createPlanBtnText: { + color: '#FFFFFF', + fontSize: 14, + fontWeight: '700', + }, + + // 加载状态 + loadingContainer: { + flex: 1, + alignItems: 'center', + justifyContent: 'center', + }, + loadingText: { + fontSize: 16, + color: '#6B7280', + }, + + // 模态框 + modalOverlay: { + flex: 1, + backgroundColor: 'rgba(0,0,0,0.35)', + alignItems: 'center', + justifyContent: 'flex-end', + }, + modalSheet: { + width: '100%', + backgroundColor: '#FFFFFF', + borderTopLeftRadius: 16, + borderTopRightRadius: 16, + paddingHorizontal: 16, + paddingTop: 14, + paddingBottom: 24, + }, + modalTitle: { + fontSize: 18, + fontWeight: '800', + marginBottom: 8, + color: '#192126', + textAlign: 'center', + }, + modalSubtitle: { + fontSize: 14, + color: '#6B7280', + textAlign: 'center', + marginBottom: 24, + }, + inputRow: { + flexDirection: 'row', + gap: 16, + marginBottom: 24, + }, + inputBox: { + flex: 1, + }, + inputLabel: { + fontSize: 14, + fontWeight: '600', + color: '#192126', + marginBottom: 12, + }, + counterRow: { + flexDirection: 'row', + alignItems: 'center', + justifyContent: 'space-between', + backgroundColor: '#F3F4F6', + borderRadius: 8, + padding: 4, + }, + counterBtn: { + backgroundColor: '#FFFFFF', + width: 32, + height: 32, + borderRadius: 6, + alignItems: 'center', + justifyContent: 'center', + shadowColor: '#000', + shadowOpacity: 0.05, + shadowRadius: 2, + shadowOffset: { width: 0, height: 1 }, + elevation: 1, + }, + counterBtnText: { + fontWeight: '800', + color: '#192126', + fontSize: 16, + }, + counterValue: { + fontWeight: '700', + color: '#192126', + fontSize: 16, + minWidth: 40, + textAlign: 'center', + }, + confirmBtn: { + paddingVertical: 16, + borderRadius: 12, + alignItems: 'center', + }, + confirmBtnText: { + color: '#FFFFFF', + fontWeight: '800', + fontSize: 16, + }, + + // 添加动作按钮 + addExerciseBtn: { + width: 28, + height: 28, + borderRadius: 14, + alignItems: 'center', + justifyContent: 'center', + shadowColor: '#000', + shadowOpacity: 0.1, + shadowRadius: 4, + shadowOffset: { width: 0, height: 2 }, + elevation: 2, + }, +}); diff --git a/assets/images/demo/imageBody.jpeg b/assets/images/demo/imageBody.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..49b0cfab36f124898c21237d103c2f43ff026a84 GIT binary patch literal 449425 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

FhA#_FX-y*odyx$$kQIB3jG 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

EC0XgNoBa{F%Ksy{ffzczy5IscwyJoxr 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

|l|^sH&b?+-=*@RyId%ShK9U=|AW#aX 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 TDlp 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�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 ?6ISw`rocZDZu`!2Ef;Ut3z{5G!hq(%7-_B++O~ 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%0AaUX~nG*RJFo_M(qz z@RG9EM8x{O<-!X$HRaxe(eCrmS|S&=-~7w7ZqZveefmVAQLT1B6o}Vv%<59T=m0g< z=y{vYJ*ny|k4!lhs)C$beia2SL*Qv&M>Y+2wqrl^a~`!*gcrKpzhM|WKF0{v%eplLY7!z%Y$_)8hg zU!&@I-h;X4j^kK#)W1glD(r22L6~f4x$>ncY3`B5JFdK%yn>=n5pfG5&)51++DQEk z{{c}A(AXnsS2uauur(**C(IO$f)yl$*F+zrNEy>UdvOJ)T_bwJ*eEkUuU6w@=P%wU zGgMS5305GWnS2nhesy-3XN(%M9)R>qery~Jn*75yhFz!{u{}gyNBVE!*IfG2MVSoG3ipM;>#rEGF%J>nI%i%HPMjEOhCuY3 zFF4^Z9KUb*>2KJ=5&;_h;$njLyrisX9iJiiyxb7`>DOq@-OZ0^diZyRzL~zN-AR7lOaX&DJbL?2v?7q70R#pVVP5>U1{8TdeFv1!lUaLA#FWT=$_9<_B zFBT^WfZVlzj8#Y@aMEuK2kujXqW&wlBf@QhTIHD7vA58SDzY3#SUc$nWQxygM~2G8aFl zK>6FiVS+t1M=>4!)l!P29^2~$G$lh>#TRa({V0TTJvno-xV8}d~E{=lrC08GpT*??U6kfcl(A}BJCT}{a+6&^oS~CZ!uv^3HZI9>^#?uNu4rLX{?R` zp}34w33I{p?GuhdWQxylK@P-(dPUVf8#%&Eel3)b*Jhbak;|}5{l$7A_rteVBG{lq zOD0IxaJ$ka-Z85VCLV!cyr2$BAmY3zWG)+Y#v2{Op;NCbsfWd6sjh9+y<+Nbh|tLa z6l_A2bSATzoL5^RQ#WL3eKw1_hsD)MN$@|0wTNTw+s?iReb7L+b>kuPM0a@}JJwkQ zrN+tMgy1>sUnXD4*2gU6R8d$C1MjBC1xdThDb`ZoC|hE504s7m?I0n_*T6k zBY|_(tS*R_r*;0eaBZ!^Zs~Oz$A)vOj@eUe&}@`RKQ|}sn~vry?j5grUE`^Ec>2rq zN4^ZZlP&S&uH#RawbQ0$4W+#tT-!tbQLP5MfJZ+Tq@zd;S{FHoBr-z%D{#hs@VP<2 zD9!lPz!bjjy?GdA_{~PYw&e*{JKah1spE>2DzLOqhUKM9RG4qQDsSo=S0ZWq!3tK5 z8kTvRKSXVC{9vayk<74juKg?_*kpBwDkbgq3{=V88e18B0tp9f`Hi^A^;|?YG zu^0s8cj6(5VesCKxQk*BGB^?E6A9JRRgb^BFxH(+-xrz9(g!;z6TFRi|3=NYdHs6O zW^>ucax!2JRuEtOe`Q@|Sd(kqf5t|LlprBF9D*n+-N+CL72${?f+!#*(j`u6l!!Q( z64D_ENTakI>5@`WknZjjBz*5@^PKZu@B3*V_w3qs|L^}VH{D;-oN0W?bhufQ1ls~@ zryrPtv?4MMrP-8$EDh?Fd!g4CRtLXPN7c$=CH{bkG@3MIjR}^C9CHqn`LLoR!0#h) z0uWhUd-wQg*Xd|wff2wDH<5ll&-`1}*EJ$&I#o&8lh(%Eh*(Wd-|EOH9c&H51*AXr{cT4@7aApPJ`r#i*VEd?sl}edYE3&u`|4;EmYndH>M0! zG%0;Oqvh{C#x68@v`=A$Kv*^XIwp>7CAf4wxS3A7aAzZ@8wmQ>C`M8^t@J}GRM{i& zMr^7-QNbY+bPlgkRBaErR1?1%%3o~yloAuU-U?<*kC&(*k5zgCTFARtm@Tf&GuDp- zw8#``Zd40d9jv$*bF91#^VLMdxd?IC6b@W=N=J#k!sF-cNdB-PnH>}Rf|HZJ`Ud=v zW3h{D=a6S_J-%T+(9WQ^v4SfZz+UJ6SL9Wqs03$2WvqRaWPp?G@WLrcC#RoZOd(mp zL_D=LZuerUAG{GGl-)<0y4h~&LbdQU0Ra&d;wvPXKuOb~`SmLRwMQ>w<0%5$jj2=y>9wHd@z~MLf@BUdm71?pu~CvP6qOc@sXPzE8?6_CXQ+!3alH z`|RBh+WiA33M3Tw<{>Q9Y3jfr-Dk|l{u;)UEMAW!dHxO|+oso=U-=j5tM zK3xW6XWU9SLnyj&sd5-rV{wwHnZMY@ZR>dN-D7_t9qZ!$vwfBRS{HTC z6SS8kFE$iJpEI~rK4LYc@KIz|kH-*utxMq1G<)@Q7uCIMZI{f;Fe3MP%;ldLoNh-w z#(h^ITq0#HYGeX0r$i=_L3ylVMu`>jZ$f#^SUp)=7+2GC=2RWWm}sf zOm^iwWM*Yl#Z&GUM?6SNYDA@V?BqrdX`z(_C}I>@sCS;!eb1MEAV%Vcu{yim0DcL; zbN}IQaA5Gfk}Y{p+{bST0}#~ z=p*O3wR={8>~w|6vSj=hcPDQ6l`P(0OFKzFFG?joZwe#;N;LgY2w%aCT1XR_%#|Wz z20V?eX(mvN$sQ-C%=vJ0uKIv3thG23fUefN=2^}4B8@UITVZse|WB$#+9eR__TV*qnMKD z3Gy8e`=4tjk(M zToq!#PUJ~ZwM-7}j7jy%3kCC-+%?hBbB3@$P~`Z}mvRYiUu1&qt?*FrCQH4j(E!By zX9fAsZS(&CFIZE+pz2k=R*jSSarL;i&fGA8dF@JyhsT<*q0&7+y-jD!eg6Ct^W1K{ zVl^xH4{t+~;blW^-a#LSnYEV;U_!zX1p&VBRR}&N&;S*DUFYfXxPa7Slw=jUlx+IP zsk|TH2m|J&B(?e9LhYt&AX5Qwgw|1Nt6M%I^fTgZjE3QTz+v z_NUpLj+W9W5PZk1@;Q(OO_8mE$k>sY>c3yULtWoUceLi?oZX__TWJ|=fD6Yt-5=UD>XxGwCmpj}%ZT zfJCtgm=QSscA+7{-b_wIfK&NQI5n51_^70d=eL4LzTXf|k&%lAgb_6w31rrFq+%v5E7^G8v%dXmm*t{d9b?BLVFq#9Ei zV6Fc7d4ka)D*Q8gAaz>pBH+5Ezkvb#j(WB+NCm7KWuQgvPU=)@^zM!>7EFoek;Up~ zdQrVvr&1;aj`?1AM`7czwjp~E#j)E=mzb*snE;FSI%O_4q=e2#+fATU(^xNa4 zcx|ty9I(NhWZjGp{k6`f5W?k8aJh1kT%&MwLrQjza!uZuF{P~E*R)v3h|f5v8YaYJ zzEKi|Tji)v^gLBQ8@ci~I2(sGtbY{~3bKkK2E;Dud~av_3;-pKOnN&0J(-KlJSd-E z3HqM4VslWZ|ZZB^gyuE}8hHu~$J1{^DG!mUM&eGCE6taXh&s=z9 zSzT^|n)RUH#Aiy(bdM)&-K|~hU*e>ygFEv;bddI8!i_hEXRqxgdoUSL;Cfs)+8geW zv+E%+9^ii|p2Jm?Dh%_jH9Hf(hq#`(=NhOh785=tfZCRSe#EL;4}; zgT|}+f2I9ti-YRuLG)OhL5DK}_eULs;<9DA`{P=}P_7H8g^R5g%1+A9zIqM%``^U< z!&KD{h>C_b4;_mSPibg`?Bp9CxtJ|bXu*%dZDLgkiJRRU3ZQU{#D3Vafd`IUCMUynRhmbFkGt~hu(YLi0k^DZJn~Xlvbg0hN%qWFT-o=g&#nyLQnW5xLn!|JpI6cQzmE$@#}Ydn7z zO>=DA|t9ytP7#UNwd#w z+a|Lcc$mQXzr+V=L?8j;F?#f@H`nW{$QI)dxhIadOA+jCHi1$&`+DB+>P2-z)#>c< zoV76U<_({3>$0A*?R(a$C9?q|U2NmGKt2y?m(YZ7JeC=`6jKOC-zG4i(JN9PD$-%F$PB=^l~kYX6&K$S}}B}UopyQ9kw_b_^I zIN7FI@9>;<8=1i?wco@;kXJ`eljJ+MM1>09$L4$AcD-#TdKc{^xl54j`C;Nm!NL8g zG0gjDJicb05W=PEXm3lP4nyX5s9EC<$bPa6x`ynKCwLHRdS z6r%NDq>oM|-R#4V%UNc<@W01eM_ZmZQ4sax!~`3WGHQzz3p8{ixe6EdtwiJ!EkVsw z!Ey5@UyYM;5r&UxXyr$k6l$>y75&+Pj-VZ=?QWSW#g?)ZFV_h6S~s?h?n`w`yHi#@ zkSI_fJr8$YIXSE5fIdBr6hG4L^EWT(jQTfNgt~8fjqGJfO*&$RR$ppUS3V1G29annZhRao_RVommfQ9qHx4d8Gkw=E6tYK%{AX{t0Fyu18!3LtX^x= zw9MYcrXhqgVL+^;OZi0Z_Ve+2hOUKba{G%i6rNWapzjp1h92|giE57fuI=sb+_(oN zT;+Ygw1K8NMt3L;x1s>b#6&!4vA|^R0h`Rdb*!OE3%Lwkh*z;cbndtT2%9r^u38!X z@UC$++usgsDW11j(of%F#v+TBCS8wFkc~PugdSQRC#7UVo3Z9D9p>)O3C5^Y%M#ka|r5H;CzJ zidJ?a{qitL_%6mKpwQ7okuhY(WSE$&<>70?I{7RXa2=R-)9veoO4ptVd_&$0FnfGe z>w%}L0B{-pIm1v-uA4Yq=vm;wZtxpQjeSO$tN8Uzk3Gd2cy;7Sy3IG2QECqM$5 z2F+?}Pe-F3vWSLmuiL=xxf$rkwQ?*KwRP}AnaA)2ni01Q$@|2I` zDy!TVcgt?@QF9y`M!M6vpMO{Pbt9iS*iZ$zrgADR5(v+P^)uNC#qYRfHifULvb{k1 z7SsKeJ}WRQQ+!A6W?njHtc_$3Q{a6}(u}*y&{SOpbBGyz;w$#3lWAQMQ(5075?Skq zlhr5#BOV_Q<;cavUMd>2Ty<%%AIXLM6(d5S{l0-?yxvw~cW>RNZO~?{2s_rvY5aup zZlviLFZKP6=7sTxPNl3jx~|SAJ}!-al^D=y@=1JLoKjPp!%KK|sBvw)CMcQI5=*86 z0EXq{7rhfc)p7nJLMS@6|J%coY_6*he~_UZ7K@}BG)p>s?D=Yoj#K7vmRZEuWuVU> zeZ|*3>zXOSR`F-OKyjGx>tsacW>Mcq0aN8&s%_rv=lwY#(B_X>-Gt#Q&=roFxyK-q z2jd!LzpnCNezqnUhttncKVYiai^}JX%ihc_D6EEg5a=T;&IWyS!du+S1Kxte3*^{a z8c-ch^G`GZaJT3t;7}nxEW-A`_ANfFx*s(Ijo75Uj6;yw{9Z{Jx#p=T$@>3 zv37v3c)WYBWpD7INO1%A(fueN6rSr2BG7)<+7teCT{qa>hYm1-v zwhXVeaIz^>O*yCdccd{Wx1Bi47F={KHh%k9Jtv5@Iy-kHR9siFNk+Z%X8e*cC9Xi+ zPTV4yah;~T?8~4EqJZ{j%SbxJlklnXhf8r>Dt7_5U6WeN==ZJYEv7?Vh$P#Z*^$AW zU>NX{F`$q=-T<(o8x?CvJ`rDNbDpVmurqM^5i6<}f59SuT;1BGnIv!n>SH9S8v#+Z zY|weY4Eb+2?<9kqX0(Exk$X&fd%1@;7W?G+e!IhYodI1S@|RHPTim1jO0klwr44E_ zYNfhvT)p;GQ~Y9_kq(MTIkoA23S>`Z7%@tR%8viydLrc1*-uH7PR2SF8c>8qs&o?{W$cqsG_s`TlWI-{$Y1b=Ta?-K(Jn zYXv5x5xC+#20kUv^%_8xfA01u;3x$t9@Ojy{noy&s4{L~iYX`JGEq~5*cR$h96ThGvL@vO zK*nPdY6ogcG#rs|3d}!~tr{LepjQd2@&q|`vYjig9?xf#=qWoMV$y020?JmP60=st z*q^|PKV!D7c&lyj5>&(F(3QCC)u#LwLA`3pX{LZH<8v=VB4HE(fCj!i@0VM9rz`xR zFc=?Z5u|`>>spNHsKJVO2MEcRqG*36tuWr;+ zOGxlPS{WHC*1xLu^evsv^$E&<*PY^(VW!U;I*6}DrKq!~Wic+{b)DJe52)Ned;2O+ z%)Vv29*Vn%6Tpf6hECl64V`Se&SRAyZ`LbWEkaa(@U}4XH%=lnmHN}U; z@R94e#gNPX8kg;NHREY7YrBM(U+0?T(<*w%$rh9L_C)GTclUdHJ-^1UUu^an<_V@< zMx{4q z@aN_%ED9O;3 void; +} + +const GOAL_TEXT: Record = { + postpartum_recovery: { title: '产后恢复', color: '#9BE370', description: '温和激活,核心重建' }, + fat_loss: { title: '减脂塑形', color: '#FFB86B', description: '全身燃脂,线条雕刻' }, + posture_correction: { title: '体态矫正', color: '#95CCE3', description: '打开胸肩,改善圆肩驼背' }, + core_strength: { title: '核心力量', color: '#A48AED', description: '核心稳定,提升运动表现' }, + flexibility: { title: '柔韧灵活', color: '#B0F2A7', description: '拉伸延展,释放紧张' }, + rehab: { title: '康复保健', color: '#FF8E9E', description: '循序渐进,科学修复' }, + stress_relief: { title: '释压放松', color: '#9BD1FF', description: '舒缓身心,改善睡眠' }, +}; + +export function MyPlanCard({ plan, onPress }: MyPlanCardProps) { + const goalConfig = GOAL_TEXT[plan.goal] || { title: '训练计划', color: '#FF6B47', description: '开始你的训练之旅' }; + + // 格式化日期 + const formatDate = (dateStr: string) => { + const date = new Date(dateStr); + const months = ['January', 'February', 'March', 'April', 'May', 'June', + 'July', 'August', 'September', 'October', 'November', 'December']; + return `${months[date.getMonth()]}, ${date.getFullYear()}`; + }; + + // 获取训练类型显示文本 + const getWorkoutTypeText = () => { + if (plan.goal === 'core_strength') return 'Body Weight'; + if (plan.goal === 'flexibility') return 'Flexibility'; + if (plan.goal === 'posture_correction') return 'Posture'; + return 'Body Weight'; + }; + + // 获取周数和训练次数 + const getWeekInfo = () => { + const startDate = new Date(plan.startDate); + const now = new Date(); + const diffTime = Math.abs(now.getTime() - startDate.getTime()); + const diffWeeks = Math.ceil(diffTime / (1000 * 60 * 60 * 24 * 7)); + const currentWeek = Math.min(diffWeeks, 12); // 假设最多12周 + + const totalSessions = plan.mode === 'daysOfWeek' + ? plan.daysOfWeek.length * currentWeek + : plan.sessionsPerWeek * currentWeek; + + return { + week: currentWeek, + session: Math.min(totalSessions, 60), // 假设最多60次训练 + totalSessions: 60 + }; + }; + + const weekInfo = getWeekInfo(); + + return ( + + {/* Header */} + + 我的计划 + + + + + + + + {/* Date */} + {formatDate(plan.startDate)} + + {/* Main Card */} + + {/* Icon */} + + + + + + + {/* Content */} + + {/* Week indicator */} + 周 {weekInfo.week} + + {/* Workout type */} + {getWorkoutTypeText()} + + {/* Session info */} + 训练 {weekInfo.session} 次 + + {/* Next exercise section */} + + + + + + + 下一个动作 + 下蹲 + + + + + + ); +} + +const styles = StyleSheet.create({ + container: { + marginHorizontal: 24, + marginBottom: 24, + }, + header: { + flexDirection: 'row', + justifyContent: 'space-between', + alignItems: 'center', + marginBottom: 8, + }, + title: { + fontSize: 24, + fontWeight: 'bold', + color: '#1A1A1A', + paddingHorizontal: 24, + marginBottom: 18, + }, + menuButton: { + flexDirection: 'row', + alignItems: 'center', + gap: 4, + }, + menuDot: { + width: 4, + height: 4, + borderRadius: 2, + backgroundColor: '#999999', + }, + date: { + fontSize: 16, + color: '#999999', + marginBottom: 20, + }, + card: { + backgroundColor: '#F5E6E0', + borderRadius: 24, + padding: 24, + flexDirection: 'row', + alignItems: 'center', + shadowColor: '#000', + shadowOffset: { + width: 0, + height: 4, + }, + shadowOpacity: 0.1, + shadowRadius: 12, + elevation: 5, + }, + iconContainer: { + marginRight: 20, + }, + iconCircle: { + width: 64, + height: 64, + borderRadius: 32, + alignItems: 'center', + justifyContent: 'center', + shadowColor: '#000', + shadowOffset: { + width: 0, + height: 4, + }, + shadowOpacity: 0.2, + shadowRadius: 8, + elevation: 4, + }, + content: { + flex: 1, + }, + weekText: { + fontSize: 12, + color: '#999999', + fontWeight: '600', + letterSpacing: 1, + marginBottom: 4, + }, + workoutType: { + fontSize: 24, + fontWeight: 'bold', + color: '#1A1A1A', + marginBottom: 4, + }, + sessionInfo: { + fontSize: 14, + color: '#666666', + marginBottom: 20, + }, + nextExerciseContainer: { + flexDirection: 'row', + alignItems: 'center', + }, + nextExerciseIcon: { + flexDirection: 'row', + alignItems: 'center', + marginRight: 12, + }, + nextExerciseText: { + flex: 1, + }, + nextExerciseLabel: { + fontSize: 12, + color: '#999999', + marginBottom: 2, + }, + nextExerciseName: { + fontSize: 16, + fontWeight: '600', + color: '#1A1A1A', + }, +}); \ No newline at end of file diff --git a/services/exercises.ts b/services/exercises.ts index 72b3418..532d203 100644 --- a/services/exercises.ts +++ b/services/exercises.ts @@ -1,31 +1,48 @@ import { api } from '@/services/api'; -export type ExerciseCategoryDto = { +// 与后端保持一致的数据结构定义 +export interface ExerciseLibraryItem { key: string; name: string; - sortOrder: number; -}; + description?: string; + category: string; // 中文分类名(显示用) + targetMuscleGroups: string; + equipmentName?: string; + beginnerReps?: number; + beginnerSets?: number; + breathingCycles?: number; + holdDuration?: number; + specialInstructions?: string; +} -export type ExerciseDto = { +export interface ExerciseCategoryDto { + key: string; // 英文 key + name: string; // 中文名 + type: 'mat_pilates' | 'equipment_pilates'; + equipmentName?: string; + sortOrder?: number; +} + +export interface ExerciseDto { key: string; name: string; - description: string; + description?: string; categoryKey: string; categoryName: string; - sortOrder: number; -}; + targetMuscleGroups: string; + equipmentName?: string; + beginnerReps?: number; + beginnerSets?: number; + breathingCycles?: number; + holdDuration?: number; + specialInstructions?: string; + sortOrder?: number; +} -export type ExerciseConfigResponse = { +export interface ExerciseConfigResponse { categories: ExerciseCategoryDto[]; exercises: ExerciseDto[]; -}; - -export type ExerciseLibraryItem = { - key: string; - name: string; - description: string; - category: string; // display name -}; +} export async function fetchExerciseConfig(): Promise { return await api.get('/exercises/config'); @@ -38,7 +55,13 @@ export function normalizeToLibraryItems(resp: ExerciseConfigResponse | null | un name: e.name, description: e.description, category: e.categoryName || e.categoryKey, + targetMuscleGroups: e.targetMuscleGroups, + equipmentName: e.equipmentName, + beginnerReps: e.beginnerReps, + beginnerSets: e.beginnerSets, + breathingCycles: e.breathingCycles, + holdDuration: e.holdDuration, + specialInstructions: e.specialInstructions, })); } - diff --git a/services/scheduleExerciseApi.ts b/services/scheduleExerciseApi.ts new file mode 100644 index 0000000..02e49c6 --- /dev/null +++ b/services/scheduleExerciseApi.ts @@ -0,0 +1,106 @@ +import { api } from './api'; + +// 训练项目数据结构 +export interface ScheduleExercise { + id: string; + trainingPlanId: string; + userId: string; + exerciseKey?: string; + name: string; + sets?: number; + reps?: number; + durationSec?: number; + restSec?: number; + note?: string; + itemType: 'exercise' | 'rest' | 'note'; + completed: boolean; + sortOrder: number; + createdAt: string; + updatedAt: string; + deleted: boolean; + + // 关联的动作信息(仅exercise类型时存在) + exercise?: { + key: string; + name: string; + description: string; + categoryKey: string; + categoryName: string; + }; +} + +// 创建训练项目的请求体 +export interface CreateScheduleExerciseDto { + exerciseKey?: string; + name: string; + sets?: number; + reps?: number; + durationSec?: number; + restSec?: number; + note?: string; + itemType: 'exercise' | 'rest' | 'note'; +} + +// 更新训练项目的请求体 +export interface UpdateScheduleExerciseDto { + exerciseKey?: string; + name?: string; + sets?: number; + reps?: number; + durationSec?: number; + restSec?: number; + note?: string; + itemType?: 'exercise' | 'rest' | 'note'; + completed?: boolean; +} + +// 完成状态统计 +export interface CompletionStats { + total: number; + completed: number; + percentage: number; +} + +// 重新排序请求体 +export interface ReorderExercisesDto { + exerciseIds: string[]; +} + +class ScheduleExerciseApi { + // 获取训练计划的所有项目 + async list(planId: string): Promise { + return api.get(`/training-plans/${planId}/exercises`); + } + + // 获取训练项目详情 + async detail(planId: string, exerciseId: string): Promise { + return api.get(`/training-plans/${planId}/exercises/${exerciseId}`); + } + + // 添加训练项目 + async create(planId: string, dto: CreateScheduleExerciseDto): Promise { + return api.post(`/training-plans/${planId}/exercises`, dto); + } + + // 更新训练项目 + async update(planId: string, exerciseId: string, dto: UpdateScheduleExerciseDto): Promise { + return api.put(`/training-plans/${planId}/exercises/${exerciseId}`, dto); + } + + // 删除训练项目 + async delete(planId: string, exerciseId: string): Promise<{ success: boolean }> { + return api.delete<{ success: boolean }>(`/training-plans/${planId}/exercises/${exerciseId}`); + } + + // 更新训练项目排序 + async reorder(planId: string, dto: ReorderExercisesDto): Promise<{ success: boolean }> { + return api.put<{ success: boolean }>(`/training-plans/${planId}/exercises/order`, dto); + } + + // 标记训练项目完成状态 + async updateCompletion(planId: string, exerciseId: string, completed: boolean): Promise { + return api.put(`/training-plans/${planId}/exercises/${exerciseId}/complete`, { completed }); + } +} + +export const scheduleExerciseApi = new ScheduleExerciseApi(); diff --git a/services/trainingPlanApi.ts b/services/trainingPlanApi.ts index c2f4f25..e34a534 100644 --- a/services/trainingPlanApi.ts +++ b/services/trainingPlanApi.ts @@ -70,6 +70,15 @@ class TrainingPlanApi { async activate(id: string): Promise<{ success: boolean }> { return api.post<{ success: boolean }>(`/training-plans/${id}/activate`); } + + async getActivePlan(): Promise { + try { + return api.get('/training-plans/active'); + } catch (error) { + // 如果没有激活的计划,返回null + return null; + } + } } export const trainingPlanApi = new TrainingPlanApi(); \ No newline at end of file diff --git a/services/workoutsApi.ts b/services/workoutsApi.ts new file mode 100644 index 0000000..cddc956 --- /dev/null +++ b/services/workoutsApi.ts @@ -0,0 +1,204 @@ +import { api } from './api'; + +// ==================== 数据类型定义 ==================== + +export interface WorkoutSession { + id: string; + userId: string; + trainingPlanId?: string; + name: string; + scheduledDate: string; + startedAt?: string; + completedAt?: string; + status: 'planned' | 'in_progress' | 'completed' | 'cancelled'; + totalDurationSec?: number; + caloriesBurned?: number; + stats?: { + totalExercises: number; + completedExercises: number; + totalSets: number; + completedSets: number; + totalReps: number; + completedReps: number; + }; + createdAt: string; + updatedAt: string; + deleted: boolean; + + // 关联数据 + trainingPlan?: { + id: string; + name: string; + goal: string; + }; + exercises?: WorkoutExercise[]; +} + +export interface WorkoutExercise { + id: string; + workoutSessionId: string; + userId: string; + exerciseKey?: string; + name: string; + plannedSets?: number; + plannedReps?: number; + plannedDurationSec?: number; + completedSets?: number; + completedReps?: number; + actualDurationSec?: number; + restSec?: number; + note?: string; + itemType: 'exercise' | 'rest' | 'note'; + status: 'pending' | 'in_progress' | 'completed' | 'skipped'; + sortOrder: number; + startedAt?: string; + completedAt?: string; + performanceData?: Record; + createdAt: string; + updatedAt: string; + deleted: boolean; + + // 关联的动作信息 + exercise?: { + key: string; + name: string; + description: string; + categoryKey: string; + categoryName: string; + }; +} + +// ==================== DTO 类型定义 ==================== + +export interface StartWorkoutDto { + startedAt?: string; +} + +export interface StartWorkoutExerciseDto { + startedAt?: string; +} + +export interface CompleteWorkoutExerciseDto { + completedAt?: string; + completedSets?: number; + completedReps?: number; + actualDurationSec?: number; + performanceData?: Record; +} + +export interface AddWorkoutExerciseDto { + exerciseKey?: string; + name: string; + plannedSets?: number; + plannedReps?: number; + plannedDurationSec?: number; + restSec?: number; + note?: string; + itemType?: 'exercise' | 'rest' | 'note'; +} + +export interface UpdateWorkoutExerciseDto { + name?: string; + plannedSets?: number; + plannedReps?: number; + plannedDurationSec?: number; + restSec?: number; + note?: string; + itemType?: 'exercise' | 'rest' | 'note'; +} + +export interface WorkoutSessionListResponse { + sessions: WorkoutSession[]; + pagination: { + page: number; + limit: number; + total: number; + totalPages: number; + }; +} + +export interface WorkoutSessionStatsResponse { + status: string; + duration?: number; + calories?: number; + stats?: { + totalExercises: number; + completedExercises: number; + totalSets: number; + completedSets: number; + totalReps: number; + completedReps: number; + }; + exerciseCount: number; + completedExercises: number; +} + +// ==================== API 服务类 ==================== + +class WorkoutsApi { + // ==================== 训练会话管理 ==================== + + async getSessions(page: number = 1, limit: number = 10): Promise { + return api.get(`/workouts/sessions?page=${page}&limit=${limit}`); + } + + async getSessionDetail(sessionId: string): Promise { + return api.get(`/workouts/sessions/${sessionId}`); + } + + async startSession(sessionId: string, dto: StartWorkoutDto = {}): Promise { + return api.post(`/workouts/sessions/${sessionId}/start`, dto); + } + + async deleteSession(sessionId: string): Promise<{ success: boolean }> { + return api.delete<{ success: boolean }>(`/workouts/sessions/${sessionId}`); + } + + // ==================== 训练动作管理 ==================== + + async getSessionExercises(sessionId: string): Promise { + return api.get(`/workouts/sessions/${sessionId}/exercises`); + } + + async getExerciseDetail(sessionId: string, exerciseId: string): Promise { + return api.get(`/workouts/sessions/${sessionId}/exercises/${exerciseId}`); + } + + async startExercise(sessionId: string, exerciseId: string, dto: StartWorkoutExerciseDto = {}): Promise { + return api.post(`/workouts/sessions/${sessionId}/exercises/${exerciseId}/start`, dto); + } + + async completeExercise(sessionId: string, exerciseId: string, dto: CompleteWorkoutExerciseDto): Promise { + return api.post(`/workouts/sessions/${sessionId}/exercises/${exerciseId}/complete`, dto); + } + + async skipExercise(sessionId: string, exerciseId: string): Promise { + return api.post(`/workouts/sessions/${sessionId}/exercises/${exerciseId}/skip`); + } + + async updateExercise(sessionId: string, exerciseId: string, dto: UpdateWorkoutExerciseDto): Promise { + return api.put(`/workouts/sessions/${sessionId}/exercises/${exerciseId}`, dto); + } + + async addExercise(sessionId: string, dto: AddWorkoutExerciseDto): Promise { + return api.post(`/workouts/sessions/${sessionId}/exercises`, dto); + } + + // ==================== 统计和分析 ==================== + + async getSessionStats(sessionId: string): Promise { + return api.get(`/workouts/sessions/${sessionId}/stats`); + } + + // ==================== 快捷操作 ==================== + + async getTodayWorkout(): Promise { + return api.get('/workouts/today'); + } + + async getRecentWorkouts(days: number = 7, limit: number = 10): Promise<{ sessions: WorkoutSession[]; period: string }> { + return api.get<{ sessions: WorkoutSession[]; period: string }>(`/workouts/recent?days=${days}&limit=${limit}`); + } +} + +export const workoutsApi = new WorkoutsApi(); diff --git a/store/exerciseLibrarySlice.ts b/store/exerciseLibrarySlice.ts new file mode 100644 index 0000000..9e1dbfd --- /dev/null +++ b/store/exerciseLibrarySlice.ts @@ -0,0 +1,126 @@ +import { + fetchExerciseConfig, + normalizeToLibraryItems, + type ExerciseCategoryDto, + type ExerciseConfigResponse, + type ExerciseLibraryItem, +} from '@/services/exercises'; +import AsyncStorage from '@react-native-async-storage/async-storage'; +import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit'; + +export interface ExerciseLibraryState { + categories: ExerciseCategoryDto[]; + exercises: ExerciseLibraryItem[]; + loading: boolean; + error: string | null; + lastUpdatedAt: number | null; +} + +const CACHE_KEY = '@exercise_config_v2'; + +const initialState: ExerciseLibraryState = { + categories: [], + exercises: [], + loading: false, + error: null, + lastUpdatedAt: null, +}; + +export const loadExerciseLibrary = createAsyncThunk( + 'exerciseLibrary/load', + async (_: void, { rejectWithValue }) => { + // 先读本地缓存(最佳体验),随后静默刷新远端 + try { + const cached = await AsyncStorage.getItem(CACHE_KEY); + if (cached) { + const data = JSON.parse(cached) as ExerciseConfigResponse; + return { source: 'cache' as const, data }; + } + } catch { } + + try { + const fresh = await fetchExerciseConfig(); + try { await AsyncStorage.setItem(CACHE_KEY, JSON.stringify(fresh)); } catch { } + return { source: 'network' as const, data: fresh }; + } catch (error: any) { + return rejectWithValue(error.message || '加载动作库失败'); + } + } +); + +export const refreshExerciseLibrary = createAsyncThunk( + 'exerciseLibrary/refresh', + async (_: void, { rejectWithValue }) => { + try { + const fresh = await fetchExerciseConfig(); + try { await AsyncStorage.setItem(CACHE_KEY, JSON.stringify(fresh)); } catch { } + return fresh; + } catch (error: any) { + return rejectWithValue(error.message || '刷新动作库失败'); + } + } +); + +const exerciseLibrarySlice = createSlice({ + name: 'exerciseLibrary', + initialState, + reducers: { + clearExerciseLibraryError(state) { + state.error = null; + }, + setExerciseLibraryFromData( + state, + action: PayloadAction + ) { + const data = action.payload; + state.categories = (data.categories || []).slice().sort((a, b) => (a.sortOrder || 0) - (b.sortOrder || 0)); + const sorted: ExerciseConfigResponse = { + ...data, + exercises: (data.exercises || []).slice().sort((a, b) => (a.sortOrder || 0) - (b.sortOrder || 0)), + }; + state.exercises = normalizeToLibraryItems(sorted); + state.lastUpdatedAt = Date.now(); + }, + }, + extraReducers: (builder) => { + builder + .addCase(loadExerciseLibrary.pending, (state) => { + state.loading = true; + state.error = null; + }) + .addCase(loadExerciseLibrary.fulfilled, (state, action) => { + const { data } = action.payload as { source: 'cache' | 'network'; data: ExerciseConfigResponse }; + state.loading = false; + state.categories = (data.categories || []).slice().sort((a, b) => (a.sortOrder || 0) - (b.sortOrder || 0)); + const sorted: ExerciseConfigResponse = { + ...data, + exercises: (data.exercises || []).slice().sort((a, b) => (a.sortOrder || 0) - (b.sortOrder || 0)), + }; + state.exercises = normalizeToLibraryItems(sorted); + state.lastUpdatedAt = Date.now(); + }) + .addCase(loadExerciseLibrary.rejected, (state, action) => { + state.loading = false; + state.error = action.payload as string; + }) + + .addCase(refreshExerciseLibrary.fulfilled, (state, action) => { + const data = action.payload as ExerciseConfigResponse; + state.categories = (data.categories || []).slice().sort((a, b) => (a.sortOrder || 0) - (b.sortOrder || 0)); + const sorted: ExerciseConfigResponse = { + ...data, + exercises: (data.exercises || []).slice().sort((a, b) => (a.sortOrder || 0) - (b.sortOrder || 0)), + }; + state.exercises = normalizeToLibraryItems(sorted); + state.lastUpdatedAt = Date.now(); + }) + .addCase(refreshExerciseLibrary.rejected, (state, action) => { + state.error = action.payload as string; + }); + }, +}); + +export const { clearExerciseLibraryError, setExerciseLibraryFromData } = exerciseLibrarySlice.actions; +export default exerciseLibrarySlice.reducer; + + diff --git a/store/index.ts b/store/index.ts index 6e26222..fd95f56 100644 --- a/store/index.ts +++ b/store/index.ts @@ -1,8 +1,11 @@ import { configureStore, createListenerMiddleware } from '@reduxjs/toolkit'; import challengeReducer from './challengeSlice'; import checkinReducer, { addExercise, autoSyncCheckin, removeExercise, replaceExercises, setNote, toggleExerciseCompleted } from './checkinSlice'; +import exerciseLibraryReducer from './exerciseLibrarySlice'; +import scheduleExerciseReducer from './scheduleExerciseSlice'; import trainingPlanReducer from './trainingPlanSlice'; import userReducer from './userSlice'; +import workoutReducer from './workoutSlice'; // 创建监听器中间件来处理自动同步 const listenerMiddleware = createListenerMiddleware(); @@ -15,16 +18,16 @@ syncActions.forEach(action => { effect: async (action, listenerApi) => { const state = listenerApi.getState() as any; const date = action.payload?.date; - + if (!date) return; - + // 延迟一下,避免在同一事件循环中重复触发 await new Promise(resolve => setTimeout(resolve, 100)); - + // 检查是否还有待同步的日期 const currentState = listenerApi.getState() as any; const pendingSyncDates = currentState?.checkin?.pendingSyncDates || []; - + if (pendingSyncDates.includes(date)) { listenerApi.dispatch(autoSyncCheckin({ date })); } @@ -38,6 +41,9 @@ export const store = configureStore({ challenge: challengeReducer, checkin: checkinReducer, trainingPlan: trainingPlanReducer, + scheduleExercise: scheduleExerciseReducer, + exerciseLibrary: exerciseLibraryReducer, + workout: workoutReducer, }, middleware: (getDefaultMiddleware) => getDefaultMiddleware().prepend(listenerMiddleware.middleware), diff --git a/store/scheduleExerciseSlice.ts b/store/scheduleExerciseSlice.ts new file mode 100644 index 0000000..7c1f0b5 --- /dev/null +++ b/store/scheduleExerciseSlice.ts @@ -0,0 +1,233 @@ +import { + scheduleExerciseApi, + type CreateScheduleExerciseDto, + type ReorderExercisesDto, + type ScheduleExercise, + type UpdateScheduleExerciseDto +} from '@/services/scheduleExerciseApi'; +import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit'; + +export type ScheduleExerciseState = { + exercises: ScheduleExercise[]; + loading: boolean; + error: string | null; + currentPlanId: string | null; +}; + +const initialState: ScheduleExerciseState = { + exercises: [], + loading: false, + error: null, + currentPlanId: null, +}; + +// 加载训练计划的所有项目 +export const loadExercises = createAsyncThunk( + 'scheduleExercise/loadExercises', + async (planId: string, { rejectWithValue }) => { + try { + const exercises = await scheduleExerciseApi.list(planId); + return { exercises, planId }; + } catch (error: any) { + return rejectWithValue(error.message || '加载训练项目失败'); + } + } +); + +// 添加训练项目 +export const addExercise = createAsyncThunk( + 'scheduleExercise/addExercise', + async ({ planId, dto }: { planId: string; dto: CreateScheduleExerciseDto }, { rejectWithValue }) => { + try { + const exercise = await scheduleExerciseApi.create(planId, dto); + return { exercise }; + } catch (error: any) { + return rejectWithValue(error.message || '添加训练项目失败'); + } + } +); + +// 更新训练项目 +export const updateExercise = createAsyncThunk( + 'scheduleExercise/updateExercise', + async ({ + planId, + exerciseId, + dto + }: { + planId: string; + exerciseId: string; + dto: UpdateScheduleExerciseDto; + }, { rejectWithValue }) => { + try { + const exercise = await scheduleExerciseApi.update(planId, exerciseId, dto); + return { exercise }; + } catch (error: any) { + return rejectWithValue(error.message || '更新训练项目失败'); + } + } +); + +// 删除训练项目 +export const deleteExercise = createAsyncThunk( + 'scheduleExercise/deleteExercise', + async ({ planId, exerciseId }: { planId: string; exerciseId: string }, { rejectWithValue }) => { + try { + await scheduleExerciseApi.delete(planId, exerciseId); + return { exerciseId }; + } catch (error: any) { + return rejectWithValue(error.message || '删除训练项目失败'); + } + } +); + +// 重新排序训练项目 +export const reorderExercises = createAsyncThunk( + 'scheduleExercise/reorderExercises', + async ({ planId, dto }: { planId: string; dto: ReorderExercisesDto }, { rejectWithValue }) => { + try { + await scheduleExerciseApi.reorder(planId, dto); + // 重新加载排序后的列表 + const exercises = await scheduleExerciseApi.list(planId); + return { exercises }; + } catch (error: any) { + return rejectWithValue(error.message || '重新排序失败'); + } + } +); + +// 更新完成状态 +export const toggleCompletion = createAsyncThunk( + 'scheduleExercise/toggleCompletion', + async ({ + planId, + exerciseId, + completed + }: { + planId: string; + exerciseId: string; + completed: boolean; + }, { rejectWithValue }) => { + try { + const exercise = await scheduleExerciseApi.updateCompletion(planId, exerciseId, completed); + return { exercise }; + } catch (error: any) { + return rejectWithValue(error.message || '更新完成状态失败'); + } + } +); + +const scheduleExerciseSlice = createSlice({ + name: 'scheduleExercise', + initialState, + reducers: { + clearError(state) { + state.error = null; + }, + clearExercises(state) { + state.exercises = []; + state.currentPlanId = null; + }, + // 本地更新排序(用于拖拽等即时反馈) + updateLocalOrder(state, action: PayloadAction) { + const newOrder = action.payload; + const orderedExercises = newOrder.map(id => + state.exercises.find(ex => ex.id === id) + ).filter(Boolean) as ScheduleExercise[]; + state.exercises = orderedExercises; + }, + }, + extraReducers: (builder) => { + builder + // loadExercises + .addCase(loadExercises.pending, (state) => { + state.loading = true; + state.error = null; + }) + .addCase(loadExercises.fulfilled, (state, action) => { + state.loading = false; + state.exercises = action.payload.exercises; + state.currentPlanId = action.payload.planId; + }) + .addCase(loadExercises.rejected, (state, action) => { + state.loading = false; + state.error = action.payload as string; + }) + + // addExercise + .addCase(addExercise.pending, (state) => { + state.loading = true; + state.error = null; + }) + .addCase(addExercise.fulfilled, (state, action) => { + state.loading = false; + state.exercises.push(action.payload.exercise); + }) + .addCase(addExercise.rejected, (state, action) => { + state.loading = false; + state.error = action.payload as string; + }) + + // updateExercise + .addCase(updateExercise.pending, (state) => { + state.loading = true; + state.error = null; + }) + .addCase(updateExercise.fulfilled, (state, action) => { + state.loading = false; + const index = state.exercises.findIndex(ex => ex.id === action.payload.exercise.id); + if (index !== -1) { + state.exercises[index] = action.payload.exercise; + } + }) + .addCase(updateExercise.rejected, (state, action) => { + state.loading = false; + state.error = action.payload as string; + }) + + // deleteExercise + .addCase(deleteExercise.pending, (state) => { + state.loading = true; + state.error = null; + }) + .addCase(deleteExercise.fulfilled, (state, action) => { + state.loading = false; + state.exercises = state.exercises.filter(ex => ex.id !== action.payload.exerciseId); + }) + .addCase(deleteExercise.rejected, (state, action) => { + state.loading = false; + state.error = action.payload as string; + }) + + // reorderExercises + .addCase(reorderExercises.pending, (state) => { + state.loading = true; + state.error = null; + }) + .addCase(reorderExercises.fulfilled, (state, action) => { + state.loading = false; + state.exercises = action.payload.exercises; + }) + .addCase(reorderExercises.rejected, (state, action) => { + state.loading = false; + state.error = action.payload as string; + }) + + // toggleCompletion + .addCase(toggleCompletion.pending, (state) => { + state.error = null; + }) + .addCase(toggleCompletion.fulfilled, (state, action) => { + const index = state.exercises.findIndex(ex => ex.id === action.payload.exercise.id); + if (index !== -1) { + state.exercises[index] = action.payload.exercise; + } + }) + .addCase(toggleCompletion.rejected, (state, action) => { + state.error = action.payload as string; + }); + }, +}); + +export const { clearError, clearExercises, updateLocalOrder } = scheduleExerciseSlice.actions; +export default scheduleExerciseSlice.reducer; diff --git a/store/workoutSlice.ts b/store/workoutSlice.ts new file mode 100644 index 0000000..58653cb --- /dev/null +++ b/store/workoutSlice.ts @@ -0,0 +1,395 @@ +import { + workoutsApi, + type AddWorkoutExerciseDto, + type CompleteWorkoutExerciseDto, + type StartWorkoutDto, + type StartWorkoutExerciseDto, + type UpdateWorkoutExerciseDto, + type WorkoutExercise, + type WorkoutSession, + type WorkoutSessionStatsResponse, +} from '@/services/workoutsApi'; +import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit'; + +export interface WorkoutState { + // 当前训练会话 + currentSession: WorkoutSession | null; + exercises: WorkoutExercise[]; + stats: WorkoutSessionStatsResponse | null; + + // 历史训练会话 + sessions: WorkoutSession[]; + sessionsPagination: { + page: number; + limit: number; + total: number; + totalPages: number; + } | null; + + // 加载状态 + loading: boolean; + exerciseLoading: string | null; // 正在操作的exercise ID + error: string | null; +} + +const initialState: WorkoutState = { + currentSession: null, + exercises: [], + stats: null, + sessions: [], + sessionsPagination: null, + loading: false, + exerciseLoading: null, + error: null, +}; + +// ==================== 异步Action定义 ==================== + +// 获取今日训练 +export const loadTodayWorkout = createAsyncThunk( + 'workout/loadTodayWorkout', + async (_, { rejectWithValue }) => { + try { + const session = await workoutsApi.getTodayWorkout(); + return session; + } catch (error: any) { + return rejectWithValue(error.message || '获取今日训练失败'); + } + } +); + +// 开始训练会话 +export const startWorkoutSession = createAsyncThunk( + 'workout/startSession', + async ({ sessionId, dto }: { sessionId: string; dto?: StartWorkoutDto }, { rejectWithValue }) => { + try { + const session = await workoutsApi.startSession(sessionId, dto); + return session; + } catch (error: any) { + return rejectWithValue(error.message || '开始训练失败'); + } + } +); + +// 开始训练动作 +export const startWorkoutExercise = createAsyncThunk( + 'workout/startExercise', + async ({ sessionId, exerciseId, dto }: { + sessionId: string; + exerciseId: string; + dto?: StartWorkoutExerciseDto + }, { rejectWithValue }) => { + try { + const exercise = await workoutsApi.startExercise(sessionId, exerciseId, dto); + return exercise; + } catch (error: any) { + return rejectWithValue(error.message || '开始动作失败'); + } + } +); + +// 完成训练动作 +export const completeWorkoutExercise = createAsyncThunk( + 'workout/completeExercise', + async ({ sessionId, exerciseId, dto }: { + sessionId: string; + exerciseId: string; + dto: CompleteWorkoutExerciseDto + }, { rejectWithValue, getState }) => { + try { + const exercise = await workoutsApi.completeExercise(sessionId, exerciseId, dto); + + // 完成动作后重新获取会话详情(检查是否自动完成) + const updatedSession = await workoutsApi.getSessionDetail(sessionId); + + return { exercise, updatedSession }; + } catch (error: any) { + return rejectWithValue(error.message || '完成动作失败'); + } + } +); + +// 跳过训练动作 +export const skipWorkoutExercise = createAsyncThunk( + 'workout/skipExercise', + async ({ sessionId, exerciseId }: { sessionId: string; exerciseId: string }, { rejectWithValue }) => { + try { + const exercise = await workoutsApi.skipExercise(sessionId, exerciseId); + + // 跳过动作后重新获取会话详情(检查是否自动完成) + const updatedSession = await workoutsApi.getSessionDetail(sessionId); + + return { exercise, updatedSession }; + } catch (error: any) { + return rejectWithValue(error.message || '跳过动作失败'); + } + } +); + +// 更新训练动作 +export const updateWorkoutExercise = createAsyncThunk( + 'workout/updateExercise', + async ({ sessionId, exerciseId, dto }: { + sessionId: string; + exerciseId: string; + dto: UpdateWorkoutExerciseDto + }, { rejectWithValue }) => { + try { + const exercise = await workoutsApi.updateExercise(sessionId, exerciseId, dto); + return exercise; + } catch (error: any) { + return rejectWithValue(error.message || '更新动作失败'); + } + } +); + +// 获取训练统计 +export const loadWorkoutStats = createAsyncThunk( + 'workout/loadStats', + async (sessionId: string, { rejectWithValue }) => { + try { + const stats = await workoutsApi.getSessionStats(sessionId); + return stats; + } catch (error: any) { + return rejectWithValue(error.message || '获取统计数据失败'); + } + } +); + +// 获取训练会话列表 +export const loadWorkoutSessions = createAsyncThunk( + 'workout/loadSessions', + async ({ page = 1, limit = 10 }: { page?: number; limit?: number } = {}, { rejectWithValue }) => { + try { + const result = await workoutsApi.getSessions(page, limit); + return result; + } catch (error: any) { + return rejectWithValue(error.message || '获取训练列表失败'); + } + } +); + +// 添加动作到训练会话 +export const addWorkoutExercise = createAsyncThunk( + 'workout/addExercise', + async ({ sessionId, dto }: { sessionId: string; dto: AddWorkoutExerciseDto }, { rejectWithValue }) => { + try { + const exercise = await workoutsApi.addExercise(sessionId, dto); + return exercise; + } catch (error: any) { + return rejectWithValue(error.message || '添加动作失败'); + } + } +); + +// 删除训练会话 +export const deleteWorkoutSession = createAsyncThunk( + 'workout/deleteSession', + async (sessionId: string, { rejectWithValue }) => { + try { + await workoutsApi.deleteSession(sessionId); + return sessionId; + } catch (error: any) { + return rejectWithValue(error.message || '删除训练会话失败'); + } + } +); + +// ==================== Slice定义 ==================== + +const workoutSlice = createSlice({ + name: 'workout', + initialState, + reducers: { + clearWorkoutError(state) { + state.error = null; + }, + clearCurrentWorkout(state) { + state.currentSession = null; + state.exercises = []; + state.stats = null; + }, + // 本地更新exercise状态(用于乐观更新) + updateExerciseLocally(state, action: PayloadAction & { id: string }>) { + const { id, ...updates } = action.payload; + const exerciseIndex = state.exercises.findIndex(ex => ex.id === id); + if (exerciseIndex !== -1) { + Object.assign(state.exercises[exerciseIndex], updates); + } + }, + }, + extraReducers: (builder) => { + builder + // loadTodayWorkout + .addCase(loadTodayWorkout.pending, (state) => { + state.loading = true; + state.error = null; + }) + .addCase(loadTodayWorkout.fulfilled, (state, action) => { + state.loading = false; + state.currentSession = action.payload; + state.exercises = action.payload.exercises || []; + }) + .addCase(loadTodayWorkout.rejected, (state, action) => { + state.loading = false; + state.error = action.payload as string; + }) + + // startWorkoutSession + .addCase(startWorkoutSession.pending, (state) => { + state.loading = true; + state.error = null; + }) + .addCase(startWorkoutSession.fulfilled, (state, action) => { + state.loading = false; + state.currentSession = action.payload; + }) + .addCase(startWorkoutSession.rejected, (state, action) => { + state.loading = false; + state.error = action.payload as string; + }) + + // startWorkoutExercise + .addCase(startWorkoutExercise.pending, (state, action) => { + state.exerciseLoading = action.meta.arg.exerciseId; + state.error = null; + }) + .addCase(startWorkoutExercise.fulfilled, (state, action) => { + state.exerciseLoading = null; + const exerciseIndex = state.exercises.findIndex(ex => ex.id === action.payload.id); + if (exerciseIndex !== -1) { + state.exercises[exerciseIndex] = action.payload; + } + }) + .addCase(startWorkoutExercise.rejected, (state, action) => { + state.exerciseLoading = null; + state.error = action.payload as string; + }) + + // completeWorkoutExercise + .addCase(completeWorkoutExercise.pending, (state, action) => { + state.exerciseLoading = action.meta.arg.exerciseId; + state.error = null; + }) + .addCase(completeWorkoutExercise.fulfilled, (state, action) => { + state.exerciseLoading = null; + const { exercise, updatedSession } = action.payload; + + // 更新exercise + const exerciseIndex = state.exercises.findIndex(ex => ex.id === exercise.id); + if (exerciseIndex !== -1) { + state.exercises[exerciseIndex] = exercise; + } + + // 更新session(可能已自动完成) + state.currentSession = updatedSession; + }) + .addCase(completeWorkoutExercise.rejected, (state, action) => { + state.exerciseLoading = null; + state.error = action.payload as string; + }) + + // skipWorkoutExercise + .addCase(skipWorkoutExercise.pending, (state, action) => { + state.exerciseLoading = action.meta.arg.exerciseId; + state.error = null; + }) + .addCase(skipWorkoutExercise.fulfilled, (state, action) => { + state.exerciseLoading = null; + const { exercise, updatedSession } = action.payload; + + // 更新exercise + const exerciseIndex = state.exercises.findIndex(ex => ex.id === exercise.id); + if (exerciseIndex !== -1) { + state.exercises[exerciseIndex] = exercise; + } + + // 更新session(可能已自动完成) + state.currentSession = updatedSession; + }) + .addCase(skipWorkoutExercise.rejected, (state, action) => { + state.exerciseLoading = null; + state.error = action.payload as string; + }) + + // updateWorkoutExercise + .addCase(updateWorkoutExercise.pending, (state, action) => { + state.exerciseLoading = action.meta.arg.exerciseId; + state.error = null; + }) + .addCase(updateWorkoutExercise.fulfilled, (state, action) => { + state.exerciseLoading = null; + const exerciseIndex = state.exercises.findIndex(ex => ex.id === action.payload.id); + if (exerciseIndex !== -1) { + state.exercises[exerciseIndex] = action.payload; + } + }) + .addCase(updateWorkoutExercise.rejected, (state, action) => { + state.exerciseLoading = null; + state.error = action.payload as string; + }) + + // loadWorkoutStats + .addCase(loadWorkoutStats.fulfilled, (state, action) => { + state.stats = action.payload; + }) + + // loadWorkoutSessions + .addCase(loadWorkoutSessions.pending, (state) => { + state.loading = true; + state.error = null; + }) + .addCase(loadWorkoutSessions.fulfilled, (state, action) => { + state.loading = false; + state.sessions = action.payload.sessions; + state.sessionsPagination = action.payload.pagination; + }) + .addCase(loadWorkoutSessions.rejected, (state, action) => { + state.loading = false; + state.error = action.payload as string; + }) + + // addWorkoutExercise + .addCase(addWorkoutExercise.pending, (state) => { + state.loading = true; + state.error = null; + }) + .addCase(addWorkoutExercise.fulfilled, (state, action) => { + state.loading = false; + // 将新添加的动作添加到exercises列表末尾 + state.exercises.push(action.payload); + }) + .addCase(addWorkoutExercise.rejected, (state, action) => { + state.loading = false; + state.error = action.payload as string; + }) + + // deleteWorkoutSession + .addCase(deleteWorkoutSession.pending, (state) => { + state.loading = true; + state.error = null; + }) + .addCase(deleteWorkoutSession.fulfilled, (state, action) => { + state.loading = false; + const deletedSessionId = action.payload; + + // 如果删除的是当前会话,清空当前会话数据 + if (state.currentSession?.id === deletedSessionId) { + state.currentSession = null; + state.exercises = []; + state.stats = null; + } + + // 从会话列表中移除已删除的会话 + state.sessions = state.sessions.filter(session => session.id !== deletedSessionId); + }) + .addCase(deleteWorkoutSession.rejected, (state, action) => { + state.loading = false; + state.error = action.payload as string; + }); + }, +}); + +export const { clearWorkoutError, clearCurrentWorkout, updateExerciseLocally } = workoutSlice.actions; +export { addWorkoutExercise, deleteWorkoutSession }; +export default workoutSlice.reducer;