我是代码方面的新手,我尝试自己学习波动,它可以很好地与UI结合使用,直到遇到此代码为止,我知道它可以从数据库中打印BannerList,并且它可以正常工作,但是我似乎无法了解它。有人可以详细向我解释一下。还有一件事,如何将这个BannerList发送到具有最多6个横幅的列表视图,并按新横幅排序。
class BannerAPI {
BannerAPI(this._api);
API _api;
Future<BannerList> getList(
{Map<String, String> body = const {'offset': '', 'limit': ''}}) async {
String path = '/_api/banner/get_banner_list';
ApiResponse apiResponse = await _api.post(path, body: {...body});
if (apiResponse != null && apiResponse.status == 200) {
//apiResponse.data return "user_api"
BannerList list = BannerList.fromJson(apiResponse.data);
print(list.toJson());
return list;
} else {
return null;
}
}
}
这是BannerModel的代码
@JsonSerializable()
class EBanner {
EBanner({
this.id,
this.name,
this.img_src,
this.create_time_mi,
});
factory EBanner.fromJson(Map<String, dynamic> json) =>
_$EBannerFromJson(json);
@JsonKey(name: '_id')
final String id;
final String name;
final String img_src;
final String create_time_mi;
Map<String, dynamic> toJson() => _$EBannerToJson(this);
}
class BannerList {
BannerList({this.list});
BannerList.fromJson(List<dynamic> json) {
this.list = json.map((banner) => EBanner.fromJson(banner)).toList();
}
List<EBanner> list = [];
List<dynamic> toJson() {
return this.list.map((banner) => banner.toJson()).toList();
}
}