# flutter-learn **Repository Path**: xback123/flutter-learn ## Basic Information - **Project Name**: flutter-learn - **Description**: flutter学习记录 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-10 - **Last Updated**: 2026-06-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # flutter-learn ## 🎯 项目介绍 这是一个 Flutter 学习项目,用于记录和实践 Flutter 开发的各种核心知识点。项目包含多个子项目,从基础入门到实战应用,逐步深入地展示 Flutter 开发的各个方面。 ## 📁 项目结构 ``` flutter-learn/ ├── project/ │ ├── flutter_base/ # Flutter 基础教程项目 │ ├── flutter_initial/ # Flutter 入门示例 │ └── flutter_shop # 仿电商购物应用 └── code/ # 代码片段示例 ``` ## 🚀 子项目介绍 ### 1. flutter_base - 基础教程项目 Flutter 基础功能学习和演示,包含: - **网络请求**:Dio 的使用与封装 - **路由管理**:从基本路由到命名路由,再到带守卫的路由管理 详细文档见:[flutter_base/docs](./project/flutter_base/docs/) ### 2. flutter_initial - 入门示例 最适合 Flutter 新手入门的示例项目,展示基本的 Flutter 应用结构和开发模式。 ### 3. flutter_shop - 购物应用实战 一个完整的仿电商购物应用实战项目,体现真实业务场景开发: | 模块 | 说明 | |------|------| | `lib/api/` | API 接口定义(首页、登录) | | `lib/components/` | 可复用组件(轮播、分类、热款等) | | `lib/pages/` | 页面模块(首页、分类、购物车、用户、登录) | | `lib/utils/` | 工具类(Dio 请求封装、本地存储、校验器、Toast) | | `lib/viewmodels/` | 视图模型(状态管理) | ## 🛠 技术栈 - **框架**:Flutter - **状态管理**:ViewModel 模式 - **网络请求**:Dio - **本地存储**:SharedPreferences - **路由管理**:Flutter Navigator ## 💻 环境要求 - Flutter SDK >= 3.0.0 - Dart SDK >= 3.0.0 ## 📦 安装运行 ```bash # 进入目标项目目录 cd project/flutter_shop # 获取依赖 flutter pub get # 运行项目 flutter run ``` 各个子项目的运行方式相同,只需进入对应的项目目录即可。 ## 📖 学习路线 推荐按照以下顺序学习: 1. **flutter_initial** - 了解 Flutter 项目基本结构 2. **flutter_base/docs** - 学习网络请求和路由的核心概念 3. **flutter_shop** - 实战演练,综合运用各项技能 ## 📝 学习笔记 项目附带了详细的学习文档: - [Flutter 网络请求实战指南](./project/flutter_base/docs/dio-guide.md) - [Flutter 路由完全学习指南](./project/flutter_base/docs/flutter-routing-guide.md) ## 🤝 贡献指南 欢迎提交 Issue 和 Pull Request! 1. Fork 本仓库 2. 创建特性分支 (`git checkout -b feat/xxx`) 3. 提交更改 (`git commit -m 'add xxx'`) 4. 推送分支 (`git push origin feat/xxx`) 5. 创建 Pull Request ## 📄 许可证 本项目仅用于学习交流。