import 'dart:core'; import 'package:fis_jsonrpc/client_base.dart'; import 'package:fis_common/json_convert.dart'; import 'lab.m.dart'; import 'liveConsultation.m.dart'; class LabService extends JsonRpcClientBase { LabService( String host, { String serviceName = "ILabService", Map? headers, int? timeout, }) : super( host, serviceName, headers: headers, timeout: timeout, ) { /// 注册响应实体反序列化处理器 FJsonConvert.setDecoder((map) => RecordLaboratoryFileResult.fromJson(map)); FJsonConvert.setDecoder((map) => LabFolderDTO.fromJson(map)); FJsonConvert.setDecoder((map) => PageResult.fromJson(map)); FJsonConvert.setDecoder((map) => RemedicalInfoDTO.fromJson(map)); FJsonConvert.setDecoder((map) => DownloadLabFileTemplateResult.fromJson(map)); } Future recordLaboratoryFile(RecordLaboratoryFileRequest request) async { var rpcRst = await call("RecordLaboratoryFile", request); var result = RecordLaboratoryFileResult.fromJson(rpcRst as Map); return result; } Future> getLabFolderListAsync(TokenRequest request) async { var rpcRst = await call("GetLabFolderListAsync", request); var result = (rpcRst as List).map((e)=>LabFolderDTO.fromJson(e as Map)).toList(); return result; } Future> getFileListByFolderAsync(GetFileListByFolderRequest request) async { var rpcRst = await call("GetFileListByFolderAsync", request); var result = PageResult.fromJson(rpcRst as Map); return result; } Future downloadLabFileTemplateAsync(DownloadLabFileTemplateRequest request) async { var rpcRst = await call("DownloadLabFileTemplateAsync", request); var result = DownloadLabFileTemplateResult.fromJson(rpcRst as Map); return result; } }