From 3ccff7173fb73322f7785d8eaedc90a1b5d8765d Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期二, 10 十二月 2024 22:44:03 +0800 Subject: [PATCH] 2024年12月10日22:43:59 --- app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java | 65 ++++++++++++++++++++++++++++++-- 1 files changed, 61 insertions(+), 4 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 67b7d2e..1d0295e 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java @@ -79,6 +79,7 @@ import com.hdl.sdk.link.gateway.HDLLinkLocalGateway; import org.greenrobot.eventbus.EventBus; +import org.json.JSONArray; import org.json.JSONObject; @@ -243,9 +244,14 @@ } } break; - //鐢电珯鐨勪氦浠樹簩缁寸爜(瀹夎鍟�) +// //鐢电珯鐨勪氦浠樹簩缁寸爜(瀹夎鍟�) +// case HDLUniMP.UNI_EVENT_REPLY_HOME_DELIVERYURLQRCODE: { +// uniGetDeliveryUrlQrcode(type, data, callback); +// } +// break; + //鐢电珯鐨勪氦浠楿RL(瀹夎鍟�) case HDLUniMP.UNI_EVENT_REPLY_HOME_DELIVERYURLQRCODE: { - uniGetDeliveryUrlQrcode(type, data, callback); + uniGetDeliveryUrl(type, data, callback); } break; //鐢电珯鎵嬪姩浜や粯(瀹夎鍟�) @@ -717,8 +723,23 @@ HdlESLocalJsonLogic.getInstance().getHdlESLocalJson(url, deviceModel, new CloudCallBeak<String>() { @Override public void onSuccess(String obj) { +// if (callback != null) { +// uniSuccessCallback(type, obj, callback); +// } + String s = HdlESLocalJsonLogic.getInstance().readHdlESLocalJson(url, deviceModel); + //鏈湴缂撳瓨鏁版嵁 if (callback != null) { - uniSuccessCallback(type, obj, 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); + } } } @@ -732,7 +753,17 @@ } else { //鏈湴缂撳瓨鏁版嵁 if (callback != null) { - uniSuccessCallback(type, json, callback); + try { + if (json.startsWith("{")) { + uniSuccessCallback(type, new Gson().fromJson(json, JsonObject.class), callback); + } else if (json.startsWith("[")) { + uniSuccessCallback(type, new Gson().fromJson(json, JsonArray.class), callback); + } else { + uniSuccessCallback(type, json, callback); + } + } catch (Exception e) { + uniSuccessCallback(type, json, callback); + } } } } @@ -957,6 +988,32 @@ } /** + * 鐢电珯鐨勪氦浠楿Rl(瀹夎鍟�) + */ + private void uniGetDeliveryUrl(String type, Object data, DCUniMPJSCallback callback) { + String homeId = getKeyValue("homeId", getKeyValue("data", data)); + HdlResidenceLogic.getInstance().getDeliveryUrl(homeId, new CloudCallBeak<String>() { + @Override + public void onSuccess(String obj) { + try { + Gson g = new Gson(); + JsonObject jObject = g.fromJson(obj, JsonObject.class); + String deliveryUrl = jObject.get("deliveryUrl").toString(); + uniSuccessCallback(type, deliveryUrl, callback); + } catch (Exception ignored) { + uniSuccessCallback(type, obj, callback); + } + } + + @Override + public void onFailure(HDLException e) { + uniExceptionCallback(type, e, callback); + } + }); + + } + + /** * 鑾峰彇褰撳墠璐﹀彿鍦ㄥ叕鍙哥殑韬唤 */ private void uniGetUserRightType(String type, Object data, DCUniMPJSCallback callback) { -- Gitblit v1.8.0