zw_basic 1.0.0 copy "zw_basic: ^1.0.0" to clipboard
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

2
likes
0
points
182
downloads

Publisher

unverified uploader

Weekly Downloads

Flutter基于Getx的框架库,包含路由管理 状态控制 网络请求 网络请求不同状态Ui展示 失败重试 日志打印 刷新组件 屏幕适配 吐司提示 等

Homepage

License

unknown (license)

Dependencies

crypto, dio, easy_refresh, flutter, flutter_screenutil, fluttertoast, get, logger, lottie, plugin_platform_interface, sqflite, url_launcher

More

Packages that depend on zw_basic

Packages that implement zw_basic