# flutter_repository **Repository Path**: JaylenWu/flutter_repository ## Basic Information - **Project Name**: flutter_repository - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-03-15 - **Last Updated**: 2024-03-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 使用方法 pubspec.yaml文件dependencies中添加 flutter_repository: git: url: https://gitee.com/cysir/flutter_repository.git 使用@Repository或者继承自Repository的类注解仓储类 使用@ProxyCall注解需要代理的方法 运行flutter pub run build_runner build 生成对应代码 ## 示例代码 a_repository.dart ``` @Repository() abstract class ARepository extends BaseRepository { @ProxyCall() Future> login(String name, {String password = ''}) { return Future.value(Resource.success("data")); } } ``` a_repository.g.dart ``` // GENERATED CODE - DO NOT MODIFY BY HAND part of 'a_repository.dart'; // ************************************************************************** // RepositoryGenerator // ************************************************************************** class ARepositoryImpl = ARepository with _ARepository; mixin _ARepository on ARepository { @override Future> login(String name, {String password = ''}) { return DefaultWrapper.customFutureWrapper( () => super.login(name, password: password)); } } ``` ## 作用 将代码放在一个安全环境里执行,统一处理各种异常和重试 ## 最后 DefaultWrapper只是一个很简单的示例,可以按照示例定制自己的Wrapper方法满足业务需求 ## 发布指令 flutter packages pub publish --dry-run --server=http://flutter-pub.wanshifu.com flutter packages pub publish --server=http://flutter-pub.wanshifu.com ## 更新记录 #### 2023/7/1 更新了build配置.g.dart -> .g.part