告警中心的二级详情页面+信息中心的页面+对接机器人接口

This commit is contained in:
2026-06-02 08:40:50 +08:00
parent 9eab402551
commit d8879dad62
48 changed files with 4376 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
import 'package:maibu_satabot_v2/features/v2/waring_center/data/datasources/alarm_detail_remote_datasource.dart';
import 'package:maibu_satabot_v2/features/v2/waring_center/data/models/alarm_detail_model.dart';
/// 告警详情远程数据源实现(模拟数据)
class AlarmDetailRemoteDataSourceImpl implements AlarmDetailRemoteDataSource {
@override
Future<AlarmDetailModel> getAlarmDetail(String alarmId) async {
// 模拟网络延迟
await Future.delayed(const Duration(seconds: 1));
return AlarmDetailModel(
id: alarmId,
title: '逆变器离网告警',
level: '严重',
deviceInfo: '光伏区A / 逆变器 INV-001',
occurTime: '2025-05-19T09:24:30',
alarmStatus: '未处理',
recoverTime: null,
duration: '36分钟',
affectRange: '光伏区A(2.6 MW)',
description: '逆变器与电网失去连接,功率输出为0。',
suggestions: [
'检查逆变器侧并网开关状态',
'检查电网电压及频率是否异常',
],
historyData: HistoryDataModel(
power: [
MetricPointModel(time: '08:24', value: 1050),
MetricPointModel(time: '08:54', value: 980),
MetricPointModel(time: '09:04', value: 1020),
MetricPointModel(time: '09:14', value: 990),
MetricPointModel(time: '09:19', value: 1010),
MetricPointModel(time: '09:24', value: 100),
MetricPointModel(time: '09:24:30', value: 0),
],
voltage: [],
frequency: [],
),
);
}
@override
Future<bool> confirmAlarm(String alarmId) async {
// 模拟网络延迟
await Future.delayed(const Duration(seconds: 1));
return true;
}
@override
Future<String> aiDiagnosis(String alarmId) async {
// 模拟网络延迟
await Future.delayed(const Duration(seconds: 2));
return 'AI分析结果:\n\n根据历史数据分析,该告警可能是由于以下原因导致:\n1. 电网侧电压波动超过阈值\n2. 逆变器保护机制触发\n3. 并网开关异常断开\n\n建议优先检查并网开关状态和电网电压稳定性。';
}
}