Initial commit of akmon project
This commit is contained in:
185
STUDENT_HEALTH_MANAGEMENT_GUIDE.md
Normal file
185
STUDENT_HEALTH_MANAGEMENT_GUIDE.md
Normal file
@@ -0,0 +1,185 @@
|
||||
# 学生健康数据管理功能实现说明
|
||||
|
||||
## 功能概述
|
||||
|
||||
实现了教师仪表板中"学生总数"卡片的点击功能,点击后可以查看本人权限下的学生列表,展示学生的基本信息和最新的健康数据(体温、心率、血氧、步数)。
|
||||
|
||||
## 实现的功能
|
||||
|
||||
### 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)
|
||||
- 实现基本的学生列表功能
|
||||
- 添加健康数据展示
|
||||
- 创建学生详情页面
|
||||
- 完成搜索和筛选功能
|
||||
Reference in New Issue
Block a user