loki.wu vor 2 Jahren
Ursprung
Commit
b38202f5a4

+ 5 - 5
lib/services/authentication.m.dart

@@ -2207,10 +2207,10 @@ enum CustomerRpcCode {
 	CoverImageTokenIsEmpty,
 	OrganizationCodeInconformity,
 	OnlyCommonUserUsed,
-	placeHolder_2028,
-	placeHolder_2029,
-	placeHolder_2030,
-	placeHolder_2031,
+	ShareCodeIsEmpty,
+	UniqueIdIsEmpty,
+	DeviceShareDataError,
+	DeviceShareExpired,
 	placeHolder_2032,
 	placeHolder_2033,
 	placeHolder_2034,
@@ -4245,7 +4245,7 @@ enum CustomerRpcCode {
 	ChangeConsultationNoFeature,
 	OperatorNoJoined,
 	RemedicalCodesIsEmpty,
-	placeHolder_4066,
+	MeasureDataIsEmpty,
 	placeHolder_4067,
 	placeHolder_4068,
 	placeHolder_4069,

+ 24 - 0
lib/services/device.dart

@@ -32,6 +32,8 @@ class DeviceService extends JsonRpcClientBase {
 		FJsonConvert.setDecoder((map) => DiagnosisModuleDTO.fromJson(map));
 		FJsonConvert.setDecoder((map) => ReportVideoDeviceInfoResult.fromJson(map));
 		FJsonConvert.setDecoder((map) => JoinDeviceLiveRoomResult.fromJson(map));
+		FJsonConvert.setDecoder((map) => CreateLiveShareInfoResult.fromJson(map));
+		FJsonConvert.setDecoder((map) => JoinDeviceLiveRoomByShareResult.fromJson(map));
 		FJsonConvert.setDecoder((map) => CreateLiveRoomInfoResult.fromJson(map));
 		FJsonConvert.setDecoder((map) => DeviceControlParameterDataDTO.fromJson(map));
 		FJsonConvert.setDecoder((map) => BrandModelOutputConfigDTO.fromJson(map));
@@ -186,6 +188,28 @@ class DeviceService extends JsonRpcClientBase {
 		return rpcRst;
 	}
 
+	Future<CreateLiveShareInfoResult> createLiveShareInfoAsync(CreateLiveShareInfoRequest request) async {
+		var rpcRst = await call("CreateLiveShareInfoAsync", request);
+		var result = CreateLiveShareInfoResult.fromJson(rpcRst as Map<String, dynamic>);
+		return result;
+	}
+
+	Future<JoinDeviceLiveRoomByShareResult> joinDeviceLiveRoomByShareAsync(JoinDeviceLiveRoomByShareRequest request) async {
+		var rpcRst = await call("JoinDeviceLiveRoomByShareAsync", request);
+		var result = JoinDeviceLiveRoomByShareResult.fromJson(rpcRst as Map<String, dynamic>);
+		return result;
+	}
+
+	Future<bool> leaveDeviceLiveRoomByShareAsync(LeaveDeviceLiveRoomByShareRequest request) async {
+		var rpcRst = await call("LeaveDeviceLiveRoomByShareAsync", request);
+		return rpcRst;
+	}
+
+	Future<bool> reportLiveViewStateByShareAsync(ReportLiveViewStateByShareRequest request) async {
+		var rpcRst = await call("ReportLiveViewStateByShareAsync", request);
+		return rpcRst;
+	}
+
 	Future<bool> reportLiveStateAsync(ReportLiveStateRequest request) async {
 		var rpcRst = await call("ReportLiveStateAsync", request);
 		return rpcRst;

+ 186 - 0
lib/services/device.m.dart

@@ -1354,11 +1354,19 @@ class VideoDeviceInfoDTO {
 
 class JoinDeviceLiveRoomResult extends TokenRequest{
 	int roomNo;
+	String? deviceCode;
+	bool mergedChannel;
+	int mergedVideoOutputWidth;
+	int mergedVideoOutputHeight;
 	List<VideoDeviceInfoDTO >? videoDeviceInfos;
 	int reportStateIntervalSeconds;
 
 	JoinDeviceLiveRoomResult({
 		this.roomNo = 0,
+		this.deviceCode,
+		this.mergedChannel = false,
+		this.mergedVideoOutputWidth = 0,
+		this.mergedVideoOutputHeight = 0,
 		this.videoDeviceInfos,
 		this.reportStateIntervalSeconds = 0,
 		String? token,
@@ -1369,6 +1377,10 @@ class JoinDeviceLiveRoomResult extends TokenRequest{
 	factory JoinDeviceLiveRoomResult.fromJson(Map<String, dynamic> map) {
 		return JoinDeviceLiveRoomResult( 
 			roomNo: map['RoomNo'],
+			deviceCode: map['DeviceCode'],
+			mergedChannel: map['MergedChannel'],
+			mergedVideoOutputWidth: map['MergedVideoOutputWidth'],
+			mergedVideoOutputHeight: map['MergedVideoOutputHeight'],
 			videoDeviceInfos: map['VideoDeviceInfos'] != null ? (map['VideoDeviceInfos'] as List).map((e)=>VideoDeviceInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
 			reportStateIntervalSeconds: map['ReportStateIntervalSeconds'],
 			token: map['Token'],
@@ -1378,6 +1390,11 @@ class JoinDeviceLiveRoomResult extends TokenRequest{
 	Map<String, dynamic> toJson() {
 		final map = super.toJson();
 		map['RoomNo'] = roomNo;
+		if(deviceCode != null)
+			map['DeviceCode'] = deviceCode;
+		map['MergedChannel'] = mergedChannel;
+		map['MergedVideoOutputWidth'] = mergedVideoOutputWidth;
+		map['MergedVideoOutputHeight'] = mergedVideoOutputHeight;
 		if(videoDeviceInfos != null)
 			map['VideoDeviceInfos'] = videoDeviceInfos;
 		map['ReportStateIntervalSeconds'] = reportStateIntervalSeconds;
@@ -1460,6 +1477,175 @@ class ReportLiveViewStateRequest extends TokenRequest{
 	}
 }
 
+class CreateLiveShareInfoResult extends TokenRequest{
+	String? shareUrl;
+
+	CreateLiveShareInfoResult({
+		this.shareUrl,
+		String? token,
+	}) : super(
+			token: token,
+		);
+
+	factory CreateLiveShareInfoResult.fromJson(Map<String, dynamic> map) {
+		return CreateLiveShareInfoResult( 
+			shareUrl: map['ShareUrl'],
+			token: map['Token'],
+		);
+	}
+
+	Map<String, dynamic> toJson() {
+		final map = super.toJson();
+		if(shareUrl != null)
+			map['ShareUrl'] = shareUrl;
+		return map;
+	}
+}
+
+class CreateLiveShareInfoRequest extends TokenRequest{
+	String? deviceCode;
+
+	CreateLiveShareInfoRequest({
+		this.deviceCode,
+		String? token,
+	}) : super(
+			token: token,
+		);
+
+	factory CreateLiveShareInfoRequest.fromJson(Map<String, dynamic> map) {
+		return CreateLiveShareInfoRequest( 
+			deviceCode: map['DeviceCode'],
+			token: map['Token'],
+		);
+	}
+
+	Map<String, dynamic> toJson() {
+		final map = super.toJson();
+		if(deviceCode != null)
+			map['DeviceCode'] = deviceCode;
+		return map;
+	}
+}
+
+class JoinDeviceLiveRoomByShareResult {
+	int roomNo;
+	String? deviceCode;
+	bool mergedChannel;
+	int mergedVideoOutputWidth;
+	int mergedVideoOutputHeight;
+	List<VideoDeviceInfoDTO >? videoDeviceInfos;
+	int reportStateIntervalSeconds;
+
+	JoinDeviceLiveRoomByShareResult({
+		this.roomNo = 0,
+		this.deviceCode,
+		this.mergedChannel = false,
+		this.mergedVideoOutputWidth = 0,
+		this.mergedVideoOutputHeight = 0,
+		this.videoDeviceInfos,
+		this.reportStateIntervalSeconds = 0,
+	});
+
+	factory JoinDeviceLiveRoomByShareResult.fromJson(Map<String, dynamic> map) {
+		return JoinDeviceLiveRoomByShareResult( 
+			roomNo: map['RoomNo'],
+			deviceCode: map['DeviceCode'],
+			mergedChannel: map['MergedChannel'],
+			mergedVideoOutputWidth: map['MergedVideoOutputWidth'],
+			mergedVideoOutputHeight: map['MergedVideoOutputHeight'],
+			videoDeviceInfos: map['VideoDeviceInfos'] != null ? (map['VideoDeviceInfos'] as List).map((e)=>VideoDeviceInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
+			reportStateIntervalSeconds: map['ReportStateIntervalSeconds'],
+		);
+	}
+
+	Map<String, dynamic> toJson() {
+		final map = Map<String, dynamic>();
+		map['RoomNo'] = roomNo;
+		if(deviceCode != null)
+			map['DeviceCode'] = deviceCode;
+		map['MergedChannel'] = mergedChannel;
+		map['MergedVideoOutputWidth'] = mergedVideoOutputWidth;
+		map['MergedVideoOutputHeight'] = mergedVideoOutputHeight;
+		if(videoDeviceInfos != null)
+			map['VideoDeviceInfos'] = videoDeviceInfos;
+		map['ReportStateIntervalSeconds'] = reportStateIntervalSeconds;
+		return map;
+	}
+}
+
+class JoinDeviceLiveRoomByShareRequest {
+	String? shareCode;
+
+	JoinDeviceLiveRoomByShareRequest({
+		this.shareCode,
+	});
+
+	factory JoinDeviceLiveRoomByShareRequest.fromJson(Map<String, dynamic> map) {
+		return JoinDeviceLiveRoomByShareRequest( 
+			shareCode: map['ShareCode'],
+		);
+	}
+
+	Map<String, dynamic> toJson() {
+		final map = Map<String, dynamic>();
+		if(shareCode != null)
+			map['ShareCode'] = shareCode;
+		return map;
+	}
+}
+
+class LeaveDeviceLiveRoomByShareRequest {
+	String? deviceCode;
+	String? viewerUniqueId;
+
+	LeaveDeviceLiveRoomByShareRequest({
+		this.deviceCode,
+		this.viewerUniqueId,
+	});
+
+	factory LeaveDeviceLiveRoomByShareRequest.fromJson(Map<String, dynamic> map) {
+		return LeaveDeviceLiveRoomByShareRequest( 
+			deviceCode: map['DeviceCode'],
+			viewerUniqueId: map['ViewerUniqueId'],
+		);
+	}
+
+	Map<String, dynamic> toJson() {
+		final map = Map<String, dynamic>();
+		if(deviceCode != null)
+			map['DeviceCode'] = deviceCode;
+		if(viewerUniqueId != null)
+			map['ViewerUniqueId'] = viewerUniqueId;
+		return map;
+	}
+}
+
+class ReportLiveViewStateByShareRequest {
+	String? deviceCode;
+	String? viewerUniqueId;
+
+	ReportLiveViewStateByShareRequest({
+		this.deviceCode,
+		this.viewerUniqueId,
+	});
+
+	factory ReportLiveViewStateByShareRequest.fromJson(Map<String, dynamic> map) {
+		return ReportLiveViewStateByShareRequest( 
+			deviceCode: map['DeviceCode'],
+			viewerUniqueId: map['ViewerUniqueId'],
+		);
+	}
+
+	Map<String, dynamic> toJson() {
+		final map = Map<String, dynamic>();
+		if(deviceCode != null)
+			map['DeviceCode'] = deviceCode;
+		if(viewerUniqueId != null)
+			map['ViewerUniqueId'] = viewerUniqueId;
+		return map;
+	}
+}
+
 enum DeviceLiveStateEnum {
 	Default,
 	Pushing,

+ 52 - 0
lib/services/other.m.dart

@@ -7836,6 +7836,17 @@ enum DiagnosisLiverLabelEnum {
 	PCLD,
 }
 
+enum AIThyroidLabelEnum {
+	TIRADS0,
+	TIRADS2,
+	TIRADS3,
+	TIRADS4a,
+	TIRADS4b,
+	TIRADS4c,
+	TIRADS5,
+	DiffuseDisease,
+}
+
 enum FollowUpVisitStatusEnum {
 	Unknown,
 	PendingVisit,
@@ -7863,6 +7874,11 @@ enum HeartbeatTypeEnum {
 	RTCState,
 }
 
+enum LabUploadTypeEnum {
+	DirectUpload,
+	ByTemplate,
+}
+
 enum LiveMemberStatusEnum {
 	Default,
 	Accepted,
@@ -14957,6 +14973,42 @@ class BrandModelDetailDTO {
 	}
 }
 
+class DeviceLiveShareInfoDTO {
+	String? deviceCode;
+	String? shareUserCode;
+	String? shareUserName;
+	DateTime? shareTime;
+
+	DeviceLiveShareInfoDTO({
+		this.deviceCode,
+		this.shareUserCode,
+		this.shareUserName,
+		this.shareTime,
+	});
+
+	factory DeviceLiveShareInfoDTO.fromJson(Map<String, dynamic> map) {
+		return DeviceLiveShareInfoDTO( 
+			deviceCode: map['DeviceCode'],
+			shareUserCode: map['ShareUserCode'],
+			shareUserName: map['ShareUserName'],
+			shareTime: map['ShareTime'] != null ? DateTime.parse(map['ShareTime']) : null,
+		);
+	}
+
+	Map<String, dynamic> toJson() {
+		final map = Map<String, dynamic>();
+		if(deviceCode != null)
+			map['DeviceCode'] = deviceCode;
+		if(shareUserCode != null)
+			map['ShareUserCode'] = shareUserCode;
+		if(shareUserName != null)
+			map['ShareUserName'] = shareUserName;
+		if(shareTime != null)
+			map['ShareTime'] = JsonRpcUtils.dateFormat(shareTime!);
+		return map;
+	}
+}
+
 class BoardPointDTO {
 	double x;
 	double y;

+ 14 - 0
lib/services/remedical.m.dart

@@ -2890,9 +2890,15 @@ class QueryShareExamPageRequest extends TokenRequest{
 
 class BatchExportMeasureResultRequest extends TokenRequest{
 	List<String >? remedicalMeasuredInfoCodes;
+	BusinessTypeEnum businessType;
+	String? recordCode;
+	String? languageCode;
 
 	BatchExportMeasureResultRequest({
 		this.remedicalMeasuredInfoCodes,
+		this.businessType = BusinessTypeEnum.RemoteDiagnosis,
+		this.recordCode,
+		this.languageCode,
 		String? token,
 	}) : super(
 			token: token,
@@ -2901,6 +2907,9 @@ class BatchExportMeasureResultRequest extends TokenRequest{
 	factory BatchExportMeasureResultRequest.fromJson(Map<String, dynamic> map) {
 		return BatchExportMeasureResultRequest( 
 			remedicalMeasuredInfoCodes: map['RemedicalMeasuredInfoCodes'] != null ? map['RemedicalMeasuredInfoCodes'].cast<String>().toList() : null,
+			businessType: BusinessTypeEnum.values.firstWhere((e) => e.index == map['BusinessType']),
+			recordCode: map['RecordCode'],
+			languageCode: map['LanguageCode'],
 			token: map['Token'],
 		);
 	}
@@ -2909,6 +2918,11 @@ class BatchExportMeasureResultRequest extends TokenRequest{
 		final map = super.toJson();
 		if(remedicalMeasuredInfoCodes != null)
 			map['RemedicalMeasuredInfoCodes'] = remedicalMeasuredInfoCodes;
+		map['BusinessType'] = businessType.index;
+		if(recordCode != null)
+			map['RecordCode'] = recordCode;
+		if(languageCode != null)
+			map['LanguageCode'] = languageCode;
 		return map;
 	}
 }