71 lines
1.6 KiB
Markdown
71 lines
1.6 KiB
Markdown
# Project Name
|
||
|
||
## 项目简介
|
||
一个基于 Flutter 开发的移动应用程序.
|
||
|
||
## 技术栈
|
||
- Flutter 3.x
|
||
- Dart 3.x
|
||
- SpringBoot (后端服务)
|
||
|
||
## 项目结构
|
||
tree
|
||
lib/
|
||
├── apis/ # API 接口层
|
||
├── components/ # 共享组件
|
||
│ ├── common/ # 通用组件
|
||
│ │ ├── buttons/ # 按钮组件
|
||
│ │ ├── dialogs/ # 对话框组件
|
||
│ │ └── inputs/ # 输入框组件
|
||
│ └── work/ # 工作相关组件
|
||
├── pages/ # 页面
|
||
├── router/ # 路由配置
|
||
├── services/ # 业务服务层
|
||
├── stores/ # 状态管理
|
||
├── utils/ # 工具类
|
||
└── main.dart # 应用入口
|
||
## 主要功能模块
|
||
|
||
### 认证模块
|
||
- 登录/注册
|
||
- 密码重置
|
||
- 隐私协议
|
||
|
||
### 工作模块
|
||
- 工作列表展示
|
||
- 工作编辑
|
||
- 工作网格视图
|
||
|
||
## 开发规范
|
||
|
||
### 命名规范
|
||
- 文件名:使用小写字母和下划线,如 `work_grid.dart`
|
||
- 类名:使用大驼峰命名法,如 `WorkGrid`
|
||
- 变量名:使用小驼峰命名法,如 `isLoading`
|
||
- Provider 命名:以具体功能+Provider结尾,如 `workListProvider`
|
||
|
||
### 代码规范
|
||
1. **Widget 开发规范**
|
||
- 优先使用 Stateless Widget
|
||
- 使用 ConsumerWidget 处理状态依赖
|
||
- 使用 HookConsumerWidget 结合 Hooks 使用
|
||
|
||
2. **状态管理规范**
|
||
- 使用 @riverpod 注解生成 provider
|
||
- 优先使用 AsyncNotifierProvider
|
||
- 实现适当的错误处理
|
||
|
||
3. **性能优化**
|
||
- 合理使用 const 构造器
|
||
- 实现列表懒加载
|
||
- 使用缓存图片组件
|
||
|
||
### 错误处理
|
||
|
||
|
||
## 开发环境配置
|
||
|
||
### 必要条件
|
||
- Flutter SDK: 3.x
|
||
- Dart SDK: 3.x
|
||
- IDE: VS Code 或 Android Studio |