zw_basic 1.0.0
zw_basic: ^1.0.0 copied to clipboard
Flutter基于Getx的框架库,包含路由管理 状态控制 网络请求 网络请求不同状态Ui展示 失败重试 日志打印 刷新组件 屏幕适配 吐司提示 等
flutter_dlog_basic #
快速集成
在Flutter项目的pubspec.yaml中导入插件依赖
dependencies:
zw_basic: ^1.0.0
介绍
flutter 基于getx搭建的框架
实现路由管理 状态控制 网络请求(带网络缓存) 网络请求不同状态显示不同UI 接口失败重试, 自动下拉刷新和上拉加载基类等
如果你还不了解getx 花十分钟就可以学会getx状态控制 进行项目开发
具体参照demo框架
教程
主要目录结构
api文件是网络请求类
routes路由文件
开始前的配置
需要把示例项目中的man.dart替换你工程的man.dart(参照示例demo写也行)
网络请求api文件夹 和 routes路由文件夹拖入到你的工程
zw_basic: ^1.0.0 导入库 就能进行项目开发
下面是创建界面 绑定路由 页面跳转 网络请求 状态控制例子
十分钟就能学会getx并且开始写项目
如果需要下拉刷新和上拉加载的界面 controller需继承BaseRefreshController即可 参照示例demo
1.创建界面 创建第一界面 创建个继承BaseStatefulWidget的page 和 一个继承BaseController的controller
(1)-controller (如果需要下拉刷新和上拉加载的界面 controller需继承BaseRefreshController 参照示例demo)
[alt text]
(2)-page:标红是界面的固定修改 controller则改为你创建的controller
[alt text]
至此已经创建了一个页面 和对应的controller
2.注入路由
路由在 你手动导入的 routes文件夹下
(1):AppControllerBinding类里 文件绑定controller
[alt text]
(2):AppPages类里注入page
[alt text]
(3):AppRoutes类里定义路由名字
[alt text]
至此已经完成了一个页面的路由绑定
跳转界面 就可以Get.toNamed(AppRoutes.page3);
返回上一页 Get.back()
3.状态控制
controller里定义一个RxString类型的字符串
[alt text]
page里添加Obx监听Rx变量
[alt text]
当这个String改变时 page里 Obx包裹的text会自动刷新
其他类型数据同理
至此 已经完成了 controller里的数据渲染到page上的流程
4.网络请求 (参照你手动导入的API文件夹里的类) apiUrl里配置域名
HttpSetting类里 配置token 和其他设置
(1):创建个继承与BaseApi的类 并创建个网络登录的网络请求 入下图
[alt text]
在controller里使用如下
[alt text]
如果不需要界面层的loading
request传入isNeedLoading:false即可
需要全局的dlogloading 传入isNeedLoading:false isNeedDialogLoading:true即可(进入request方法里查看参数)
至此已经完成了网络请求的调用
5.页面之间的传值
push时 携带arguments参数即可
[alt text]
接收:在下个界面的controller里的onUiReady(init也可)接收---注意key统一
[alt text]
至此 已经完成了创建界面 路径绑定 状态控制 网络请求的全部流程 具体细节参照框架demo 这个框架可以直接进行项目开发
如果能帮助到你 请给个赞👍🏻
pub.dev: https://pub.dev/packages/zw_basic