Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
H
haikang-client
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
杨立
haikang-client
Commits
d31675c6
提交
d31675c6
authored
7月 18, 2022
作者:
wangqiang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
问题修改
上级
273c44ac
隐藏空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
43 行增加
和
39 行删除
+43
-39
PersistentFileServiceImpl.java
...com/priusis/client/service/PersistentFileServiceImpl.java
+3
-2
HwPortController.h
apq-pc-common/dact/HwPortController.h
+8
-6
HwPortController.dll
apq-pc-common/dact/x32/HwPortController.dll
+0
-0
HwPortControllerDto.java
...on/src/main/java/com/priusis/dto/HwPortControllerDto.java
+3
-2
DeviceChangeCallbackImpl.java
...com/priusis/service/control/DeviceChangeCallbackImpl.java
+26
-25
IHwPortController.java
...on/src/main/java/com/priusis/utils/IHwPortController.java
+1
-2
apq-client-x32.iss
tools/install-package/boot/apq-client/apq-client-x32.iss
+2
-2
HwPortController.dll
tools/install-package/dact/x32/HwPortController.dll
+0
-0
没有找到文件。
apq-pc-client/src/main/java/com/priusis/client/service/PersistentFileServiceImpl.java
浏览文件 @
d31675c6
...
...
@@ -41,9 +41,10 @@ public class PersistentFileServiceImpl implements PersistentFileService {
String
path
=
defaultPath
;
if
(
Platform
.
isWindows
())
{
path
=
ApqClientApplication
.
class
.
getResource
(
"/"
).
getPath
()
+
relatePath
;
//
if (path.contains("BOOT-INF")) {
if
(
path
.
contains
(
"BOOT-INF"
))
{
// path = System.getProperty("user.dir") + relatePath;
// }
path
=
System
.
getProperty
(
"user.dir"
).
substring
(
0
,
3
)
+
relatePath
;
}
path
=
path
.
replaceFirst
(
"/"
,
""
);
//排除中文空格
path
=
path
.
replaceAll
(
"%20"
,
" "
);
//排除中文空格
path
=
path
.
replaceAll
(
"/"
,
"\\\\"
);
//排除中文空格
...
...
apq-pc-common/dact/HwPortController.h
浏览文件 @
d31675c6
...
...
@@ -92,9 +92,10 @@ typedef enum
/*定义网速类设备ID(网络设备)枚举类型 */
typedef
enum
{
APQ_HWPORT_NET_DEVID_ETH_CARD
=
0
,
// 网口
//APQ_HWPORT_NET_DEVID_WIFI = 1, // WiFi <==> 网口
//APQ_HWPORT_NET_DEVID_CELLULAR = 2, // 4G + 5G <==> 网口
APQ_HWPORT_NET_DEVID_ETH_CARD
=
0
,
// 网口 ---有线网
APQ_HWPORT_NET_DEVID_WIFI
=
1
,
// 无线网wifi (WLAN)
APQ_HWPORT_NET_DEVID_CELLULAR
=
2
,
// 4G + 5G (移动网)
APQ_HWPORT_NET_DEVID_USB
=
3
,
//usb 转网口
APQ_HWPORT_NET_DEVID_MAX
,
/* 不使用 */
}
APQ_HWPORT_NET_DEVID_E
;
...
...
@@ -125,7 +126,7 @@ typedef enum
/******************************************************************************************************************************
* 调用流程举例:
*
*
* // 定义回调函数
* void device_change_cb_fn(int changeType, char *devInfoBuf)
* {
...
...
@@ -163,7 +164,7 @@ typedef enum
*
* // 清理资源
* APQ_HWPORT_Uninitialize()
*
*
******************************************************************************************************************************/
/*------- Function -------*/
...
...
@@ -272,7 +273,7 @@ HWPORTCONTROLLERDLL_API APQ_HWPORT_NET_PERM_E APQ_HWPORT_get_net_device_permit(I
*功 能:注册设备热插拔通知后,接收热插拔事件
*参 数:APQ_HWPORT_Register_Device_Notification
int changeType: 代表该设备状态,1代表插入,2代表拔出
char *devInfoBuf: 存放识别到的设备信息(易读信息文本,用
逗号区分:"设备描述","友好名称","总线已报告设备描述","提供商",
"class=Keyboard")
char *devInfoBuf: 存放识别到的设备信息(易读信息文本,用
;区分:"设备描述";"友好名称";"总线已报告设备描述";"提供商";
"class=Keyboard")
******************************************************************************************************************************/
typedef
void
(
*
P_DEVICE_CHANGE_CB
)(
int
changeType
,
char
*
devInfoBuf
);
...
...
@@ -333,3 +334,4 @@ HWPORTCONTROLLERDLL_API const int APQ_HWPORT_get_perm_id_by_str(IN APQ_HWPORT_DE
/*#ifdef __cplusplus
}
#endif*/
apq-pc-common/dact/x32/HwPortController.dll
浏览文件 @
d31675c6
No preview for this file type
apq-pc-common/src/main/java/com/priusis/dto/HwPortControllerDto.java
浏览文件 @
d31675c6
...
...
@@ -79,8 +79,9 @@ public class HwPortControllerDto {
// NET 1F/2T/3T-NS/4T-S-200 网口,4G/5G模块,无线WIFI区分不了 !!
NETWORK_PORT
(
0
,
"NET"
,
"网口"
),
MODULE_45G
(
0
,
"NET"
,
"4G/5G模块"
),
WIFI
(
0
,
"NET"
,
"无线WIFI"
),
WIFI
(
1
,
"NET"
,
"无线WIFI"
),
MODULE_45G
(
2
,
"NET"
,
"4G/5G模块"
),
USB_NETWORK
(
3
,
"NET"
,
"转接坞"
),
;
private
List
<
Integer
>
hwDeviceIds
;
...
...
apq-pc-common/src/main/java/com/priusis/service/control/DeviceChangeCallbackImpl.java
浏览文件 @
d31675c6
package
com
.
priusis
.
service
.
control
;
import
cn.hutool.core.util.StrUtil
;
import
com.priusis.job.ApqAntivirusJob
;
import
com.priusis.service.antivirus.AntivirusDoService
;
import
com.priusis.utils.USBCheck
;
import
com.sun.jna.Pointer
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.client.RestTemplate
;
...
...
@@ -43,33 +41,36 @@ public class DeviceChangeCallbackImpl implements IDeviceChangeCallback {
// 回调成功!changeType: 2, data: USB Composite Device;;Lenovo Traditional USB Keyboard;(标准 USB 主控制器);class=USB;
// 回调成功!changeType: 2, data: 符合 HID 标准的系统控制器;;;(标准系统设备);class=HIDClass;
// 回调成功!changeType: 2, data: 符合 HID 标准的用户控制设备;;;Microsoft;class=HIDClass;
String
classData
=
changeDataSplits
[
4
];
String
changeDataDesc
=
changeDataSplits
[
0
];
if
(
StrUtil
.
equalsIgnoreCase
(
"class=Keyboard"
,
classData
))
{
changeDataDesc
=
"键盘"
;
}
else
if
(
StrUtil
.
equalsIgnoreCase
(
"class=Mouse"
,
classData
))
{
changeDataDesc
=
"鼠标"
;
}
else
if
(
StrUtil
.
equalsIgnoreCase
(
"class=DiskDrive"
,
classData
))
{
changeDataDesc
=
"USB"
;
List
<
String
>
addUSBs
=
USBCheck
.
getAddUSB
();
if
(
null
!=
addUSBs
)
{
for
(
String
addUSB
:
addUSBs
)
{
antivirusDoService
.
doAntivirus
(
addUSB
+
":"
);
if
(
changeDataSplits
.
length
>=
5
)
{
String
classData
=
changeDataSplits
[
4
];
String
changeDataDesc
=
changeDataSplits
[
0
];
if
(
StrUtil
.
equalsIgnoreCase
(
"class=Keyboard"
,
classData
))
{
changeDataDesc
=
"键盘"
;
}
else
if
(
StrUtil
.
equalsIgnoreCase
(
"class=Mouse"
,
classData
))
{
changeDataDesc
=
"鼠标"
;
}
else
if
(
StrUtil
.
equalsIgnoreCase
(
"class=DiskDrive"
,
classData
))
{
changeDataDesc
=
"USB"
;
List
<
String
>
addUSBs
=
USBCheck
.
getAddUSB
();
if
(
null
!=
addUSBs
)
{
for
(
String
addUSB
:
addUSBs
)
{
antivirusDoService
.
doAntivirus
(
addUSB
+
":"
);
}
}
}
}
String
changeContent
=
String
.
format
(
"%s%s"
,
changeType
==
1
?
"插入"
:
"拔出"
,
changeDataDesc
);
String
changeContent
=
String
.
format
(
"%s%s"
,
changeType
==
1
?
"插入"
:
"拔出"
,
changeDataDesc
);
mapRequest
.
put
(
"changeContent"
,
changeContent
);
mapRequest
.
put
(
"changeRemark"
,
changeData
);
mapRequest
.
put
(
"deviceClass"
,
classData
.
split
(
"="
)[
1
]);
mapRequest
.
put
(
"changeContent"
,
changeContent
);
mapRequest
.
put
(
"changeRemark"
,
changeData
);
log
.
info
(
"存在硬件接口扫描告警,上报告警事件!changeContent: {}, changeRemark: {}"
,
changeContent
,
changeData
);
log
.
info
(
"存在硬件接口扫描告警,上报告警事件!changeContent: {}, changeRemark: {}"
,
changeContent
,
changeData
);
Map
eventMapRequest
=
new
HashMap
();
eventMapRequest
.
put
(
"requestId"
,
4
);
eventMapRequest
.
put
(
"methodName"
,
"control_dev_warning"
);
eventMapRequest
.
put
(
"params"
,
mapRequest
);
Map
map
=
restTemplate
.
postForObject
(
"http://localhost:8765/uplink_event/oc-client"
,
eventMapRequest
,
Map
.
class
);
log
.
info
(
"存在硬件接口扫描告警,上报告警事件: mapData:{}, ret:{}"
,
mapRequest
,
map
);
Map
eventMapRequest
=
new
HashMap
();
eventMapRequest
.
put
(
"requestId"
,
4
);
eventMapRequest
.
put
(
"methodName"
,
"control_dev_warning"
);
eventMapRequest
.
put
(
"params"
,
mapRequest
);
Map
map
=
restTemplate
.
postForObject
(
"http://localhost:8765/uplink_event/oc-client"
,
eventMapRequest
,
Map
.
class
);
log
.
info
(
"存在硬件接口扫描告警,上报告警事件: mapData:{}, ret:{}"
,
mapRequest
,
map
);
}
}
}
apq-pc-common/src/main/java/com/priusis/utils/IHwPortController.java
浏览文件 @
d31675c6
package
com
.
priusis
.
utils
;
import
cn.hutool.system.oshi.OshiUtil
;
import
com.sun.jna.Callback
;
import
com.sun.jna.Library
;
import
com.sun.jna.Native
;
import
com.sun.jna.Platform
;
import
lombok.Getter
;
...
...
@@ -317,6 +315,7 @@ public interface IHwPortController extends Library {
APQ_HWPORT_NET_DEVID_ETH_CARD
(
0
),
// 网口
//APQ_HWPORT_NET_DEVID_WIFI(1), // WiFi <==> 网口
//APQ_HWPORT_NET_DEVID_CELLULAR(2), // 4G + 5G <==> 网口
//APQ_HWPORT_NET_DEVID_USB(3), // usb 转网口
APQ_HWPORT_NET_DEVID_MAX
(-
1
)
/* 不使用 */
;
...
...
tools/install-package/boot/apq-client/apq-client-x32.iss
浏览文件 @
d31675c6
...
...
@@ -10,8 +10,8 @@
#define MyAppExeName "apq-client.exe"
; apq-iot-client
#define MyAppInstallPwd "2a96d11973c7caa1a72eb816d7db6d17"
; hk-remove2022
#define MyAppUnInstallPwd "5b559ab76c08f97b5bd6c3a852e44141"
; hk-remove2022
#define MyAppUnInstallPwd "5b559ab76c08f97b5bd6c3a852e44141"
[Setup]
; 注: AppId的值为单独标识该应用程序。
...
...
tools/install-package/dact/x32/HwPortController.dll
浏览文件 @
d31675c6
No preview for this file type
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论