123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228 |
- import 'package:equatable/equatable.dart';
- import 'package:json_annotation/json_annotation.dart';
- part 'community_model.g.dart';
- @JsonSerializable()
- class CommunityModel extends Equatable {
- @JsonKey(name: 'itemList')
- final List<Community> communityList;
- @JsonKey(name: 'count')
- final int count;
- @JsonKey(name: 'total')
- final int total;
- @JsonKey(name: 'nextPageUrl')
- final String nextPageUrl;
- CommunityModel(this.communityList, this.count, this.total, this.nextPageUrl);
- @override
- List<Object> get props => [communityList, count, total, nextPageUrl];
- factory CommunityModel.fromJson(Map<String, dynamic> srcJson) =>
- _$CommunityModelFromJson(srcJson);
- Map<String, dynamic> toJson() => _$CommunityModelToJson(this);
- }
- @JsonSerializable()
- class Community extends Equatable {
- @JsonKey(name: 'type')
- final String type;
- @JsonKey(name: 'data')
- final CommunityData data;
- @JsonKey(name: 'tag')
- final String tag;
- @JsonKey(name: 'id')
- final int id;
- @JsonKey(name: 'adIndex')
- final int adIndex;
- Community(this.type, this.data, this.tag, this.id, this.adIndex);
- factory Community.fromJson(Map<String, dynamic> srcJson) {
- try {
- return _$CommunityFromJson(srcJson);
- } catch (e) {
- print('$e');
- }
- }
- Map<String, dynamic> toJson() => _$CommunityToJson(this);
- @override
- List<Object> get props => [type, data, tag, id, adIndex];
- }
- @JsonSerializable()
- class CommunityData extends Equatable {
- @JsonKey(name: 'dataType')
- final String dataType;
- @JsonKey(name: 'itemList')
- final List<Community> communityList;
- @JsonKey(name: 'count')
- final int count;
- @JsonKey(name: 'header')
- final HeaderData header;
- @JsonKey(name: 'content')
- final Community content;
- @JsonKey(name: 'consumption')
- final Consumption consumption;
- @JsonKey(name: 'tags')
- final List<Tag> tags;
- @JsonKey(name: 'releaseTime')
- final int releaseTime;
- @JsonKey(name: 'urls')
- final List<String> urls;
- @JsonKey(name: 'city')
- final String city;
- @JsonKey(name: 'longitude')
- final double longitude;
- @JsonKey(name: 'latitude')
- final double latitude;
- @JsonKey(name: 'image')
- final String image;
- @JsonKey(name: 'description')
- final String description;
- CommunityData(
- this.dataType,
- this.communityList,
- this.count,
- this.header,
- this.content,
- this.consumption,
- this.tags,
- this.releaseTime,
- this.urls,
- this.city,
- this.longitude,
- this.latitude,
- this.image,
- this.description);
- factory CommunityData.fromJson(Map<String, dynamic> srcJson) {
- try {
- return _$CommunityDataFromJson(srcJson);
- } catch (e) {
- print('$e');
- }
- }
- Map<String, dynamic> toJson() => _$CommunityDataToJson(this);
- @override
- List<Object> get props => [
- dataType,
- communityList,
- count,
- header,
- content,
- consumption,
- tags,
- releaseTime,
- urls,
- city,
- longitude,
- latitude,
- image,
- description
- ];
- }
- @JsonSerializable()
- class Tag extends Equatable {
- @JsonKey(name: 'name')
- final String name;
- Tag(this.name);
- factory Tag.fromJson(Map<String, dynamic> srcJson) {
- try {
- return _$TagFromJson(srcJson);
- } catch (e) {
- print('$e');
- }
- }
- Map<String, dynamic> toJson() => _$TagToJson(this);
- @override
- List<Object> get props => [name];
- }
- @JsonSerializable()
- class Consumption extends Equatable {
- @JsonKey(name: 'collectionCount')
- final int collectionCount;
- @JsonKey(name: 'replyCount')
- final int replyCount;
- @JsonKey(name: 'shareCount')
- final int shareCount;
- @JsonKey(name: 'realCollectionCount')
- final int realCollectionCount;
- Consumption(this.collectionCount, this.replyCount, this.shareCount,
- this.realCollectionCount);
- @override
- List<Object> get props =>
- [collectionCount, replyCount, shareCount, realCollectionCount];
- factory Consumption.fromJson(Map<String, dynamic> srcJson) {
- try {
- return _$ConsumptionFromJson(srcJson);
- } catch (e) {
- print('$e');
- }
- }
- Map<String, dynamic> toJson() => _$ConsumptionToJson(this);
- }
- @JsonSerializable()
- class HeaderData extends Equatable {
- @JsonKey(name: 'icon')
- final String icon;
- @JsonKey(name: 'issuerName')
- final String issuerName;
- HeaderData(this.icon, this.issuerName);
- factory HeaderData.fromJson(Map<String, dynamic> srcJson) {
- try {
- return _$HeaderDataFromJson(srcJson);
- } catch (e) {
- print('$e');
- }
- }
- Map<String, dynamic> toJson() => _$HeaderDataToJson(this);
- @override
- List<Object> get props => [icon, issuerName];
- }
|