guolei19850528/laravel-hikvision

这是一个基于 Laravel 框架的海康威视设备服务扩展,用于集成海康威视设备服务。

Installs: 0

Dependents: 0

Suggesters: 0

Security: 0

pkg:composer/guolei19850528/laravel-hikvision

v1.0.2 2026-01-05 03:36 UTC

This package is not auto-updated.

Last update: 2026-01-06 01:49:42 UTC


README

Laravel 框架的海康威视ISC智能安防云API服务扩展,提供了简洁易用的接口来与海康威视ISC平台进行交互。

功能特性

  • ✅ 支持海康威视ISC平台API调用
  • ✅ 自动生成API签名
  • ✅ 支持多ISC实例配置
  • ✅ 简洁易用的接口设计
  • ✅ 灵活的响应处理机制
  • ✅ 支持自定义请求参数和选项

安装

使用 Composer 安装扩展:

composer require guolei19850528/laravel-hikvision

配置

  1. 发布配置文件:
php artisan vendor:publish --provider="Guolei19850528\Laravel\Hikvision\ServiceProvider"
  1. .env 文件中配置海康威视ISC参数(可选):
# 海康威视ISC配置示例
HIKVISION_ISC_HOST=https://your-isc-server:443
HIKVISION_ISC_AK=your-access-key
HIKVISION_ISC_SK=your-secret-key
  1. 编辑配置文件 config/guolei19850528-laravel-hikvision-config.php
return [
    'isc' => [
        'default' => [
            'host' => env('HIKVISION_ISC_HOST', 'your host'),
            'ak' => env('HIKVISION_ISC_AK', 'your ak'),
            'sk' => env('HIKVISION_ISC_SK', 'your sk'),
        ],
        // 可添加更多ISC实例配置
    ]
];

使用方法

基本使用

use Guolei19850528\Laravel\Hikvision\ISC\Api;

// 初始化API客户端
$api = new Api(
    'https://your-isc-server:443',
    'your-access-key',
    'your-secret-key'
);

// 调用ISC API(示例:查询设备列表)
$devices = $api->request(
    'GET',
    '/api/v1/devices',
    [],
    [],
    ['pageNo' => 1, 'pageSize' => 10]
);

// 处理响应数据
if ($devices) {
    foreach ($devices as $device) {
        echo $device['deviceName'] . PHP_EOL;
    }
}

使用配置实例

use Guolei19850528\Laravel\Hikvision\ISC\Api;
use Illuminate\Support\Facades\Config;

// 从配置文件获取ISC参数
$config = Config::get('guolei19850528-laravel-hikvision-config.isc.default');

// 初始化API客户端
$api = new Api(
    $config['host'],
    $config['ak'],
    $config['sk']
);

// 调用ISC API
$result = $api->request('POST', '/api/v1/events/subscribe', [], [
    'eventTypes' => ['deviceOffline', 'deviceOnline'],
    'subscribeCallback' => 'https://your-callback-url/callback'
]);

自定义响应处理

// 自定义响应处理函数
$response = $api->request(
    'GET',
    '/api/v1/devices',
    responseHandler: function ($response) {
        if ($response->ok()) {
            $data = $response->json();
            // 自定义处理逻辑
            return [
                'success' => true,
                'total' => $data['total'],
                'devices' => $data['data']
            ];
        }
        return [
            'success' => false,
            'message' => $response->status()
        ];
    }
);

API 文档

Api 类构造函数

public function __construct(string $host = '', string $ak = '', string $sk = '')
  • $host: ISC平台服务器地址
  • $ak: 访问密钥(Access Key)
  • $sk: 安全密钥(Secret Key)

request 方法

public function request(
    string|null   $method = 'GET',
    string|null   $url = '',
    array|null    $urlParameters = [],
    array|null    $data = [],
    array|null    $query = [],
    array|null    $headers = [],
    array|null    $options = [],
    \Closure|null $responseHandler = null,
    array|null    $validationRules = ['code' => 'required|integer|size:0']
): mixed
  • $method: HTTP请求方法(默认:GET)
  • $url: API路径
  • $urlParameters: URL路径参数
  • $data: 请求体数据(JSON格式)
  • $query: URL查询参数
  • $headers: 自定义请求头
  • $options: Guzzle请求选项
  • $responseHandler: 自定义响应处理函数
  • $validationRules: 响应验证规则

许可证

MIT License

作者