# 项目涉及技术及版本
- flutter 3.41.9
- dart 3.11.5
- 技术栈bloc+cubit+auto_route

# 页面模块相关目录结构

注意：模块下的根文件命名规则：模块名称_index_view.dart、模块名称_list_view.dart、模块名称_detail_view.dart

```
views/
└── 首页/
    ├── 模块1/
    │   ├── widgets/
    │   │   ├── xxx_block.dart
    │   │   └── xxx_block.dart
    │   ├── cubit/
    │   │   ├── 模块1_index_cubit.dart (内容格式：详见xxx_index_cubit 模版)
    │   │   └── 模块1_index_state.dart (内容格式：详见xxx_index_state 模版)
    │   └── 模块1_index_view.dart
    ├── 模块2/
    │   ├── widgets/
    │   │   ├── xxx_block.dart
    │   │   └── xxx_block.dart
    │   ├── cubit/
    │   │   ├── 模块2_list_cubit.dart
    │   │   └── 模块2_list_state.dart
    │   └── 模块2_list_view.dart
    ├── 模块3/
    │   ├── widgets/
    │   │   ├── xxx_block.dart
    │   │   └── xxx_block.dart
    │   ├── cubit/
    │   │   ├── 模块3_detail_cubit.dart
    │   │   └── 模块3_detail_state.dart
    │   └── 模块3_detail_view.dart
    └── 模块4/
    配置/
    ├── 模块1/
    ├── 模块2/
    ├── 模块3/
    └── 模块4/
    我的/
        ├── 模块1/
        ├── 模块2/
        ├── 模块3/
        └── 模块4/
```

> **说明：** 每个页面模块包含三部分 —— `widgets/`（组件）、`cubit/`（状态管理）、`*_view.dart`（页面视图）。模块名替换为实际业务名称，如 `banner/`、`goods_list/` 等。


# 页面调用链路
链路分2种：
1. view>cubit>services>repositories
2. view>bloc>services>repositories


# 模拟数据
在开发页面时，相关数据全部先模拟，后续接口接入后在调整为真实。
切换开关在constants.dart 中 static const bool useMockData = true;  // true=Mock, false=真实接口

# 注意事项
- 禁止删除注释代码