import 'package:hive/hive.dart'; import 'package:wallpaperx/entity/tags_model.dart'; import 'generate_info_model.dart'; part 'image_model.g.dart'; @HiveType(typeId: 2) class ImageModel { @HiveField(0) String? uuid; @HiveField(1) String? name; @HiveField(2) String? imageUrl; @HiveField(3) int? width; @HiveField(4) int? height; @HiveField(5) List? tags; @HiveField(6) List? tagsv2; @HiveField(7) GenerateInfoModel? generateInfo; @HiveField(8) String? createTime; @HiveField(9) int? likeCount; @HiveField(10) int? heat; ImageModel( {this.uuid, this.name, this.imageUrl, this.width, this.height, this.tags, this.tagsv2, this.generateInfo, this.createTime, this.likeCount, this.heat}); ImageModel.fromJson(Map json) { uuid = json['uuid']; name = json['name']; imageUrl = json['image_url']; width = json['width']; height = json['height']; if (json['tags'] != null) { tags = []; json['tags'].forEach((v) { tags!.add(TagsModel.fromJson(v)); }); } tagsv2 = json['tagsv2'].cast(); generateInfo = json['generate_info'] != null ? GenerateInfoModel.fromJson(json['generate_info']) : null; createTime = json['create_time']; likeCount = json['like_count']; heat = json['heat']; } Map toJson() { final Map data = {}; data['uuid'] = uuid; data['name'] = name; data['image_url'] = imageUrl; data['width'] = width; data['height'] = height; if (tags != null) { data['tags'] = tags!.map((v) => v.toJson()).toList(); } data['tagsv2'] = tagsv2; if (generateInfo != null) { data['generate_info'] = generateInfo!.toJson(); } data['create_time'] = createTime; data['like_count'] = likeCount; data['heat'] = heat; return data; } }