Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-08-11 11:21:27 +08:00
parent e7f27e4913
commit 95f1d1485d
26 changed files with 168 additions and 233 deletions

View File

@@ -1,6 +1,6 @@
// ignore_for_file: constant_identifier_names
enum SearchType {
// all,
// all('综合'),
// 视频video
video('视频', hasHeader: true),
// 番剧media_bangumi,

View File

@@ -98,11 +98,11 @@ class DynamicItemModel {
}
idStr = json['item']?['id_str'];
// type = json['type']; // int
modules = json['item']?['modules'] == null
? ItemModulesModel()
: ItemModulesModel.fromOpusJson(
(json['item']['modules'] as List).cast(),
);
if (json['item']?['modules'] case List list) {
modules = ItemModulesModel.fromOpusJson(list.cast());
} else {
modules = ItemModulesModel();
}
if (json['fallback'] != null) {
fallback = Fallback.fromJson(json['fallback']);
@@ -196,7 +196,7 @@ class ItemModulesModel {
: ModuleBlocked.fromJson(i['module_blocked']);
break;
case 'MODULE_TYPE_EXTEND':
moduleExtend = (i['module_extend']['items'] as List?)
moduleExtend = (i['module_extend']?['items'] as List?)
?.map((i) => ModuleTag.fromJson(i))
.toList();
break;
@@ -1286,11 +1286,9 @@ class RichTextNodeItem {
text = json['text'];
type = json['type'];
rid = json['rid'];
pics = json['pics'] == null
? null
: (json['pics'] as List?)
?.map((e) => OpusPicModel.fromJson(e))
.toList();
pics = (json['pics'] as List?)
?.map((e) => OpusPicModel.fromJson(e))
.toList();
jumpUrl = json['jump_url'];
}
}

View File

@@ -22,36 +22,24 @@ class SearchAllData extends SearchNumData {
SearchAllData.fromJson(Map<String, dynamic> json) {
numResults = (json['numResults'] as num?)?.toInt();
if ((json['result'] as List?)?.isNotEmpty == true) {
if (json['result'] case List result) {
final isRefresh = json['page'] == 1;
list = [];
for (final item in json['result']) {
if ((item['data'] as List?)?.isNotEmpty == true) {
for (final item in result) {
if (item['data'] case List data) {
switch (item['result_type']) {
case 'media_bangumi' || 'media_bangumi':
if (isRefresh) {
list!.add(
(item['data'] as List)
.map((e) => SearchPgcItemModel.fromJson(e))
.toList(),
);
list!.addAll(data.map((e) => SearchPgcItemModel.fromJson(e)));
}
break;
case 'bili_user':
if (isRefresh) {
list!.addAll(
(item['data'] as List)
.map((e) => SearchUserItemModel.fromJson(e))
.toList(),
);
list!.addAll(data.map((e) => SearchUserItemModel.fromJson(e)));
}
break;
case 'video':
list!.addAll(
(item['data'] as List)
.map((e) => SearchVideoItemModel.fromJson(e))
.toList(),
);
list!.addAll(data.map((e) => SearchVideoItemModel.fromJson(e)));
break;
}
}

View File

@@ -10,8 +10,8 @@ class DanmakuBlockDataModel {
rule = <SimpleRule>[];
rule1 = <SimpleRule>[];
rule2 = <SimpleRule>[];
if ((json['rule'] as List?)?.isNotEmpty == true) {
for (var e in json['rule']) {
if (json['rule'] case List list) {
for (var e in list) {
SimpleRule item = SimpleRule.fromJson(e);
switch (item.type) {
case 0: