From 5d3efa4c93dde0cde474951e5310bb72ebbf4184 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期三, 07 五月 2025 15:18:26 +0800
Subject: [PATCH] 2025年05月07日15:18:20 1.2.0

---
 app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java |   41 +++++++++++++++++++++++++++++++----------
 1 files changed, 31 insertions(+), 10 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
index 01af048..e71edf3 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
@@ -9,6 +9,7 @@
 import android.content.pm.PackageManager;
 import android.location.Location;
 import android.location.LocationManager;
+import android.net.wifi.ScanResult;
 import android.os.IBinder;
 import android.os.SystemClock;
 import android.provider.Settings;
@@ -67,6 +68,7 @@
 import com.hdl.photovoltaic.uni.HDLUniMP;
 import com.hdl.photovoltaic.uni.HDLUniMPSDKManager;
 import com.hdl.photovoltaic.utils.NetworkUtils;
+import com.hdl.photovoltaic.utils.PermissionUtils;
 import com.hdl.photovoltaic.utils.WifiUtils;
 import com.hdl.sdk.link.common.exception.HDLLinkException;
 import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
@@ -148,7 +150,7 @@
             String type = getKeyValue("type", data);//灏忕被
             String logTag = getKeyValue("logTag", data);//鏍囪uni鎸囦护
             String mode_type = "澶х被-" + topic + "---" + "灏忕被-" + type;//鐢ㄦ潵鎵撳嵃鐨�
-            HdlLogLogic.print(logTag + ":" + "uni---鍙戦��---" + mode_type + "\r\n" + data, true);
+            HdlLogLogic.print(logTag + ":" + "uni---鍙戦��---" + mode_type + "---" + data, true);
             if (HDLUniMP.UNI_EVENT_REPLY_USER_MODEL.equals(topic)) {
                 //鐢ㄦ埛妯″潡
                 switch (type) {
@@ -178,7 +180,7 @@
                         jsonObject.addProperty("appKey", AppConfigManage.getAppKey());
                         jsonObject.addProperty("appSecret", AppConfigManage.getAppSecret());
                         uniSuccessCallback(mode_type, jsonObject, callback);
-                        HdlLogLogic.print("鑾峰彇鐢ㄦ埛鏈湴缂撳瓨淇℃伅---->>>" + jsonObject.toString());
+                        HdlLogLogic.print("鑾峰彇鐢ㄦ埛鏈湴缂撳瓨淇℃伅----" + jsonObject.toString());
                     }
                     break;
                 }
