返回
使用 Java-Spring Boot 集成海康威视明眸门禁:布防、报警、回调、获取事件、查询用户信息
后端
2022-12-12 06:15:05
使用 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
接口,即可看到返回结果。
常见问题解答
- 如何设置海康库的依赖?
- 在
pom.xml
文件中添加以下依赖:
- 在
<dependency>
<groupId>com.hikvision</groupId>
<artifactId>hcnetsdk</artifactId>
<version>6.5.0-alpha</version>
</dependency>
-
如何布防?
- 参见
HelloController
中的arm
方法。
- 参见
-
如何报警?
- 参见
HelloController
中的alarm
方法。
- 参见
-
如何获取事件?
- 参见
HelloController
中的getEvents
方法。
- 参见
-
如何查询用户信息?
- 参见
HelloController
中的getUserInfo
方法。
- 参见