真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

關(guān)于flutter視頻教程的信息

自學(xué)前端,前端開發(fā)的學(xué)習(xí)路線是什么?

自學(xué)前端其實(shí)很辛苦,需要有強(qiáng)大的自制力和堅(jiān)持下去的學(xué)習(xí)心,并且做好詳細(xì)的學(xué)習(xí)規(guī)劃嚴(yán)格執(zhí)行;如果你想學(xué)前端,下面的學(xué)習(xí)路線或許對(duì)你有幫助。

創(chuàng)新互聯(lián)是創(chuàng)新、創(chuàng)意、研發(fā)型一體的綜合型網(wǎng)站建設(shè)公司,自成立以來(lái)公司不斷探索創(chuàng)新,始終堅(jiān)持為客戶提供滿意周到的服務(wù),在本地打下了良好的口碑,在過去的十年時(shí)間我們累計(jì)服務(wù)了上千家以及全國(guó)政企客戶,如不銹鋼雕塑等企業(yè)單位,完善的項(xiàng)目管理流程,嚴(yán)格把控項(xiàng)目進(jìn)度與質(zhì)量監(jiān)控加上過硬的技術(shù)實(shí)力獲得客戶的一致稱贊。

前端完整學(xué)習(xí)路線

第一階段:

HTML CSS:HTML進(jìn)階、CSS進(jìn)階、div css布局、HTML css整站開發(fā)。

JavaScript基礎(chǔ):Js基礎(chǔ)教程、js內(nèi)置對(duì)象常用方法、常見DOM樹操作大全、ECMAscript、DOM、BOM、定時(shí)器和焦點(diǎn)圖。

JS基本特效:常見特效、例如:tab、導(dǎo)航、整頁(yè)滾動(dòng)、輪播圖、JS制作幻燈片、彈出層、手風(fēng)琴菜單、瀑布流布局、滾動(dòng)事件、滾差視圖。

JS高級(jí)特征:正則表達(dá)式、排序算法、遞歸算法、閉包、函數(shù)節(jié)流、作用域鏈、基于距離運(yùn)動(dòng)框架、面向?qū)ο蠡A(chǔ)。

JQuery:基礎(chǔ)使用懸著器、DOM操作、特效和動(dòng)畫、方法鏈、拖拽、變形、JQueryUI組件基本使用。

第二階段:HTML5和移動(dòng)Web開發(fā)

HTML5:HTML5新語(yǔ)義標(biāo)簽、HTML5表單、音頻和視頻、離線和本地存儲(chǔ)、SVG、Web Socket、Canvas。

CSS3:CSS3新選擇器、偽元素、臉色表示法、邊框、陰影、background系列屬性改變、Transition、動(dòng)畫、景深和深透、3D效果制作、Velocity.js框架、元素進(jìn)場(chǎng)、出場(chǎng)策略、炫酷CSS3網(wǎng)頁(yè)制作。

Bootstrap:響應(yīng)式概念、媒體查詢、響應(yīng)式網(wǎng)站制作、刪格系統(tǒng)、刪格系統(tǒng)原理、Bootstrap常用模板、LESS和SASS。

移動(dòng)Web開發(fā):跨終端WEB和主流設(shè)備簡(jiǎn)介、視口、流式布局、彈性盒子、rem、移動(dòng)終端JavaScript事件、手機(jī)中常見JS效果制作、Zepto.js、手機(jī)聚劃算頁(yè)面、手機(jī)滾屏。

第三階段:HTTP服務(wù)和AJAX編程

WEB服務(wù)器基礎(chǔ):服務(wù)器基礎(chǔ)知識(shí)、Apache服務(wù)器和其他WEB服務(wù)器介紹、Apache服務(wù)器搭建、HTTP介紹。

PHP基礎(chǔ):PHP基礎(chǔ)語(yǔ)法、使用PHP處理簡(jiǎn)單的GET或者POST請(qǐng)求。

