This commit is contained in:
2023-09-03 12:22:27 +08:00
parent ade2bb2113
commit 95b8435f78
16 changed files with 555 additions and 34 deletions

View File

@@ -408,6 +408,79 @@ class __EHApi implements _EHApi {
return value;
}
@override
Future<ApiResult<GalleryData>> getGallery(int gid) async {
const _extra = <String, dynamic>{};
final queryParameters = <String, dynamic>{};
final _headers = <String, dynamic>{};
final Map<String, dynamic>? _data = null;
final _result = await _dio.fetch<Map<String, dynamic>>(
_setStreamType<ApiResult<GalleryData>>(Options(
method: 'GET',
headers: _headers,
extra: _extra,
)
.compose(
_dio.options,
'/gallery/${gid}',
queryParameters: queryParameters,
data: _data,
)
.copyWith(
baseUrl: _combineBaseUrls(
_dio.options.baseUrl,
baseUrl,
))));
final value = ApiResult<GalleryData>.fromJson(
_result.data!,
(json) => GalleryData.fromJson(json as Map<String, dynamic>),
);
return value;
}
@override
Future<ApiResult<List<GMeta>>> listGalleries({
bool? all,
int? offset,
int? limit,
}) async {
const _extra = <String, dynamic>{};
final queryParameters = <String, dynamic>{
r'all': all,
r'offset': offset,
r'limit': limit,
};
queryParameters.removeWhere((k, v) => v == null);
final _headers = <String, dynamic>{};
final Map<String, dynamic>? _data = null;
final _result = await _dio.fetch<Map<String, dynamic>>(
_setStreamType<ApiResult<List<GMeta>>>(Options(
method: 'GET',
headers: _headers,
extra: _extra,
)
.compose(
_dio.options,
'/gallery/list',
queryParameters: queryParameters,
data: _data,
)
.copyWith(
baseUrl: _combineBaseUrls(
_dio.options.baseUrl,
baseUrl,
))));
final value = ApiResult<List<GMeta>>.fromJson(
_result.data!,
(json) => json is List<dynamic>
? json
.map<GMeta>((i) => GMeta.fromJson(i as Map<String, dynamic>))
.toList()
: List.empty(),
);
return value;
}
RequestOptions _setStreamType<T>(RequestOptions requestOptions) {
if (T != dynamic &&
!(requestOptions.responseType == ResponseType.bytes ||