hrv_controller.dart 1.2 KB
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;
    });
  }
}