创建数据模型层,咱们的业务逻辑分开,而后进行后台数据的调试git
json数据:github
{ "code": "0", "message": "success", "data": { "goodInfo": { "image5": "", "amount": 10000, "image3": "", "image4": "", "goodsId": "ed675dda49e0445fa769f3d8020ab5e9", "isOnline": "yes", "image1": "http://images.baixingliangfan.cn/shopGoodsImg/20190116/20190116162618_2924.jpg", "image2": "", "goodsSerialNumber": "6928804011173", "oriPrice": 3.00, "presentPrice": 2.70, "comPic": "http://images.baixingliangfan.cn/compressedPic/20190116162618_2924.jpg", "state": 1, "shopId": "402880e860166f3c0160167897d60002", "goodsName": "可口可乐500ml/瓶", "goodsDetail": "<img src=\"http://images.baixingliangfan.cn/shopGoodsDetailImg/20171224/20171224081109_5060.jpg\" width=\"100%\" height=\"auto\" alt=\"\" /><img src=\"http://images.baixingliangfan.cn/shopGoodsDetailImg/20171224/20171224081109_1063.jpg\" width=\"100%\" height=\"auto\" alt=\"\" /><img src=\"http://images.baixingliangfan.cn/shopGoodsDetailImg/20171224/20171224081110_8029.jpg\" width=\"100%\" height=\"auto\" alt=\"\" /><img src=\"http://images.baixingliangfan.cn/shopGoodsDetailImg/20171224/20171224081110_1074.jpg\" width=\"100%\" height=\"auto\" alt=\"\" /><img src=\"http://images.baixingliangfan.cn/shopGoodsDetailImg/20171224/20171224081110_8439.jpg\" width=\"100%\" height=\"auto\" alt=\"\" /><img src=\"http://images.baixingliangfan.cn/shopGoodsDetailImg/20171224/20171224081110_6800.jpg\" width=\"100%\" height=\"auto\" alt=\"\" />" }, "goodComments": [ { "SCORE": 5, "comments": "果断卸载,2.5个小时才送到", "userName": "157******27", "discussTime": 1539491266336 } ], "advertesPicture": { "PICTURE_ADDRESS": "http://images.baixingliangfan.cn/advertesPicture/20190113/20190113134955_5825.jpg", "TO_PLACE": "1" } } }
json生成dart类的网址:json
https://javiercbk.github.io/json_to_dart/ide
在models文件夹下面新建details.dart类,并把咱们生成的类复制过来。测试
生成的类须要稍微修改一下,类名修改成DetailsGoodsModelui
里面的Data数据修改成DatailsGoodsDataspa
'getGoodDetailById':serviceUrl+'wxmini/getGoodDetailById',//商品详细信息
provide/新建details_info.dart3d
咱们的业务逻辑要写在provide里面。调试
因此须要引入:../service/service_method.dartcode
引入四个必要的包,而后class类要混入,。ChangeNotifier
UI和业务逻辑分开,因此获取数据咱们就写在Provide里面
后台获取数据的方法就写完了。
在main.dart中注入
新写一个方法,看看后台有没有数据,打印到控制台就能够了。
build方法内调用
点击后报了一个错误
Unhandled Exception: type 'double' is not a subtype of type 'int'
修正错误
保存后,大R进行热加载,成功的返回了数据