重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
一、前言
奉新ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!
Flutter开发,就需要对各种状态的管理,就是在请求数据的时候需要实时变化,各种交互变化等,在没有使用GetX之前使用Provider,用Provider的时候觉得真香,挺方便的,需要刷新的时候直接 notifyListeners(); 用了GetX之后觉得Provider太繁琐了。这边介绍下GetX的使用以及常用的方法。
二、 GetX
GetX 是 Flutter 上的一个轻量且强大的解决方案:高性能的状态管理、智能的依赖注入和便捷的路由管理。
1、相关优势:
三、使用
1、第一步 引入get
2、第二步
修改入口、配置路由
3、路由
Routes类
Pages类
4、状态管理
我一般一个page对应一个controller, controller来处理逻辑,控制page.
简单使用
5、依赖注入
依赖注入也是我喜欢的,可以减少很多工作。
第一步
第二步
6、跨页面交互
7、黑暗模式
可以参考前期写的博客。 黑暗模式的适配
最近在做公司工业互联网的一个项目 之前做了一个ipad 版本的 在使用dio网络请求框架的时候发现请求登录的时候后台一直报签名错误问题 检查了几遍写的签名方法没有发现错误 后面仔细查了下 是服务器不能识别我传的数据。。。
如果content-type是form-data 我们需要通过FormData类来构建数据,否则服务器将无法识别
同时需要传入一个Option指明content-type,而form-data的content-type完整类型表述为:multipart/form-data
主要我是个新手啊
查看源码
headers里面并有multipart/form-data 这个类型啊 讲道理这个是常用的contentType啊 应该要列出来才对啊
咋整?
自己设置。。。。
后台就可以正常接收表单参数了
dio的使用方式有很多,我就只选出我认为最好用的api方式做下记录,把get成post就是post请求了,网络请求都用的百度的api,实际上的response没有任何意义,所以只要打印出response有值即可。
1.最简单的请求例子,网络请求是异步的所以用async await
2.带有参数的get请求
3.自定义请求头,可定义的请求头dart已经为我们提供了专门的类存了对应的字符,引入以下库,就能使用 HttpHeaders
一般我们请求接收到的数据是json格式,如'accept: application/json',我们就可以这样自定义请求头
4.使用Baseoptions
其他详细参数设置参考如下:
dio 是一个国产巨佬写的一个Flutter的网络请求库,写这篇的文章的时候更新到3.x版本了。这里是他的 官方中文 使用链接: dio
按照原作者所说:
我这里这个时候的是一个3.0.9版本,这里的 ^ 符号,表示3.多的库比如说3.1.1啥的,也能更新下来。
dio 的原作者给了我们一个简单的例子
我们基础的使用,请求一个URL,这里就直接是 Dio().get(".****.com") 。这样就可以通过get方式来请求我们的链接。
在我们项目中,我们当然不能直接使用 Dio().get(".****.com") 这样的方法,那样的话如果以后我们要更换网络请求的库的话,我们要修改的地方,就会非常的多。类似的问题,曾经在iOS开发的历史上出现过一次。最初的时候iOS的开发者大多使用的是一个叫 ASI 的库,但是在过了几年的时候,这个库不在维护了。这时候,我们就会去找一个新的网络库来代替他。当时如果我们有500个文件中都直接使用 ASI ,我们就需要改动500个地方。这样的体力和眼力消耗,实在是太惊人了。所以,我们一般会自己创建一个专门的 网络管理 的类 NetworkManager 。在 NetworkManager 里,我们把调用方法抽取出一个基础的方法,使用的时候,基于这个基础的方法来调用。这样,我们就能很方便的去进去使用和维护。
这个时候我们就可以使用我们创建的类来直接调用我们的方法了。
这样,我们的 dio 的初步使用就完成了。下一篇文章来写 dio 的进阶使用。