日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

18-Flutter移动电商实战-首页_火爆专区商品接口制作

發布時間:2023/12/10 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 18-Flutter移动电商实战-首页_火爆专区商品接口制作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、獲取接口的方法

在service/service_method.dart里制作方法。我們先不接收參數,先把接口調通。

Future?getHomePageBeloConten()?async{try{print('開始獲取下拉列表數據.................');Response?response;Dio?dio?=?new?Dio();dio.options.contentType=ContentType.parse("application/x-www-form-urlencoded");int?page=1;response?=?await?dio.post(servicePath['homePageBelowConten'],data:page);if(response.statusCode==200){return?response.data;}else{throw?Exception('后端接口出現異常,請檢測代碼和服務器情況.........');}}catch(e){return?print('ERROR:======>${e}');}}

簡單說一下 Future,在我們平時開發中我們是這樣用的,首先給我們的函數后面加上 async 關鍵字,表示異步操作,然后函數返回值寫成 Future,然后我們可以 new 一個 Future,邏輯前面加上一個 await關鍵字,然后可以使用future.then 等操作。

2、進行調試接口

接口對接的方法寫好了,然后我們進行測試一下接口是否可以讀出數據,如果能讀出數據,就說明接口已經調通,我們就可以搞事情了。

因為這個新的類是由下拉刷新的,也就是動態的類,所以需要使用StatefulWidget。

代碼如下:

class?HotGoods?extends?StatefulWidget?{_HotGoodsState?createState()?=>?_HotGoodsState(); }class?_HotGoodsState?extends?State<HotGoods>?{void?initState()?{?super.initState();getHomePageBeloConten().then((val){print(val);});}@overrideWidget?build(BuildContext?context)?{return?Container(child:Text('1111'),);} }

3、精簡代碼,來個通用接口

在寫service_method.dart的時候,你會發現我們大部分的代碼都是相同的,甚至復制一個方法后,通過簡單的修改幾個地方,就可以使用了。那就說明這個地方由優化的必要。讓代碼更通用更精簡。

精簡代碼如下:

Future?request(url,formData)async{try{print('開始獲取數據...............');Response?response;Dio?dio?=?new?Dio();dio.options.contentType=ContentType.parse("application/x-www-form-urlencoded");if(formData==null){response?=?await?dio.post(servicePath[url]);}else{response?=?await?dio.post(servicePath[url],data:formData);}if(response.statusCode==200){return?response.data;}else{throw?Exception('后端接口出現異常,請檢測代碼和服務器情況.........');}}catch(e){return?print('ERROR:======>${e}');}}

使用也是非常簡單的,只要傳遞一個接口名稱和相對參數就可以了。

request('homePageBelowConten',1).then((val){print(val); });

總結

以上是生活随笔為你收集整理的18-Flutter移动电商实战-首页_火爆专区商品接口制作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。