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

169 lines
4.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 告警中心页面 - 依赖清单
## 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. 支持告警导出功能