# 训练偏好分析系统部署指南 ## 系统状态 ✅ **前端代码已完成** - 分析仪表板页面已创建并集成到导航中 ✅ **数据库脚本已完成** - PostgreSQL扩展脚本已修复并准备部署 ⚠️ **等待数据库部署** - 需要执行SQL脚本来启用分析功能 ## 部署步骤 ### 第一步:部署数据库扩展 执行以下SQL文件来添加分析功能到数据库: ```bash # 使用psql命令行工具(如果可用) psql -h [你的数据库主机] -U [用户名] -d [数据库名] -f preferences_analytics_extension_fixed.sql # 或者通过Supabase Dashboard、pgAdmin等GUI工具执行文件内容 ``` **重要文件:** - `preferences_analytics_extension_fixed.sql` - 包含所有分析表和函数的完整SQL脚本 ### 第二步:验证数据库部署 部署后,验证以下表和函数是否创建成功: **新建表:** - `ak_user_preference_history` - 用户偏好历史记录 - `ak_goal_progress_history` - 目标进度历史 - `ak_training_patterns` - 训练模式分析 - `ak_personalized_recommendations` - 个性化推荐 - `ak_user_behavior_analytics` - 用户行为分析 **新建函数:** - `get_user_preferences_analytics(uuid)` - 获取用户偏好分析数据 - `generate_personalized_recommendations(uuid)` - 生成个性化推荐 - `get_user_training_trends(uuid, integer)` - 获取训练趋势数据 - `log_user_behavior(uuid, varchar, jsonb)` - 记录用户行为 - `update_training_pattern(uuid, varchar, jsonb)` - 更新训练模式 **触发器:** - `preference_changes_trigger` - 偏好变更自动记录 - `goal_progress_changes_trigger` - 目标进度变更自动记录 ### 第三步:测试分析功能 1. **访问分析页面** - 在学生档案页面点击"偏好分析"菜单项 - 检查页面是否正常加载 2. **测试数据获取** - 确认能正常显示用户偏好概览 - 检查图表和统计数据是否正确显示 - 验证推荐功能是否工作 ### 第四步:数据初始化(可选) SQL脚本已包含样本推荐数据的自动创建。如需更多测试数据,可以: - 添加更多用户偏好设置 - 设置一些训练目标 - 等待系统自动生成历史数据和推荐 ## 功能特性 ### 📊 数据可视化 - **偏好概览卡片** - 收藏运动、每周训练时长、活跃目标、提醒数量 - **运动类型分布图** - 彩色饼图显示各运动类型占比 - **训练强度分析** - 可视化不同强度级别的分布 - **每周训练热力图** - 显示一周内各时段的训练模式 ### 🎯 智能推荐 - **运动类型推荐** - 基于用户偏好推荐新运动 - **训练时长建议** - 根据目标调整训练时间 - **强度优化建议** - 帮助用户提升训练强度 - **目标设定提醒** - 鼓励用户设置更多训练目标 ### 📈 趋势分析 - **训练频率趋势** - 显示训练频率的时间变化 - **目标完成趋势** - 跟踪目标达成情况 - **运动多样性趋势** - 分析运动类型的多样化程度 ## 技术实现 ### 前端架构 - **Vue 3 + UniApp** - 响应式移动端界面 - **Chart组件** - 自定义图表可视化 - **动态数据绑定** - 实时数据更新 - **缓存机制** - 优化性能和用户体验 ### 后端架构 - **PostgreSQL函数** - 高性能数据分析 - **JSONB数据类型** - 灵活的结构化数据存储 - **自动触发器** - 实时数据同步 - **RLS安全策略** - 数据安全保护 ## 故障排除 ### 常见问题 1. **SQL语法错误提示** - VS Code中的SQL语法错误是误报(它使用SQL Server解析器) - PostgreSQL语法在实际数据库中会正常工作 2. **分析页面空白** - 检查数据库函数是否正确部署 - 验证用户是否有相关数据(偏好设置、目标等) 3. **推荐功能不工作** - 确认`generate_personalized_recommendations`函数已部署 - 检查用户是否有足够的基础数据 ### 调试方法 ```sql -- 检查用户偏好数据 SELECT * FROM public.ak_user_sport_preferences WHERE user_id = '[用户ID]'; -- 检查分析函数 SELECT get_user_preferences_analytics('[用户ID]'); -- 检查推荐数据 SELECT * FROM public.ak_personalized_recommendations WHERE user_id = '[用户ID]'; ``` ## 下一步 部署完成后,分析系统将: 1. 自动收集用户行为数据 2. 生成个性化推荐 3. 提供深度训练分析 4. 帮助用户优化训练计划 **系统已准备就绪,请按照以上步骤部署数据库扩展!**