2.优化修改了tcp重连机制,具体操作:断开重连时候不再建立新链接 而是将旧链接重置,并重新发送数据。 3.大面积的给项目中的各个页面 手动接入了多语言的支持。同时也调整了相应带来的问题英文长度较大影响原有的样式的问题,已解决了对应的样式不和谐问题。保证了外观的统一性。 4.给项目中的主要操作加了几个核心的操作比如远程遥控和路径规划添加了双层的保护,设置里安全模式,即在此期间对服务器推送的重复登录操作后的自动退出登录做一个拦截 保证操作的安全性。
63 lines
1.5 KiB
Dart
63 lines
1.5 KiB
Dart
import 'package:equatable/equatable.dart';
|
|
import 'package:maibu_satabot_v2/features/v2/home/domain/entities/home_entity.dart';
|
|
import 'package:maibu_satabot_v2/features/v2/home/domain/entities/site_entity.dart';
|
|
|
|
abstract class HomeV2State extends Equatable {
|
|
const HomeV2State();
|
|
|
|
@override
|
|
List<Object?> get props => [];
|
|
}
|
|
|
|
class HomeV2Initial extends HomeV2State {
|
|
const HomeV2Initial();
|
|
}
|
|
|
|
class HomeV2Loading extends HomeV2State {
|
|
const HomeV2Loading();
|
|
}
|
|
|
|
class HomeV2Loaded extends HomeV2State {
|
|
final HomeEntity homeData;
|
|
final String trendType;
|
|
final List<SiteEntity> sites;
|
|
final SiteEntity? selectedSite;
|
|
|
|
const HomeV2Loaded({
|
|
required this.homeData,
|
|
this.trendType = 'day',
|
|
this.sites = const [],
|
|
this.selectedSite,
|
|
});
|
|
|
|
HomeV2Loaded copyWith({
|
|
HomeEntity? homeData,
|
|
String? trendType,
|
|
List<SiteEntity>? sites,
|
|
SiteEntity? selectedSite,
|
|
}) {
|
|
return HomeV2Loaded(
|
|
homeData: homeData ?? this.homeData,
|
|
trendType: trendType ?? this.trendType,
|
|
sites: sites ?? this.sites,
|
|
selectedSite: selectedSite ?? this.selectedSite,
|
|
);
|
|
}
|
|
|
|
@override
|
|
List<Object?> get props => [homeData, trendType, sites, selectedSite];
|
|
}
|
|
|
|
class HomeV2Error extends HomeV2State {
|
|
final String message;
|
|
final bool shouldShowError; // 🔥 标记是否需要显示错误弹窗
|
|
|
|
const HomeV2Error({
|
|
required this.message,
|
|
this.shouldShowError = false, // 默认 false
|
|
});
|
|
|
|
@override
|
|
List<Object?> get props => [message, shouldShowError];
|
|
}
|