# flu-core **Repository Path**: flu-cli/flu-core ## Basic Information - **Project Name**: flu-core - **Description**: Flutter MVVM 核心库,支持多种状态管理器的可插拔架构 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-17 - **Last Updated**: 2025-11-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Flu Core

Flutter MVVM Version License Dart

Flutter MVVM 核心库,支持多种状态管理器的可插拔架构

特性快速开始高级功能使用文档更新日志

--- ## 特性 - ✅ 统一的 MVVM 架构 - ✅ 支持多种状态管理器(ChangeNotifier、Provider、GetX、Riverpod) - ✅ 开箱即用的通用功能(Loading、Error、Refresh、List) - ✅ 完全解耦的业务代码 - ✅ 轻量级,按需加载 ## 支持的状态管理器 | 状态管理器 | 版本要求 | 安装命令 | | -------------- | -------- | ---------------------------------- | | ChangeNotifier | 内置 | 无需安装 | | Provider | ^6.1.1 | `flutter pub add provider` | | GetX | ^4.6.6 | `flutter pub add get` | | Riverpod | ^2.4.9 | `flutter pub add flutter_riverpod` | ## 快速开始 ### 1. 使用 ChangeNotifier(默认) ```dart // main.dart import 'package:flu_core/flu_core.dart'; void main() { StateManagerConfig.init(StateManagerType.changeNotifier); runApp(const MyApp()); } // viewmodels/home_viewmodel.dart import 'package:flu_core/flu_core.dart'; class HomeViewModel extends BaseViewModel { int _counter = 0; int get counter => _counter; void increment() { _counter++; notifyListeners(); } } // pages/home_page.dart import 'package:flu_core/flu_core.dart'; class HomePage extends BasePage { const HomePage({super.key}); @override State createState() => _HomePageState(); } class _HomePageState extends BasePageState { @override HomeViewModel createViewModel() => HomeViewModel(); @override String get title => '首页'; @override Widget buildContent(BuildContext context) { return Center( child: Text('Counter: ${viewModel.counter}'), ); } } ``` ### 2. 使用其他状态管理器 #### Provider ```bash flutter pub add provider ``` ```dart void main() { StateManagerConfig.init(StateManagerType.provider); runApp(const MyApp()); } ``` #### GetX ```bash flutter pub add get ``` ```dart void main() { StateManagerConfig.init(StateManagerType.getx); runApp(const MyApp()); } ``` #### Riverpod ```bash flutter pub add flutter_riverpod ``` ```dart void main() { StateManagerConfig.init(StateManagerType.riverpod); runApp( const ProviderScope( child: MyApp(), ), ); } ``` ## 高级功能 ### 下拉刷新 ```dart class _HomePageState extends BasePageState with RefreshMixin { @override Widget buildContent(BuildContext context) { return buildWithRefresh( // Your content ); } } ``` ### 列表分页 ```dart class UserListViewModel extends BaseListViewModel { @override Future> fetchData(int page) async { // Fetch data from API } } class _UserListPageState extends BasePageState with RefreshMixin, ListMixin { @override Widget buildContent(BuildContext context) { return buildWithRefresh( buildListView((context, index) { final user = viewModel.items[index]; return ListTile(title: Text(user.name)); }), ); } } ``` ## 安装 ### 方式 1:从 Git 安装(推荐) ```yaml dependencies: flu_core: git: url: https://gitee.com/flu-cli/flu-core.git ref: v0.0.1 ``` ### 方式 2:本地路径(开发时) ```yaml dependencies: flu_core: path: ../flu-core ``` ## 相关项目 - [Flu CLI](https://gitee.com/flu-cli/flu-cli) - Flutter MVVM 脚手架工具 - [Flu CLI Docs](https://gitee.com/flu-cli/flu-cli-docs) - 完整文档 - [Template Lite](https://gitee.com/flu-cli/template-lite) - 轻量级模板 - [Template Modular](https://gitee.com/flu-cli/template-modular) - 模块化模板 - [Template Clean](https://gitee.com/flu-cli/template-clean) - Clean Architecture 模板 ## 贡献 欢迎提交 Issue 和 Pull Request! ## 许可证 [MIT License](./LICENSE) ## 联系方式 - Gitee: https://gitee.com/flu-cli - Issues: https://gitee.com/flu-cli/flu-core/issues --- **由火之夜工作室维护** ❤️