AJAX上篇:Ajax簡(jiǎn)介和異步的概念、Ajax框架的封裝、XMLHttpRequest對(duì)象詳細(xì)介紹方法、兼容性處理方法、Ajax框架的封裝、Ajax中緩存問題、XML介紹和使用。

AJAX下篇:JSON和JSON解析、數(shù)據(jù)綁定和模板技術(shù)、JSONP、跨域技術(shù)、圖片預(yù)讀取和lazy-load技術(shù)、JQuery框架中的AjaxAPI、使用Ajax實(shí)現(xiàn)爆布流案例額。

第四階段:面向?qū)ο筮M(jìn)階

面向?qū)ο蠼K極篇:從內(nèi)存角度到理解JS面向?qū)ο?、基本類型、?fù)雜類型、原型鏈、ES6中的面向?qū)ο?、屬性讀寫權(quán)限、設(shè)置器、訪問器。

面向?qū)ο笕筇卣?繼承性、多態(tài)性、封裝性、接口。

設(shè)計(jì)模式:面向?qū)ο缶幊趟季S、單例模式、工廠模式、策略模式、觀察者模式、模板方法模式、代理模式、裝飾者模式、適配器模式、面向切面編程。

第五階段:封裝一個(gè)屬于自己的框架

框架封裝基礎(chǔ):事件流、冒泡、捕獲、事件對(duì)象、事件框架、選擇框架。

框架封裝中級(jí):運(yùn)動(dòng)原理、單物體運(yùn)動(dòng)框架、多物體運(yùn)動(dòng)框架、運(yùn)動(dòng)框架面向?qū)ο蠓庋b。

框架封裝高級(jí)和補(bǔ)充:JQuery框架雛形、可擴(kuò)展性、模塊化、封裝屬于傳智自己的框架。

第六階段:模塊化組件開發(fā)

面向組件編程:面向組件編程的方式、面向組件編程的實(shí)現(xiàn)原理、面向組件編程實(shí)戰(zhàn)、基于組件化思想開發(fā)網(wǎng)站應(yīng)用程序。

面向模塊編程:AMD設(shè)計(jì)規(guī)范、CMD設(shè)計(jì)規(guī)范、RequireJS,LoadJS、淘寶的SeaJS。

第七階段:主流的流行框架

Web開發(fā)工作流:GIT/SVN、Yeoman腳手架、NPMer依賴管理工具、Grunt/Gulp/Webpack。

MVC/MVVM/MVW框架:Angular.js、Backbone.js、Knockout/Ember。

常用庫(kù):React.js、Vue.js、Zepto.js。

第八階段:HTML5原生移動(dòng)應(yīng)用開發(fā)

Cordova:WebApp/NativeApp/HybirdApp簡(jiǎn)介、Cordova簡(jiǎn)介、與PhoneGap之間的關(guān)系、開發(fā)環(huán)境搭建、Cordova實(shí)戰(zhàn)(創(chuàng)建項(xiàng)目,配置,編譯,調(diào)試,部署發(fā)布)。

Ionic:Ionic簡(jiǎn)介和同類對(duì)比、模板項(xiàng)目解析、常見組件及使用、結(jié)合Angular構(gòu)建APP、常見效果(下拉刷新,上拉加載,側(cè)滑導(dǎo)航,選項(xiàng)卡)。

React Native:React Native簡(jiǎn)介、React Native環(huán)境配置、創(chuàng)建項(xiàng)目,配置,編譯,調(diào)試,部署發(fā)布、原生模塊和UI組件、原生常用API。

HTML5 :HTML5 中國(guó)產(chǎn)業(yè)聯(lián)盟、HTML5 Plus Runtime環(huán)境、HBuilder開發(fā)工具、MUI框架、H5 開發(fā)和部署。

第九階段: Node.js全棧開發(fā):

快速入門:Node.js發(fā)展、生態(tài)圈、Io.js、Linux/Windows/OS X環(huán)境配置、REPL環(huán)境和控制臺(tái)程序、異步編程,非阻塞I/O、模塊概念,模塊管理工具、開發(fā)流程,調(diào)試,測(cè)試。

