# 学生健康数据管理功能实现说明 ## 功能概述 实现了教师仪表板中"学生总数"卡片的点击功能,点击后可以查看本人权限下的学生列表,展示学生的基本信息和最新的健康数据(体温、心率、血氧、步数)。 ## 实现的功能 ### 1. 教师仪表板修改 - **文件**: `pages/sport/teacher/dashboard.uvue` - **修改内容**: 为"学生总数"统计卡片添加点击事件 - **功能**: 点击后跳转到学生列表页面 ### 2. 学生列表页面 - **文件**: `pages/sport/teacher/students.uvue` - **功能特性**: - 显示本人权限下的所有学生 - 搜索功能(按学生姓名) - 每个学生显示: - 头像(支持图片或首字母缩写) - 姓名和学号 - 最近的体温、心率、血氧、步数数据 - 数据记录时间(智能时间显示) - 点击学生卡片可查看详情 ### 3. 学生详情页面 - **文件**: `pages/sport/teacher/student-detail.uvue` - **功能特性**: - 显示学生详细信息 - 大尺寸健康数据卡片展示 - 健康状态评估(正常/异常标识) - 提供查看历史数据和训练记录的入口 ### 4. 数据库支持 - **文件**: `create_simple_sensor_data.sql` - **功能**: 创建简化的传感器数据表和示例数据 - **表结构**: `ss_sensor_data` 统一存储各类传感器数据 ## 数据库表结构 ### ss_sensor_data 表 ```sql CREATE TABLE public.ss_sensor_data ( id UUID PRIMARY KEY DEFAULT uuid_generate_v4(), user_id UUID NOT NULL REFERENCES public.ak_users(id), sensor_type TEXT NOT NULL, -- 'temperature', 'heart_rate', 'oxygen_level', 'steps' value NUMERIC NOT NULL, unit TEXT, -- '°C', 'bpm', '%', 'steps' recorded_at TIMESTAMPTZ NOT NULL DEFAULT now(), created_at TIMESTAMPTZ NOT NULL DEFAULT now() ); ``` ## 部署步骤 ### 1. 数据库部署 ```sql -- 执行数据库脚本 \i create_simple_sensor_data.sql ``` ### 2. 页面文件部署 确保以下文件已正确部署: - `pages/sport/teacher/dashboard.uvue` (已修改) - `pages/sport/teacher/students.uvue` (新建) - `pages/sport/teacher/student-detail.uvue` (新建) ### 3. 权限配置 确保 `ss_sensor_data` 表具有适当的 RLS 策略和权限设置。 ## 使用说明 ### 教师端操作流程 1. **进入教师仪表板** - 登录教师账号 - 进入教师工作台页面 2. **查看学生列表** - 点击"学生总数"统计卡片 - 系统自动跳转到学生列表页面 3. **浏览学生信息** - 查看所有学生的基本信息和健康数据 - 使用搜索功能快速找到特定学生 - 观察健康数据的更新时间 4. **查看学生详情** - 点击任意学生卡片 - 查看该学生的详细健康数据 - 查看健康状态评估结果 ## 数据展示说明 ### 健康数据类型 - **体温**: 显示摄氏度,正常范围 36.0-37.5°C - **心率**: 显示每分钟跳动次数,正常范围 60-100 bpm - **血氧**: 显示血氧饱和度百分比,正常范围 ≥95% - **步数**: 显示每日步数统计 ### 时间显示逻辑 - 1小时内:显示"X分钟前"或"刚刚" - 24小时内:显示"X小时前" - 7天内:显示"X天前" - 超过7天:显示具体日期 ### 健康状态评估 - **正常**: 绿色标识,数值在正常范围内 - **异常**: 红色标识,数值超出正常范围 - **无数据**: 灰色标识,暂无相关数据 ## 技术实现特点 ### 1. 响应式设计 - 适配不同屏幕尺寸 - 使用flex布局保证兼容性 ### 2. 性能优化 - 异步数据加载 - 错误处理和重试机制 - 加载状态提示 ### 3. 用户体验 - 智能搜索功能 - 直观的健康状态展示 - 流畅的页面跳转 ### 4. 数据安全 - 基于用户权限的数据访问 - 参数验证和错误处理 - 安全的数据库查询 ## 扩展功能建议 ### 1. 历史数据图表 - 添加健康数据趋势图 - 支持时间范围选择 - 多维度数据对比 ### 2. 健康预警 - 异常数据自动预警 - 消息推送功能 - 预警历史记录 ### 3. 数据导出 - 支持健康数据导出 - 生成健康报告 - 数据分析功能 ### 4. 批量操作 - 支持批量查看学生 - 批量健康状态检查 - 批量消息发送 ## 故障排除 ### 常见问题 1. **学生数据不显示** - 检查数据库连接 - 确认传感器数据表存在 - 验证用户权限设置 2. **健康数据为空** - 检查 `ss_sensor_data` 表数据 - 确认传感器数据类型正确 - 验证时间戳格式 3. **页面跳转失败** - 检查路由配置 - 确认页面文件存在 - 验证参数传递 ### 调试方法 - 使用浏览器开发者工具查看网络请求 - 检查控制台错误信息 - 验证数据库查询结果 ## 更新日志 ### v1.0.0 (2025-06-24) - 实现基本的学生列表功能 - 添加健康数据展示 - 创建学生详情页面 - 完成搜索和筛选功能