# 训练偏好与设备管理系统 - 完整实现文档 ## 📋 系统概述 本文档描述了一个完整的训练偏好与设备管理系统,包括用户训练偏好设置、目标管理、提醒系统、设备管理和智能分析功能。 ## 🗄️ 数据库架构 ### 核心表结构 #### 1. 运动类型表 (`ak_sport_types`) ```sql - id: uuid (主键) - name: 运动名称 - description: 描述 - category: 分类 (有氧、力量、柔韧等) - difficulty_level: 难度等级 (1-5) - calorie_rate: 每分钟消耗卡路里 - icon_url: 图标URL - is_active: 是否启用 ``` #### 2. 用户训练目标表 (`ak_user_training_goals`) ```sql - id: uuid (主键) - user_id: 用户ID - goal_type: 目标类型 (减肥、增肌、耐力等) - target_value: 目标数值 - current_value: 当前数值 - unit: 单位 - target_date: 目标日期 - priority: 优先级 (1-5) - status: 状态 (active、completed等) ``` #### 3. 用户运动偏好表 (`ak_user_sport_preferences`) ```sql - id: uuid (主键) - user_id: 用户ID - sport_type_id: 运动类型ID - preference_level: 喜好程度 (1-5) - frequency_per_week: 每周频次 - duration_minutes: 每次时长 - intensity_level: 强度等级 (1-5) - is_favorite: 是否最爱 - notes: 备注 ``` #### 4. 训练提醒表 (`ak_training_reminders`) ```sql - id: uuid (主键) - user_id: 用户ID - reminder_type: 提醒类型 (daily、weekly、custom) - title: 提醒标题 - message: 提醒内容 - trigger_time: 触发时间 - trigger_days: 触发星期 - is_enabled: 是否启用 - sound_enabled: 是否播放声音 - vibrate_enabled: 是否震动 ``` #### 5. 设备管理表 (`ak_device_types`, `ak_device_status_history`, `ak_device_settings`, `ak_device_sync_logs`) 支持多种可穿戴设备的管理,包括智能手环、手表、戒指等。 ### 分析扩展表 #### 6. 偏好历史记录表 (`ak_user_preference_history`) 记录用户偏好的所有变化,用于趋势分析。 #### 7. 目标进度历史表 (`ak_goal_progress_history`) 追踪目标进度的历史变化。 #### 8. 训练模式分析表 (`ak_training_patterns`) 自动检测和记录用户的训练模式。 #### 9. 个性化推荐表 (`ak_personalized_recommendations`) 存储为用户生成的个性化建议。 ## 🎯 核心功能模块 ### 1. 训练目标管理 (`goal-settings.uvue`) **功能特性:** - ✅ 目标创建与编辑 - ✅ 进度追踪与可视化 - ✅ 目标模板快速设置 - ✅ 优先级管理 - ✅ 完成率统计 - ✅ 目标状态管理 **主要功能:** ```typescript - 添加新目标 (addGoal) - 编辑目标 (editGoal) - 删除目标 (deleteGoal) - 更新进度 (updateProgress) - 目标完成检查 (checkCompletion) ``` ### 2. 训练提醒系统 (`reminder-settings.uvue`) **功能特性:** - ✅ 多种提醒类型 (每日、每周、自定义) - ✅ 智能提醒调度 - ✅ 提前提醒功能 - ✅ 重复提醒设置 - ✅ 声音和震动控制 - ✅ 全局提醒开关 **提醒类型:** ```typescript enum ReminderType { DAILY = 'daily', // 每日提醒 WEEKLY = 'weekly', // 每周提醒 CUSTOM = 'custom' // 自定义提醒 } ``` ### 3. 运动偏好管理 (`favorite-exercises.uvue`) **功能特性:** - ✅ 运动分类浏览 - ✅ 搜索与筛选 - ✅ 偏好等级设置 (1-5星) - ✅ 训练频次与时长配置 - ✅ 强度等级选择 - ✅ 最爱运动标记 - ✅ 个性化推荐 **数据管理:** ```typescript interface ExercisePreference { sport_type_id: string preference_level: number // 1-5 frequency_per_week: number duration_minutes: number intensity_level: number // 1-5 is_favorite: boolean notes: string } ``` ### 4. 设备管理系统 (`device-management.uvue`) **功能特性:** - ✅ 设备扫描与配对 - ✅ 多设备类型支持 - ✅ 设备状态监控 - ✅ 电池电量显示 - ✅ 同步状态追踪 - ✅ 设备设置管理 **支持设备类型:** ```typescript const DeviceTypes = { SMART_BAND: '智能手环', SMART_WATCH: '智能手表', SMART_RING: '智能戒指', FITNESS_TRACKER: '健身追踪器', HEART_RATE_MONITOR: '心率监测器' } ``` ### 5. 偏好分析仪表板 (`preferences-analytics.uvue`) **功能特性:** - ✅ 偏好概览统计 - ✅ 运动类型分布图 - ✅ 训练强度分析 - ✅ 时间安排热力图 - ✅ 目标完成情况 - ✅ 智能推荐系统 - ✅ 趋势分析 **分析维度:** ```typescript interface AnalyticsData { favoriteCount: number weeklyHours: number activeGoals: number remindersCount: number categoryDistribution: CategoryData[] intensityAnalysis: IntensityData[] trendMetrics: TrendData[] } ``` ## 🔄 数据流与架构 ### 1. 数据获取模式 ```typescript // 统一的用户ID获取 const getCurrentUserId = (): string => { if (state.userProfile?.id) return state.userProfile.id const session = supaClient.getSession() return session?.user?.id || '' } ``` ### 2. CRUD 操作模式 ```typescript // 标准的数据操作流程 const saveData = async (data: any) => { try { const result = await supaClient .from('table_name') .upsert(data) .execute() if (result.error) throw new Error(result.error.message) uni.showToast({ title: '保存成功', icon: 'success' }) await loadData() // 重新加载数据 } catch (error) { console.error('保存失败:', error) uni.showToast({ title: '保存失败', icon: 'none' }) } } ``` ### 3. 实时数据同步 所有页面都实现了实时数据同步机制,确保用户操作后立即看到最新状态。 ## 🎨 UI/UX 设计原则 ### 1. 一致性设计 - 统一的色彩方案 (`#4CAF50` 主色调) - 一致的按钮样式和交互反馈 - 标准化的卡片布局和间距 ### 2. 响应式布局 ```css .responsive-grid { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; } @media (max-width: 768px) { .responsive-grid { grid-template-columns: 1fr; } } ``` ### 3. 用户体验优化 - 加载状态提示 - 错误处理和重试机制 - 表单验证和即时反馈 - 手势操作支持 ## 📊 智能分析功能 ### 1. 个性化推荐算法 ```sql -- 基于用户行为生成推荐 CREATE FUNCTION generate_personalized_recommendations(user_id uuid) RETURNS JSONB AS $$ BEGIN -- 分析用户偏好模式 -- 生成个性化建议 -- 返回推荐结果 END; $$ LANGUAGE plpgsql; ``` ### 2. 趋势分析 - 训练频率变化趋势 - 目标完成率分析 - 偏好变化模式识别 - 运动多样性评估 ### 3. 智能提醒 - 基于历史数据的最佳训练时间推荐 - 个性化提醒内容生成 - 自适应提醒频率调整 ## 🔧 技术实现细节 ### 1. 状态管理 ```typescript // 使用 Vue 3 Composition API const { loading, data, error } = useAsyncData(fetchFunction) // 响应式状态 const preferences = ref([]) const analytics = computed(() => calculateAnalytics(preferences.value)) ``` ### 2. 数据验证 ```typescript const validateGoal = (goal: Goal): ValidationResult => { const errors = [] if (!goal.target_value || goal.target_value <= 0) { errors.push('目标数值必须大于0') } if (!goal.target_date || new Date(goal.target_date) <= new Date()) { errors.push('目标日期必须是未来日期') } return { isValid: errors.length === 0, errors } } ``` ### 3. 性能优化 - 分页加载大数据集 - 数据缓存机制 - 懒加载非关键组件 - 图片和资源压缩 ## 🚀 部署与配置 ### 1. 数据库初始化 ```bash # 执行主要表结构 psql -d database_name -f training_preferences_tables.sql # 执行设备管理扩展 psql -d database_name -f wearable_devices_extension.sql # 执行分析功能扩展 psql -d database_name -f preferences_analytics_extension.sql ``` ### 2. 页面路由配置 ```json { "path": "pages/sport/student/goal-settings", "style": { "navigationBarTitleText": "训练目标", "navigationBarBackgroundColor": "#667eea" } } ``` ### 3. 权限配置 确保数据库 RLS (Row Level Security) 正确配置,保护用户数据安全。 ## 📈 功能扩展建议 ### 1. 短期扩展 - [ ] 社交分享功能 - [ ] 训练伙伴匹配 - [ ] 成就徽章系统 - [ ] 数据导出功能 ### 2. 中期扩展 - [ ] AI 驱动的训练计划生成 - [ ] 与健康应用集成 - [ ] 语音控制功能 - [ ] AR/VR 训练体验 ### 3. 长期扩展 - [ ] 机器学习优化推荐算法 - [ ] 生物识别集成 - [ ] IoT 设备生态系统 - [ ] 健康数据分析平台 ## 🛠️ 维护与监控 ### 1. 数据质量监控 ```sql -- 定期检查数据完整性 SELECT table_name, COUNT(*) as record_count, MAX(created_at) as last_update FROM information_schema.tables t JOIN various_tables ON table condition GROUP BY table_name; ``` ### 2. 性能监控 - 数据库查询性能 - API 响应时间 - 用户行为分析 - 错误率监控 ### 3. 备份策略 - 每日自动数据备份 - 增量备份机制 - 灾难恢复计划 - 数据同步验证 ## 📋 总结 这个训练偏好与设备管理系统提供了完整的用户体验,从基础的偏好设置到高级的数据分析,涵盖了现代健身应用的所有核心功能。系统采用模块化设计,易于扩展和维护,为用户提供个性化的训练体验。 **核心优势:** ✅ 完整的数据模型设计 ✅ 直观的用户界面 ✅ 智能分析与推荐 ✅ 多设备支持 ✅ 可扩展的架构 ✅ 数据安全保障 系统已准备好投入使用,并可根据用户反馈持续优化和改进。