CameraApiController.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: qiuzijian
  5. * Date: 2021-04-25
  6. * Time: 09:53
  7. */
  8. namespace Modules\Camera\Http\Controllers\Api;
  9. use App\Enum\ApiEnum;
  10. use App\Http\Controllers\Api\BaseController;
  11. use Illuminate\Support\Facades\Input;
  12. use Modules\Camera\Services\CameraServices;
  13. use Modules\Mine\Entities\MineListExt;
  14. class CameraApiController extends BaseController
  15. {
  16. /**
  17. * 作者: qiuzijian
  18. * 注释: 获取摄像头列表
  19. * @return \App\Http\Controllers\Api\JsonResponse
  20. */
  21. public function getCamerasList()
  22. {
  23. $parent_id = Input::get('parent_id', '');
  24. $mine_id = Input::get('mine_id', '');
  25. if (!$parent_id || !$mine_id) {
  26. return self::errorResponse(ApiEnum::STATUS_CODE_EMPTY);
  27. }
  28. //判断是否使用海康视频服务器
  29. $is_hak = MineListExt::where('mine_id', $parent_id)->value('is_hak');
  30. if ($is_hak) {
  31. $result = CameraServices::getHaiKangCamera($parent_id, $mine_id);
  32. } else {
  33. $result = CameraServices::getCameraListByMineId($mine_id);
  34. }
  35. return self::successResponse($result);
  36. }
  37. /**
  38. * 作者: qiuzijian
  39. * 注释: 获取摄像头播放地址
  40. * @return \App\Http\Controllers\Api\JsonResponse
  41. */
  42. public function getCamerasUrl()
  43. {
  44. $camera_id = Input::get('camera_id', '');
  45. if (!$camera_id) {
  46. return self::errorResponse(ApiEnum::STATUS_CODE_EMPTY);
  47. }
  48. $result = CameraServices::getCameraUrlByCameraId($camera_id);
  49. return self::successResponse($result);
  50. }
  51. /**
  52. * 作者: qiuzijian
  53. * 注释: 停止摄像头推流
  54. * @return \App\Http\Controllers\Api\JsonResponse
  55. */
  56. public function stopCamerasStream()
  57. {
  58. $camera_id = Input::get('camera_id', '');
  59. $result = CameraServices::stopCameraStream($camera_id);
  60. return self::successResponse($result);
  61. }
  62. }