feat(web): IoT + FHIR V1 Plan 5 — Web 前端实施
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled

- API 层: deviceReadings 日聚合查询 + OAuth 合作方 CRUD 接口
- 常量: 设备连接状态/连接类型/实时监控指标常量
- Hook: useVitalSSE — 复用全局 SSE 连接的 vital_update 事件
- 页面: RealtimeMonitor 实时体征监控台 (SSE + 告警排序)
- 页面: OAuthClientList FHIR 合作方管理 (CRUD + Secret 重置)
- 增强: DeviceManage 设备状态/固件/连接类型列 + 状态筛选
- 路由: 新增 3 个懒加载路由
- 测试: RealtimeMonitor + OAuthClientList 单元测试
This commit is contained in:
iven
2026-05-04 02:40:57 +08:00
parent 24562dd54b
commit 70aacf47a0
11 changed files with 668 additions and 3 deletions

View File

@@ -118,6 +118,39 @@ export const CONDITION_TYPE_OPTIONS = [
{ value: 'trend', label: '趋势变化' },
];
// --- 设备连接状态 ---
export const DEVICE_STATUS_OPTIONS = [
{ value: '', label: '全部状态' },
{ value: 'online', label: '在线' },
{ value: 'offline', label: '离线' },
{ value: 'paired', label: '已配对' },
{ value: 'error', label: '异常' },
];
export const DEVICE_STATUS_COLOR: Record<string, string> = {
online: 'green',
offline: 'default',
paired: 'blue',
error: 'red',
};
// --- 设备连接类型 ---
export const CONNECTION_TYPE_OPTIONS = [
{ value: 'ble', label: '蓝牙' },
{ value: 'gateway', label: '网关' },
{ value: 'manual', label: '手动录入' },
];
// --- 实时监控卡片指标 ---
export const VITAL_CARD_METRICS = [
{ key: 'heart_rate', label: '心率', unit: 'bpm', color: '#ff4d4f' },
{ key: 'blood_oxygen', label: '血氧', unit: '%', color: '#1890ff' },
{ key: 'blood_pressure', label: '血压', unit: 'mmHg', color: '#f5222d' },
{ key: 'blood_glucose', label: '血糖', unit: 'mg/dL', color: '#722ed1' },
{ key: 'temperature', label: '体温', unit: '°C', color: '#fa8c16' },
{ key: 'steps', label: '步数', unit: '步', color: '#52c41a' },
] as const;
// --- 通用状态标签StatusTag 组件统一引用) ---
export const STATUS_TAG_CONFIG: Record<string, { color: string; label: string }> = {
// 预约状态