zjxpcyc 6 年之前
父節點
當前提交
aa0a6df695
共有 100 個檔案被更改,包括 4969 行新增662 行删除
  1. 29
    0
      .gitignore
  2. 358
    642
      .idea/workspace.xml
  3. 114
    0
      .mvn/wrapper/MavenWrapperDownloader.java
  4. 二進制
      .mvn/wrapper/maven-wrapper.jar
  5. 1
    0
      .mvn/wrapper/maven-wrapper.properties
  6. 74
    0
      bak/pom.xml
  7. 1
    0
      bak/setting.conf
  8. 5
    5
      bak/src/assembly/myassembly.xml
  9. 3
    0
      bak/src/main/java/META-INF/MANIFEST.MF
  10. 62
    0
      bak/src/main/java/com/huiju/welcome/hardware/App.java
  11. 6
    5
      bak/src/main/java/com/huiju/welcome/hardware/Camera.java
  12. 1
    1
      bak/src/main/java/com/huiju/welcome/hardware/Monitor.java
  13. 4296
    0
      bak/src/main/java/com/huiju/welcome/hardware/hik/HCNetSDK.java
  14. 1
    1
      bak/src/main/java/com/huiju/welcome/hardware/utils/Configer.java
  15. 1
    1
      bak/src/main/java/com/huiju/welcome/hardware/utils/Ping.java
  16. 1
    1
      bak/src/main/java/com/huiju/welcome/hardware/utils/Rand.java
  17. 15
    5
      bak/src/main/java/com/huiju/welcome/hardware/utils/Server.java
  18. 1
    1
      bak/src/main/java/com/huiju/welcome/hardware/utils/TinyLog.java
  19. 0
    0
      bak/src/main/resources/libs/examples.jar
  20. 0
    0
      bak/target/classes/com/huiju/welcome/hardware/Camera.class
  21. 二進制
      bak/target/classes/com/huiju/welcome/hardware/Main.class
  22. 0
    0
      bak/target/classes/com/huiju/welcome/hardware/Monitor.class
  23. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/GDI32.class
  24. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$BYTE_ARRAY.class
  25. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$CAPTURE_MODE.class
  26. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$CARDRIGHTPLAN.class
  27. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$DISPLAY_MODE.class
  28. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FColGlobalDataCallBack.class
  29. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FColLocalDataCallBack.class
  30. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FDrawFun.class
  31. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FExceptionCallBack.class
  32. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FJpegdataCallBack.class
  33. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FMSGCallBack.class
  34. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FMSGCallBack_V31.class
  35. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FMessCallBack.class
  36. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FMessCallBack_EX.class
  37. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FMessCallBack_NEW.class
  38. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FMessageCallBack.class
  39. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FPlayDataCallBack.class
  40. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FPostMessageCallBack.class
  41. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FRealDataCallBack_V30.class
  42. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FRemoteConfigCallback.class
  43. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FRowDataCallBack.class
  44. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FSerialDataCallBack.class
  45. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FStdDataCallBack.class
  46. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FVoiceDataCallBack.class
  47. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FVoiceDataCallBack2.class
  48. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FVoiceDataCallBack_MR.class
  49. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FVoiceDataCallBack_MR_V30.class
  50. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FVoiceDataCallBack_V30.class
  51. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$GpsDataParamUion.class
  52. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVRRECEIVER.class
  53. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_ACS_ALARM_INFO.class
  54. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_ACS_EVENT_INFO.class
  55. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_ADDIT_POSITION.class
  56. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_AID_ALARM_V41.class
  57. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_AID_INFO.class
  58. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_ALARMER.class
  59. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_ALARMINCFG.class
  60. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_ALARMINCFG_V30.class
  61. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_ALARMINFO.class
  62. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_ALARMINFO_EX.class
  63. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_ALARMINFO_V30.class
  64. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_ALARMINFO_V40.class
  65. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_ALARMOUTCFG.class
  66. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_ALARMOUTCFG_V30.class
  67. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_ALARMOUTSTATUS.class
  68. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_ALARMOUTSTATUS_V30.class
  69. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_ALARM_ISAPI_INFO.class
  70. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_ALARM_ISAPI_PICDATA.class
  71. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_ALRAM_FIXED_HEADER.class
  72. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_AREAINFOCFG.class
  73. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_AUXOUTCFG.class
  74. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_CARDINFO.class
  75. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_CARD_CFG.class
  76. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_CARD_CFG_COND.class
  77. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_CARD_CFG_SEND_DATA.class
  78. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_CHANNELSTATE.class
  79. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_CHANNELSTATE_V30.class
  80. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_CHANNEL_GROUP.class
  81. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_CLIENTINFO.class
  82. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_COLOR.class
  83. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_COMPRESSIONCFG.class
  84. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_COMPRESSIONCFG_EX.class
  85. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_COMPRESSIONCFG_NEW.class
  86. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_COMPRESSIONCFG_V30.class
  87. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_COMPRESSION_AUDIO.class
  88. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_COMPRESSION_INFO.class
  89. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_COMPRESSION_INFO_EX.class
  90. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_COMPRESSION_INFO_V30.class
  91. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_CRUISE_PARA.class
  92. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_CRUISE_POINT.class
  93. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_CRUISE_RET.class
  94. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_DATE.class
  95. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_DDNS.class
  96. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_DDNSPARA.class
  97. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_DDNSPARA_EX.class
  98. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_DDNSPARA_V30.class
  99. 二進制
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_DECCFG.class
  100. 0
    0
      bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_DECCHANINFO.class

