这是一个完整的 Flutter 模板项目,集成了企业级开发所需的核心功能与最佳实践。
- ✅ GetX 状态管理框架
- ✅ 命名路由系统
- ✅ 启动引导页(Splash)
- ✅ 登录模块
- ✅ 主页底部导航(Main/Home/Discover/Profile)
- ✅ 路由中间件(AuthGuard)
- ✅ 全局服务(Storage、Auth、Theme)
- ✅ 国际化支持
- ✅ BaseProvider 完善拦截器
- ✅ Token 自动注入
- ✅ 401 自动拦截登出
- ✅ 统一错误处理
- ✅ 请求/响应日志
- ✅ ApiResponse 统一响应模型
- ✅ Models 层(User、Pagination、Base)
- ✅ Repository 缓存策略
- ✅ 网络异常处理工具类
- ✅ PageContainer
- ✅ CustomAppBar
- ✅ AppButton
- ✅ AppTextField
- ✅ AppBadge
- ✅ EmptyWidget(空状态)
- ✅ ErrorWidget(错误页)
- ✅ LoadingWidget(加载中)
- ✅ RefreshListView(下拉刷新/上拉加载)
- ✅ AppImage(图片缓存)
- ✅ Logger(分级日志)
- ✅ AppToast(Toast/Loading/Dialog)
- ✅ ScreenUtil(屏幕适配)
- ✅ NetworkExceptionHandler(网络异常处理)
- ✅ 单元测试框架
- ✅ 组件测试
- ✅ 集成测试
- ✅ Assets 自动化配置
- ✅ 代码混淆(Android ProGuard)
- ✅ PWA 支持(Flutter Web)
核心框架:
- Flutter SDK 3.35.4
- Dart 3.9.2
- GetX 4.6.6
UI 增强:
- flutter_smart_dialog 4.9.0
- pull_to_refresh 2.0.0
- cached_network_image 3.3.0
工具:
- get_storage 2.1.1
- logger 2.0.0
- json_annotation 4.8.0
开发工具:
- build_runner 2.4.0
- json_serializable 6.7.0
- flutter_gen_runner 5.4.0
- mockito 5.4.0lib/
├── app/
│ ├── data/
│ │ ├── models/ # 数据模型
│ │ ├── providers/ # API 客户端
│ │ ├── repositories/ # 数据仓库
│ │ └── services/ # 全局服务
│ ├── modules/ # 业务模块
│ │ ├── splash/
│ │ ├── login/
│ │ ├── main/
│ │ ├── home/
│ │ ├── discover/
│ │ └── profile/
│ └── routes/ # 路由配置
├── common/
│ ├── config/ # 配置
│ ├── i18n/ # 国际化
│ ├── middleware/ # 中间件
│ ├── styles/ # 样式
│ ├── utils/ # 工具类
│ └── widgets/ # 通用组件
└── main.dart # 入口
test/
├── unit/ # 单元测试
├── widget/ # 组件测试
└── integration/ # 集成测试
scripts/
├── setup_pwa.sh # PWA 配置脚本
└── build_pwa.sh # PWA 打包脚本
docx/
├── Flutter_Web_PWA完整方案.md
└── PWA使用指南.md
# 检查 Flutter 环境
flutter doctor
# 安装依赖
flutter pub get# iOS
flutter run -d ios
# Android
flutter run -d android
# Web
flutter run -d chrome# Android APK
flutter build apk --release
# iOS IPA
flutter build ios --release
# Web PWA
./scripts/build_pwa.sh本项目已配置 PWA 支持,可直接部署为 Web 应用。
# 使用默认配置
./scripts/setup_pwa.sh
# 自定义配置
./scripts/setup_pwa.sh "应用名称" "#主题色" "#背景色"./scripts/build_pwa.sh详见 docx/PWA使用指南.md
遵循 Effective Dart 规范。
- 文件名:
snake_case - 类名:
PascalCase - 变量/方法:
camelCase - 常量:
kConstantName
feat: 新功能
fix: 修复 Bug
docs: 文档更新
style: 代码格式调整
refactor: 重构
test: 测试相关
chore: 构建/工具链
- Android:
android/app/src/main/AndroidManifest.xml - iOS:
ios/Runner/Info.plist - Web PWA:
web/manifest.json
# 使用 flutter_launcher_icons
flutter pub add dev:flutter_launcher_icons
flutter pub run flutter_launcher_icons编辑 lib/common/config/config.dart:
class Config {
static const String baseUrl = 'https://your-api.com';
}# 单元测试
flutter test test/unit/
# 组件测试
flutter test test/widget/
# 集成测试
flutter test integration_test/- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 提交 Pull Request
MIT License
最后更新:2026-01-16
版本:v2.0.0
维护状态:活跃维护中