Update create download task dialog

This commit is contained in:
2024-05-26 13:29:43 +08:00
parent a04e255beb
commit e1943ee56a
6 changed files with 152 additions and 4 deletions

View File

@@ -3,6 +3,7 @@ import 'dart:convert';
import 'package:cryptography/cryptography.dart';
import 'package:dio/dio.dart';
import 'package:eh_downloader_flutter/api/file.dart';
import 'package:retrofit/dio.dart';
import 'package:retrofit/retrofit.dart';
import 'api_result.dart';
@@ -234,6 +235,9 @@ abstract class _EHApi {
@Part(name: "type") String t = "download",
@CancelRequest() CancelToken? cancel,
});
@GET('/task/download_cfg')
Future<ApiResult<DownloadConfig>> getDefaultDownloadConfig(
{@CancelRequest() CancelToken? cancel});
}
class EHApi extends __EHApi {

View File

@@ -1114,6 +1114,39 @@ class __EHApi implements _EHApi {
return value;
}
@override
Future<ApiResult<DownloadConfig>> getDefaultDownloadConfig(
{CancelToken? cancel}) async {
final _extra = <String, dynamic>{};
final queryParameters = <String, dynamic>{};
queryParameters.removeWhere((k, v) => v == null);
final _headers = <String, dynamic>{};
const Map<String, dynamic>? _data = null;
final _result = await _dio.fetch<Map<String, dynamic>>(
_setStreamType<ApiResult<DownloadConfig>>(Options(
method: 'GET',
headers: _headers,
extra: _extra,
)
.compose(
_dio.options,
'/task/download_cfg',
queryParameters: queryParameters,
data: _data,
cancelToken: cancel,
)
.copyWith(
baseUrl: _combineBaseUrls(
_dio.options.baseUrl,
baseUrl,
))));
final value = ApiResult<DownloadConfig>.fromJson(
_result.data!,
(json) => DownloadConfig.fromJson(json as Map<String, dynamic>),
);
return value;
}
RequestOptions _setStreamType<T>(RequestOptions requestOptions) {
if (T != dynamic &&
!(requestOptions.responseType == ResponseType.bytes ||