+ 29
- 0
.gitignore 查看文件

@@ -0,0 +1,29 @@
1
+HELP.md
2
+/target/
3
+!.mvn/wrapper/maven-wrapper.jar
4
+
5
+### STS ###
6
+.apt_generated
7
+.classpath
8
+.factorypath
9
+.project
10
+.settings
11
+.springBeans
12
+.sts4-cache
13
+
14
+### IntelliJ IDEA ###
15
+.idea
16
+*.iws
17
+*.iml
18
+*.ipr
19
+
20
+### NetBeans ###
21
+/nbproject/private/
22
+/nbbuild/
23
+/dist/
24
+/nbdist/
25
+/.nb-gradle/
26
+/build/
27
+
28
+### VS Code ###
29
+.vscode/

+ 358
- 642
.idea/workspace.xml
文件差異過大導致無法顯示
查看文件


+ 114
- 0
.mvn/wrapper/MavenWrapperDownloader.java 查看文件

@@ -0,0 +1,114 @@
1
+/*
2
+Licensed to the Apache Software Foundation (ASF) under one
3
+or more contributor license agreements.  See the NOTICE file
4
+distributed with this work for additional information
5
+regarding copyright ownership.  The ASF licenses this file
6
+to you under the Apache License, Version 2.0 (the
7
+"License"); you may not use this file except in compliance
8
+with the License.  You may obtain a copy of the License at
9
+
10
+  https://www.apache.org/licenses/LICENSE-2.0
11
+
12
+Unless required by applicable law or agreed to in writing,
13
+software distributed under the License is distributed on an
14
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
+KIND, either express or implied.  See the License for the
16
+specific language governing permissions and limitations
17
+under the License.
18
+*/
19
+
20
+import java.io.File;
21
+import java.io.FileInputStream;
22
+import java.io.FileOutputStream;
23
+import java.io.IOException;
24
+import java.net.URL;
25
+import java.nio.channels.Channels;
26
+import java.nio.channels.ReadableByteChannel;
27
+import java.util.Properties;
28
+
29
+public class MavenWrapperDownloader {
30
+
31
+    /**
32
+     * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
33
+     */
34
+    private static final String DEFAULT_DOWNLOAD_URL =
35
+            "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.2/maven-wrapper-0.4.2.jar";
36
+
37
+    /**
38
+     * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
39
+     * use instead of the default one.
40
+     */
41
+    private static final String MAVEN_WRAPPER_PROPERTIES_PATH =
42
+            ".mvn/wrapper/maven-wrapper.properties";
43
+
44
+    /**
45
+     * Path where the maven-wrapper.jar will be saved to.
46
+     */
47
+    private static final String MAVEN_WRAPPER_JAR_PATH =
48
+            ".mvn/wrapper/maven-wrapper.jar";
49
+
50
+    /**
51
+     * Name of the property which should be used to override the default download url for the wrapper.
52
+     */
53
+    private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl";
54
+
55
+    public static void main(String args[]) {
56
+        System.out.println("- Downloader started");
57
+        File baseDirectory = new File(args[0]);
58
+        System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath());
59
+
60
+        // If the maven-wrapper.properties exists, read it and check if it contains a custom
61
+        // wrapperUrl parameter.
62
+        File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH);
63
+        String url = DEFAULT_DOWNLOAD_URL;
64
+        if(mavenWrapperPropertyFile.exists()) {
65
+            FileInputStream mavenWrapperPropertyFileInputStream = null;
66
+            try {
67
+                mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile);
68
+                Properties mavenWrapperProperties = new Properties();
69
+                mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream);
70
+                url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url);
71
+            } catch (IOException e) {
72
+                System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'");
73
+            } finally {
74
+                try {
75
+                    if(mavenWrapperPropertyFileInputStream != null) {
76
+                        mavenWrapperPropertyFileInputStream.close();
77
+                    }
78
+                } catch (IOException e) {
79
+                    // Ignore ...
80
+                }
81
+            }
82
+        }
83
+        System.out.println("- Downloading from: : " + url);
84
+
85
+        File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH);
86
+        if(!outputFile.getParentFile().exists()) {
87
+            if(!outputFile.getParentFile().mkdirs()) {
88
+                System.out.println(
89
+                        "- ERROR creating output direcrory '" + outputFile.getParentFile().getAbsolutePath() + "'");
90
+            }
91
+        }
92
+        System.out.println("- Downloading to: " + outputFile.getAbsolutePath());
93
+        try {
94
+            downloadFileFromURL(url, outputFile);
95
+            System.out.println("Done");
96
+            System.exit(0);
97
+        } catch (Throwable e) {
98
+            System.out.println("- Error downloading");
99
+            e.printStackTrace();
100
+            System.exit(1);
101
+        }
102
+    }
103
+
104
+    private static void downloadFileFromURL(String urlString, File destination) throws Exception {
105
+        URL website = new URL(urlString);
106
+        ReadableByteChannel rbc;
107
+        rbc = Channels.newChannel(website.openStream());
108
+        FileOutputStream fos = new FileOutputStream(destination);
109
+        fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
110
+        fos.close();
111
+        rbc.close();
112
+    }
113
+
114
+}

