import 'dart:core'; import 'package:fis_jsonrpc/client_base.dart'; import 'package:fis_common/json_convert.dart'; import 'storage.m.dart'; class StorageService extends JsonRpcClientBase { StorageService( String host, { String serviceName = "IStorageService", Map<String, String>? headers, int? timeout, }) : super( host, serviceName, headers: headers, timeout: timeout, ) { /// 注册响应实体反序列化处理器 FJsonConvert.setDecoder((map) => StorageServiceSettingDTO.fromJson(map)); } Future<bool> uploadFileAsync(StorageRequest request) async { var rpcRst = await call("UploadFileAsync", request); return rpcRst; } Future<StorageServiceSettingDTO> getAuthorizationAsync(FileServiceRequest request) async { var rpcRst = await call("GetAuthorizationAsync", request); var result = StorageServiceSettingDTO.fromJson(rpcRst as Map<String, dynamic>); return result; } Future<StorageServiceSettingDTO> getStorageTestUrlAsync(CheckStorageRequest request) async { var rpcRst = await call("GetStorageTestUrlAsync", request); var result = StorageServiceSettingDTO.fromJson(rpcRst as Map<String, dynamic>); return result; } Future<bool> checkFileIsExist(CheckFileIsExistRequest request) async { var rpcRst = await call("CheckFileIsExist", request); return rpcRst; } Future<List<String>> copyToOtherNodeAysnc(CopyToOtherNodeRequest request) async { var rpcRst = await call("CopyToOtherNodeAysnc", request); var result = (rpcRst as List).cast<String>().toList(); return result; } Future<List<String>> uploadFileByServerConfigAsync(UploadFileTransferRequest request) async { var rpcRst = await call("UploadFileByServerConfigAsync", request); var result = (rpcRst as List).cast<String>().toList(); return result; } }