核心模塊和對(duì)象:全局對(duì)象global,process,console,util、事件驅(qū)動(dòng),事件發(fā)射器、加密解密,路徑操做。

祝你學(xué)有所成!

Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程(28 個(gè)視頻)

Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #01 環(huán)境搭建 「14:03」

Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #02 Dart 語(yǔ)言 「17:49」

Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #03 建立 Android studio 虛擬設(shè)備 「04:12」

Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #04 建立第一個(gè)項(xiàng)目 「08:23」

Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #05 安裝配置過程中可能遇到的問題(沒遇到者可以跳過) 「05:07」

Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #06 運(yùn)行 iOS 模擬器 「04:07」

Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #07 Flutter 概述 「06:15」

Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #08 Scaffold AppBar 「Pro」「06:50」

Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #09 文檔和快捷鍵 「Pro」「02:36」

Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #10 顏色 Colors 「Pro」「05:47」

Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #11 自定義字體 fonts 「Pro」「05:09」

Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #12 hot reload StatelessWidget 「Pro」「04:56」

Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #13 使用圖片 「Pro」「04:59」

Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #14 使用圖標(biāo) - Icon 「Pro」「01:27」

Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #15 Button 按鈕使用指南 「Pro」「04:35」

Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #16 Container 和 Padding 「Pro」「04: 52」

Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #17 Row 「Pro」「05:24」

Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #18 Column 「Pro」「05:36」

Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #19 Flutter Outline Shortcuts 「Pro」「03:18」

Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #20 Expanded Widgets 「Pro」「06:06」

Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #21 實(shí)戰(zhàn)開始 「Pro」「11:42」

Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #22 換個(gè)編輯器 - Visual Studio Code 「Pro」「04:50」

Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #23 Stateful vs Stateless Widget 「Pro」「09:45」

Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #24 列表處理 「Pro」「04:54」

Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #25 自定義 class 「Pro」「05:37」

Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #26 card widget 「Pro」「04:26」

Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #27 Extracting Widgets 「Pro」「06:59」

Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #28 刪除 - Functions as Parameters - 完結(jié) - 進(jìn)入實(shí)戰(zhàn)課 「Pro」「04:35」

求flutter的教學(xué)視頻!?。?!

Flutter教程全套 (全網(wǎng)獨(dú)家)百度網(wǎng)盤免費(fèi)資源在線學(xué)習(xí) ?

鏈接:

提取碼: m9z8 ?

Flutter教程全套 (全網(wǎng)獨(dú)家)

第一套:Flutter 攜程17章全-整理好

第五套:Flutter高仿谷歌翻譯項(xiàng)目課程

第四套:兩小時(shí)掌握Flutter移動(dòng)App開發(fā)視頻

第三套:flutter入門到精通全套

第七套:Flutter小實(shí)戰(zhàn)20個(gè)

第六套:仿直聘boss的flutter完整教程

第九套:Flutter跨平臺(tái)開發(fā)

第二套:flutter移動(dòng)電商實(shí)戰(zhàn)-技術(shù)胖

第八套:Flutter基礎(chǔ)教程(基礎(chǔ)不好的優(yōu)先看)

24Flutter的打包.mp4

23靜態(tài)資源和項(xiàng)目圖片的處理.mp4

22頁(yè)面跳轉(zhuǎn)并返回?cái)?shù)據(jù)_.mp4

21導(dǎo)航的參數(shù)傳遞和接受-2_.mp4

20導(dǎo)航的參數(shù)傳遞和接受-1.mp4

web開發(fā)需要學(xué)習(xí)什么?

這里整理了一份web前端學(xué)習(xí)路線,比較系統(tǒng)和全面,希望可以幫到你~

第一階段:專業(yè)核心基礎(chǔ)

階段目標(biāo):

1. 熟練掌握HTML5、CSS3、Less、Sass、響應(yīng)書布局、移動(dòng)端開發(fā)。

2. 熟練運(yùn)用HTML+CSS特性完成頁(yè)面布局。

