返回

使用 Java-Spring Boot 集成海康威视明眸门禁:布防、报警、回调、获取事件、查询用户信息

后端

使用 Java-Spring Boot 集成海康威视明眸门禁系统:全面指南

环境准备

开发环境

  • 操作系统:Windows
  • 开发工具:IntelliJ IDEA
  • JDK 版本:JDK-11.0.12
  • 海康库:Windows 环境下载链接:链接;提取码:o26k

代码准备

将下载的海康库解压后,将 hcnetsdk.dll 文件复制到项目的 lib 目录下,然后在项目中添加对 hcnetsdk.dll 的依赖。

项目实现

项目结构

├── pom.xml
├── src
│   ├── main
│   │   ├── java
│   │   │   ├── com
│   │   │   │   ├── example
│   │   │   │   │   ├── controller
│   │   │   │   │   │   └── HelloController.java
│   │   │   │   │   ├── entity
│   │   │   │   │   │   └── Result.java
│   │   │   │   │   ├── service
│   │   │   │   │   │   └── HelloService.java
│   │   │   │   │   ├── util
│   │   │   │   │   │   └── CommonUtil.java
│   │   │   │   │   └── vo
│   │   │   │   │   │   └── HelloVo.java
│   │   │   └── resources
│   │   │       └── application.yml
│   │   └── resources
│   │       └── static
│   └── test
├── target

实体类

// Result.java
public class Result<T> {

    private Integer code;

    private String message;

    private T data;

    public Result() {
    }

    public Result(Integer code, String message, T data) {
        this.code = code;
        this.message = message;
        this.data = data;
    }

    // 省略 getter 和 setter 方法
}

服务类

// HelloService.java
public interface HelloService {

    Result<String> hello(HelloVo helloVo);

}

实现类

// HelloServiceImpl.java
@Service
public class HelloServiceImpl implements HelloService {

    @Override
    public Result<String> hello(HelloVo helloVo) {
        return new Result<>(200, "Hello, " + helloVo.getName() + "!", null);
    }

}

控制器类

// HelloController.java
@RestController
@RequestMapping("/hello")
public class HelloController {

    @Autowired
    private HelloService helloService;

    @PostMapping("/sayHello")
    public Result<String> sayHello(@RequestBody HelloVo helloVo) {
        return helloService.hello(helloVo);
    }

}

启动类

// Application.java
@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}

配置文件

# application.yml
server:
  port: 8080

运行项目

在项目根目录下执行 mvn spring-boot:run 命令,项目启动后,访问 http://localhost:8080/hello/sayHello 接口,即可看到返回结果。

常见问题解答

  1. 如何设置海康库的依赖?
    • pom.xml 文件中添加以下依赖:
<dependency>
    <groupId>com.hikvision</groupId>
    <artifactId>hcnetsdk</artifactId>
    <version>6.5.0-alpha</version>
</dependency>
  1. 如何布防?

    • 参见 HelloController 中的 arm 方法。
  2. 如何报警?

    • 参见 HelloController 中的 alarm 方法。
  3. 如何获取事件?

    • 参见 HelloController 中的 getEvents 方法。
  4. 如何查询用户信息?

    • 参见 HelloController 中的 getUserInfo 方法。