opt handle res

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-05-25 11:16:35 +08:00
parent f29385ccef
commit fd55383778
91 changed files with 957 additions and 387 deletions

View File

@@ -0,0 +1,39 @@
import 'package:PiliPlus/models/model_avatar.dart';
import 'package:PiliPlus/models/model_owner.dart';
class Author extends Owner {
int? level;
int? isSeniorMember;
Vip? vipInfo;
Pendant? pendant;
BaseOfficialVerify? official;
Author({
super.mid,
super.face,
super.name,
this.level,
this.isSeniorMember,
this.vipInfo,
this.pendant,
this.official,
});
factory Author.fromJson(Map<String, dynamic> json) => Author(
mid: json['mid'] as int?,
name: json['name'] as String?,
face: json['face'] as String?,
level: json['level'] as int?,
isSeniorMember: json['is_senior_member'] as int?,
vipInfo: json['vip_info'] == null
? null
: Vip.fromJson(json['vip_info'] as Map<String, dynamic>),
pendant: json['pendant'] == null
? null
: Pendant.fromJson(json['pendant'] as Map<String, dynamic>),
official: json['official'] == null
? null
: BaseOfficialVerify.fromJson(
json['official'] as Map<String, dynamic>),
);
}

View File

@@ -0,0 +1,22 @@
import 'package:PiliPlus/models/video/note_list/list.dart';
import 'package:PiliPlus/models/video/note_list/page.dart';
class NoteListData {
List<NoteListItemModel>? list;
Page? page;
bool? showPublicNote;
String? message;
NoteListData({this.list, this.page, this.showPublicNote, this.message});
factory NoteListData.fromJson(Map<String, dynamic> json) => NoteListData(
list: (json['list'] as List<dynamic>?)
?.map((e) => NoteListItemModel.fromJson(e as Map<String, dynamic>))
.toList(),
page: json['page'] == null
? null
: Page.fromJson(json['page'] as Map<String, dynamic>),
showPublicNote: json['show_public_note'] as bool?,
message: json['message'] as String?,
);
}

View File

@@ -0,0 +1,41 @@
import 'package:PiliPlus/models/video/note_list/author.dart';
class NoteListItemModel {
int? cvid;
String? title;
String? summary;
String? pubtime;
String? webUrl;
String? message;
Author? author;
int? likes;
bool? hasLike;
NoteListItemModel({
this.cvid,
this.title,
this.summary,
this.pubtime,
this.webUrl,
this.message,
this.author,
this.likes,
this.hasLike,
});
factory NoteListItemModel.fromJson(Map<String, dynamic> json) =>
NoteListItemModel(
cvid: json['cvid'] as int?,
title: json['title'] as String?,
summary: json['summary'] as String?,
pubtime: json['pubtime'] as String?,
webUrl: json['web_url'] as String?,
message: json['message'] as String?,
author: json['author'] == null
? null
: Author.fromJson(json['author'] as Map<String, dynamic>),
likes: json['likes'] as int?,
hasLike: json['has_like'] as bool?,
);
}

View File

@@ -0,0 +1,13 @@
class Page {
int? total;
int? size;
int? num;
Page({this.total, this.size, this.num});
factory Page.fromJson(Map<String, dynamic> json) => Page(
total: json['total'] as int?,
size: json['size'] as int?,
num: json['num'] as int?,
);
}