Files
PiliPlus/lib/models_new/article/article_view/data.dart
2026-04-05 12:11:22 +08:00

49 lines
1.4 KiB
Dart

import 'package:PiliPlus/models/model_avatar.dart';
import 'package:PiliPlus/models_new/article/article_view/ops.dart';
import 'package:PiliPlus/models_new/article/article_view/opus.dart';
import 'package:PiliPlus/utils/extension/iterable_ext.dart';
class ArticleViewData {
int? id;
String? title;
Avatar? author;
int? publishTime;
List<String>? originImageUrls;
int? type;
String? content;
String? dynIdStr;
ArticleOpus? opus;
List<ArticleOps>? ops;
ArticleViewData({
this.id,
this.author,
this.publishTime,
this.originImageUrls,
this.type,
this.content,
this.dynIdStr,
this.opus,
this.ops,
});
factory ArticleViewData.fromJson(Map<String, dynamic> json) =>
ArticleViewData(
id: json['id'] as int?,
author: json['author'] == null
? null
: Avatar.fromJson(json['author'] as Map<String, dynamic>),
publishTime: json['publish_time'] as int?,
originImageUrls: (json['origin_image_urls'] as List?)?.fromCast(),
type: json['type'] as int?,
content: json['content'] as String?,
dynIdStr: json['dyn_id_str'] as String?,
opus: json['opus'] == null
? null
: ArticleOpus.fromJson(json['opus'] as Map<String, dynamic>),
ops: (json['ops'] as List?)
?.map((e) => ArticleOps.fromJson(e))
.toList(),
);
}