二進制
.mvn/wrapper/maven-wrapper.jar 查看文件


+ 1
- 0
.mvn/wrapper/maven-wrapper.properties 查看文件

@@ -0,0 +1 @@
1
+distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip

+ 74
- 0
bak/pom.xml 查看文件

@@ -0,0 +1,74 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project xmlns="http://maven.apache.org/POM/4.0.0"
3
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5
+    <modelVersion>4.0.0</modelVersion>
6
+
7
+    <groupId>com.huiju.welcome</groupId>
8
+    <artifactId>hardware</artifactId>
9
+    <version>v3.0.0</version>
10
+    <properties>
11
+        <maven.compiler.source>1.8</maven.compiler.source>
12
+        <maven.compiler.target>1.8</maven.compiler.target>
13
+    </properties>
14
+    <build>
15
+        <plugins>
16
+            <plugin>
17
+                <groupId>org.apache.maven.plugins</groupId>
18
+                <artifactId>maven-assembly-plugin</artifactId>
19
+                <configuration>
20
+                    <archive>
21
+                        <manifest>
22
+                            <mainClass>com.huiju.welcome.hardware.App</mainClass>
23
+                        </manifest>
24
+                    </archive>
25
+                    <descriptors>
26
+                        <descriptor>src/assembly/myassembly.xml</descriptor>
27
+                    </descriptors>
28
+                </configuration>
29
+                <executions>
30
+                    <execution>
31
+                        <id>make-assembly</id>
32
+                        <phase>package</phase>
33
+                        <goals>
34
+                            <goal>single</goal>
35
+                        </goals>
36
+                    </execution>
37
+                </executions>
38
+            </plugin>
39
+        </plugins>
40
+    </build>
41
+
42
+    <dependencies>
43
+        <dependency>
44
+            <groupId>com.sun.jna</groupId>
45
+            <artifactId>examples</artifactId>
46
+            <scope>system</scope>
47
+            <version>1.0</version>
48
+            <systemPath>${project.basedir}\src\main\resources\libs\examples.jar</systemPath>
49
+        </dependency>
50
+        <dependency>
51
+            <groupId>com.sun.jna</groupId>
52
+            <artifactId>jna</artifactId>
53
+            <version>3.0.9</version>
54
+        </dependency>
55
+
56
+        <dependency>
57
+            <groupId>com.squareup.okhttp3</groupId>
58
+            <artifactId>okhttp</artifactId>
59
+            <version>3.14.0</version>
60
+        </dependency>
61
+
62
+        <dependency>
63
+            <groupId>org.nanohttpd</groupId> <!-- <groupId>com.nanohttpd</groupId> for 2.1.0 and earlier -->
64
+            <artifactId>nanohttpd</artifactId>
65
+            <version>2.2.0</version>
66
+        </dependency>
67
+
68
+        <dependency>
69
+            <groupId>com.alibaba</groupId>
70
+            <artifactId>fastjson</artifactId>
71
+            <version>1.2.56</version>
72
+        </dependency>
73
+    </dependencies>
74
+</project>

