123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181 |
- import 'package:fis_common/event/event_type.dart';
- import 'package:fis_jsonrpc/rpc.dart';
- import 'package:flyinsonolite/consultation/records/models/consultationmember.dart';
- import 'package:flyinsonolite/consultation/records/models/liveconsultation.dart';
- abstract class ILiveConsultationManager {
- late ConsultationDetailDTO consultationDetail;
- late LiveConsultation liveConsultation;
- late String currentConsultationCode;
- /// 白板数据接收
- final FEventHandler<String> onWhiteboardDataReceive = FEventHandler<String>();
- ///开始会诊通知事件 11
- final FEventHandler<LiveConsultation> onInviteLiveConsultation =
- FEventHandler<LiveConsultation>();
- ///会诊过程中邀请成员的通知(通知被邀请者) 8
- final FEventHandler<LiveConsultation> onInviteeInLiveConsultation =
- FEventHandler<LiveConsultation>();
- //邀请者接受会诊通知事件(通知发起者)12
- final FEventHandler<LiveConsultation> onAcceptConsultation =
- FEventHandler<LiveConsultation>();
- ///邀请者拒绝会诊事件(通知发起者) 13
- final FEventHandler<LiveConsultation> onRejectConsultation =
- FEventHandler<LiveConsultation>();
- ///邀请者取消接听会诊事件(通知发起者) 7
- final FEventHandler<LiveConsultation> onCancelConsultation =
- FEventHandler<LiveConsultation>();
- ///成员加入会诊事件(通知所有成员)-
- final FEventHandler<LiveConsultation> onAcceptLiveConsultation =
- FEventHandler<LiveConsultation>();
- //成员静音通知
- final FEventHandler<ConsultationMember> onMemberMute =
- FEventHandler<ConsultationMember>();
- //成员静音通知
- final FEventHandler<ConsultationMember> onSwitchVideoPlay =
- FEventHandler<ConsultationMember>();
- ///成员离开会诊事件(通知所有成员)19
- final FEventHandler<LiveConsultation> onLeaveConsultation =
- FEventHandler<LiveConsultation>();
- ///成员加入会诊事件(通知所有成员) 被邀请者进入房间通知
- final FEventHandler<LiveConsultation> onJoinInConsultation =
- FEventHandler<LiveConsultation>();
- ///某个成员网络不佳通知事件(通知所有成员) 18
- final FEventHandler<LiveConsultation> onNetworkErrConsultation =
- FEventHandler<LiveConsultation>();
- /// 68 取消呼叫 to 客户端
- final FEventHandler<CancelInvitingInLiveCourseNotification>
- onCancelInvitingInLiveCourseNotification =
- FEventHandler<CancelInvitingInLiveCourseNotification>();
- ///成员加入会诊事件(通知所有成员)
- final FEventHandler<LiveConsultation> onJoinConsultation =
- FEventHandler<LiveConsultation>();
- ///取消会诊过程中邀请成员的通知(通知被邀请者) 7
- final FEventHandler<LiveConsultation> onCancelInvitingConsultation =
- FEventHandler<LiveConsultation>();
- ///会诊间改变
- final FEventHandler<LiveConsultation> onChangeConsultation =
- FEventHandler<LiveConsultation>();
- ///会诊间改变,成员不在新的会诊间,需退出
- final FEventHandler<LiveConsultation> onCloseConsultationDueToChange =
- FEventHandler<LiveConsultation>();
- ///关闭会诊事件(通知所有成员) 16
- final FEventHandler<LiveConsultation> onCloseConsultation =
- FEventHandler<LiveConsultation>();
- ///会诊提醒通知
- //final FEventHandler<InviteeConsultationInfo> onRemindConsultation = FEventHandler<InviteeConsultationInfo>();
- ///邀请者拒绝会诊事件(通知发起者)
- //final FEventHandler<InviteeConsultationInfo> onRejectApplayConsultation = FEventHandler<InviteeConsultationInfo>();
- ///批准申请会诊通知
- //final FEventHandler<InviteeConsultationInfo> onApprovalApplayConsultation = FEventHandler<InviteeConsultationInfo>();
- ///申请会诊通知
- //final FEventHandler<InviteeConsultationInfo> onApplayConsultation = FEventHandler<InviteeConsultationInfo>();
- ///受邀请人通知(通知受邀请人)
- //final FEventHandler<InviteeConsultationInfo> onInviteeConsultation = FEventHandler<InviteeConsultationInfo>();
- ///受邀请人同意通知(通知发起邀请的人)
- //final FEventHandler<InviteeConsultationInfo> onInviteeApproveConsultation = FEventHandler<InviteeConsultationInfo>();
- ///受邀请人拒绝通知(通知发起邀请的人)
- //final FEventHandler<InviteeConsultationInfo> onInviteeRejectConsultation = FEventHandler<InviteeConsultationInfo>();
- ///开启会诊事件
- final FEventHandler<LiveConsultation> onStartLiveConsultation =
- FEventHandler<LiveConsultation>();
- //开始会诊(进入方第一次进入的时候调用)
- Future<LiveConsultation> initiateLiveConsultationAsync(
- String consultationCode,
- {bool checkOnly = false});
- ///开始会诊
- Future<LiveConsultation?> startConsultationAsync(
- ConsultationDetailDTO consultationDetailDTO,
- {bool isJoin = false,
- bool checkOnly = false,
- bool checkMedia = false});
- ///会诊心跳
- Future<LiveConsultationHeartRateResult> heartRateAsync(
- String consultationCode);
- //根据会诊单号查询会诊中可直接切换的会诊单列表
- Future<List<ConsultationPageDTO>> findCanSwitchConsultationsAsync(
- String consultationCode);
- ///离开房间
- Future<LeaveLiveConsultationResult> leaveLiveConsultationAsync(
- String consultationCode);
- ///接受会诊
- Future<LiveConsultation> acceptLiveConsultationAsync(String consultationCode,
- {bool checkOnly = false});
- ///拒绝会诊
- Future<RejectLiveConsultationResult> rejectLiveConsultationAsync(
- String consultationCode);
- ////中途加入会诊
- Future<LiveConsultation> joinInLiveConsultationAsync(String consultationCode,
- {bool checkOnly = false});
- ///会诊设备重试进入房间
- Future<void> retryLoadDeviceAsync(String consultationCode);
- /// 发送白板数据
- Future sendInteractiveBoardDataAsync(
- String consultationCode, String boardData,
- [bool isClear = false]);
- ///查询急诊前设备和专家
- Future<QueryEmergencyDataResult> queryEmergencyDataAsync();
- ///创建急诊
- Future<String> applyEmergencyTreatment(String selectedUser, String deviceCode,
- String? patientCode, List<DataItemDTO>? patientDatas);
- ///开启急诊
- Future<bool> startEmergencyConsultationAsync(String consultationId);
- ///更新会诊中上传的截图或视频
- Future<bool> updateConsultationFilesInfoAsync(String consultationCode,
- String coverUrl, String previewUrl, String sourceUrl, bool isSingle);
- ///取消会诊过程邀请中的成员
- Future<CancelInvitingInLiveConsultationResult>
- cancelInvitingInLiveConsultationAsync(
- String consultationCode, List<String> inviteCodes);
- ///切换会诊病人
- Future<ChangeConsultationResult> changeConsultationAsync(
- String originalConsultationId, String currentConsultationId);
- ///会诊过程中邀请其他成员
- Future<InviteInLiveConsultationResult> inviteInLiveConsultationAsync(
- String consultationCode, List<String> inviteCodes, int roomNo);
- ///获取即时会诊配置(发起前是否需要填入病人信息)
- Future<GetEmergencySettingResult> getEmergencySettingAsync();
- }
|