From 5f925b1ffe88cca87ca812d3ee26bb937b393f5d Mon Sep 17 00:00:00 2001 From: huzhengkao <562572218@qq.com> Date: Thu, 22 May 2025 17:04:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tcctyn-modules/tcctyn-iot/pom.xml | 13 ++++++ .../com/tcctyn/iot/common/config/test.java | 8 ---- .../main/java/com/tcctyn/iot/hk/TestApi.java | 46 ++++++++++++++++++- .../main/java/com/tcctyn/iot/uav/test.java | 8 ---- 4 files changed, 57 insertions(+), 18 deletions(-) delete mode 100644 tcctyn-modules/tcctyn-iot/src/main/java/com/tcctyn/iot/common/config/test.java delete mode 100644 tcctyn-modules/tcctyn-iot/src/main/java/com/tcctyn/iot/uav/test.java diff --git a/tcctyn-modules/tcctyn-iot/pom.xml b/tcctyn-modules/tcctyn-iot/pom.xml index eed9978..a68b129 100644 --- a/tcctyn-modules/tcctyn-iot/pom.xml +++ b/tcctyn-modules/tcctyn-iot/pom.xml @@ -51,6 +51,19 @@ mysql-connector-j + + + com.tcctyn + tcctyn-common-datasource + + + + + com.tcctyn + tcctyn-common-datascope + + + com.tcctyn diff --git a/tcctyn-modules/tcctyn-iot/src/main/java/com/tcctyn/iot/common/config/test.java b/tcctyn-modules/tcctyn-iot/src/main/java/com/tcctyn/iot/common/config/test.java deleted file mode 100644 index 8264136..0000000 --- a/tcctyn-modules/tcctyn-iot/src/main/java/com/tcctyn/iot/common/config/test.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.tcctyn.iot.common.config; - -/** - * @author Jason - * @date 2025年05月22日 15:13:27 - */ -public class test { -} diff --git a/tcctyn-modules/tcctyn-iot/src/main/java/com/tcctyn/iot/hk/TestApi.java b/tcctyn-modules/tcctyn-iot/src/main/java/com/tcctyn/iot/hk/TestApi.java index 6f2cbd4..bafc8f1 100644 --- a/tcctyn-modules/tcctyn-iot/src/main/java/com/tcctyn/iot/hk/TestApi.java +++ b/tcctyn-modules/tcctyn-iot/src/main/java/com/tcctyn/iot/hk/TestApi.java @@ -4,8 +4,14 @@ import com.alibaba.fastjson.JSON; import com.hikvision.artemis.sdk.ArtemisHttpUtil; import com.hikvision.artemis.sdk.config.ArtemisConfig; +import javax.crypto.Mac; +import javax.crypto.spec.SecretKeySpec; +import java.nio.charset.StandardCharsets; +import java.time.Instant; +import java.util.Base64; import java.util.HashMap; import java.util.Map; +import java.util.UUID; /** * @author Jason @@ -29,7 +35,8 @@ public class TestApi { ArtemisConfig config = new ArtemisConfig(); config.setHost("116.53.205.228:14443"); // 代理API网关nginx服务器ip端口 config.setAppKey("21887937"); // 秘钥appkey - config.setAppSecret("lofnD6DbnBllHmk5YOyx");// 秘钥appSecret + config.setAppSecret("hwOzOEqxuPDz5frAnEXb");// 秘钥appSecret + final String getCamsApi = ARTEMIS_PATH + "/api/resource/v1/org/orgList"; Map paramMap = new HashMap();// post请求Form表单参数 paramMap.put("pageNo", "1"); @@ -40,7 +47,42 @@ public class TestApi { put("https://", getCamsApi); } }; - return ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json"); + Map headers = new HashMap<>(); + headers.put("Content-Type", "application/json"); + return ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json",headers); + + + } + + public static String calculateSignature(String appKey,String appSecret, String method, String path, + String query, String body, String timestamp) { + try { + // 1. 构建待签名字符串 + String content = method + "\n" + + "application/json\n" + // Accept + "application/json\n" + // Content-Type + "\n" + // Date (可为空) + "x-ca-key:" + appKey + "\n" + + "x-ca-nonce:" + UUID.randomUUID().toString() + "\n" + + "x-ca-timestamp:" + timestamp + "\n" + + path; + + if (query != null && !query.isEmpty()) { + content += "?" + query; + } + + content += "\n" + body; + + // 2. 计算HMAC-SHA256签名 + Mac sha256_HMAC = Mac.getInstance("HmacSHA256"); + SecretKeySpec secret_key = new SecretKeySpec(appSecret.getBytes(StandardCharsets.UTF_8), "HmacSHA256"); + sha256_HMAC.init(secret_key); + byte[] hash = sha256_HMAC.doFinal(content.getBytes(StandardCharsets.UTF_8)); + + return Base64.getEncoder().encodeToString(hash); + } catch (Exception e) { + throw new RuntimeException("计算签名失败", e); + } } public static void main(String[] args) throws Exception { diff --git a/tcctyn-modules/tcctyn-iot/src/main/java/com/tcctyn/iot/uav/test.java b/tcctyn-modules/tcctyn-iot/src/main/java/com/tcctyn/iot/uav/test.java deleted file mode 100644 index 2bc94f9..0000000 --- a/tcctyn-modules/tcctyn-iot/src/main/java/com/tcctyn/iot/uav/test.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.tcctyn.iot.uav; - -/** - * @author Jason - * @date 2025年05月22日 15:13:16 - */ -public class test { -}