2.优化修改了tcp重连机制,具体操作:断开重连时候不再建立新链接 而是将旧链接重置,并重新发送数据。 3.大面积的给项目中的各个页面 手动接入了多语言的支持。同时也调整了相应带来的问题英文长度较大影响原有的样式的问题,已解决了对应的样式不和谐问题。保证了外观的统一性。 4.给项目中的主要操作加了几个核心的操作比如远程遥控和路径规划添加了双层的保护,设置里安全模式,即在此期间对服务器推送的重复登录操作后的自动退出登录做一个拦截 保证操作的安全性。
我的页面模块
架构说明
采用清洁架构(Clean Architecture)四层划分:
1. Domain 层(领域层)
entities/- 实体类(UserProfileEntity, MenuItemEntity)repositories/- 仓储接口(MyRepository)usecases/- 用例(GetMenuItemsUseCase, ToggleNightModeUseCase, ClearCacheUseCase)
2. Data 层(数据层)
models/- 数据模型(UserProfileModel, MenuItemModel)datasources/- 数据源接口和实现repositories/- 仓储实现(MyRepositoryImpl)
3. Presentation 层(表现层)
states/- 状态管理(MyState)cubit/- 业务逻辑(MyCubit)pages/- 页面(MyPage)widgets/- UI 组件(UserProfileCard, MenuItemCard)constants/- 常量定义(MyColors, MyDimensions)routes/- 路由配置(MyRoutes)
4. DI 层(依赖注入)
di/- 依赖注入配置(MyDependencyInjector)
功能特性
- 用户信息展示(头像、姓名、角色)
- 菜单列表(个人信息、消息设置、离线缓存、夜间模式等)
- 夜间模式切换
- 缓存清除功能
- 响应式状态管理(Cubit)
使用示例
import 'package:maibu_satabot_v2/features/v2/my/my.dart';
// 在路由配置中使用
GoRoute(
path: 'my',
name: 'my',
builder: (context, state) => const MyPage(),
),
数据流
- 初始化: MyPage 通过 MyDependencyInjector 创建 MyCubit
- 加载数据: MyCubit 调用 UseCase 获取数据
- 状态更新: 数据通过 Entity → State 传递给 UI
- 用户交互: UI 触发 Cubit 方法,更新状态
依赖关系
Presentation → Domain ← Data
↓ ↓
Cubit UseCase
↓ ↓
State Repository