Files
akmon/STUDENT_HEALTH_MANAGEMENT_GUIDE.md
2026-01-20 08:04:15 +08:00

4.8 KiB
Raw Permalink Blame History

学生健康数据管理功能实现说明

功能概述

实现了教师仪表板中"学生总数"卡片的点击功能,点击后可以查看本人权限下的学生列表,展示学生的基本信息和最新的健康数据(体温、心率、血氧、步数)。

实现的功能

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 表

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. 数据库部署

-- 执行数据库脚本
\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)

  • 实现基本的学生列表功能
  • 添加健康数据展示
  • 创建学生详情页面
  • 完成搜索和筛选功能