CameraApiController.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  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. $parent_id = Input::get('parent_id', '');
  45. $camera_id = Input::get('camera_id', '');
  46. if (!$parent_id || !$camera_id) {
  47. return self::errorResponse(ApiEnum::STATUS_CODE_EMPTY);
  48. }
  49. //判断是否使用海康视频服务器
  50. $is_hak = MineListExt::where('mine_id', $parent_id)->value('is_hak');
  51. if ($is_hak) {
  52. $result = CameraServices::getHaiKangCameraUrl($parent_id, $camera_id);
  53. } else {
  54. $result = CameraServices::getCameraUrlByCameraId($camera_id);
  55. }
  56. return self::successResponse($result);
  57. }
  58. /**
  59. * 作者: qiuzijian
  60. * 注释: 停止摄像头推流
  61. * @return \App\Http\Controllers\Api\JsonResponse
  62. */
  63. public function stopCamerasStream()
  64. {
  65. $camera_id = Input::get('camera_id', '');
  66. $result = CameraServices::stopCameraStream($camera_id);
  67. return self::successResponse($result);
  68. }
  69. }