From 6d908915d558ec457db8a50b03ed8746f4e73a48 Mon Sep 17 00:00:00 2001
From: 562935844@qq.com <562935844@qq.com>
Date: 星期五, 28 六月 2024 14:53:35 +0800
Subject: [PATCH] 代码优化

---
 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/LinkRequest.java |   45 ++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 42 insertions(+), 3 deletions(-)

diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/LinkRequest.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/LinkRequest.java
index 3634ce4..8184536 100644
--- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/LinkRequest.java
+++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/LinkRequest.java
@@ -1,8 +1,13 @@
 package com.hdl.sdk.connect.bean;
 
+
 import android.text.TextUtils;
 
-import androidx.annotation.NonNull;
+
+import com.hdl.sdk.common.utils.LogUtils;
+import com.hdl.sdk.connect.config.HDLLinkConfig;
+import com.hdl.sdk.common.utils.ByteUtils;
+import com.hdl.sdk.connect.utils.AesUtil;
 
 /**
  * Created by Tong on 2021/9/29.
@@ -10,6 +15,7 @@
 public class LinkRequest {
     private String topic;
     private String data;
+
     private int length;
 
     public LinkRequest() {
@@ -35,7 +41,7 @@
     public void setData(String data) {
         this.data = data;
         if (!TextUtils.isEmpty(data)) {
-            setLength(data.length());
+            setLength(getBytesLength(data));
         } else {
             setLength(0);
         }
@@ -50,7 +56,6 @@
         this.length = length;
     }
 
-    @NonNull
     @Override
     public String toString() {
         return "Topic:" +
@@ -61,4 +66,38 @@
                 "\r\n\r\n" +
                 getData();
     }
+
+
+    private int getBytesLength(String str) {
+        return ByteUtils.stringToBytes(str).length;
+    }
+
+
+    /**
+     * 鑾峰彇鍙戦�佹暟鎹産yte
+     *
+     * @return
+     */
+    public byte[] getSendBytes() {
+        try {
+            //鍒ゆ柇鏄惁闇�瑕佸姞瀵�
+            if (HDLLinkConfig.getInstance().ifNeedEncrypt(topic)) {
+                //闇�瑕佸姞瀵�
+                byte[] dataBytes = AesUtil.aesEncrypt(ByteUtils.stringToBytes(data), HDLLinkConfig.getInstance().getLocalSecret());
+                String headString = "Topic:" + getTopic() + "\r\n" + "Length:" + dataBytes.length + "\r\n" + "\r\n";
+                byte[] headBytes = headString.getBytes("utf-8");
+                byte[] sendBytes = ByteUtils.concatBytes(headBytes, dataBytes);
+                LogUtils.i("鍙戦�佹暟鎹細\r\n" + headString + "\r\n" + data);
+                return sendBytes;
+
+            } else {
+                String sendString = this.toString();
+                LogUtils.i("鍙戦�佹暟鎹細\r\n" + sendString);
+                return sendString.getBytes("utf-8");
+            }
+
+        } catch (Exception e) {
+            return new byte[]{};
+        }
+    }
 }

--
Gitblit v1.8.0