4. 熟練應(yīng)用CSS3技術(shù),動(dòng)畫、彈性盒模型設(shè)計(jì)。

5. 熟練完成移動(dòng)端頁(yè)面的設(shè)計(jì)。

6. 熟練運(yùn)用所學(xué)知識(shí)仿制任意Web網(wǎng)站。

7. 能綜合運(yùn)用所學(xué)知識(shí)完成網(wǎng)頁(yè)設(shè)計(jì)實(shí)戰(zhàn)。

知識(shí)點(diǎn):

1、Web前端開發(fā)環(huán)境,HTML常用標(biāo)簽,表單元素,Table布局,CSS樣式表,DIV+CSS布局。熟練運(yùn)用HTML和CSS樣式屬性完成頁(yè)面的布局和美化,能夠仿制任意網(wǎng)站的前端頁(yè)面實(shí)現(xiàn)。

2、CSS3選擇器、偽類、過渡、變換、動(dòng)畫、字體圖標(biāo)、彈性盒模型、響應(yīng)式布局、移動(dòng)端。熟練運(yùn)用CSS3來(lái)開發(fā)網(wǎng)頁(yè)、熟練開發(fā)移動(dòng)端,整理網(wǎng)頁(yè)開發(fā)技巧。

3、預(yù)編譯css技術(shù):less、sass基礎(chǔ)知識(shí)、以及插件的運(yùn)用、BootStrap源碼分析。能夠熟練使用 less、sass完成項(xiàng)目開發(fā),深入了解BootStrap。

4、使用HTML、CSS、LESS、SASS等技術(shù)完成網(wǎng)頁(yè)項(xiàng)目實(shí)戰(zhàn)。通過項(xiàng)目掌握第一階段html、css的內(nèi)容、完成PC端頁(yè)面設(shè)計(jì)和移動(dòng)端頁(yè)面設(shè)計(jì)。

第二階段:Web后臺(tái)技術(shù)

階段目標(biāo):

1. 了解JavaScript的發(fā)展歷史、掌握Node環(huán)境搭建及npm使用。

2. 熟練掌握J(rèn)avaScript的基本數(shù)據(jù)類型和變量的概念。

3. 熟練掌握J(rèn)avaScript中的運(yùn)算符使用。

4. 深入理解分之結(jié)構(gòu)語(yǔ)句和循環(huán)語(yǔ)句。

5. 熟練使用數(shù)組來(lái)完成各種練習(xí)。

6.熟悉es6的語(yǔ)法、熟練掌握J(rèn)avaScript面向?qū)ο缶幊獭?/p>

7.DOM和BOM實(shí)戰(zhàn)練習(xí)和H5新特性和協(xié)議的學(xué)習(xí)。

知識(shí)點(diǎn):

1、軟件開發(fā)流程、算法、變量、數(shù)據(jù)類型、分之語(yǔ)句、循環(huán)語(yǔ)句、數(shù)組和函數(shù)。熟練運(yùn)用JavaScript的知識(shí)完成各種練習(xí)。

2、JavaScript面向?qū)ο蠡A(chǔ)、異常處理機(jī)制、常見對(duì)象api,js的兼容性、ES6新特性。熟練掌握J(rèn)avaScript面向?qū)ο蟮拈_發(fā)以及掌握es6中的重要內(nèi)容。

3、BOM操作和DOM操作。熟練使用BOM的各種對(duì)象、熟練操作DOM的對(duì)象。

4、h5相關(guān)api、canvas、ajax、數(shù)據(jù)模擬、touch事件、mockjs。熟練使用所學(xué)知識(shí)來(lái)完成網(wǎng)站項(xiàng)目開發(fā)。

第三階段:數(shù)據(jù)庫(kù)和框架實(shí)戰(zhàn)

階段目標(biāo):

1. 綜合運(yùn)用Web前端技術(shù)進(jìn)行頁(yè)面布局與美化。

2. 綜合運(yùn)用Web前端開發(fā)框架進(jìn)行Web系統(tǒng)開發(fā)。

