package com.youlai.boot.device.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.youlai.boot.device.model.entity.SnDeviceInfo; import com.youlai.boot.device.model.query.DeviceQuery; import com.youlai.boot.device.model.vo.DeviceHardwareInfoVO; import com.youlai.boot.device.model.vo.DeviceNetworkInfoVO; import com.youlai.boot.device.model.vo.DeviceOtherInfoVO; import com.youlai.boot.device.model.vo.DeviceSecurityInfoVO; import com.youlai.boot.device.model.vo.DeviceSystemInfoVO; import com.youlai.boot.device.model.vo.DevicePageVO; public interface DeviceService extends IService { /** * 用户分页列表 * * @return {@link IPage} 用户分页列表 */ IPage getSnPage(DeviceQuery queryParams); /** * 获取设备详情 * * @param sn 设备序列号 * @return 设备详情信息 */ DevicePageVO getSnBindInfo(String sn); /** * 获取设备基本信息 * * @param sn 设备序列号 * @return 设备基本信息(无则返回 null) */ DeviceSystemInfoVO getDeviceBasicInfo(String sn); /** * 获取设备硬件信息 * * @param sn 设备序列号 * @return 设备硬件信息(无则返回 null) */ DeviceHardwareInfoVO getDeviceHardwareInfo(String sn); /** * 获取设备网络信息 * * @param sn 设备序列号 * @return 设备网络信息(无则返回 null) */ DeviceNetworkInfoVO getDeviceNetworkInfo(String sn); /** * 获取设备安全信息 * * @param sn 设备序列号 * @return 设备安全信息(无则返回 null) */ DeviceSecurityInfoVO getDeviceSecurityInfo(String sn); /** * 获取设备其他信息 * * @param sn 设备序列号 * @return 设备其他信息(无则返回 null) */ DeviceOtherInfoVO getDeviceOtherInfo(String sn); /** * 添加设备 * @param device 设备信息 * @return 是否成功 */ boolean addSn(SnDeviceInfo device); /** * 更新设备信息(仅允许修改设备昵称) * @param id 设备ID * @param snName 设备昵称 * @return 是否成功 */ boolean updateSn(Long id, String snName); /** * 删除设备 * @param sn 设备序列号 * @return 是否成功 */ boolean deleteSn(String sn); boolean deviceRefresh(String sn); /** * 截图 * @param sn 序列号 * @return 是否推送成功 */ boolean screenSnapshot(String sn); /** * 远程拍照 * * @param sn 设备序列号 * @param camera 摄像头类型(0后置摄像头,1前置摄像头) * @return 是否推送成功 */ boolean takePhoto(String sn, int camera); boolean deviceReboot(String sn); boolean deviceShutdown(String sn); boolean deviceLocate(String sn); /** * 恢复出厂设置 * @param sn 序列号 * @return 是否推送成功 */ boolean restore(String sn); boolean setDeviceDeveloper(String sn); /** * 文件传输(家属端发起,通知设备进入文件传输模式) */ boolean fileTransfer(String sn); /** * 短信同步(通知设备上传短信记录) */ boolean msgSync(String sn); /** * 清理(通知设备清理缓存/垃圾文件) */ boolean clean(String sn); /** * 屏幕镜像(通知设备开启屏幕镜像/投屏) */ boolean mirror(String sn); /** * 屏幕锁定(通知设备锁定屏幕) */ boolean screenLock(String sn); /** * 解除设备绑定(管理员端发起) *

* 清除设备表 {@code sys_sn.snMobile} 的绑定手机号,并下发推送通知设备端 * 在本地标记解绑状态,避免设备下次上报手机号时重新建立绑定。 * * @param sn 设备序列号 * @return 是否成功 */ boolean unbindMobile(String sn); /** * 打开应用 * * @param sn 设备序列号 * @param packageName 应用包名 * @return 是否推送成功 */ boolean launchApp(String sn, String packageName); /** * 清除应用数据 * * @param sn 设备序列号 * @param packageName 应用包名 * @return 是否推送成功 */ boolean clearAppData(String sn, String packageName); /** * 卸载应用 * * @param sn 设备序列号 * @param packageName 应用包名 * @return 是否推送成功 */ boolean uninstallApp(String sn, String packageName); /** * 停止应用(强制停止运行中的进程) * * @param sn 设备序列号 * @param packageName 应用包名 * @return 是否推送成功 */ boolean stopApp(String sn, String packageName); /** * 新增开发者选项配置 * * @param sn 设备序列号 * @param developerOptions 开发者选项开关(0关闭,1开启) * @return 是否成功 */ boolean addDeveloperConfig(String sn, Integer developerOptions); /** * 删除开发者选项配置 * * @param sn 设备序列号 * @return 是否成功 */ boolean deleteDeveloperConfig(String sn); }