mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-05-28 03:58:39 +00:00
@@ -1,6 +1,6 @@
|
||||
// ignore_for_file: constant_identifier_names
|
||||
enum SearchType {
|
||||
// all,
|
||||
// all('综合'),
|
||||
// 视频:video
|
||||
video('视频', hasHeader: true),
|
||||
// 番剧:media_bangumi,
|
||||
|
||||
@@ -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'];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user