mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-06 09:13:48 +08:00
refa: search panel
Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
// ignore_for_file: constant_identifier_names
|
||||
enum SearchType {
|
||||
// all,
|
||||
// 视频:video
|
||||
video,
|
||||
// 番剧:media_bangumi,
|
||||
@@ -23,7 +24,15 @@ enum SearchType {
|
||||
}
|
||||
|
||||
extension SearchTypeExtension on SearchType {
|
||||
String get label => ['视频', '番剧', '影视', '直播间', '用户', '专栏'][index];
|
||||
String get label => [
|
||||
// '综合',
|
||||
'视频',
|
||||
'番剧',
|
||||
'影视',
|
||||
'直播间',
|
||||
'用户',
|
||||
'专栏',
|
||||
][index];
|
||||
}
|
||||
|
||||
// 搜索类型为视频、专栏及相簿时
|
||||
|
||||
@@ -4,9 +4,21 @@ import 'package:PiliPlus/utils/utils.dart';
|
||||
import '../model_owner.dart';
|
||||
import '../model_video.dart';
|
||||
|
||||
class SearchVideoModel {
|
||||
abstract class SearchNumData<T> {
|
||||
SearchNumData({
|
||||
this.numResults,
|
||||
this.list,
|
||||
});
|
||||
|
||||
int? numResults;
|
||||
List<SearchVideoItemModel>? list;
|
||||
List<T>? list;
|
||||
}
|
||||
|
||||
class SearchVideoModel extends SearchNumData<SearchVideoItemModel> {
|
||||
SearchVideoModel({
|
||||
super.numResults,
|
||||
super.list,
|
||||
});
|
||||
|
||||
SearchVideoModel.fromJson(Map<String, dynamic> json) {
|
||||
numResults = (json['numResults'] as num?)?.toInt();
|
||||
@@ -88,15 +100,12 @@ class SearchOwner extends Owner {
|
||||
}
|
||||
}
|
||||
|
||||
class SearchUserModel {
|
||||
class SearchUserModel extends SearchNumData<SearchUserItemModel> {
|
||||
SearchUserModel({
|
||||
this.numResults,
|
||||
this.list,
|
||||
super.numResults,
|
||||
super.list,
|
||||
});
|
||||
|
||||
int? numResults;
|
||||
List<SearchUserItemModel>? list;
|
||||
|
||||
SearchUserModel.fromJson(Map<String, dynamic> json) {
|
||||
numResults = (json['numResults'] as num?)?.toInt();
|
||||
list = (json['result'] as List?)
|
||||
@@ -165,15 +174,12 @@ class SearchUserItemModel {
|
||||
}
|
||||
}
|
||||
|
||||
class SearchLiveModel {
|
||||
class SearchLiveModel extends SearchNumData<SearchLiveItemModel> {
|
||||
SearchLiveModel({
|
||||
this.numResults,
|
||||
this.list,
|
||||
super.numResults,
|
||||
super.list,
|
||||
});
|
||||
|
||||
int? numResults;
|
||||
List<SearchLiveItemModel>? list;
|
||||
|
||||
SearchLiveModel.fromJson(Map<String, dynamic> json) {
|
||||
numResults = (json['numResults'] as num?)?.toInt();
|
||||
list = json['result']
|
||||
@@ -246,15 +252,12 @@ class SearchLiveItemModel {
|
||||
}
|
||||
}
|
||||
|
||||
class SearchMBangumiModel {
|
||||
class SearchMBangumiModel extends SearchNumData<SearchMBangumiItemModel> {
|
||||
SearchMBangumiModel({
|
||||
this.numResults,
|
||||
this.list,
|
||||
super.numResults,
|
||||
super.list,
|
||||
});
|
||||
|
||||
int? numResults;
|
||||
List<SearchMBangumiItemModel>? list;
|
||||
|
||||
SearchMBangumiModel.fromJson(Map<String, dynamic> json) {
|
||||
numResults = (json['numResults'] as num?)?.toInt();
|
||||
list = (json['result'] as List?)
|
||||
@@ -348,15 +351,12 @@ class SearchMBangumiItemModel {
|
||||
}
|
||||
}
|
||||
|
||||
class SearchArticleModel {
|
||||
class SearchArticleModel extends SearchNumData<SearchArticleItemModel> {
|
||||
SearchArticleModel({
|
||||
this.numResults,
|
||||
this.list,
|
||||
super.numResults,
|
||||
super.list,
|
||||
});
|
||||
|
||||
int? numResults;
|
||||
List<SearchArticleItemModel>? list;
|
||||
|
||||
SearchArticleModel.fromJson(Map<String, dynamic> json) {
|
||||
numResults = (json['numResults'] as num?)?.toInt();
|
||||
list = (json['result'] as List?)
|
||||
|
||||
Reference in New Issue
Block a user