diff --git a/casic-server/src/main/java/com/casic/missiles/config/HikLibConfig.java b/casic-server/src/main/java/com/casic/missiles/config/HikLibConfig.java new file mode 100644 index 0000000..be1b832 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/config/HikLibConfig.java @@ -0,0 +1,42 @@ +package com.casic.missiles.config; + +import com.casic.missiles.ptz.service.HCNetSDK; +import com.sun.jna.Native; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import java.io.File; + +/** + * @创建人 qianchengcheng + * @创建时间 2022/4/25 + * @描述 + */ +@Configuration +public class HikLibConfig { + + @Value("${casic.hiklib:-1}") + private String hikLibPath; + + private static HCNetSDK hcNetSDK; + + @Bean + public HCNetSDK initHkSDK() { + System.out.println("initHkSDK.getHklibPath=========>" + hikLibPath); + String os = System.getProperty("os.name"); + if (StringUtils.isNotEmpty(os) && os.toLowerCase().startsWith("windows")) { + if ("-1".equals(hikLibPath)) { + // 未配置海康库文件路径,且未打成jar包,读取工程中的库文件 + String path = (HikLibConfig.class.getResource("/").getPath()).replaceAll("%20", " ").substring(1).replace("/", + "\\"); + hikLibPath = path + "hiklib" + File.separator + "HCNetSDK.dll"; + } + } + hcNetSDK = (HCNetSDK) Native.loadLibrary(hikLibPath, HCNetSDK.class); + return hcNetSDK; + } +} + + diff --git a/casic-server/src/main/java/com/casic/missiles/config/HikLibConfig.java b/casic-server/src/main/java/com/casic/missiles/config/HikLibConfig.java new file mode 100644 index 0000000..be1b832 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/config/HikLibConfig.java @@ -0,0 +1,42 @@ +package com.casic.missiles.config; + +import com.casic.missiles.ptz.service.HCNetSDK; +import com.sun.jna.Native; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import java.io.File; + +/** + * @创建人 qianchengcheng + * @创建时间 2022/4/25 + * @描述 + */ +@Configuration +public class HikLibConfig { + + @Value("${casic.hiklib:-1}") + private String hikLibPath; + + private static HCNetSDK hcNetSDK; + + @Bean + public HCNetSDK initHkSDK() { + System.out.println("initHkSDK.getHklibPath=========>" + hikLibPath); + String os = System.getProperty("os.name"); + if (StringUtils.isNotEmpty(os) && os.toLowerCase().startsWith("windows")) { + if ("-1".equals(hikLibPath)) { + // 未配置海康库文件路径,且未打成jar包,读取工程中的库文件 + String path = (HikLibConfig.class.getResource("/").getPath()).replaceAll("%20", " ").substring(1).replace("/", + "\\"); + hikLibPath = path + "hiklib" + File.separator + "HCNetSDK.dll"; + } + } + hcNetSDK = (HCNetSDK) Native.loadLibrary(hikLibPath, HCNetSDK.class); + return hcNetSDK; + } +} + + diff --git a/casic-web/src/main/resources/config/application.yml b/casic-web/src/main/resources/config/application.yml index f5e8572..83d29ee 100644 --- a/casic-web/src/main/resources/config/application.yml +++ b/casic-web/src/main/resources/config/application.yml @@ -28,6 +28,7 @@ session-invalidate-time: 86400 #session失效时间(只在单机环境下生效,,多机环境在SpringSessionConfig类中配置) 单位:秒 session-validation-interval: 900 #多久检测一次失效的session(只在单机环境下生效) 单位:秒 no-login-urls: /user/login,/kaptcha,/config/baseConfig + hiklib: D:\casic\server\jar\casic-robot-inspection\casic-web-2.0.0\config\hiklib\HCNetSDK.dll config: export-path: D:\java\boot\guns-web-1.0.0-SNAPSHOT\export\ config-path: E:\Develop\IdeaProject\smartcity\casic-smartcity-dcms\casic-web\src\main\resources\config\ \ No newline at end of file