3. 熟練掌握Mysql、Mongodb數(shù)據(jù)庫(kù)的發(fā)開。

4. 熟練掌握vue.js、webpack、elementui等前端框技術(shù)。

5. 熟練運(yùn)用Node.js開發(fā)后臺(tái)應(yīng)用程序。

6. 對(duì)Restful,Ajax,JSON,開發(fā)過程有深入的理解,掌握git的基本技能。

知識(shí)點(diǎn):

1、數(shù)據(jù)庫(kù)知識(shí),范式,MySQL配置,命令,建庫(kù)建表,數(shù)據(jù)的增刪改查,mongodb數(shù)據(jù)庫(kù)。深入理解數(shù)據(jù)庫(kù)管理系統(tǒng)通用知識(shí)及MySQL數(shù)據(jù)庫(kù)的使用與管理,為Node.js后臺(tái)開發(fā)打下堅(jiān)實(shí)基礎(chǔ)。

2、模塊系統(tǒng),函數(shù),路由,全局對(duì)象,文件系統(tǒng),請(qǐng)求處理,Web模塊,Express框架,MySQL數(shù)據(jù)庫(kù)處理,RestfulAPI,文件上傳等。熟練運(yùn)用Node.js運(yùn)行環(huán)境和后臺(tái)開發(fā)框架完成Web系統(tǒng)的后臺(tái)開發(fā)。

3、vue的組件、生命周期、路由、組件、前端工程化、webpack、elementui框架。Vue.js框架的基本使用有清晰的理解,能夠運(yùn)用Vue.js完成基礎(chǔ)前端開發(fā)、熟練運(yùn)用Vue.js框架的高級(jí)功能完成Web前端開發(fā)和組件開發(fā),對(duì)MVVM模式有深刻理解。

4、需求分析,數(shù)據(jù)庫(kù)設(shè)計(jì),后臺(tái)開發(fā),使用vue、node完成pc和移動(dòng)端整站開發(fā)。于Node.js+Vue.js+Webpack+Mysql+Mongodb+Git,實(shí)現(xiàn)整站項(xiàng)目完整功能并上線發(fā)布。

第四階段:移動(dòng)端和微信實(shí)戰(zhàn)

階段目標(biāo):

1.熟練掌握React.js框架,熟練使用React.js完成開發(fā)。

2.掌握移動(dòng)端開發(fā)原理,理解原生開發(fā)和混合開發(fā)。

3.熟練使用react-native和Flutter框架完成移動(dòng)端開發(fā)。

4.掌握微信小程序以及了解支付寶小程序的開發(fā)。

5.完成大型電商項(xiàng)目開發(fā)。

知識(shí)點(diǎn):

1、React面向組件編程、表單數(shù)據(jù)、組件通信、監(jiān)聽、聲明周期、路由、Redux基本概念。練使用react完成項(xiàng)目開發(fā)、掌握Redux中的異步解決方案Saga。

2、react-native、開發(fā)工具、視圖與渲染、api操作、Flutter環(huán)境搭建、路由、ListView組件、網(wǎng)絡(luò)請(qǐng)求、打包。練掌握react-native和Flutter框架,并分別使用react-native和Flutter分別能開發(fā)移動(dòng)端項(xiàng)目。

3、微信小程序基本介紹、開發(fā)工具、視圖與渲染、api操作、支付寶小程序的入門和api學(xué)習(xí)。掌握微信小程序開發(fā)了解支付寶小程序。

4、大型購(gòu)物網(wǎng)站實(shí)戰(zhàn),整個(gè)項(xiàng)目前后端分離開發(fā);整個(gè)項(xiàng)目分為四部分:PC端網(wǎng)頁(yè)、移動(dòng)端APP、小程序、后臺(tái)管理。團(tuán)隊(duì)協(xié)作開發(fā),使用git進(jìn)行版本控制。目期間可以擴(kuò)展Three.js 、TypeScript。

Flutter Dio源碼分析(四)--封裝

Flutter Dio源碼分析(一)--Dio介紹

