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

169 lines
4.6 KiB
Markdown
Raw Normal View History

# 告警中心页面 - 依赖清单
## pubspec.yaml 依赖
### 已存在的依赖(本项目已有)
```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`
### 阴影
```dart
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. 支持告警导出功能