mirror of
https://github.com/lifegpc/eh_downloader_flutter.git
synced 2026-07-08 01:30:28 +08:00
Add category filter to galleries
This commit is contained in:
@@ -240,6 +240,7 @@ abstract class _EHApi {
|
|||||||
@Query("sort_by_gid") bool? sortByGid,
|
@Query("sort_by_gid") bool? sortByGid,
|
||||||
@Query("uploader") String? uploader,
|
@Query("uploader") String? uploader,
|
||||||
@Query("tag") String? tag,
|
@Query("tag") String? tag,
|
||||||
|
@Query("category") String? category,
|
||||||
@CancelRequest() CancelToken? cancel});
|
@CancelRequest() CancelToken? cancel});
|
||||||
|
|
||||||
@GET('/tag/{id}')
|
@GET('/tag/{id}')
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ part of 'client.dart';
|
|||||||
// RetrofitGenerator
|
// RetrofitGenerator
|
||||||
// **************************************************************************
|
// **************************************************************************
|
||||||
|
|
||||||
// ignore_for_file: unnecessary_brace_in_string_interps,no_leading_underscores_for_local_identifiers
|
// ignore_for_file: unnecessary_brace_in_string_interps,no_leading_underscores_for_local_identifiers,unused_element
|
||||||
|
|
||||||
class __EHApi implements _EHApi {
|
class __EHApi implements _EHApi {
|
||||||
__EHApi(
|
__EHApi(
|
||||||
@@ -51,11 +51,11 @@ class __EHApi implements _EHApi {
|
|||||||
_dio.options.baseUrl,
|
_dio.options.baseUrl,
|
||||||
baseUrl,
|
baseUrl,
|
||||||
))));
|
))));
|
||||||
final value = ApiResult<BUser>.fromJson(
|
final _value = ApiResult<BUser>.fromJson(
|
||||||
_result.data!,
|
_result.data!,
|
||||||
(json) => BUser.fromJson(json as Map<String, dynamic>),
|
(json) => BUser.fromJson(json as Map<String, dynamic>),
|
||||||
);
|
);
|
||||||
return value;
|
return _value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -101,11 +101,11 @@ class __EHApi implements _EHApi {
|
|||||||
_dio.options.baseUrl,
|
_dio.options.baseUrl,
|
||||||
baseUrl,
|
baseUrl,
|
||||||
))));
|
))));
|
||||||
final value = ApiResult<dynamic>.fromJson(
|
final _value = ApiResult<dynamic>.fromJson(
|
||||||
_result.data!,
|
_result.data!,
|
||||||
(json) => json as dynamic,
|
(json) => json as dynamic,
|
||||||
);
|
);
|
||||||
return value;
|
return _value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -160,11 +160,11 @@ class __EHApi implements _EHApi {
|
|||||||
_dio.options.baseUrl,
|
_dio.options.baseUrl,
|
||||||
baseUrl,
|
baseUrl,
|
||||||
))));
|
))));
|
||||||
final value = ApiResult<int>.fromJson(
|
final _value = ApiResult<int>.fromJson(
|
||||||
_result.data!,
|
_result.data!,
|
||||||
(json) => json as int,
|
(json) => json as int,
|
||||||
);
|
);
|
||||||
return value;
|
return _value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -209,11 +209,11 @@ class __EHApi implements _EHApi {
|
|||||||
_dio.options.baseUrl,
|
_dio.options.baseUrl,
|
||||||
baseUrl,
|
baseUrl,
|
||||||
))));
|
))));
|
||||||
final value = ApiResult<dynamic>.fromJson(
|
final _value = ApiResult<dynamic>.fromJson(
|
||||||
_result.data!,
|
_result.data!,
|
||||||
(json) => json as dynamic,
|
(json) => json as dynamic,
|
||||||
);
|
);
|
||||||
return value;
|
return _value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -248,11 +248,11 @@ class __EHApi implements _EHApi {
|
|||||||
_dio.options.baseUrl,
|
_dio.options.baseUrl,
|
||||||
baseUrl,
|
baseUrl,
|
||||||
))));
|
))));
|
||||||
final value = ApiResult<BUser>.fromJson(
|
final _value = ApiResult<BUser>.fromJson(
|
||||||
_result.data!,
|
_result.data!,
|
||||||
(json) => BUser.fromJson(json as Map<String, dynamic>),
|
(json) => BUser.fromJson(json as Map<String, dynamic>),
|
||||||
);
|
);
|
||||||
return value;
|
return _value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -289,7 +289,7 @@ class __EHApi implements _EHApi {
|
|||||||
_dio.options.baseUrl,
|
_dio.options.baseUrl,
|
||||||
baseUrl,
|
baseUrl,
|
||||||
))));
|
))));
|
||||||
final value = ApiResult<List<BUser>>.fromJson(
|
final _value = ApiResult<List<BUser>>.fromJson(
|
||||||
_result.data!,
|
_result.data!,
|
||||||
(json) => json is List<dynamic>
|
(json) => json is List<dynamic>
|
||||||
? json
|
? json
|
||||||
@@ -297,7 +297,7 @@ class __EHApi implements _EHApi {
|
|||||||
.toList()
|
.toList()
|
||||||
: List.empty(),
|
: List.empty(),
|
||||||
);
|
);
|
||||||
return value;
|
return _value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -370,11 +370,11 @@ class __EHApi implements _EHApi {
|
|||||||
_dio.options.baseUrl,
|
_dio.options.baseUrl,
|
||||||
baseUrl,
|
baseUrl,
|
||||||
))));
|
))));
|
||||||
final value = ApiResult<BUser>.fromJson(
|
final _value = ApiResult<BUser>.fromJson(
|
||||||
_result.data!,
|
_result.data!,
|
||||||
(json) => BUser.fromJson(json as Map<String, dynamic>),
|
(json) => BUser.fromJson(json as Map<String, dynamic>),
|
||||||
);
|
);
|
||||||
return value;
|
return _value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -402,11 +402,11 @@ class __EHApi implements _EHApi {
|
|||||||
_dio.options.baseUrl,
|
_dio.options.baseUrl,
|
||||||
baseUrl,
|
baseUrl,
|
||||||
))));
|
))));
|
||||||
final value = ApiResult<ServerStatus>.fromJson(
|
final _value = ApiResult<ServerStatus>.fromJson(
|
||||||
_result.data!,
|
_result.data!,
|
||||||
(json) => ServerStatus.fromJson(json as Map<String, dynamic>),
|
(json) => ServerStatus.fromJson(json as Map<String, dynamic>),
|
||||||
);
|
);
|
||||||
return value;
|
return _value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -501,11 +501,11 @@ class __EHApi implements _EHApi {
|
|||||||
_dio.options.baseUrl,
|
_dio.options.baseUrl,
|
||||||
baseUrl,
|
baseUrl,
|
||||||
))));
|
))));
|
||||||
final value = ApiResult<Token>.fromJson(
|
final _value = ApiResult<Token>.fromJson(
|
||||||
_result.data!,
|
_result.data!,
|
||||||
(json) => Token.fromJson(json as Map<String, dynamic>),
|
(json) => Token.fromJson(json as Map<String, dynamic>),
|
||||||
);
|
);
|
||||||
return value;
|
return _value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -571,11 +571,11 @@ class __EHApi implements _EHApi {
|
|||||||
_dio.options.baseUrl,
|
_dio.options.baseUrl,
|
||||||
baseUrl,
|
baseUrl,
|
||||||
))));
|
))));
|
||||||
final value = ApiResult<Token>.fromJson(
|
final _value = ApiResult<Token>.fromJson(
|
||||||
_result.data!,
|
_result.data!,
|
||||||
(json) => Token.fromJson(json as Map<String, dynamic>),
|
(json) => Token.fromJson(json as Map<String, dynamic>),
|
||||||
);
|
);
|
||||||
return value;
|
return _value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -613,11 +613,11 @@ class __EHApi implements _EHApi {
|
|||||||
_dio.options.baseUrl,
|
_dio.options.baseUrl,
|
||||||
baseUrl,
|
baseUrl,
|
||||||
))));
|
))));
|
||||||
final value = ApiResult<bool>.fromJson(
|
final _value = ApiResult<bool>.fromJson(
|
||||||
_result.data!,
|
_result.data!,
|
||||||
(json) => json as bool,
|
(json) => json as bool,
|
||||||
);
|
);
|
||||||
return value;
|
return _value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -648,11 +648,11 @@ class __EHApi implements _EHApi {
|
|||||||
_dio.options.baseUrl,
|
_dio.options.baseUrl,
|
||||||
baseUrl,
|
baseUrl,
|
||||||
))));
|
))));
|
||||||
final value = ApiResult<TokenWithUserInfo>.fromJson(
|
final _value = ApiResult<TokenWithUserInfo>.fromJson(
|
||||||
_result.data!,
|
_result.data!,
|
||||||
(json) => TokenWithUserInfo.fromJson(json as Map<String, dynamic>),
|
(json) => TokenWithUserInfo.fromJson(json as Map<String, dynamic>),
|
||||||
);
|
);
|
||||||
return value;
|
return _value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -684,8 +684,8 @@ class __EHApi implements _EHApi {
|
|||||||
_dio.options.baseUrl,
|
_dio.options.baseUrl,
|
||||||
baseUrl,
|
baseUrl,
|
||||||
))));
|
))));
|
||||||
final value = _result.data!.cast<int>();
|
final _value = _result.data!.cast<int>();
|
||||||
final httpResponse = HttpResponse(value, _result);
|
final httpResponse = HttpResponse(_value, _result);
|
||||||
return httpResponse;
|
return httpResponse;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -718,11 +718,11 @@ class __EHApi implements _EHApi {
|
|||||||
_dio.options.baseUrl,
|
_dio.options.baseUrl,
|
||||||
baseUrl,
|
baseUrl,
|
||||||
))));
|
))));
|
||||||
final value = ApiResult<EhFileExtend>.fromJson(
|
final _value = ApiResult<EhFileExtend>.fromJson(
|
||||||
_result.data!,
|
_result.data!,
|
||||||
(json) => EhFileExtend.fromJson(json as Map<String, dynamic>),
|
(json) => EhFileExtend.fromJson(json as Map<String, dynamic>),
|
||||||
);
|
);
|
||||||
return value;
|
return _value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -760,8 +760,8 @@ class __EHApi implements _EHApi {
|
|||||||
_dio.options.baseUrl,
|
_dio.options.baseUrl,
|
||||||
baseUrl,
|
baseUrl,
|
||||||
))));
|
))));
|
||||||
final value = _result.data!.cast<int>();
|
final _value = _result.data!.cast<int>();
|
||||||
final httpResponse = HttpResponse(value, _result);
|
final httpResponse = HttpResponse(_value, _result);
|
||||||
return httpResponse;
|
return httpResponse;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -793,11 +793,11 @@ class __EHApi implements _EHApi {
|
|||||||
_dio.options.baseUrl,
|
_dio.options.baseUrl,
|
||||||
baseUrl,
|
baseUrl,
|
||||||
))));
|
))));
|
||||||
final value = ApiResult<EhFiles>.fromJson(
|
final _value = ApiResult<EhFiles>.fromJson(
|
||||||
_result.data!,
|
_result.data!,
|
||||||
(json) => EhFiles.fromJson(json as Map<String, dynamic>),
|
(json) => EhFiles.fromJson(json as Map<String, dynamic>),
|
||||||
);
|
);
|
||||||
return value;
|
return _value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -844,8 +844,8 @@ class __EHApi implements _EHApi {
|
|||||||
_dio.options.baseUrl,
|
_dio.options.baseUrl,
|
||||||
baseUrl,
|
baseUrl,
|
||||||
))));
|
))));
|
||||||
final value = _result.data!.cast<int>();
|
final _value = _result.data!.cast<int>();
|
||||||
final httpResponse = HttpResponse(value, _result);
|
final httpResponse = HttpResponse(_value, _result);
|
||||||
return httpResponse;
|
return httpResponse;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -877,11 +877,11 @@ class __EHApi implements _EHApi {
|
|||||||
_dio.options.baseUrl,
|
_dio.options.baseUrl,
|
||||||
baseUrl,
|
baseUrl,
|
||||||
))));
|
))));
|
||||||
final value = ApiResult<GalleryData>.fromJson(
|
final _value = ApiResult<GalleryData>.fromJson(
|
||||||
_result.data!,
|
_result.data!,
|
||||||
(json) => GalleryData.fromJson(json as Map<String, dynamic>),
|
(json) => GalleryData.fromJson(json as Map<String, dynamic>),
|
||||||
);
|
);
|
||||||
return value;
|
return _value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -912,11 +912,11 @@ class __EHApi implements _EHApi {
|
|||||||
_dio.options.baseUrl,
|
_dio.options.baseUrl,
|
||||||
baseUrl,
|
baseUrl,
|
||||||
))));
|
))));
|
||||||
final value = ApiResult<GMetaInfos>.fromJson(
|
final _value = ApiResult<GMetaInfos>.fromJson(
|
||||||
_result.data!,
|
_result.data!,
|
||||||
(json) => GMetaInfos.fromJson(json as Map<String, dynamic>),
|
(json) => GMetaInfos.fromJson(json as Map<String, dynamic>),
|
||||||
);
|
);
|
||||||
return value;
|
return _value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -927,6 +927,7 @@ class __EHApi implements _EHApi {
|
|||||||
bool? sortByGid,
|
bool? sortByGid,
|
||||||
String? uploader,
|
String? uploader,
|
||||||
String? tag,
|
String? tag,
|
||||||
|
String? category,
|
||||||
CancelToken? cancel,
|
CancelToken? cancel,
|
||||||
}) async {
|
}) async {
|
||||||
final _extra = <String, dynamic>{};
|
final _extra = <String, dynamic>{};
|
||||||
@@ -937,6 +938,7 @@ class __EHApi implements _EHApi {
|
|||||||
r'sort_by_gid': sortByGid,
|
r'sort_by_gid': sortByGid,
|
||||||
r'uploader': uploader,
|
r'uploader': uploader,
|
||||||
r'tag': tag,
|
r'tag': tag,
|
||||||
|
r'category': category,
|
||||||
};
|
};
|
||||||
queryParameters.removeWhere((k, v) => v == null);
|
queryParameters.removeWhere((k, v) => v == null);
|
||||||
final _headers = <String, dynamic>{};
|
final _headers = <String, dynamic>{};
|
||||||
@@ -959,7 +961,7 @@ class __EHApi implements _EHApi {
|
|||||||
_dio.options.baseUrl,
|
_dio.options.baseUrl,
|
||||||
baseUrl,
|
baseUrl,
|
||||||
))));
|
))));
|
||||||
final value = ApiResult<List<GMeta>>.fromJson(
|
final _value = ApiResult<List<GMeta>>.fromJson(
|
||||||
_result.data!,
|
_result.data!,
|
||||||
(json) => json is List<dynamic>
|
(json) => json is List<dynamic>
|
||||||
? json
|
? json
|
||||||
@@ -967,7 +969,7 @@ class __EHApi implements _EHApi {
|
|||||||
.toList()
|
.toList()
|
||||||
: List.empty(),
|
: List.empty(),
|
||||||
);
|
);
|
||||||
return value;
|
return _value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -998,11 +1000,11 @@ class __EHApi implements _EHApi {
|
|||||||
_dio.options.baseUrl,
|
_dio.options.baseUrl,
|
||||||
baseUrl,
|
baseUrl,
|
||||||
))));
|
))));
|
||||||
final value = ApiResult<Tags>.fromJson(
|
final _value = ApiResult<Tags>.fromJson(
|
||||||
_result.data!,
|
_result.data!,
|
||||||
(json) => Tags.fromJson(json as Map<String, dynamic>),
|
(json) => Tags.fromJson(json as Map<String, dynamic>),
|
||||||
);
|
);
|
||||||
return value;
|
return _value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -1030,7 +1032,7 @@ class __EHApi implements _EHApi {
|
|||||||
_dio.options.baseUrl,
|
_dio.options.baseUrl,
|
||||||
baseUrl,
|
baseUrl,
|
||||||
))));
|
))));
|
||||||
final value = ApiResult<List<Tag>>.fromJson(
|
final _value = ApiResult<List<Tag>>.fromJson(
|
||||||
_result.data!,
|
_result.data!,
|
||||||
(json) => json is List<dynamic>
|
(json) => json is List<dynamic>
|
||||||
? json
|
? json
|
||||||
@@ -1038,7 +1040,7 @@ class __EHApi implements _EHApi {
|
|||||||
.toList()
|
.toList()
|
||||||
: List.empty(),
|
: List.empty(),
|
||||||
);
|
);
|
||||||
return value;
|
return _value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -1077,8 +1079,8 @@ class __EHApi implements _EHApi {
|
|||||||
_dio.options.baseUrl,
|
_dio.options.baseUrl,
|
||||||
baseUrl,
|
baseUrl,
|
||||||
))));
|
))));
|
||||||
final value = _result.data;
|
final _value = _result.data;
|
||||||
final httpResponse = HttpResponse(value, _result);
|
final httpResponse = HttpResponse(_value, _result);
|
||||||
return httpResponse;
|
return httpResponse;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1136,11 +1138,11 @@ class __EHApi implements _EHApi {
|
|||||||
_dio.options.baseUrl,
|
_dio.options.baseUrl,
|
||||||
baseUrl,
|
baseUrl,
|
||||||
))));
|
))));
|
||||||
final value = ApiResult<dynamic>.fromJson(
|
final _value = ApiResult<dynamic>.fromJson(
|
||||||
_result.data!,
|
_result.data!,
|
||||||
(json) => json as dynamic,
|
(json) => json as dynamic,
|
||||||
);
|
);
|
||||||
return value;
|
return _value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -1190,11 +1192,11 @@ class __EHApi implements _EHApi {
|
|||||||
_dio.options.baseUrl,
|
_dio.options.baseUrl,
|
||||||
baseUrl,
|
baseUrl,
|
||||||
))));
|
))));
|
||||||
final value = ApiResult<dynamic>.fromJson(
|
final _value = ApiResult<dynamic>.fromJson(
|
||||||
_result.data!,
|
_result.data!,
|
||||||
(json) => json as dynamic,
|
(json) => json as dynamic,
|
||||||
);
|
);
|
||||||
return value;
|
return _value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -1244,11 +1246,11 @@ class __EHApi implements _EHApi {
|
|||||||
_dio.options.baseUrl,
|
_dio.options.baseUrl,
|
||||||
baseUrl,
|
baseUrl,
|
||||||
))));
|
))));
|
||||||
final value = ApiResult<dynamic>.fromJson(
|
final _value = ApiResult<dynamic>.fromJson(
|
||||||
_result.data!,
|
_result.data!,
|
||||||
(json) => json as dynamic,
|
(json) => json as dynamic,
|
||||||
);
|
);
|
||||||
return value;
|
return _value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -1279,8 +1281,8 @@ class __EHApi implements _EHApi {
|
|||||||
_dio.options.baseUrl,
|
_dio.options.baseUrl,
|
||||||
baseUrl,
|
baseUrl,
|
||||||
))));
|
))));
|
||||||
final value = Config.fromJson(_result.data!);
|
final _value = Config.fromJson(_result.data!);
|
||||||
return value;
|
return _value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -1312,8 +1314,8 @@ class __EHApi implements _EHApi {
|
|||||||
_dio.options.baseUrl,
|
_dio.options.baseUrl,
|
||||||
baseUrl,
|
baseUrl,
|
||||||
))));
|
))));
|
||||||
final value = UpdateConfigResult.fromJson(_result.data!);
|
final _value = UpdateConfigResult.fromJson(_result.data!);
|
||||||
return value;
|
return _value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -1348,11 +1350,11 @@ class __EHApi implements _EHApi {
|
|||||||
_dio.options.baseUrl,
|
_dio.options.baseUrl,
|
||||||
baseUrl,
|
baseUrl,
|
||||||
))));
|
))));
|
||||||
final value = ApiResult<EHMetaInfo>.fromJson(
|
final _value = ApiResult<EHMetaInfo>.fromJson(
|
||||||
_result.data!,
|
_result.data!,
|
||||||
(json) => EHMetaInfo.fromJson(json as Map<String, dynamic>),
|
(json) => EHMetaInfo.fromJson(json as Map<String, dynamic>),
|
||||||
);
|
);
|
||||||
return value;
|
return _value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -1403,11 +1405,11 @@ class __EHApi implements _EHApi {
|
|||||||
_dio.options.baseUrl,
|
_dio.options.baseUrl,
|
||||||
baseUrl,
|
baseUrl,
|
||||||
))));
|
))));
|
||||||
final value = ApiResult<Task>.fromJson(
|
final _value = ApiResult<Task>.fromJson(
|
||||||
_result.data!,
|
_result.data!,
|
||||||
(json) => Task.fromJson(json as Map<String, dynamic>),
|
(json) => Task.fromJson(json as Map<String, dynamic>),
|
||||||
);
|
);
|
||||||
return value;
|
return _value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -1453,11 +1455,11 @@ class __EHApi implements _EHApi {
|
|||||||
_dio.options.baseUrl,
|
_dio.options.baseUrl,
|
||||||
baseUrl,
|
baseUrl,
|
||||||
))));
|
))));
|
||||||
final value = ApiResult<Task>.fromJson(
|
final _value = ApiResult<Task>.fromJson(
|
||||||
_result.data!,
|
_result.data!,
|
||||||
(json) => Task.fromJson(json as Map<String, dynamic>),
|
(json) => Task.fromJson(json as Map<String, dynamic>),
|
||||||
);
|
);
|
||||||
return value;
|
return _value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -1508,11 +1510,11 @@ class __EHApi implements _EHApi {
|
|||||||
_dio.options.baseUrl,
|
_dio.options.baseUrl,
|
||||||
baseUrl,
|
baseUrl,
|
||||||
))));
|
))));
|
||||||
final value = ApiResult<Task>.fromJson(
|
final _value = ApiResult<Task>.fromJson(
|
||||||
_result.data!,
|
_result.data!,
|
||||||
(json) => Task.fromJson(json as Map<String, dynamic>),
|
(json) => Task.fromJson(json as Map<String, dynamic>),
|
||||||
);
|
);
|
||||||
return value;
|
return _value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -1541,11 +1543,11 @@ class __EHApi implements _EHApi {
|
|||||||
_dio.options.baseUrl,
|
_dio.options.baseUrl,
|
||||||
baseUrl,
|
baseUrl,
|
||||||
))));
|
))));
|
||||||
final value = ApiResult<DownloadConfig>.fromJson(
|
final _value = ApiResult<DownloadConfig>.fromJson(
|
||||||
_result.data!,
|
_result.data!,
|
||||||
(json) => DownloadConfig.fromJson(json as Map<String, dynamic>),
|
(json) => DownloadConfig.fromJson(json as Map<String, dynamic>),
|
||||||
);
|
);
|
||||||
return value;
|
return _value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -1574,11 +1576,11 @@ class __EHApi implements _EHApi {
|
|||||||
_dio.options.baseUrl,
|
_dio.options.baseUrl,
|
||||||
baseUrl,
|
baseUrl,
|
||||||
))));
|
))));
|
||||||
final value = ApiResult<ExportZipConfig>.fromJson(
|
final _value = ApiResult<ExportZipConfig>.fromJson(
|
||||||
_result.data!,
|
_result.data!,
|
||||||
(json) => ExportZipConfig.fromJson(json as Map<String, dynamic>),
|
(json) => ExportZipConfig.fromJson(json as Map<String, dynamic>),
|
||||||
);
|
);
|
||||||
return value;
|
return _value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -1607,11 +1609,11 @@ class __EHApi implements _EHApi {
|
|||||||
_dio.options.baseUrl,
|
_dio.options.baseUrl,
|
||||||
baseUrl,
|
baseUrl,
|
||||||
))));
|
))));
|
||||||
final value = ApiResult<DefaultImportConfig>.fromJson(
|
final _value = ApiResult<DefaultImportConfig>.fromJson(
|
||||||
_result.data!,
|
_result.data!,
|
||||||
(json) => DefaultImportConfig.fromJson(json as Map<String, dynamic>),
|
(json) => DefaultImportConfig.fromJson(json as Map<String, dynamic>),
|
||||||
);
|
);
|
||||||
return value;
|
return _value;
|
||||||
}
|
}
|
||||||
|
|
||||||
RequestOptions _setStreamType<T>(RequestOptions requestOptions) {
|
RequestOptions _setStreamType<T>(RequestOptions requestOptions) {
|
||||||
|
|||||||
@@ -57,7 +57,14 @@ class GalleryBasicInfo extends StatelessWidget {
|
|||||||
context.pushNamed("/galleries",
|
context.pushNamed("/galleries",
|
||||||
queryParameters: {"uploader": gMeta.uploader});
|
queryParameters: {"uploader": gMeta.uploader});
|
||||||
})),
|
})),
|
||||||
SelectableText(gMeta.category),
|
SelectableText.rich(TextSpan(
|
||||||
|
text: gMeta.category,
|
||||||
|
mouseCursor: SystemMouseCursors.click,
|
||||||
|
recognizer: TapGestureRecognizer()
|
||||||
|
..onTap = () {
|
||||||
|
context.pushNamed("/galleries",
|
||||||
|
queryParameters: {"category": gMeta.category});
|
||||||
|
})),
|
||||||
],
|
],
|
||||||
))
|
))
|
||||||
])),
|
])),
|
||||||
|
|||||||
@@ -94,8 +94,17 @@ class GalleryInfoDesktop extends StatelessWidget {
|
|||||||
SizedBox(
|
SizedBox(
|
||||||
width: 170,
|
width: 170,
|
||||||
child: Column(children: [
|
child: Column(children: [
|
||||||
SelectableText(gData.meta.category,
|
SelectableText.rich(TextSpan(
|
||||||
style: TextStyle(color: cs.secondary)),
|
text: gData.meta.category,
|
||||||
|
style: TextStyle(color: cs.secondary),
|
||||||
|
mouseCursor: SystemMouseCursors.click,
|
||||||
|
recognizer: TapGestureRecognizer()
|
||||||
|
..onTap = () {
|
||||||
|
context.pushNamed("/galleries",
|
||||||
|
queryParameters: {
|
||||||
|
"category": gData.meta.category
|
||||||
|
});
|
||||||
|
})),
|
||||||
SelectableText.rich(TextSpan(
|
SelectableText.rich(TextSpan(
|
||||||
text: gData.meta.uploader,
|
text: gData.meta.uploader,
|
||||||
style: TextStyle(color: cs.secondary),
|
style: TextStyle(color: cs.secondary),
|
||||||
|
|||||||
@@ -61,7 +61,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tagUploaderGalleries": "Galleries tagged {tag} by {uploader}",
|
"tagUploaderGalleries": "Galleries tagged {tag} uploaded by {uploader}",
|
||||||
"@tagUploaderGalleries": {
|
"@tagUploaderGalleries": {
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"tag": {
|
"tag": {
|
||||||
@@ -269,5 +269,49 @@
|
|||||||
"thumbnailAlignHelp": "This only works if the scaling method is to touch container from outside/inside.",
|
"thumbnailAlignHelp": "This only works if the scaling method is to touch container from outside/inside.",
|
||||||
"createImportTask": "Create import task",
|
"createImportTask": "Create import task",
|
||||||
"importPath": "Path to the file/directory to import",
|
"importPath": "Path to the file/directory to import",
|
||||||
"importSize": "Image size"
|
"importSize": "Image size",
|
||||||
|
"tagUploaderCategoryGalleries": "Galleries tagged {tag} uploaded by {uploader} in category {category}",
|
||||||
|
"@tagUploaderCategoryGalleries": {
|
||||||
|
"placeholders": {
|
||||||
|
"tag": {
|
||||||
|
"type": "String"
|
||||||
|
},
|
||||||
|
"uploader": {
|
||||||
|
"type": "String"
|
||||||
|
},
|
||||||
|
"category": {
|
||||||
|
"type": "String"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"categoryGalleries": "Galleries with category {category}",
|
||||||
|
"@categoryGalleries": {
|
||||||
|
"placeholders": {
|
||||||
|
"category": {
|
||||||
|
"type": "String"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"uploaderCategoryGalleries": "Galleries with category {category} uploaded by {uploader}",
|
||||||
|
"@uploaderCategoryGalleries": {
|
||||||
|
"placeholders": {
|
||||||
|
"category": {
|
||||||
|
"type": "String"
|
||||||
|
},
|
||||||
|
"uploader": {
|
||||||
|
"type": "String"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tagCategoryGalleries": "Galleries with category {category} tagged {tag}",
|
||||||
|
"@tagCategoryGalleries": {
|
||||||
|
"placeholders": {
|
||||||
|
"category": {
|
||||||
|
"type": "String"
|
||||||
|
},
|
||||||
|
"tag": {
|
||||||
|
"type": "String"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,9 +12,9 @@
|
|||||||
"networkError": "网络错误。",
|
"networkError": "网络错误。",
|
||||||
"internalError": "出现了内部错误,请将日志发送给开发者。",
|
"internalError": "出现了内部错误,请将日志发送给开发者。",
|
||||||
"setServerUrl": "服务器地址",
|
"setServerUrl": "服务器地址",
|
||||||
"createRootUser": "创建根用户",
|
"createRootUser": "新建根用户",
|
||||||
"skip": "跳过",
|
"skip": "跳过",
|
||||||
"create": "创建",
|
"create": "新建",
|
||||||
"settings": "设置",
|
"settings": "设置",
|
||||||
"lang": "语言",
|
"lang": "语言",
|
||||||
"systemLang": "系统语言",
|
"systemLang": "系统语言",
|
||||||
@@ -267,7 +267,51 @@
|
|||||||
"center": "居中",
|
"center": "居中",
|
||||||
"rightOrBottom": "右/下",
|
"rightOrBottom": "右/下",
|
||||||
"thumbnailAlignHelp": "仅当缩放方法是缩放以填满/适合容器时生效。",
|
"thumbnailAlignHelp": "仅当缩放方法是缩放以填满/适合容器时生效。",
|
||||||
"createImportTask": "创建导入任务",
|
"createImportTask": "新建导入任务",
|
||||||
"importPath": "需要导入的文件/文件夹路径",
|
"importPath": "需要导入的文件/文件夹路径",
|
||||||
"importSize": "图像大小"
|
"importSize": "图像大小",
|
||||||
|
"tagUploaderCategoryGalleries": "在分类 {category} 中 {uploader} 上传的带有 {tag} 标签的画廊",
|
||||||
|
"@tagUploaderCategoryGalleries": {
|
||||||
|
"placeholders": {
|
||||||
|
"tag": {
|
||||||
|
"type": "String"
|
||||||
|
},
|
||||||
|
"uploader": {
|
||||||
|
"type": "String"
|
||||||
|
},
|
||||||
|
"category": {
|
||||||
|
"type": "String"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"categoryGalleries": "分类为 {category} 的画廊",
|
||||||
|
"@categoryGalleries": {
|
||||||
|
"placeholders": {
|
||||||
|
"category": {
|
||||||
|
"type": "String"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"uploaderCategoryGalleries": "{uploader} 上传的分类为 {category} 的画廊",
|
||||||
|
"@uploaderCategoryGalleries": {
|
||||||
|
"placeholders": {
|
||||||
|
"category": {
|
||||||
|
"type": "String"
|
||||||
|
},
|
||||||
|
"uploader": {
|
||||||
|
"type": "String"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tagCategoryGalleries": "分类为 {category} 的带有 {tag} 标签的画廊",
|
||||||
|
"@tagCategoryGalleries": {
|
||||||
|
"placeholders": {
|
||||||
|
"category": {
|
||||||
|
"type": "String"
|
||||||
|
},
|
||||||
|
"tag": {
|
||||||
|
"type": "String"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -72,6 +72,7 @@ final _router = GoRouter(
|
|||||||
}
|
}
|
||||||
final tag = state.uri.queryParameters["tag"];
|
final tag = state.uri.queryParameters["tag"];
|
||||||
final uploader = state.uri.queryParameters["uploader"];
|
final uploader = state.uri.queryParameters["uploader"];
|
||||||
|
final category = state.uri.queryParameters["category"];
|
||||||
final extra = state.extra as GalleriesPageExtra?;
|
final extra = state.extra as GalleriesPageExtra?;
|
||||||
return GalleriesPage(
|
return GalleriesPage(
|
||||||
key: state.pageKey,
|
key: state.pageKey,
|
||||||
@@ -79,6 +80,7 @@ final _router = GoRouter(
|
|||||||
tag: tag,
|
tag: tag,
|
||||||
uploader: uploader,
|
uploader: uploader,
|
||||||
translatedTag: extra?.translatedTag,
|
translatedTag: extra?.translatedTag,
|
||||||
|
category: category,
|
||||||
hasExtra: extra != null);
|
hasExtra: extra != null);
|
||||||
}),
|
}),
|
||||||
GoRoute(
|
GoRoute(
|
||||||
|
|||||||
@@ -23,12 +23,14 @@ class GalleriesPage extends StatefulWidget {
|
|||||||
this.uploader,
|
this.uploader,
|
||||||
this.tag,
|
this.tag,
|
||||||
this.translatedTag,
|
this.translatedTag,
|
||||||
|
this.category,
|
||||||
this.hasExtra = false});
|
this.hasExtra = false});
|
||||||
final SortByGid? sortByGid;
|
final SortByGid? sortByGid;
|
||||||
final String? uploader;
|
final String? uploader;
|
||||||
final String? tag;
|
final String? tag;
|
||||||
final String? translatedTag;
|
final String? translatedTag;
|
||||||
final bool hasExtra;
|
final bool hasExtra;
|
||||||
|
final String? category;
|
||||||
bool _stt(BuildContext context) =>
|
bool _stt(BuildContext context) =>
|
||||||
prefs.getBool("showTranslatedTag") ??
|
prefs.getBool("showTranslatedTag") ??
|
||||||
MainApp.of(context).lang.toLocale().languageCode == "zh";
|
MainApp.of(context).lang.toLocale().languageCode == "zh";
|
||||||
@@ -61,6 +63,7 @@ class _GalleriesPage extends State<GalleriesPage>
|
|||||||
limit: _pageSize,
|
limit: _pageSize,
|
||||||
sortByGid: _sortByGid,
|
sortByGid: _sortByGid,
|
||||||
uploader: widget.uploader,
|
uploader: widget.uploader,
|
||||||
|
category: widget.category,
|
||||||
tag: widget.tag))
|
tag: widget.tag))
|
||||||
.unwrap();
|
.unwrap();
|
||||||
final isLastPage = list.length < _pageSize;
|
final isLastPage = list.length < _pageSize;
|
||||||
@@ -140,6 +143,7 @@ class _GalleriesPage extends State<GalleriesPage>
|
|||||||
"sortByGid": [v!.index.toString()],
|
"sortByGid": [v!.index.toString()],
|
||||||
"tag": [widget.tag ?? ""],
|
"tag": [widget.tag ?? ""],
|
||||||
"uploader": [widget.uploader ?? ""],
|
"uploader": [widget.uploader ?? ""],
|
||||||
|
"category": [widget.category ?? ""],
|
||||||
};
|
};
|
||||||
queryParameters.removeWhere((k, v) => v[0].isEmpty);
|
queryParameters.removeWhere((k, v) => v[0].isEmpty);
|
||||||
context.pushReplacementNamed("/galleries",
|
context.pushReplacementNamed("/galleries",
|
||||||
@@ -155,12 +159,24 @@ class _GalleriesPage extends State<GalleriesPage>
|
|||||||
],
|
],
|
||||||
leadingIcon: const Icon(Icons.sort),
|
leadingIcon: const Icon(Icons.sort),
|
||||||
);
|
);
|
||||||
final title = widget.uploader != null && widget.tag != null
|
final title = widget.tag != null
|
||||||
? i18n.tagUploaderGalleries(preferredTag(context)!, widget.uploader!)
|
? widget.uploader != null
|
||||||
|
? widget.category != null
|
||||||
|
? i18n.tagUploaderCategoryGalleries(
|
||||||
|
preferredTag(context)!, widget.uploader!, widget.category!)
|
||||||
|
: i18n.tagUploaderGalleries(
|
||||||
|
preferredTag(context)!, widget.uploader!)
|
||||||
|
: widget.category != null
|
||||||
|
? i18n.tagCategoryGalleries(
|
||||||
|
widget.category!, preferredTag(context)!)
|
||||||
|
: i18n.tagGalleries(preferredTag(context)!)
|
||||||
: widget.uploader != null
|
: widget.uploader != null
|
||||||
? i18n.uploaderGalleries(widget.uploader!)
|
? widget.category != null
|
||||||
: widget.tag != null
|
? i18n.uploaderCategoryGalleries(
|
||||||
? i18n.tagGalleries(preferredTag(context)!)
|
widget.category!, widget.uploader!)
|
||||||
|
: i18n.uploaderGalleries(widget.uploader!)
|
||||||
|
: widget.category != null
|
||||||
|
? i18n.categoryGalleries(widget.category!)
|
||||||
: i18n.galleries;
|
: i18n.galleries;
|
||||||
if (isTop(context)) {
|
if (isTop(context)) {
|
||||||
setCurrentTitle(title, Theme.of(context).primaryColor.value);
|
setCurrentTitle(title, Theme.of(context).primaryColor.value);
|
||||||
|
|||||||
Reference in New Issue
Block a user