hrv_controller.dart
1.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import 'package:get/get.dart';
import 'trend_period_controller.dart';
/// HRV 心率变异性 专属 Controller
class HrvController extends TrendPeriodController {
// ── 响应式数据源 ──────────────────────────────────────
final averageHrv = '0'.obs;
final changeHrv = '0'.obs;
final chartData = <double>[].obs;
final chartLabels = <String>[].obs;
@override
void loadData() {
isLoading.value = true;
// 模拟 API 延迟加载
Future.delayed(const Duration(milliseconds: 300), () {
final offset = dateOffset.value;
// 依据时间范围偏移动态渲染不同数据,模拟真实 API 拉取效果
averageHrv.value = '${46 + offset}';
changeHrv.value = offset >= 0 ? '+3' : '${offset * 2}';
chartData.value = [
42.0 + offset,
48.0 - offset,
55.0 + offset * 2,
46.0 - offset,
52.0 + offset,
58.0 + offset * 3,
50.0 - offset * 2,
].map((e) => e.clamp(20.0, 80.0)).toList();
chartLabels.value = ['一', '二', '三', '四', '五', '六', '日'];
isLoading.value = false;
});
}
}