import 'dart:core'; import 'package:fis_jsonrpc/client_base.dart'; import 'package:fis_common/json_convert.dart'; import 'appletAPI.m.dart'; import 'liveConsultation.m.dart'; class AppletAPIService extends JsonRpcClientBase { AppletAPIService( String host, { String serviceName = "IAppletAPIService", Map<String, String>? headers, int? timeout, }) : super( host, serviceName, headers: headers, timeout: timeout, ) { /// 注册响应实体反序列化处理器 FJsonConvert.setDecoder((map) => GetUserInfoByOpenIdResult.fromJson(map)); FJsonConvert.setDecoder((map) => PageResult<RemedicalRecordInfo>.fromJson(map)); FJsonConvert.setDecoder((map) => RemedicalRecordInfo.fromJson(map)); FJsonConvert.setDecoder((map) => ImageData.fromJson(map)); FJsonConvert.setDecoder((map) => ReportInfo.fromJson(map)); FJsonConvert.setDecoder((map) => PageResult<ConsultationInfo>.fromJson(map)); FJsonConvert.setDecoder((map) => ConsultationInfo.fromJson(map)); FJsonConvert.setDecoder((map) => OrganBaseInfo.fromJson(map)); FJsonConvert.setDecoder((map) => DoctorInfo.fromJson(map)); FJsonConvert.setDecoder((map) => TerminalInfo.fromJson(map)); FJsonConvert.setDecoder((map) => StartConsultationResult.fromJson(map)); FJsonConvert.setDecoder((map) => CancelStartConsultationResult.fromJson(map)); FJsonConvert.setDecoder((map) => ExitConsultationResult.fromJson(map)); FJsonConvert.setDecoder((map) => AppletAPIDownloadFileResult.fromJson(map)); FJsonConvert.setDecoder((map) => VinnoTemplateInfo.fromJson(map)); FJsonConvert.setDecoder((map) => ReportResultInfo.fromJson(map)); } Future<bool> serviceIsExist() async { var rpcRst = await call("ServiceIsExist", ); return rpcRst; } Future<bool> liveMemberLeaveAsync(LiveMemberLeaveRequest request) async { var rpcRst = await call("LiveMemberLeaveAsync", request); return rpcRst; } Future<bool> liveMemberRejectAsync(LiveMemberRejectRequest request) async { var rpcRst = await call("LiveMemberRejectAsync", request); return rpcRst; } Future<bool> liveMemberAcceptAsync(LiveMemberAcceptRequest request) async { var rpcRst = await call("LiveMemberAcceptAsync", request); return rpcRst; } Future<bool> liveMemberTimeoutAsync(LiveMemberTimeoutRequest request) async { var rpcRst = await call("LiveMemberTimeoutAsync", request); return rpcRst; } Future<GetUserInfoByOpenIdResult> getUserInfoByOpenIdAsync(GetUserInfoByOpenIdRequest request) async { var rpcRst = await call("GetUserInfoByOpenIdAsync", request); var result = GetUserInfoByOpenIdResult.fromJson(rpcRst as Map<String, dynamic>); return result; } Future<bool> bindVcloudAccountAndOpenIdAsync(BindVcloudAccountAndOpenIdRequest request) async { var rpcRst = await call("BindVcloudAccountAndOpenIdAsync", request); return rpcRst; } Future<PageResult<RemedicalRecordInfo>> getRemedicalRecordListAsync(GetRemedicalRecordListRequest request) async { var rpcRst = await call("GetRemedicalRecordListAsync", request); var result = PageResult<RemedicalRecordInfo>.fromJson(rpcRst as Map<String, dynamic>); return result; } Future<List<ImageData>> getRemedicalDataListAsync(GetRemedicalDataListRequest request) async { var rpcRst = await call("GetRemedicalDataListAsync", request); var result = (rpcRst as List).map((e)=>ImageData.fromJson(e as Map<String, dynamic>)).toList(); return result; } Future<List<ReportInfo>> getRemedicalReportListAsync(GetRemedicalReportListRequest request) async { var rpcRst = await call("GetRemedicalReportListAsync", request); var result = (rpcRst as List).map((e)=>ReportInfo.fromJson(e as Map<String, dynamic>)).toList(); return result; } Future<PageResult<ConsultationInfo>> getConsultationListAsync(GetConsultationListRequest request) async { var rpcRst = await call("GetConsultationListAsync", request); var result = PageResult<ConsultationInfo>.fromJson(rpcRst as Map<String, dynamic>); return result; } Future<List<ReportInfo>> getConsultationReportListAsync(GetConsultationReportListRequest request) async { var rpcRst = await call("GetConsultationReportListAsync", request); var result = (rpcRst as List).map((e)=>ReportInfo.fromJson(e as Map<String, dynamic>)).toList(); return result; } Future<String> createConsultationAsync(CreateConsultationRequest request) async { var rpcRst = await call("CreateConsultationAsync", request); return rpcRst; } Future<bool> arrangeConsultationAsync(ArrangeConsultationRequest request) async { var rpcRst = await call("ArrangeConsultationAsync", request); return rpcRst; } Future<List<OrganBaseInfo>> getHospitalsAsync(GetHospitalsRequest request) async { var rpcRst = await call("GetHospitalsAsync", request); var result = (rpcRst as List).map((e)=>OrganBaseInfo.fromJson(e as Map<String, dynamic>)).toList(); return result; } Future<List<DoctorInfo>> getExpertsAsync(GetExpertsRequest request) async { var rpcRst = await call("GetExpertsAsync", request); var result = (rpcRst as List).map((e)=>DoctorInfo.fromJson(e as Map<String, dynamic>)).toList(); return result; } Future<List<TerminalInfo>> getTerminalListAsync(GetTerminalListRequest request) async { var rpcRst = await call("GetTerminalListAsync", request); var result = (rpcRst as List).map((e)=>TerminalInfo.fromJson(e as Map<String, dynamic>)).toList(); return result; } Future<List<String>> getScanLocationsAsync(GetScanLocationsRequest request) async { var rpcRst = await call("GetScanLocationsAsync", request); var result = (rpcRst as List).cast<String>().toList(); return result; } Future<StartConsultationResult> startConsultationAsync(StartConsultationRequest request) async { var rpcRst = await call("StartConsultationAsync", request); var result = StartConsultationResult.fromJson(rpcRst as Map<String, dynamic>); return result; } Future<CancelStartConsultationResult> cancelStartConsultationAsync(CancelStartConsultationRequest request) async { var rpcRst = await call("CancelStartConsultationAsync", request); var result = CancelStartConsultationResult.fromJson(rpcRst as Map<String, dynamic>); return result; } Future<ExitConsultationResult> exitConsultationAsync(ExitConsultationRequest request) async { var rpcRst = await call("ExitConsultationAsync", request); var result = ExitConsultationResult.fromJson(rpcRst as Map<String, dynamic>); return result; } Future<bool> consultationHeartRateAsync(ConsultationHeartRateRequest request) async { var rpcRst = await call("ConsultationHeartRateAsync", request); return rpcRst; } Future<AppletAPIDownloadFileResult> downloadFileAsync(DownloadFileRequest request) async { var rpcRst = await call("DownloadFileAsync", request); var result = AppletAPIDownloadFileResult.fromJson(rpcRst as Map<String, dynamic>); return result; } Future<List<VinnoTemplateInfo>> getReportTemplatesAsync(GetReportTemplatesRequest request) async { var rpcRst = await call("GetReportTemplatesAsync", request); var result = (rpcRst as List).map((e)=>VinnoTemplateInfo.fromJson(e as Map<String, dynamic>)).toList(); return result; } Future<List<VinnoTemplateInfo>> getThesaurusTemplatesAsync(GetThesaurusTemplatesRequest request) async { var rpcRst = await call("GetThesaurusTemplatesAsync", request); var result = (rpcRst as List).map((e)=>VinnoTemplateInfo.fromJson(e as Map<String, dynamic>)).toList(); return result; } Future<String> saveReportAsync(SaveAppletReportRequest request) async { var rpcRst = await call("SaveReportAsync", request); return rpcRst; } Future<ReportResultInfo> getReportByIdAsync(GetAppletReportRequest request) async { var rpcRst = await call("GetReportByIdAsync", request); var result = ReportResultInfo.fromJson(rpcRst as Map<String, dynamic>); return result; } Future<String> uploadConsultationImageAsync(UploadConsultationImageRequest request) async { var rpcRst = await call("UploadConsultationImageAsync", request); return rpcRst; } }