package com.ard.tianyu.service; import com.ard.tianyu.model.dto.BoxHistoryDTO; import com.ard.tianyu.model.dto.BoxPhotosDTO; import com.ard.tianyu.model.dto.BoxSettingsDTO; import com.ard.tianyu.model.dto.camera.*; import com.ard.tianyu.model.dto.control.AbsAngleControlDTO; import com.ard.tianyu.model.dto.control.AngleControlDTO; import com.ard.tianyu.model.dto.control.SpeedControlDTO; import com.ard.tianyu.model.dto.manual.*; import com.ard.tianyu.model.dto.settings.ReturnHeightSettingDTO; import com.ard.tianyu.model.dto.settings.ReturnPointSettingDTO; import com.ard.tianyu.model.dto.settings.VideoStreamSettingDTO; import com.ard.tianyu.model.dto.signal.SignalInfo; import com.ard.tianyu.model.dto.speaker.*; import com.ard.tianyu.model.dto.state.UavState; import com.ard.tianyu.model.dto.telemetry.TelemetryData; import com.ard.tianyu.model.dto.wayline.*; import com.ard.tianyu.model.receiver.*; import com.ard.tianyu.netty.command.BaseCmd; import com.dtflys.forest.annotation.Var; import java.util.List; /** * ITyService * * @author liusuyi * @date 2024年10月22日8:36 **/ public interface ITyService { /** * 获取天宇token信息 * @return */ AccessTokenReceiver getAccessToken(); /** * 获取云盒列表 * @return */ List getBoxList(); /** * 获取直播地址 * @return */ BoxStreamUrlReceiver getBoxLiveUrl(@Var("boxSn") String boxSn); /** * 获取飞行历史 * @return */ List getBoxHistory(BoxHistoryDTO boxHistoryDTO); /** * 获取盒子图片 * @return */ List getBoxPhotos(BoxPhotosDTO boxPhotosDTO); /** * 修改云盒设置 * @return */ Boolean updateBoxSettings(BoxSettingsDTO boxSettingsDTO); /** * 设置返航高度 * @return */ void updateReturnHeight(ReturnHeightSettingDTO returnHeightSettingDTO); /** * 设置视频码流 * @return */ void updateVideoStream(VideoStreamSettingDTO videoStreamSettingDTO); /** * 设置返航点 * @return */ void updateReturnPoint(ReturnPointSettingDTO returnPointSettingDTO); /** * 注册 */ void registerMessage(); /** * 云台转动(基于角度) */ void angleControl(AngleControlDTO angleControlDto); /** * 云台绝对值控制(基于角度) */ void absAngleControl(AbsAngleControlDTO absAngleControlDto); /** * 云台转动(基于速度) */ void speedControl(SpeedControlDTO speedControlDto); /** * 设置相机模式 */ void updateCameraMode(CameraModeDTO cameraModeDTO); /** * 拍照 */ void capturePic(CapturePicDTO capturePicDto); /** * 录像 */ void record(RecordDTO recordDto); /** * 变倍 */ void zoom(ZoomDTO zoomDTO); /** * 变倍到指定倍数 */ void zoomToLevel(ZoomToLevelDTO zoomToLevelDTO); /** * 切换摄像头 */ void switchCamera(SwitchCameraDTO switchCameraDTO); /** * 切换视频源 */ void switchSource(SwitchSourceDTO switchSourceDTO); /** * 打开或关闭照片回传 */ void photoReturnToggle(PhotoReturnToggleDTO photoReturnToggleDTO); /** * 切换无人机控制权 */ void switchUavControl(SwitchUavControlDTO switchUavControlDTO); /** * 起飞 */ void takeOff(TakeOffDTO takeOffDTO); /** * 返航 */ void returnHome(ReturnHomeDTO returnHomeDTO); /** * 取消返航 */ void returnHomeCancel(ReturnHomeCancelDTO returnHomeCancelDTO); /** * 降落 */ void land(LandDTO landDTO); /** * 取消降落 */ void landCancel(LandCancelDTO landCancelDTO); /** * 强制降落 */ void landForced(LandForcedDTO landForcedDTO); /** * 方向控制 */ void flyControl(FlyControlDTO flyControlDTO); /** * 指点飞行控制 */ void flyPointControl(FlyPointControlDTO flyPointControlDTO); /** * 停止指点飞行控制 */ void flyPointControlCancel(FlyPointControlCancelDTO flyPointControlCancelDTO); /** * 紧急制动 */ void emeragencyBrake(EmeragencyBrakeDTO emeragencyBrakeDTO); /** * 获取无人机状态 */ UavState getUavState(String boxSn); /** * 获取无人机遥测 */ TelemetryData getUavTelemetryData(String boxSn); /** * 获取信道质量遥测 */ SignalInfo getSignalInfo(String boxSn); /** * 喊话模式切换 */ void speakModeSwitch(SpeakModeSwitchDTO speakModeSwitchDTO); /** * 文字喊话 */ void textSpeak(TextSpeakDTO textSpeakDTO); /** * 实时喊话 */ void realSpeak(RealSpeakDTO realSpeakDTO); /** * 录音喊话 */ void recordSpeak(RecordSpeakDTO recordSpeakDTO); /** * 设置音量 */ void volumeSetting(VolumeSettingDTO volumeSettingDTO); /** * 设置循环播放 */ void loopSetting(LoopSettingDTO loopSettingDTO); /** * 停止喊话 */ void stopSpeak(StopSpeakDTO stopSpeakDTO); /** * 上传航线 */ void wayLineUpload(WayLineUploadDTO wayLineUploadDTO); /** * 开始航线 */ void wayLineBegin(WayLineBeginDTO wayLineBeginDTO); /** * 暂停航线 */ void wayLinePause(WayLinePauseDTO wayLinePauseDTO); /** * 恢复航线 */ void wayLineResume(WayLineResumeDTO wayLineResumeDTO); /** * 结束航线 */ void wayLineEnd(WayLineEndDTO wayLineEndDTO); /** * 处理回复消息 */ void processReplyMessage(String key, BaseCmd tyMessage); /** * 点播 */ String play(String boxSn); }