@@ -387,6 +389,14 @@
                 WifiUtils wifiUtils = WifiUtils.getInstance();
                 //wifi妯″潡
                 switch (type) {
+                    //鑾峰彇浣嶇疆鏉冮檺
+                    case HDLUniMP.UNI_EVENT_REPLY_AUTHORIZATION_GET: {
+                        boolean isLocalAuthor = PermissionUtils.checkPermission(HDLApp.getInstance(), Manifest.permission.ACCESS_FINE_LOCATION);
+                        if (callback != null) {
+                            uniSuccessCallback(mode_type, isLocalAuthor, callback);
+                        }
+                    }
+                    break;
                     //鑾峰彇鎵嬫満wifi鍒楄〃
                     case HDLUniMP.UNI_EVENT_REPLY_PHONE_WIFI_LIST: {
                         if (callback != null) {
@@ -645,6 +655,7 @@
             } else if (HDLUniMP.UNI_EVENT_REPLY_OTHER_MODEL.equals(topic)) {
                 //鍏跺畠妯″潡
                 switch (type) {
+
                     //鑾峰彇娓╁害鍗曚綅
                     case HDLUniMP.UNI_EVENT_REPLY_OTHER_UNIT: {
                         uniSuccessCallback(mode_type, UserConfigManage.getInstance().getTemperature_unit(), callback);
@@ -683,6 +694,7 @@
                     break;
                     //uni閫氱煡鍘熺敓閫�鍑虹櫥褰�
                     case HDLUniMP.UNI_EVENT_REPLY_OTHER_LOGOUT: {
+                        HdlLogLogic.print("uni閫氱煡鍘熺敓閫�鍑虹櫥褰�---", true);
                         HDLLinkPMUser.getInstance().logout(0);
                     }
                     break;
@@ -729,7 +741,7 @@
                         String json = HdlESLocalJsonLogic.getInstance().readHdlESLocalJson(fileName + ".json", deviceModel);
                         if (TextUtils.isEmpty(json)) {
                             //鏈湴娌℃湁缂撳瓨
-                            HdlESLocalJsonLogic.getInstance().getHdlESLocalJson(fileName, deviceType, deviceModel, new CloudCallBeak<String>() {
+                            HdlESLocalJsonLogic.getInstance().getHdlESLocalJson(fileName, deviceType, deviceModel, false, new CloudCallBeak<String>() {
                                 @Override
                                 public void onSuccess(String obj) {
 //                                    if (callback != null) {
@@ -904,7 +916,7 @@
                 if (callback != null) {
                     uniSuccessCallback(type, null, callback);
                 }
-                List<GatewayBean> list = HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(homeId);
+                List<GatewayBean> list = HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(homeId, null);
                 for (int i = 0; i < list.size(); i++) {
                     GatewayBean gatewayBean = list.get(i);
                     HdlDeviceLogic.getInstance().initializeInverter(gatewayBean.getDevice_mac(), null);
@@ -1309,11 +1321,20 @@
         //瑙e瘑璐熻浇鏁版嵁(鍐欏瘑閽ョ粰缃戝叧涓�瀹氭槸鏄庢枃锛屽洜涓洪偅鏃剁綉鍏宠繕娌℃湁瀵嗛挜)
         TcpClient.getInstance().sendDataToLinkGateway(mac, false, TopicApi, jsonArray, "", new HDLLinkCallBack() {
             @Override
-            public void onSuccess(String msg) {
+            public void onSuccess(String s) {
                 if (callback != null) {
-                    uniSuccessCallback(type, msg, callback);
+                    try {
+                        if (s.startsWith("{")) {
+                            uniSuccessCallback(type, new Gson().fromJson(s, JsonObject.class), callback);
+                        } else if (s.startsWith("[")) {
+                            uniSuccessCallback(type, new Gson().fromJson(s, JsonArray.class), callback);
+                        } else {
+                            uniSuccessCallback(type, s, callback);
+                        }
+                    } catch (Exception e) {
+                        uniSuccessCallback(type, s, callback);
+                    }
                 }
-
             }
 
             @Override
@@ -2006,7 +2027,7 @@
                             UserConfigManage.getInstance().setBingEmail(cUserInfo.getMemberEmail());
                             UserConfigManage.getInstance().setUserImageUrl(cUserInfo.getMemberHeadIcon());
                             UserConfigManage.getInstance().Save();
-                            HdlLogLogic.print("澶村儚璺緞---->>>" + cUserInfo.getMemberHeadIcon());
+                            HdlLogLogic.print("澶村儚璺緞----" + cUserInfo.getMemberHeadIcon());
                         }
 
                         @Override
@@ -2388,6 +2409,7 @@
      */
     private void uniGetCurrentHomeLocalAndCloudGatewayList(String type, Object data, DCUniMPJSCallback callback) {
         String homeId = getKeyValue("homeId", getKeyValue("data", data));
+//        UserConfigManage.getInstance().setHomeId(homeId);
         HdlDeviceLogic.getInstance().getCurrentHomeLocalAndCloudGatewayList(homeId, new CloudCallBeak<List<GatewayBean>>() {
             @Override
             public void onSuccess(List<GatewayBean> list) {
@@ -2893,8 +2915,7 @@
             uniCallBackBaseBean.setData(obj);
             if (callback != null) {
                 callback.invoke(getJSONObject(uniCallBackBaseBean));
-//                callback.invoke(uniCallBackBaseBean);
-                HdlLogLogic.print("鍥炲---uni---" + type + "---" + new Gson().toJson(uniCallBackBaseBean), true);
+                HdlLogLogic.print("鍥炲---uni---" + type + "---" + getJSONObject(uniCallBackBaseBean).toString(), true);
             }
         } catch (Exception e) {
             HdlLogLogic.print("鍥炲---uni---" + type + "---" + e.getMessage(), true);

--
Gitblit v1.8.0