Flutter Dio源碼分析(二)--HttpClient、Http、Dio對(duì)比

Flutter Dio源碼分析(三)--深度剖析

Flutter Dio源碼分析(四)--封裝

Flutter Dio源碼分析(一)--Dio介紹視頻教程

Flutter Dio源碼分析(二)--HttpClient、Http、Dio對(duì)比視頻教程

Flutter Dio源碼分析(三)--深度剖析視頻教程

Flutter Dio源碼分析(四)--封裝視頻教程

github倉(cāng)庫(kù)地址

本文會(huì)手把手教你該怎么去封裝一個(gè)類庫(kù),平時(shí)在我們的工作中都是拿著別人的造好的輪子在使用,這篇文章將帶你怎么去自己造輪子,以后再碰到別的類庫(kù)需要對(duì)其進(jìn)行封裝的時(shí)候提供一個(gè)的思路和方法。

在前面的文章中,我們對(duì) Dio 的基本使用、請(qǐng)求庫(kù)對(duì)比、源碼分析,我們知道 Dio 的使用非常的簡(jiǎn)單,那為什么還需要進(jìn)行封裝呢?有兩點(diǎn)如下:

當(dāng)組件庫(kù)方法發(fā)生重要改變需要遷移的時(shí)候如果有多處地方用到,那么需要對(duì)使用到的每個(gè)文件都進(jìn)行修改,非常的繁瑣而且很容易出問題。

當(dāng)不需要 Dio 庫(kù)的時(shí)候,我們可以隨時(shí)方便切換到別的網(wǎng)絡(luò)請(qǐng)求庫(kù),當(dāng)然 Dio 目前內(nèi)置支持使用第三方庫(kù)的適配器。

因?yàn)橐粋€(gè)應(yīng)用程序基本都是統(tǒng)一的配置方式,所以我們可以針對(duì) 攔截器 、 轉(zhuǎn)換器 、 緩存 、 統(tǒng)一處理錯(cuò)誤 、 代理配置 、 證書校驗(yàn) 等多個(gè)配置進(jìn)行統(tǒng)一管理。

因?yàn)槲覀兊膽?yīng)用程序在每個(gè)頁(yè)面中都會(huì)用到網(wǎng)絡(luò)請(qǐng)求,那么如果我們每次請(qǐng)求的時(shí)候都去實(shí)例化一個(gè) Dio ,無(wú)非是增加了系統(tǒng)不必要的開銷,而使用單例模式對(duì)象一旦創(chuàng)建每次訪問都是同一個(gè)對(duì)象,不需要再次實(shí)例化該類的對(duì)象。

這是通過靜態(tài)變量的私有構(gòu)造器來(lái)創(chuàng)建的單例模式

我們對(duì) 超時(shí)時(shí)間 、 響應(yīng)時(shí)間 、 BaseUrl 進(jìn)行統(tǒng)一設(shè)置

因?yàn)椴还苁?get() 還是 post() 請(qǐng)求, Dio 內(nèi)部最終都會(huì)調(diào)用 request 方法,只是傳入的 method 不一樣,所以我們這里定義一個(gè)枚舉類型在一個(gè)方法中進(jìn)行處理

我們已經(jīng)把 Restful API 風(fēng)格簡(jiǎn)化成了一個(gè)方法,通過 DioMethod 來(lái)標(biāo)明不同的請(qǐng)求方式。在我們平時(shí)開發(fā)的過程中,需要在請(qǐng)求前、響應(yīng)前、錯(cuò)誤時(shí)對(duì)某一些接口做特殊的處理,那我們就需要用到攔截器。 Dio 為我們提供了自定義攔截器功能,很容易輕松的實(shí)現(xiàn)對(duì)請(qǐng)求、響應(yīng)、錯(cuò)誤時(shí)進(jìn)行攔截

我們發(fā)現(xiàn)雖然 Dio 框架已經(jīng)封裝了一個(gè) DioError 類庫(kù),但如果需要對(duì)返回的錯(cuò)誤進(jìn)行統(tǒng)一彈窗處理或者路由跳轉(zhuǎn)等就只能自定義了