setting.conf → bak/setting.conf 查看文件

@@ -7,3 +7,4 @@ port = 8000
7 7
 api = 
8 8
 hiklib = E:\\JavaProjects\\welcome3.0\\hardware\\hklib
9 9
 server = http://127.0.0.1:8080
10
+listen = 8001

src/assembly/myassembly.xml → bak/src/assembly/myassembly.xml 查看文件

@@ -3,7 +3,7 @@
3 3
           xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
4 4
     <id>myassembly</id>
5 5
     <formats>
6
-        <format>jar</format>
6
+        <format>zip</format>
7 7
     </formats>
8 8
     <includeBaseDirectory>false</includeBaseDirectory>
9 9
     <fileSets>
@@ -14,10 +14,10 @@
14 14
                 <include>setting.conf</include>
15 15
             </includes>
16 16
         </fileSet>
17
-        <fileSet>
18
-            <directory>${project.build.directory}/libs</directory>
19
-            <outputDirectory>libs</outputDirectory>
20
-        </fileSet>
17
+        <!--<fileSet>-->
18
+            <!--<directory>${project.build.directory}/libs</directory>-->
19
+            <!--<outputDirectory>libs</outputDirectory>-->
20
+        <!--</fileSet>-->
21 21
     </fileSets>
22 22
     <dependencySets>
23 23
         <dependencySet>

+ 3
- 0
bak/src/main/java/META-INF/MANIFEST.MF 查看文件

@@ -0,0 +1,3 @@
1
+Manifest-Version: 1.0
2
+Main-Class: com.huiju.welcome.hardware.App
3
+

+ 62
- 0
bak/src/main/java/com/huiju/welcome/hardware/App.java 查看文件

