device = [ 'protocol' => 'http', 'ip' => '192.168.66.64', 'port' => '', 'username' => 'admin', 'password' => 'Xingtong1124', ]; //$this->device = $device; } public function getLight() { $url = $this->getUri() . $this->MULTI_PARKING_SPACES_LAMP; $query = [ 'format' => $this->format, 'security' => 1, 'iv' => md5(rand('000000', '999999')) ]; $url .= '?' . http_build_query($query); $response = Http::timeout(3) ->withoutVerifying() ->withDigestAuth($this->device['username'], $this->device['password']) ->get($url); //dd($response->json(), $response->body(), $response->object(), $response); try { $response = $response->json(); if ($response->getStatusCode() == '200') { } } catch (\Exception $e) { throw $e; } } // 组合 设备ip地址 protected function getUri() { $protocol = $this->device['protocol']; $ip = $this->device['ip']; $port = $this->device['port'] ?? ''; $uri = $protocol . '://' . $ip; if ($port) { $uri .= ':' . $port; } return $uri; } public function getBody($color_occupy, $color_vacant, $is_flicker) { $is_flicker = (bool)$is_flicker; $body = [ "lampType" => "internal", "VehicleNumber" => [ "VehicleChannelNum" => 1, "VehicleChannelList" => [ [ "LampSoure" => "internal", // unrelated "VehicleNoExist" => [ "enabled" => true, "flashEnabled" => $is_flicker, "lampColor" => $color_vacant ], "VehicleExist" => [ "enabled" => true, "flashEnabled" => $is_flicker, "lampColor" => $color_occupy ] ] ] ], "replaceLampCtrl" => [ "enabled" => false, "ipV4Address" => "0.0.0.0", "portNo" => 80, "username" => "admin", "password" => "dddf4589f3430f7b7395bb9d35e05b27" ], "lampStatusArr" => [ [ "name" => "内置灯", "value" => "相机自控", "\$\$hashKey" => "062" ], [ "name" => "外置灯1", "value" => "相机自控", "\$\$hashKey" => "063" ], [ "name" => "外置灯2", "value" => "相机自控", "\$\$hashKey" => "064" ], [ "name" => "外置灯3", "value" => "相机自控", "\$\$hashKey" => "065" ] ] ]; return $body; } public function updatelight($body) { /*$body = [ "lampType" => "internal", "VehicleNumber" => [ "VehicleChannelNum" => 1, "VehicleChannelList" => [ [ "LampSoure" => "internal", // unrelated "VehicleNoExist" => [ "enabled" => true, "flashEnabled" => false, "lampColor" => "close" ], "VehicleExist" => [ "enabled" => true, "flashEnabled" => false, "lampColor" => "close" ] ] ] ], "replaceLampCtrl" => [ "enabled" => false, "ipV4Address" => "0.0.0.0", "portNo" => 80, "username" => "admin", "password" => "dddf4589f3430f7b7395bb9d35e05b27" ], "lampStatusArr" => [ [ "name" => "内置灯", "value" => "相机自控", "\$\$hashKey" => "062" ], [ "name" => "外置灯1", "value" => "相机自控", "\$\$hashKey" => "063" ], [ "name" => "外置灯2", "value" => "相机自控", "\$\$hashKey" => "064" ], [ "name" => "外置灯3", "value" => "相机自控", "\$\$hashKey" => "065" ] ] ];*/ $url = $this->getUri() . $this->MULTI_PARKING_SPACES_LAMP; $query = [ 'format' => $this->format, 'security' => 1, 'iv' => md5(rand('000000', '999999')) ]; $url .= '?' . http_build_query($query); $response = Http::timeout(3) ->withoutVerifying() ->withDigestAuth($this->device['username'], $this->device['password']) ->put($url, $body); //dd($response->json(), $response->body(), $response->object(), $response); } }