mod: article: show linkcard

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-04-26 15:41:43 +08:00
parent ed99aee3fd
commit f4470c383e
2 changed files with 121 additions and 2 deletions

View File

@@ -7,8 +7,16 @@ class Paragraph {
ParagraphText? text;
Pic? pic;
Line? line;
LinkCard? linkCard;
Paragraph({this.align, this.paraType, this.text, this.pic, this.line});
Paragraph({
this.align,
this.paraType,
this.text,
this.pic,
this.line,
this.linkCard,
});
factory Paragraph.fromJson(Map<String, dynamic> json) => Paragraph(
align: json['align'] as int?,
@@ -20,6 +28,9 @@ class Paragraph {
? null
: Pic.fromJson(json['pic'] as Map<String, dynamic>),
line: json['line'] == null ? null : Line.fromJson(json['line']),
linkCard: json['link_card'] == null
? null
: LinkCard.fromJson(json['link_card']),
);
Map<String, dynamic> toJson() => {
@@ -30,6 +41,56 @@ class Paragraph {
};
}
class Ugc {
String? cover;
String? descSecond;
String? duration;
String? headText;
String? idStr;
String? jumpUrl;
bool? multiLine;
String? title;
Ugc.fromJson(Map<String, dynamic> json) {
cover = json['cover'];
descSecond = json['desc_second'];
duration = json['duration'];
headText = json['head_text'];
idStr = json['id_str'];
jumpUrl = json['jump_url'];
multiLine = json['multi_line'];
title = json['title'];
}
}
class Card {
Card({
this.oid,
this.type,
this.ugc,
});
String? oid;
String? type;
Ugc? ugc;
Card.fromJson(Map<String, dynamic> json) {
oid = json['oid'];
type = json['type'];
ugc = json['ugc'] == null ? null : Ugc.fromJson(json['ugc']);
}
}
class LinkCard {
LinkCard({
this.card,
});
Card? card;
LinkCard.fromJson(Map<String, dynamic> json) {
card = json['card'] == null ? null : Card.fromJson(json['card']);
}
}
class Line {
Line({
this.pic,