package com.zy.asrs.service; import com.baomidou.mybatisplus.service.IService; import com.zy.asrs.entity.TvDevice; import java.util.List; /** * 电视机设备Service接口 */ public interface TvDeviceService extends IService { /** * 测试ADB连接 * * @param id 设备ID * @return 连接结果 */ String testConnection(Long id) throws Exception; /** * 批量测试连接状态 * * @return 更新的设备数量 */ int refreshAllStatus(); /** * 安装APK到指定设备 * * @param deviceId 设备ID * @param apkPath APK文件路径 * @return 安装结果 */ String installApk(Long deviceId, String apkPath) throws Exception; /** * 批量安装APK到多台设备 * * @param deviceIds 设备ID列表 * @param apkPath APK文件路径 * @return 安装结果列表 */ List batchInstallApk(List deviceIds, String apkPath); /** * 获取所有在线设备 * * @return 在线设备列表 */ List getOnlineDevices(); /** * 启动设备上的应用 * * @param deviceId 设备ID * @param packageName 应用包名(可为null使用默认包名) * @return 启动结果 */ String launchApp(Long deviceId, String packageName) throws Exception; /** * 批量启动设备上的应用 * * @param deviceIds 设备ID列表 * @param packageName 应用包名(可为null使用默认包名) * @return 启动结果列表 */ List batchLaunchApp(List deviceIds, String packageName); /** * 获取设备屏幕截图 * * @param deviceId 设备ID * @return Base64编码的PNG图片 */ String captureScreen(Long deviceId) throws Exception; /** * 关闭设备上的应用 * * @param deviceId 设备ID * @param packageName 应用包名(可为null使用默认包名) * @return 关闭结果 */ String stopApp(Long deviceId, String packageName) throws Exception; /** * 重启设备上的应用(先关闭再启动) * * @param deviceId 设备ID * @param packageName 应用包名(可为null使用默认包名) * @return 重启结果 */ String restartApp(Long deviceId, String packageName) throws Exception; /** * 批量重启设备上的应用 * * @param deviceIds 设备ID列表 * @param packageName 应用包名(可为null使用默认包名) * @return 重启结果列表 */ List batchRestartApp(List deviceIds, String packageName); }