From f49ce86fe82047d2dd94adf65316013729d090a0 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期四, 14 三月 2024 10:28:29 +0800
Subject: [PATCH] 2024年03月14日10:28:25

---
 app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java      |   12 +++++-
 app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java |   83 +++++++++++++++++++++++++++++++++++++++++
 2 files changed, 92 insertions(+), 3 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 dc2df03..75a6bed 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
@@ -30,6 +30,7 @@
 import com.hdl.photovoltaic.internet.HttpServer.MyNanoHttpServer;
 import com.hdl.photovoltaic.listener.CloudCallBeak;
 import com.hdl.photovoltaic.listener.LinkCallBack;
+import com.hdl.photovoltaic.ui.bean.CUserInfo;
 import com.hdl.photovoltaic.ui.bean.CloudInverterDeviceBean;
 import com.hdl.photovoltaic.ui.bean.DeviceTimeBean;
 import com.hdl.photovoltaic.ui.bean.Geolocation;
@@ -111,7 +112,21 @@
             String type = getKeyValue("type", data);//灏忕被
             String mode_type = "澶х被->" + topic + "--->" + "灏忕被->" + type;//鐢ㄦ潵鎵撳嵃鐨�
             HdlLogLogic.print("uni--->鍙戦��--->" + mode_type + "\r\n" + data, true);
