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