Skip to content

snoozemo/flutter_starter

Repository files navigation

Flutter Starter - 快速开始

基于 Flutter 官方推荐架构的项目模板。

🎯 待办事项

  • 软件页面 (Basic Wigets)
  • 网络请求 (Dio)
  • 本地存储
  • 国际化支持
  • 状态管理(Riverpod)
  • 路由管理(Go Router)

🚀 快速开始

1. 安装依赖

flutter pub get

2. 运行项目

# Android
flutter run

# iOS
flutter run -d ios

# Web
flutter run -d chrome

# Windows
flutter run -d windows

3. 代码检查

flutter analyze

📁 核心目录说明

lib/
├── ui/              # UI 层 - 页面、组件、ViewModel
├── domain/          # 领域层 - 业务模型
├── data/            # 数据层 - Repository、Service
├── routing/         # 路由配置
├── config/          # 应用配置
└── utils/           # 工具类

🎨 主要功能

已实现的页面

  1. 主页 (/home) - 带底部导航
  2. Todo 列表 (/todos) - 带底部导航
  3. Todo 详情 (/todo/:id) - 全屏
  4. 用户设置 (/settings) - 全屏
  5. 登录/注册 (/login) - 全屏

状态管理示例

// 读取状态
final todos = ref.watch(todosProvider);

// 修改状态
ref.read(todosProvider.notifier).addTodo(newTodo);

路由导航

// 导航到指定页面
context.go('/todos');
context.go('/todo/123');

// 返回上一页
context.pop();

🔧 开发指南

添加新功能

  1. lib/domain/models/ 创建领域模型
  2. lib/data/repositories/ 创建数据仓库
  3. lib/ui/<feature>/view_model/ 创建 ViewModel
  4. lib/ui/<feature>/widgets/ 创建页面
  5. lib/routing/app_router.dart 添加路由

文件命名规范

  • 页面: *_screen.dart
  • ViewModel: *_view_model.dart
  • Repository: *_repository.dart
  • 模型: 小写,如 user.dart

📚 文档

🛠️ 常用命令

# 获取依赖
flutter pub get

# 代码分析
flutter analyze

# 格式化代码
flutter format .

# 清理构建
flutter clean

# 运行测试
flutter test

# 构建 APK
flutter build apk

# 构建 iOS
flutter build ios

📖 学习资源

🤝 贡献

欢迎提交 Issue 和 Pull Request!

📄 许可证

MIT License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published