在我們發(fā)送請(qǐng)求的時(shí)候會(huì)碰到幾種情況,比如需要對(duì)非open開頭的接口自動(dòng)加上一些特定的參數(shù),獲取需要在請(qǐng)求頭增加統(tǒng)一的 token

在我們請(qǐng)求接口前可以對(duì)響應(yīng)數(shù)據(jù)進(jìn)行一些基礎(chǔ)的處理,比如對(duì)響應(yīng)的結(jié)果進(jìn)行自定義封裝,還可以針對(duì)單獨(dú)的 url 做特殊處理等。

我們看了轉(zhuǎn)換器的介紹,發(fā)現(xiàn)和攔截器的功能差不多,那為什么還要存在轉(zhuǎn)換器,有兩點(diǎn):

執(zhí)行流程: 請(qǐng)求攔截器 請(qǐng)求轉(zhuǎn)換器 發(fā)起請(qǐng)求 響應(yīng)轉(zhuǎn)換器 響應(yīng)攔截器 最終結(jié)果 。

只會(huì)被用于 'PUT'、 'POST'、 'PATCH'方法,因?yàn)橹挥羞@些方法才可以攜帶請(qǐng)求體(request body)

會(huì)被用于所有請(qǐng)求方法的返回?cái)?shù)據(jù)。

在開發(fā)過程中,客戶端和服務(wù)器打交道的時(shí)候,往往會(huì)用一個(gè) token 來(lái)做校驗(yàn),因?yàn)槊總€(gè)公司處理刷新token的邏輯都不一樣,我這里舉一個(gè)簡(jiǎn)單的例子

為什么我們需要有取消請(qǐng)求的功能,如果當(dāng)我們的頁(yè)面在發(fā)送請(qǐng)求時(shí),用戶主動(dòng)退出當(dāng)前界面或者app應(yīng)用程序退出的時(shí)候數(shù)據(jù)還沒有響應(yīng),那我們就需要取消該網(wǎng)絡(luò)請(qǐng)求,防止不必要的錯(cuò)誤。

由 服務(wù)器生成 的 一小段文本信息 ,發(fā)送給瀏覽器,瀏覽器把 cookie 以kv形式保存到本地 某個(gè)目錄下的文本文件內(nèi),下一次請(qǐng)求同一網(wǎng)站時(shí)會(huì)把該 cookie 發(fā)送給服務(wù)器。

cookie 的使用需要用到兩個(gè)第三方組件 dio_cookie_manager 和 cookie_jar

因?yàn)樵谖覀兤綍r(shí)的開發(fā)過程中,會(huì)碰到一種情況,在進(jìn)行網(wǎng)絡(luò)請(qǐng)求時(shí),我們希望能正常訪問到上次的數(shù)據(jù),對(duì)于用戶的體驗(yàn)比較好,而不是展示一個(gè)空白的頁(yè)面,該緩存主要是 《Flutter實(shí)戰(zhàn)》網(wǎng)絡(luò)接口緩存 提供參考。

我們?cè)诔绦蛲顺龊髢?nèi)存緩存將會(huì)消失,所以我們用 shared_preferences 進(jìn)行磁盤緩存數(shù)據(jù)。

在我們用flutter進(jìn)行抓包的時(shí)候需要配置 Dio 代理。由 DefaultHttpClientAdapter 提供了一個(gè) onHttpClientCreate 回調(diào)來(lái)設(shè)置底層 HttpClient 的代理。

用于驗(yàn)證正在訪問的網(wǎng)站是否真實(shí)。提供安全性,因?yàn)樽C書和域名綁定,并且由根證書機(jī)構(gòu)簽名確認(rèn)。

日志打印主要是幫助我們開發(fā)時(shí)進(jìn)行輔助排錯(cuò)


網(wǎng)頁(yè)名稱:關(guān)于flutter視頻教程的信息
本文地址:http://weahome.cn/article/dsdhpec.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部