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.signal.SignalInfo; import com.ard.tianyu.model.dto.state.UavState; import com.ard.tianyu.model.dto.telemetry.TelemetryData; import com.ard.tianyu.model.receiver.*; import com.ard.tianyu.netty.command.BaseCommand; 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); /** * 注册 */ void registerMessage(); /** * 云台转动(基于角度) */ void angleControl(String boxSn, Integer actionId, Integer rotationAngle); void absAngleControl(String boxSn, Integer actionId, float pitch, float yaw, float roll); /** * 获取无人机状态 */ UavState getUavState(String boxSn); /** * 获取无人机遥测 */ TelemetryData getUavTelemetryData(String boxSn); /** * 获取信道质量遥测 */ SignalInfo getSignalInfo(String boxSn); /** * 解析天宇服务端发来的消息 */ void processMessage(String key, BaseCommand tyMessage); }