@@ -0,0 +1,62 @@
1
+package com.huiju.welcome.hardware;
2
+
3
+import com.huiju.welcome.hardware.libs.Configer;
4
+import com.huiju.welcome.hardware.libs.TinyLog;
5
+import fi.iki.elonen.NanoHTTPD;
6
+
7
+import java.io.IOException;
8
+
9
+public class App extends NanoHTTPD {
10
+    static Camera camera;
11
+    static Monitor monitor = new Monitor();
12
+    static Configer conf = new Configer();
13
+
14
+    public App() throws IOException {
15
+        super(Integer.parseInt(conf.get("listen")));
16
+        start(NanoHTTPD.SOCKET_READ_TIMEOUT, false);
17
+        System.out.println("\nRunning! Point your browsers to http://localhost:"+conf.get("listen")+"/ \n");
18
+    }
19
+
20
+    public static void main(String[] args) {
21
+        TinyLog.info("开始读取配置文件...");
22
+
23
+        readConfiger("E:\\JavaProjects\\welcome3.0\\hardware\\setting.conf");
24
+
25
+        TinyLog.info("开始加载 dll 文件...");
26
+        camera = Camera.getInstance();
27
+        camera.setConfig(conf);
28
+        monitor.listen(camera, conf.get("ip"));
29
+
30
+        TinyLog.info("开始监听", conf.get("ip"));
31
+        monitor.start();
32
+`
33
+        TinyLog.info("开始进行接口初始化...");
34
+        camera.connect();
35
+
36
+        try {
37
+            new App();
38
+        } catch (IOException ioe) {
39
+            ioe.printStackTrace();
40
+            TinyLog.error("启动本服务失败: " + ioe.getMessage());
41
+        }
42
+    }
43
+
44
+    @Override
45
+    public Response serve(IHTTPSession session) {
46
+        String uri = session.getUri();
47
+        TinyLog.info( "接收到请求来自: " + uri);
48
+
49
+        // 暂时只开通一个功能
50
+        if (uri.indexOf("") == -1) {
51
+            return newFixedLengthResponse("");
52
+        }
53
+    }
54
+
55
+    private static void readConfiger(String f) {
56
+        String err = conf.read("E:\\JavaProjects\\welcome3.0\\hardware\\setting.conf");
57
+        if (null != err && !"".equals(err)) {
58
+            TinyLog.error("读取配置文件失败");
59
+            TinyLog.error(err);
60
+        }
61
+    }
62
+}

src/main/java/com/huiju/welcome/hardware/Camera.java → bak/src/main/java/com/huiju/welcome/hardware/Camera.java 查看文件

@@ -3,9 +3,9 @@ package com.huiju.welcome.hardware;
3 3
 import com.sun.jna.NativeLong;
4 4
 import com.sun.jna.Pointer;
5 5
 import com.huiju.welcome.hardware.hik.HCNetSDK;
6
-import com.huiju.welcome.hardware.utils.Configer;
7
-import com.huiju.welcome.hardware.utils.Server;
8
-import com.huiju.welcome.hardware.utils.TinyLog;
6
+import com.huiju.welcome.hardware.libs.Configer;
7
+import com.huiju.welcome.hardware.libs.Server;
8
+import com.huiju.welcome.hardware.libs.TinyLog;
9 9
 
10 10
 import java.io.UnsupportedEncodingException;
11 11
 import java.nio.ByteBuffer;
@@ -139,7 +139,8 @@ public class Camera implements HCNetSDK.FMSGCallBack_V31 {
139 139
                 result.put("similarity", String.valueOf(strFaceSnapMatch.fSimilarity));
140 140
                 result.put("score", String.valueOf(strFaceSnapMatch.struSnapInfo.byFaceScore & 0xFF));
141 141
                 result.put("sex", String.valueOf(strFaceSnapMatch.struSnapInfo.bySex & 0xFF));
142
-                result.put("avatar", avatar);
142
+                result.put("snapshot", avatar);
143
+                result.put("deviceId", deviceID);
143 144
 
144 145
                 TinyLog.info("以下为本次比对结果:");
145 146
                 TinyLog.info("比对结果[0-保留,1-比对成功,2-比对失败]:", strFaceSnapMatch.byContrastStatus);
@@ -151,7 +152,7 @@ public class Camera implements HCNetSDK.FMSGCallBack_V31 {
151 152
                 if (strFaceSnapMatch.struBlackListInfo.dwBlackListPicLen > 0) {
152 153
                     try {
153 154
                         String personId = new String(strFaceSnapMatch.struBlackListInfo.struBlackListInfo.struAttribute.byName,"GBK").trim();
154
-                        result.put("sysperson", personId);
155
+                        result.put("matchPerson", personId);
155 156
                         TinyLog.info("比对人脸名称(业务库ID)", personId);
156 157
                     } catch (UnsupportedEncodingException e) {
157 158
                         TinyLog.error("获取比对人员ID失败");

src/main/java/com/huiju/welcome/hardware/Monitor.java → bak/src/main/java/com/huiju/welcome/hardware/Monitor.java 查看文件

@@ -1,6 +1,6 @@
1 1
 package com.huiju.welcome.hardware;
2 2
 
3
-import com.huiju.welcome.hardware.utils.Ping;
3
+import com.huiju.welcome.hardware.libs.Ping;
4 4
 
5 5
 /**
6 6
  * 主要为了监控设备网络是否在线

+ 4296
- 0
bak/src/main/java/com/huiju/welcome/hardware/hik/HCNetSDK.java
文件差異過大導致無法顯示
查看文件


src/main/java/com/huiju/welcome/hardware/utils/Configer.java → bak/src/main/java/com/huiju/welcome/hardware/utils/Configer.java 查看文件

@@ -1,4 +1,4 @@
1
-package com.huiju.welcome.hardware.utils;
1
+package com.huiju.welcome.hardware.libs;
2 2
 
3 3
 import java.io.BufferedReader;
4 4
 import java.io.FileReader;

src/main/java/com/huiju/welcome/hardware/utils/Ping.java → bak/src/main/java/com/huiju/welcome/hardware/utils/Ping.java 查看文件

@@ -1,4 +1,4 @@
1
-package com.huiju.welcome.hardware.utils;
1
+package com.huiju.welcome.hardware.libs;
2 2
 
3 3
 import java.io.BufferedReader;
4 4
 import java.io.IOException;

src/main/java/com/huiju/welcome/hardware/utils/Rand.java → bak/src/main/java/com/huiju/welcome/hardware/utils/Rand.java 查看文件

@@ -1,4 +1,4 @@
1
-package com.huiju.welcome.hardware.utils;
1
+package com.huiju.welcome.hardware.libs;
2 2
 
3 3
 import java.util.Random;
4 4
 

src/main/java/com/huiju/welcome/hardware/utils/Server.java → bak/src/main/java/com/huiju/welcome/hardware/utils/Server.java 查看文件

@@ -1,4 +1,4 @@
1
-package com.huiju.welcome.hardware.utils;
1
+package com.huiju.welcome.hardware.libs;
2 2
 
3 3
 import com.alibaba.fastjson.JSON;
4 4
 import com.alibaba.fastjson.JSONObject;
@@ -69,17 +69,18 @@ public class Server {
69 69
         MultipartBody.Builder fmt = new MultipartBody.Builder();
70 70
         fmt.setType(MultipartBody.FORM);
71 71
         RequestBody reqBody = RequestBody.create(null, null, 0, 0);
72
-        String api = apiURL + "/device/compare";
72
+        String api = apiURL + "/camera/person";
73 73
 
74
+        final String[] fname = {null};
74 75
         data.forEach((k, v) -> {
75 76
             if (v instanceof String) {
76 77
                 fmt.addFormDataPart(k, (String)v);
77 78
             } else if (v instanceof ByteBuffer) {
78
-                String fname = getRandFileName(k, ".jpg");
79
+                fname[0] = getRandFileName(k, ".jpg");
79 80
 
80 81
                 try {
81
-                    buf2File((ByteBuffer)v, fname);
82
-                    fmt.addFormDataPart(k, fname, reqBody);
82
+                    buf2File((ByteBuffer)v, fname[0]);
83
+                    fmt.addFormDataPart(k, fname[0], reqBody);
83 84
                 } catch (IOException e) {
84 85
                     TinyLog.error("对比图片保存本地失败");
85 86
                     e.printStackTrace();
@@ -98,6 +99,7 @@ public class Server {
98 99
             if (!response.isSuccessful()) {
99 100
                 TinyLog.error("人脸比对结果上传失败");
100 101
                 TinyLog.error(response.message());
102
+                removeTmpFile(fname[0]);
101 103
                 return false;
102 104
             }
103 105
 
@@ -108,9 +110,11 @@ public class Server {
108 110
         } catch (IOException e) {
109 111
             TinyLog.error("人脸比对结果上传失败");
110 112
             e.printStackTrace();
113
+            removeTmpFile(fname[0]);
111 114
             return false;
112 115
         }
113 116
 
117
+        removeTmpFile(fname[0]);
114 118
         return true;
115 119
     }
116 120
 
@@ -143,4 +147,10 @@ public class Server {
143 147
     private String getRandFileName(String key, String ext) {
144 148
         return key + "-" + Rand.string(8) + ext;
145 149
     }
150
+
151
+    private void removeTmpFile(String fname) {
152
+        if (null == fname || "".equals(fname)) return;
153
+
154
+        new File(fname).delete();
155
+    }
146 156
 }

src/main/java/com/huiju/welcome/hardware/utils/TinyLog.java → bak/src/main/java/com/huiju/welcome/hardware/utils/TinyLog.java 查看文件

@@ -1,4 +1,4 @@
1
-package com.huiju.welcome.hardware.utils;
1
+package com.huiju.welcome.hardware.libs;
2 2
 
3 3
 import java.text.SimpleDateFormat;
4 4
 import java.util.Date;

target/libs/examples-1.0.jar → bak/src/main/resources/libs/examples.jar 查看文件


target/classes/com/huiju/welcome/hardware/Camera.class → bak/target/classes/com/huiju/welcome/hardware/Camera.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/Main.class 查看文件


target/classes/com/huiju/welcome/hardware/Monitor.class → bak/target/classes/com/huiju/welcome/hardware/Monitor.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/GDI32.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$BYTE_ARRAY.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$CAPTURE_MODE.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$CARDRIGHTPLAN.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$DISPLAY_MODE.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FColGlobalDataCallBack.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FColLocalDataCallBack.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FDrawFun.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FExceptionCallBack.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FJpegdataCallBack.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FMSGCallBack.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FMSGCallBack_V31.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FMessCallBack.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FMessCallBack_EX.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FMessCallBack_NEW.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FMessageCallBack.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FPlayDataCallBack.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FPostMessageCallBack.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FRealDataCallBack_V30.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FRemoteConfigCallback.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FRowDataCallBack.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FSerialDataCallBack.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FStdDataCallBack.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FVoiceDataCallBack.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FVoiceDataCallBack2.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FVoiceDataCallBack_MR.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FVoiceDataCallBack_MR_V30.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$FVoiceDataCallBack_V30.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$GpsDataParamUion.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVRRECEIVER.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_ACS_ALARM_INFO.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_ACS_EVENT_INFO.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_ADDIT_POSITION.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_AID_ALARM_V41.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_AID_INFO.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_ALARMER.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_ALARMINCFG.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_ALARMINCFG_V30.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_ALARMINFO.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_ALARMINFO_EX.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_ALARMINFO_V30.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_ALARMINFO_V40.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_ALARMOUTCFG.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_ALARMOUTCFG_V30.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_ALARMOUTSTATUS.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_ALARMOUTSTATUS_V30.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_ALARM_ISAPI_INFO.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_ALARM_ISAPI_PICDATA.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_ALRAM_FIXED_HEADER.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_AREAINFOCFG.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_AUXOUTCFG.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_CARDINFO.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_CARD_CFG.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_CARD_CFG_COND.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_CARD_CFG_SEND_DATA.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_CHANNELSTATE.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_CHANNELSTATE_V30.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_CHANNEL_GROUP.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_CLIENTINFO.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_COLOR.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_COMPRESSIONCFG.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_COMPRESSIONCFG_EX.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_COMPRESSIONCFG_NEW.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_COMPRESSIONCFG_V30.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_COMPRESSION_AUDIO.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_COMPRESSION_INFO.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_COMPRESSION_INFO_EX.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_COMPRESSION_INFO_V30.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_CRUISE_PARA.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_CRUISE_POINT.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_CRUISE_RET.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_DATE.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_DDNS.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_DDNSPARA.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_DDNSPARA_EX.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_DDNSPARA_V30.class 查看文件


二進制
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_DECCFG.class 查看文件


+ 0
- 0
bak/target/classes/com/huiju/welcome/hardware/hik/HCNetSDK$NET_DVR_DECCHANINFO.class 查看文件


部分文件因文件數量過多而無法顯示