本项目为个人学习Flutter的练习项目。
部分页面效果如下:
觉得还可以的话,来个Star、Fork支持一波!
- mvp模式
- 使用
provider
(5.x 版本)做状态管理 - 基于
dio
(4.x 版本)的网络请求封装 - 图片存储相册
- 通用Widget的处理封装
- 下拉刷新 + 上拉加载更多
- 多弹框的顺序弹出
- 各种自定义Dialog
- 绘制动画效果
- 模块化路由管理
1. Flutter version 2.2.0
2. Dart version 2.13.0
- |--lib
- |-- net (网络请求文件)
//代码更改
class APIManager{
final String LS_iv = "lsm-api-iv-param";
EnvironmentType _type = EnvironmentType.test; // 此处更改环境测试与线上
EnvironmentType get type => _type;
bool _isEncrypt = false; // 是否加密
bool get isEncrypt => _isEncrypt;
String _baseUrl = "";
String get baseUrl => _baseUrl;
String _encryptKey = "";
String get encryptKey => _encryptKey;
String _decryptKey = "";
String get decryptKey => _decryptKey;
factory APIManager() => _singleton;
static final APIManager _singleton = APIManager._();
static APIManager get instance => APIManager();
}
库 | 功能 |
---|---|
dio | 网络库 |
provider | 状态管理 |
cached_network_image | 图片加载 |
fluro | 路由管理 |
flutter_oktoast | Toast |
common_utils | Dart 常用工具类库 |
flustars | Flutter 常用工具类库 |
flutter_swiper | Flutter 轮播组件 |
rxdart | Dart的响应式扩展 |
webview_flutter | WebView插件 |
keyboard_actions | 处理键盘事件 |
event_bus | 事件广播 |
encrypt | 加解密 |
详细内容可以参看pubspec.yaml文件