Files
flutterApp/lib/features/v2/waring_center/DEPENDENCIES.md

4.6 KiB
Raw Blame History

告警中心页面 - 依赖清单

pubspec.yaml 依赖

已存在的依赖(本项目已有)

dependencies:
  flutter:
    sdk: flutter
  
  # 状态管理
  flutter_bloc: ^9.1.1
  bloc: ^9.2.0
  
  # 等价判断
  equatable: ^2.0.8
  
  # 函数式编程
  fpdart: ^1.2.0
  
  # 依赖注入
  get_it: ^9.2.0
  
  # 路由管理
  go_router: ^17.0.1
  
  # 网络请求
  dio: ^5.9.0

新增依赖

无需新增任何依赖,所有功能均使用项目已有的稳定库。


文件结构

lib/features/v2/waring_center/
├── data/
│   ├── datasources/
│   │   ├── alarm_remote_datasource.dart          # 远程数据源抽象
│   │   └── impl/
│   │       └── alarm_remote_datasource_impl.dart # 远程数据源实现(模拟数据)
│   ├── models/
│   │   └── alarm_model.dart                      # 数据模型
│   └── repositories/
│       └── alarm_repository_impl.dart            # 仓储实现
├── domain/
│   ├── entities/
│   │   ├── alarm_entity.dart                     # 告警实体
│   │   └── alarm_count_entity.dart               # 告警统计实体
│   ├── repositories/
│   │   └── alarm_repository.dart                 # 仓储接口
│   └── usecases/
│       ├── get_alarm_list_usecase.dart           # 获取告警列表用例
│       └── get_alarm_count_usecase.dart          # 获取告警统计用例
└── presentation/
    ├── bloc/
    │   ├── alarm_cubit.dart                      # 状态管理 Cubit
    │   └── alarm_state.dart                      # 状态定义
    ├── constants/
    │   └── alarm_constants.dart                  # 全局常量(颜色、尺寸、枚举)
    ├── pages/
    │   └── alarm_center_page.dart                # 主页面
    ├── routes/
    │   └── alarm_center_routes.dart              # 路由配置
    └── widgets/
        ├── alarm_tab_bar.dart                    # 筛选标签栏
        ├── alarm_count_card.dart                 # 告警统计卡片
        ├── alarm_item_card.dart                  # 告警项卡片
        └── ai_diagnosis_card.dart                # AI 诊断建议卡片

核心功能

1. 清洁架构四层结构

  • Presentation(表现层): UI 展示、用户交互、Cubit、Pages、Widgets、State
  • Domain(领域层): 核心业务逻辑、Entities、UseCases、Repository 接口
  • Data(数据层): 数据获取存储、Models、Repository 实现、Datasources
  • Core(核心层): 网络、日志、依赖注入 DI、错误处理、全局常量

2. 状态管理

  • 使用 Cubit 进行状态管理
  • 支持三种状态:加载中、加载成功、加载失败
  • 支持下拉刷新
  • 支持筛选标签切换

3. UI 组件

  • 顶部导航栏(告警中心标题 + 筛选按钮)
  • 一级标签栏(全部/未处理/已确认/已恢复)
  • 告警统计卡片(2x2 网格布局)
  • 告警列表(可滚动)
  • AI 诊断建议卡片

4. 交互功能

  • Tab 切换筛选告警
  • 下拉刷新数据
  • 点击筛选按钮弹出筛选弹窗
  • 点击告警项跳转详情(占位)
  • 点击 AI 诊断查看详情(占位)

全局常量配置

颜色

  • 主色调: Color(0xFF165DFF)
  • 高危色: Color(0xFFF53F3F)
  • 中危色: Color(0xFFFF7D00)
  • 低危色: Color(0xFF00B42A)
  • 提示色: Color(0xFF69b1ff)
  • 背景色: Color(0xFFFFFFFF)
  • 主要文字: Color(0xFF1D2129)
  • 次要文字: Color(0xFF4E5969)
  • 辅助文字: Color(0xFF86909C)

尺寸

  • 通用圆角: 16.0
  • 水平边距: 16.0
  • 模块间距: 20.0
  • 导航栏高度: 44.0

阴影

BoxShadow(
  color: Color(0x0D000000),
  blurRadius: 4,
  offset: Offset(0, 2),
)

模拟数据

告警列表

  1. 逆变器 INV-001 通讯异常(高危,未确认)
  2. 汇流箱 SCB-003 过温告警(中危,未确认)
  3. 组件串 STR-024 功率异常(低危,已确认)
  4. 环境辐照度传感器离线(提示,已确认)

告警统计

  • 未处理: 8
  • 处理中: 2
  • 已确认: 34
  • 今日新增: 12

适配说明

  • ✅ iOS 安全区适配(AnnotatedRegion)
  • ✅ Android 全面屏适配
  • ✅ 下拉刷新支持
  • ✅ 响应式布局

后续扩展建议

  1. 对接真实 API 接口(替换 AlarmRemoteDataSourceImpl)
  2. 实现告警详情页
  3. 实现筛选功能(告警等级、时间、区域)
  4. 添加告警推送通知
  5. 支持批量处理告警
  6. 添加告警历史记录
  7. 支持告警导出功能