一、前言
奉新ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!
Flutter開發(fā),就需要對各種狀態(tài)的管理,就是在請求數(shù)據(jù)的時候需要實(shí)時變化,各種交互變化等,在沒有使用GetX之前使用Provider,用Provider的時候覺得真香,挺方便的,需要刷新的時候直接 notifyListeners(); 用了GetX之后覺得Provider太繁瑣了。這邊介紹下GetX的使用以及常用的方法。
二、 GetX
GetX 是 Flutter 上的一個輕量且強(qiáng)大的解決方案:高性能的狀態(tài)管理、智能的依賴注入和便捷的路由管理。
1、相關(guān)優(yōu)勢:
三、使用
1、第一步 引入get
2、第二步
修改入口、配置路由
3、路由
Routes類
Pages類
4、狀態(tài)管理
我一般一個page對應(yīng)一個controller, controller來處理邏輯,控制page.
簡單使用
5、依賴注入
依賴注入也是我喜歡的,可以減少很多工作。
第一步
第二步
6、跨頁面交互
7、黑暗模式
可以參考前期寫的博客。 黑暗模式的適配
最近在做公司工業(yè)互聯(lián)網(wǎng)的一個項(xiàng)目 之前做了一個ipad 版本的 在使用dio網(wǎng)絡(luò)請求框架的時候發(fā)現(xiàn)請求登錄的時候后臺一直報(bào)簽名錯誤問題? 檢查了幾遍寫的簽名方法沒有發(fā)現(xiàn)錯誤 后面仔細(xì)查了下 是服務(wù)器不能識別我傳的數(shù)據(jù)。。。
如果content-type是form-data 我們需要通過FormData類來構(gòu)建數(shù)據(jù),否則服務(wù)器將無法識別
同時需要傳入一個Option指明content-type,而form-data的content-type完整類型表述為:multipart/form-data
主要我是個新手啊?
查看源碼?
headers里面并有multipart/form-data 這個類型啊? ? 講道理這個是常用的contentType啊 應(yīng)該要列出來才對啊?
咋整?
自己設(shè)置。。。。
后臺就可以正常接收表單參數(shù)了
dio的使用方式有很多,我就只選出我認(rèn)為最好用的api方式做下記錄,把get成post就是post請求了,網(wǎng)絡(luò)請求都用的百度的api,實(shí)際上的response沒有任何意義,所以只要打印出response有值即可。
1.最簡單的請求例子,網(wǎng)絡(luò)請求是異步的所以用async await
2.帶有參數(shù)的get請求
3.自定義請求頭,可定義的請求頭dart已經(jīng)為我們提供了專門的類存了對應(yīng)的字符,引入以下庫,就能使用 HttpHeaders
一般我們請求接收到的數(shù)據(jù)是json格式,如'accept: application/json',我們就可以這樣自定義請求頭
4.使用Baseoptions
其他詳細(xì)參數(shù)設(shè)置參考如下:
dio 是一個國產(chǎn)巨佬寫的一個Flutter的網(wǎng)絡(luò)請求庫,寫這篇的文章的時候更新到3.x版本了。這里是他的 官方中文 使用鏈接: dio
按照原作者所說:
我這里這個時候的是一個3.0.9版本,這里的 ^ 符號,表示3.多的庫比如說3.1.1啥的,也能更新下來。
dio 的原作者給了我們一個簡單的例子
我們基礎(chǔ)的使用,請求一個URL,這里就直接是 Dio().get(".****.com") 。這樣就可以通過get方式來請求我們的鏈接。
在我們項(xiàng)目中,我們當(dāng)然不能直接使用 Dio().get(".****.com") 這樣的方法,那樣的話如果以后我們要更換網(wǎng)絡(luò)請求的庫的話,我們要修改的地方,就會非常的多。類似的問題,曾經(jīng)在iOS開發(fā)的歷史上出現(xiàn)過一次。最初的時候iOS的開發(fā)者大多使用的是一個叫 ASI 的庫,但是在過了幾年的時候,這個庫不在維護(hù)了。這時候,我們就會去找一個新的網(wǎng)絡(luò)庫來代替他。當(dāng)時如果我們有500個文件中都直接使用 ASI ,我們就需要改動500個地方。這樣的體力和眼力消耗,實(shí)在是太驚人了。所以,我們一般會自己創(chuàng)建一個專門的 網(wǎng)絡(luò)管理 的類 NetworkManager 。在 NetworkManager 里,我們把調(diào)用方法抽取出一個基礎(chǔ)的方法,使用的時候,基于這個基礎(chǔ)的方法來調(diào)用。這樣,我們就能很方便的去進(jìn)去使用和維護(hù)。
這個時候我們就可以使用我們創(chuàng)建的類來直接調(diào)用我們的方法了。
這樣,我們的 dio 的初步使用就完成了。下一篇文章來寫 dio 的進(jìn)階使用。