feat(device): 新增远程拍照摄像头类型及家属端设备控制指令
- 拍照接口支持指定前置/后置摄像头,截图记录增加摄像头类型字段 - 新增文件传输、短信同步、清理、屏幕镜像、屏幕锁定指令下发
This commit is contained in:
@@ -147,17 +147,21 @@ public class ClientDeviceOpsController {
|
||||
@PreAuthorize("isAuthenticated()")
|
||||
@PostMapping("/take_photo")
|
||||
public Result<?> takePhoto(
|
||||
@Parameter(description = "设备序列号") @RequestParam("sn") String sn
|
||||
@Parameter(description = "设备序列号") @RequestParam("sn") String sn,
|
||||
@Parameter(description = "摄像头类型(0=后置摄像头,1=前置摄像头)") @RequestParam("camera") int camera
|
||||
) {
|
||||
if (camera != 0 && camera != 1) {
|
||||
return Result.failed("摄像头类型非法,仅支持 0(后置)或 1(前置)");
|
||||
}
|
||||
try {
|
||||
checkBound(sn);
|
||||
boolean result = deviceService.takePhoto(sn);
|
||||
boolean result = deviceService.takePhoto(sn, camera);
|
||||
return Result.judge(result);
|
||||
} catch (BusinessException be) {
|
||||
return Result.failed(be.getMessage());
|
||||
} catch (Exception e) {
|
||||
log.error("remoteCamera error, sn: {}", sn, e);
|
||||
return Result.failed("设备截图失败: " + e.getMessage());
|
||||
log.error("takePhoto error, sn: {}, camera: {}", sn, camera, e);
|
||||
return Result.failed("远程拍照失败: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -436,4 +440,94 @@ public class ClientDeviceOpsController {
|
||||
return Result.failed("停止应用失败: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@Operation(summary = "文件传输(家属端)")
|
||||
@PreAuthorize("isAuthenticated()")
|
||||
@PostMapping("/file_transfer")
|
||||
public Result<?> fileTransfer(
|
||||
@Parameter(description = "设备序列号") @RequestParam("sn") String sn
|
||||
) {
|
||||
try {
|
||||
checkBound(sn);
|
||||
boolean result = deviceService.fileTransfer(sn);
|
||||
return Result.judge(result);
|
||||
} catch (BusinessException be) {
|
||||
return Result.failed(be.getMessage());
|
||||
} catch (Exception e) {
|
||||
log.error("fileTransfer error, sn: {}", sn, e);
|
||||
return Result.failed("文件传输指令下发失败: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@Operation(summary = "短信同步(家属端)")
|
||||
@PreAuthorize("isAuthenticated()")
|
||||
@PostMapping("/msg_sync")
|
||||
public Result<?> msgSync(
|
||||
@Parameter(description = "设备序列号") @RequestParam("sn") String sn
|
||||
) {
|
||||
try {
|
||||
checkBound(sn);
|
||||
boolean result = deviceService.msgSync(sn);
|
||||
return Result.judge(result);
|
||||
} catch (BusinessException be) {
|
||||
return Result.failed(be.getMessage());
|
||||
} catch (Exception e) {
|
||||
log.error("msgSync error, sn: {}", sn, e);
|
||||
return Result.failed("短信同步指令下发失败: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@Operation(summary = "清理(家属端)")
|
||||
@PreAuthorize("isAuthenticated()")
|
||||
@PostMapping("/clean")
|
||||
public Result<?> clean(
|
||||
@Parameter(description = "设备序列号") @RequestParam("sn") String sn
|
||||
) {
|
||||
try {
|
||||
checkBound(sn);
|
||||
boolean result = deviceService.clean(sn);
|
||||
return Result.judge(result);
|
||||
} catch (BusinessException be) {
|
||||
return Result.failed(be.getMessage());
|
||||
} catch (Exception e) {
|
||||
log.error("clean error, sn: {}", sn, e);
|
||||
return Result.failed("清理指令下发失败: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@Operation(summary = "屏幕镜像(家属端)")
|
||||
@PreAuthorize("isAuthenticated()")
|
||||
@PostMapping("/mirror")
|
||||
public Result<?> mirror(
|
||||
@Parameter(description = "设备序列号") @RequestParam("sn") String sn
|
||||
) {
|
||||
try {
|
||||
checkBound(sn);
|
||||
boolean result = deviceService.mirror(sn);
|
||||
return Result.judge(result);
|
||||
} catch (BusinessException be) {
|
||||
return Result.failed(be.getMessage());
|
||||
} catch (Exception e) {
|
||||
log.error("mirror error, sn: {}", sn, e);
|
||||
return Result.failed("屏幕镜像指令下发失败: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@Operation(summary = "屏幕锁定(家属端)")
|
||||
@PreAuthorize("isAuthenticated()")
|
||||
@PostMapping("/screen_lock")
|
||||
public Result<?> screenLock(
|
||||
@Parameter(description = "设备序列号") @RequestParam("sn") String sn
|
||||
) {
|
||||
try {
|
||||
checkBound(sn);
|
||||
boolean result = deviceService.screenLock(sn);
|
||||
return Result.judge(result);
|
||||
} catch (BusinessException be) {
|
||||
return Result.failed(be.getMessage());
|
||||
} catch (Exception e) {
|
||||
log.error("screenLock error, sn: {}", sn, e);
|
||||
return Result.failed("屏幕锁定指令下发失败: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user