From cc3b8aecab8fccf9a985d74a5223be44cc2b5ace Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期三, 30 十月 2024 16:20:39 +0800 Subject: [PATCH] 2024年10月30日16:20:36 --- app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java | 103 +++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 79 insertions(+), 24 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 5a804ba..7beca24 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java @@ -10,6 +10,7 @@ import android.location.Location; import android.location.LocationManager; import android.os.IBinder; +import android.os.SystemClock; import android.provider.Settings; import android.text.TextUtils; @@ -19,6 +20,7 @@ import com.google.gson.JsonArray; import com.google.gson.JsonObject; import com.google.gson.reflect.TypeToken; +import com.hdl.link.error.HDLLinkCode; import com.hdl.linkpm.sdk.core.exception.HDLException; import com.hdl.linkpm.sdk.device.bean.DeviceOidInfoBean; import com.hdl.linkpm.sdk.ota.bean.CloudDeviceFirmwaresBean; @@ -29,6 +31,8 @@ import com.hdl.linkpm.sdk.utils.HDLMD5Utils; import com.hdl.photovoltaic.HDLApp; import com.hdl.photovoltaic.R; +import com.hdl.photovoltaic.bean.InverterBean; +import com.hdl.photovoltaic.bean.LocalResponse; import com.hdl.photovoltaic.bean.ModBusBean; import com.hdl.photovoltaic.bean.PageNumberObject; import com.hdl.photovoltaic.config.AppConfigManage; @@ -60,7 +64,6 @@ import com.hdl.photovoltaic.uni.HDLUniMPSDKManager; import com.hdl.photovoltaic.utils.NetworkUtils; import com.hdl.photovoltaic.utils.WifiUtils; -import com.hdl.sdk.link.common.exception.HDLLinkCode; import com.hdl.sdk.link.common.exception.HDLLinkException; import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus; import com.hdl.sdk.link.core.bean.gateway.GatewayBean; @@ -180,10 +183,7 @@ case HDLUniMP.UNI_EVENT_REPLY_HOME_ADD: { String url = getKeyValue("url", getKeyValue("data", data)); //EventBus浜嬩欢鍒嗗彂 - HdlCommonLogic.getInstance().postEventBusSticky( - HDLUniMP.UNI_EVENT_REPLY_HOME_ADD, - HDLUniMP.UNI_EVENT_REPLY_HOME_ADD, - url); + HdlCommonLogic.getInstance().postEventBusSticky(HDLUniMP.UNI_EVENT_REPLY_HOME_ADD, HDLUniMP.UNI_EVENT_REPLY_HOME_ADD, url); if (callback != null) { uniSuccessCallback(type, null, callback); @@ -200,10 +200,7 @@ //鍒涘缓鐢电珯 case HDLUniMP.UNI_EVENT_REPLY_HOME_CREATION: { //EventBus浜嬩欢鍒嗗彂 - HdlCommonLogic.getInstance().postEventBus( - HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL, - HDLUniMP.UNI_EVENT_REPLY_HOME_CREATION, - getKeyValue("data", data)); + HdlCommonLogic.getInstance().postEventBus(HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL, HDLUniMP.UNI_EVENT_REPLY_HOME_CREATION, getKeyValue("data", data)); if (callback != null) { uniSuccessCallback(type, null, callback); } @@ -238,10 +235,7 @@ //浣忓畢銆愮數绔欍�戠紪杈� case HDLUniMP.UNI_EVENT_REPLY_HOME_EDIT: { //EventBus浜嬩欢鍒嗗彂 - HdlCommonLogic.getInstance().postEventBus( - HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL, - HDLUniMP.UNI_EVENT_REPLY_HOME_EDIT, - getKeyValue("data", data)); + HdlCommonLogic.getInstance().postEventBus(HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL, HDLUniMP.UNI_EVENT_REPLY_HOME_EDIT, getKeyValue("data", data)); if (callback != null) { uniSuccessCallback(type, null, callback); } @@ -365,9 +359,14 @@ this.uniSetDeviceStartup(mode_type, data, callback); } break; - //鑾峰彇璁惧璇︽儏 + //鑾峰彇璁惧璇︽儏锛堜簯绔澶囷級 case HDLUniMP.UNI_EVENT_REPLY_DEVICE_OPEN_DEVICE_info: { this.uniGetDeviceInfo(mode_type, data, callback); + } + break; + //鑾峰彇閫嗗彉鍣ㄨ鎯咃紙鐗╃悊璁惧锛� + case HDLUniMP.UNI_EVENT_REPLY_DEVICE_OPEN_gateway_info: { + this.uniGetGatewayInfo(mode_type, data, callback); } break; } @@ -677,23 +676,32 @@ String localSecret = HDLLinkConfig.getInstance().getLocalSecret(); JsonObject jsonObject = new JsonObject(); jsonObject.addProperty("local_encrypt", localSecret); + HdlLogLogic.print("uni---log---鏈湴瀵嗛挜鑾峰彇---" + localSecret, true); if (callback != null) { uniSuccessCallback(type, jsonObject, callback); } - HdlLogLogic.print("uni---log---" + localSecret, true); } break; //鏈湴瀵嗛挜璁剧疆 case HDLUniMP.UNI_EVENT_REPLY_OTHER_LOCAL_ENCRYPT_SET: { String local_encrypt = getKeyValue("local_encrypt", getKeyValue("data", data)); - //閲嶆柊璁剧疆鏈湴閫氳绉橀挜 - UserConfigManage.getInstance().setLocalSecret(local_encrypt); - UserConfigManage.getInstance().Save(); - //閰嶇疆鏈湴閫氫俊鐨勪俊鎭� - HDLLinkConfig.getInstance().setLocalSecret(local_encrypt); - HdlLogLogic.print("uni---log---" + local_encrypt, true); - + if (!TextUtils.isEmpty(local_encrypt)) { + //閲嶆柊璁剧疆鏈湴閫氳绉橀挜 + UserConfigManage.getInstance().setLocalSecret(local_encrypt); + UserConfigManage.getInstance().Save(); + //閰嶇疆鏈湴閫氫俊鐨勪俊鎭� + HDLLinkConfig.getInstance().setLocalSecret(local_encrypt); + HdlLogLogic.print("uni---log---鏈湴瀵嗛挜璁剧疆---" + local_encrypt, true); + } + if (callback != null) { + uniSuccessCallback(type, true, callback); + } + } + break; + //link杩涜瀵嗙爜楠岃瘉 + case HDLUniMP.UNI_EVENT_REPLY_OTHER_Password_verifiy: { + uniCheckPasswordVerification(mode_type, data, callback); } break; } @@ -744,6 +752,31 @@ //region ******uni鎺ュ彛鏂规硶****** /** + * link杩涜瀵嗙爜楠岃瘉 + */ + private void uniCheckPasswordVerification(String type, Object data, DCUniMPJSCallback callback) { + String password = getKeyValue("password", getKeyValue("data", data)); + String mac = getKeyValue("mac", getKeyValue("data", data)); + HdlDeviceLogic.getInstance().getPasswordVerification(mac, password, new LinkCallBack<LocalResponse>() { + @Override + public void onSuccess(LocalResponse obj) { + + if (callback != null) { + uniCallbackData(type, obj.getObjects(), obj.getCode(), obj.getMsg(), callback); + } + } + + @Override + public void onError(HDLLinkException e) { + + if (callback != null) { + uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); + } + } + }); + } + + /** * 鐢电珯鍒犻櫎 */ private void uniGetDelResidence(String type, Object data, DCUniMPJSCallback callback) { @@ -778,7 +811,7 @@ HdlUniLogic.getInstance().openUniMP(path, null); } else { HouseIdBean houseIdBean = HouseIdList.get(0);//榛樿鎷跨涓�涓� - HdlResidenceLogic.getInstance().switchHouse(houseIdBean); + HdlResidenceLogic.getInstance().switchHouse(houseIdBean, true); JsonObject jsonObject = new JsonObject(); jsonObject.addProperty("homeId", houseIdBean.getHomeId()); jsonObject.addProperty("homeName", houseIdBean.getHomeName()); @@ -2531,7 +2564,7 @@ } /** - * 鑾峰彇璁惧璇︽儏 + * 鑾峰彇璁惧璇︽儏锛堜簯绔級 * * @param type 绫诲瀷 * @param data uni璇锋眰鏁版嵁 @@ -2554,6 +2587,28 @@ }); } + /** + * 鑾峰彇閫嗗彉鍣ㄨ鎯� + * + * @param type 绫诲瀷 + * @param data uni璇锋眰鏁版嵁 + * @param callback uni鍥炶皟 + */ + public void uniGetGatewayInfo(String type, Object data, DCUniMPJSCallback callback) { + String mac = getKeyValue("mac", getKeyValue("data", data)); + HdlDeviceLogic.getInstance().getGatewayInfo(mac, new LinkCallBack<InverterBean>() { + @Override + public void onSuccess(InverterBean obj) { + uniSuccessCallback(type, obj, callback); + } + + @Override + public void onError(HDLLinkException e) { + uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); + } + }); + } + /** * 鍙戦�乵odbus鍗忚鏁版嵁 -- Gitblit v1.8.0