-            if (HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL.equals(topic)) {
+            if (HDLUniMP.UNI_EVENT_REPLY_USER_MODEL.equals(topic)) {
+                //鐢ㄦ埛妯″潡
+                switch (type) {
+                    //鐢ㄦ埛淇℃伅
+                    case HDLUniMP.UNI_EVENT_REPLY_USER_INFO: {
+                        this.uniGetUserInfo(mode_type, data, callback);
+                    }
+                    //鐢ㄦ埛澶村儚锛堟棫骞冲彴閫昏緫鏄ご鍍忓崟鐙幏鍙栦笅杞藉湴鍧�锛�
+                    case HDLUniMP.UNI_EVENT_REPLY_USER_IMAGE: {
+                        uniGetImageKey(mode_type, data, callback);
+                    }
+                    break;
+                }
+
+            } else if (HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL.equals(topic)) {
                 //浣忓畢妯″潡
                 switch (type) {
                     //鍒涘缓鐢电珯
@@ -1079,6 +1094,72 @@
     }
 
     /**
+     * 鑾峰彇鐢ㄦ埛淇℃伅
+     *
+     * @param data     uni鏁版嵁
+     * @param callback uni鍥炶皟
+     */
+    private void uniGetUserInfo(String type, Object data, DCUniMPJSCallback callback) {
+        HdlAccountLogic.getInstance().getMemberInfo_C(new CloudCallBeak<CUserInfo>() {
+            @Override
+            public void onSuccess(CUserInfo cUserInfo) {
+                if (cUserInfo == null) {
+                    return;
+                }
+                UserConfigManage.getInstance().setBingPhone(cUserInfo.getMemberPhone());
+                UserConfigManage.getInstance().setBingEmail(cUserInfo.getMemberEmail());
+                UserConfigManage.getInstance().Save();
+                //鑾峰彇鐢ㄦ埛澶村儚璺緞
+                if (cUserInfo.getMemberHeadIcon().contains("http")) {
+                    //鏇存柊鐢ㄦ埛澶村儚
+                    uniCallbackData(type, cUserInfo, callback);
+                } else {
+                    HdlAccountLogic.getInstance().getImageKey_C(cUserInfo.getMemberHeadIcon(), new CloudCallBeak<String>() {
+                        @Override
+                        public void onSuccess(String url) {
+                            cUserInfo.setMemberHeadIcon(url);
+                            uniCallbackData(type, cUserInfo, callback);
+                        }
+
+                        @Override
+                        public void onFailure(HDLException e) {
+                            uniCallbackData(type, null, e.getCode(), e.getMsg(), callback);
+                        }
+                    });
+                }
+
+            }
+
+            @Override
+            public void onFailure(HDLException e) {
+                uniCallbackData(type, null, e.getCode(), e.getMsg(), callback);
+            }
+        });
+    }
+
+    /**
+     * 鑾峰彇鐢ㄦ埛澶村儚
+     *
+     * @param data     uni鏁版嵁
+     * @param callback uni鍥炶皟
+     */
+    private void uniGetImageKey(String type, Object data, DCUniMPJSCallback callback) {
+        String imageKey = getKeyValue("imageKey", getKeyValue("data", data));
+        HdlAccountLogic.getInstance().getImageKey_C(imageKey, new CloudCallBeak<String>() {
+            @Override
+            public void onSuccess(String url) {
+                uniCallbackData(type, url, callback);
+            }
+
+            @Override
+            public void onFailure(HDLException e) {
+                uniCallbackData(type, null, e.getCode(), e.getMsg(), callback);
+            }
+        });
+    }
+
+
+    /**
      * 閫嗗彉鍣ㄦ竻绌轰綇瀹卛d
      *
      * @param data     uni鏁版嵁
diff --git a/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java b/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java
index eb22cfd..2724258 100644
--- a/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java
+++ b/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java
@@ -15,6 +15,14 @@
     public final static String UNI_EVENT_GetAppParams = "uni_GetAppParams";//鑾峰彇APP搴旂敤淇℃伅
 
     //region --------銆愬皬绋嬪簭銆戝彂閫佸埌銆愬師鐢熴��--------
+
+
+    /*********鐢ㄦ埛 妯″潡*********/
+    public final static String UNI_EVENT_REPLY_USER_MODEL = "uni_user_model";//鐢ㄦ埛妯″潡(澶х被)
+    public final static String UNI_EVENT_REPLY_USER_INFO = "user_info";//鐢ㄦ埛淇℃伅
+    public final static String UNI_EVENT_REPLY_USER_IMAGE = "user_image";//鐢ㄦ埛澶村儚
+
+
     /*********浣忓畢銆愮數绔欍�戞ā鍧�*********/
     public final static String UNI_EVENT_REPLY_HOME_MODEL = "uni_home_model";//浣忓畢妯″潡(澶х被)
     public final static String UNI_EVENT_REPLY_HOME_LIST = "list";//鑾峰彇浣忓畢銆愮數绔欍�戝垪琛�
@@ -88,7 +96,7 @@
     public final static String UNI_EVENT_NOTIFICATION_DEVICE_MODEL = "uni_notification_model";//閫氱煡妯″潡(澶х被)
     public final static String UNI_EVENT_NOTIFICATION_DEVICE_REFRESH_DETAILS = "refresh_details";//鍒锋柊鐢电珯璇︽儏
     public final static String UNI_EVENT_NOTIFICATION_DEVICE_REFRESH_USERINFO = "refresh_userinfo";//鍒锋柊鐢ㄦ埛淇℃伅
-    public final static String UNI_EVENT_NOTIFICATION_DEVICE_REFRESH_REFRESH_UNREAD_NUMBER= "refresh_unread_messages_number";//鍒锋柊鏈娑堟伅鏁伴噺
+    public final static String UNI_EVENT_NOTIFICATION_DEVICE_REFRESH_REFRESH_UNREAD_NUMBER = "refresh_unread_messages_number";//鍒锋柊鏈娑堟伅鏁伴噺
     public final static String UNI_EVENT_NOTIFICATION_DEVICE_ADD = "add";//璁惧娣诲姞
     public final static String UNI_EVENT_NOTIFICATION_DEVICE_DEL = "del";//璁惧鍒犻櫎
     public final static String UNI_EVENT_NOTIFICATION_DEVICE_OID = "oid";//璁惧銆愬寘鎷笅鎸傝澶囥�憃id鍒楄〃
@@ -102,7 +110,7 @@
     public final static String UNI_EVENT_OPEN_HOME_DETAILS = "pages/powerStationDetail/index";//浣忓畢銆愮數绔欍�戣鎯�
 
     public final static String UNI_EVENT_OPEN_HOME_DETAILS_C = "pages/powerStationDetail/tabbarPage";//C绔墦寮�銆愮數绔欍�戣鎯�
-    public final static String UNI_EVENT_OPEN_HOME_Null_C = "pages/powerStationDetail/index";//鏃犵數绔欐椂
+    public final static String UNI_EVENT_OPEN_HOME_Null_C = "pages/powerStationDetail/tabbarPage";//鏃犵數绔欐椂锛堜笉闇�瑕佷紶鍙傛暟锛�
     public final static String UNI_EVENT_OPEN_HOME_DEl = "del";//浣忓畢銆愮數绔欍�戝垹闄�
     /*********璁惧妯″潡*********/
     //璁惧妯″潡鎵撳紑椤甸潰鍏ㄨ矾寰�

--
Gitblit v1.8.0