From 715b7407a765deb093b1677705b151d268e3dd4d Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期一, 12 六月 2023 18:56:31 +0800
Subject: [PATCH] 2023年06月12日18:56:25

---
 app/src/main/res/values/strings.xml                                             |    1 
 app/src/main/java/com/hdl/photovoltaic/ui/bean/LoginBean.java                   |   64 ++
 app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java             |  320 ++++++++++++++++
 app/src/main/java/com/hdl/photovoltaic/other/HdlLogLogic.java                   |    1 
 app/src/main/java/com/hdl/photovoltaic/ui/bean/LoginUserRegionBean.java         |    2 
 .idea/misc.xml                                                                  |    7 
 app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseInfoBean.java               |  198 ++++++++++
 app/src/main/java/com/hdl/photovoltaic/utils/SharedPreUtils.java                |   41 ++
 /dev/null                                                                       |    5 
 app/src/main/java/com/hdl/photovoltaic/internet/HttpClient.java                 |   30 
 app/src/main/java/com/hdl/photovoltaic/internet/api/HttpApi.java                |   13 
 app/src/main/java/com/hdl/photovoltaic/bean/HttpResponsePack.java               |    2 
 app/src/main/java/com/hdl/photovoltaic/config/ConstantManage.java               |   14 
 app/src/main/java/com/hdl/photovoltaic/listener/BaseSuccessFailureCallBeak.java |    4 
 app/src/main/java/com/hdl/photovoltaic/config/AppConfigManage.java              |    2 
 app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java             |  207 ++++++++++
 app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java         |   12 
 app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseListBean.java               |   70 +++
 app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java               |   44 +
 app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java                |   85 +++-
 app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java   |   15 
 21 files changed, 1,041 insertions(+), 96 deletions(-)

diff --git a/.idea/misc.xml b/.idea/misc.xml
index 4bc4fc6..0fa90e5 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,5 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
+  <component name="DesignSurface">
+    <option name="filePathToZoomLevelMap">
+      <map>
+        <entry key="app/src/main/res/layout/activity_home_login.xml" value="0.10030395136778116" />
+      </map>
+    </option>
+  </component>
   <component name="ExternalStorageConfigurationManager" enabled="true" />
   <component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="11" project-jdk-type="JavaSDK" />
 </project>
\ No newline at end of file
diff --git a/app/src/main/java/com/hdl/photovoltaic/bean/ResponsePack.java b/app/src/main/java/com/hdl/photovoltaic/bean/HttpResponsePack.java
similarity index 92%
rename from app/src/main/java/com/hdl/photovoltaic/bean/ResponsePack.java
rename to app/src/main/java/com/hdl/photovoltaic/bean/HttpResponsePack.java
index 8a4ab77..eb1f3c6 100644
--- a/app/src/main/java/com/hdl/photovoltaic/bean/ResponsePack.java
+++ b/app/src/main/java/com/hdl/photovoltaic/bean/HttpResponsePack.java
@@ -2,7 +2,7 @@
 
 import java.io.Serializable;
 
-public class ResponsePack implements Serializable {
+public class HttpResponsePack implements Serializable {
     /**
      * 鐘舵�佺爜
      */
diff --git a/app/src/main/java/com/hdl/photovoltaic/config/ConfigManagement.java b/app/src/main/java/com/hdl/photovoltaic/config/AppConfigManage.java
similarity index 98%
rename from app/src/main/java/com/hdl/photovoltaic/config/ConfigManagement.java
rename to app/src/main/java/com/hdl/photovoltaic/config/AppConfigManage.java
index bc18f82..4ff9ec2 100644
--- a/app/src/main/java/com/hdl/photovoltaic/config/ConfigManagement.java
+++ b/app/src/main/java/com/hdl/photovoltaic/config/AppConfigManage.java
@@ -2,7 +2,7 @@
 
 import com.hdl.photovoltaic.BuildConfig;
 
-public class ConfigManagement {
+public class AppConfigManage {
 
 
     /*********鏄惁姝e紡鏈嶅姟鍣�*********/
diff --git a/app/src/main/java/com/hdl/photovoltaic/config/ConstantManage.java b/app/src/main/java/com/hdl/photovoltaic/config/ConstantManage.java
new file mode 100644
index 0000000..b025bbe
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/config/ConstantManage.java
@@ -0,0 +1,14 @@
+package com.hdl.photovoltaic.config;
+
+public class ConstantManage {
+
+    public static final String ACCOUNT = "account";
+    public static final String PASSWORD = "password";
+    public static final String USERID = "userId";
+    private static final String LOGIN_STATE = "login_state";
+    public static final String LOGIN_TOKEN = "login_token";
+    public static final String HOME_NAME = "homeName";
+    public static final String REFRESH_TOKEN = "refresh_token";
+    public static final String HOME_ID = "homeId";
+
+}
diff --git a/app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java b/app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java
new file mode 100644
index 0000000..a9dbe2b
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java
@@ -0,0 +1,207 @@
+package com.hdl.photovoltaic.config;
+
+
+import android.text.TextUtils;
+
+import com.google.gson.Gson;
+import com.hdl.photovoltaic.other.HdlFileLogic;
+import com.hdl.photovoltaic.other.HdlLogLogic;
+import com.hdl.photovoltaic.other.HdlResidenceLogic;
+import com.hdl.photovoltaic.ui.bean.HouseListBean;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class UserConfigManage {
+
+
+    private static UserConfigManage sUserConfigManage = null;
+
+    /**
+     * 鑾峰彇褰撳墠瀵硅薄
+     *
+     * @return UserConfigManage
+     */
+    public static UserConfigManage getInstance() {
+        if (sUserConfigManage == null) {
+            sUserConfigManage = new UserConfigManage();
+            sUserConfigManage.reFresh();
+        }
+        return sUserConfigManage;
+    }
+
+    //褰撳墠璐﹀彿锛氬埛鏂癟oken鐢ㄧ殑token(涓嶇敤璁板綍浠�涔堟湁鏁堟湡,濡傛灉鍒锋柊澶辫触,灏辫涪浜哄嵆鍙�)
+    private String refreshToken;
+    //璐︽埛鐧诲綍鎴愬姛鏃剁殑鏃堕棿
+    private long loginDateTime;
+    //褰撳墠鐧诲綍鐨勫笎鍙�
+    private String account;
+    //娣诲姞鍒癟oken澶撮儴鐨勪笢瑗�(涓嶈鐞嗗畠,鍙粰搴曞眰浣跨敤)
+    private String headerPrefix;
+    //鐧婚檰璐﹀彿鐨凣uid,涔熸槸璐﹀彿鐨剈serId
+    private String userId;
+    //褰撳墠鐨勪綇瀹匢D
+    private String homeId;
+    //鏄惁鐧诲綍鐘舵��
+    private boolean isLogin;
+
+    //鏄惁鏄疊绔处鍙风櫥褰�
+    private boolean isB;
+    //浣忓畢鏂囦欢鍒楄〃
+    public List<String> homeFilePathList = new ArrayList<>();
+
+    //鍒ゆ柇褰撳墠鏃堕棿鐐规槸鍚﹁兘澶熻嚜鍔ㄧ櫥褰�
+    public boolean isAutoLogin() {
+        //7澶╁唴鑷姩鐧诲綍
+        return ((System.currentTimeMillis() - loginDateTime) < 7 * 24 * 60 * 60);
+    }
+
+    //鏄惁鍚屾剰闅愮鏀跨瓥
+    private boolean acceiptPolicy;
+    //褰撳墠甯愬彿鐨凾oken(杩欎釜涓滆タ涓嶇敤瀛樹簡)
+    private String token;
+    //杩滅▼杩炴帴鐨凪qtt鐨勫鎴风ID
+    public String connEmqClientId;
+    //褰撳墠鐧诲綍鐨勮处鍙锋槸涓嶆槸涔嬪墠鐨勮处鍙�
+    public boolean theSameLoginAccount;
+
+    public String getRefreshToken() {
+        return refreshToken == null ? "" : refreshToken;
+    }
+
+    public void setRefreshToken(String refreshToken) {
+        this.refreshToken = refreshToken;
+    }
+
+    public long getLoginDateTime() {
+        return loginDateTime;
+    }
+
+    public void setLoginDateTime(long loginDateTime) {
+        this.loginDateTime = loginDateTime;
+    }
+
+    public String getAccount() {
+        return account == null ? "" : account;
+    }
+
+    public void setAccount(String account) {
+        this.account = account;
+    }
+
+    public String getHeaderPrefix() {
+        return headerPrefix == null ? "" : headerPrefix;
+    }
+
+    public void setHeaderPrefix(String headerPrefix) {
+        this.headerPrefix = headerPrefix;
+    }
+
+    public String getUserId() {
+        return userId == null ? "" : userId;
+    }
+
+    public void setUserId(String userId) {
+        this.userId = userId;
+    }
+
+    public String getHomeId() {
+        return homeId == null ? "" : homeId;
+    }
+
+    public void setHomeId(String homeId) {
+        this.homeId = homeId;
+    }
+
+    public boolean isAcceiptPolicy() {
+        return acceiptPolicy;
+    }
+
+    public void setAcceiptPolicy(boolean acceiptPolicy) {
+        this.acceiptPolicy = acceiptPolicy;
+    }
+
+    public String getToken() {
+        return token == null ? "" : token;
+    }
+
+    public void setToken(String token) {
+        this.token = token;
+    }
+
+    public boolean isLogin() {
+        return isLogin;
+    }
+
+    public void setLogin(boolean login) {
+        isLogin = login;
+    }
+
+    public boolean isTheSameLoginAccount() {
+        return theSameLoginAccount;
+    }
+
+    public void setTheSameLoginAccount(boolean theSameLoginAccount) {
+        this.theSameLoginAccount = theSameLoginAccount;
+    }
+
+    public boolean isB() {
+        return isB;
+    }
+
+    public void setB(boolean b) {
+        isB = b;
+    }
+
+    /**
+     * 褰撳墠浣忓畢
+     */
+    private HouseListBean m_Home = null;
+
+    /**
+     * 褰撳墠浣忓畢
+     */
+    public HouseListBean home() {
+        if (m_Home != null) {
+            return m_Home;
+        }
+        m_Home = HdlResidenceLogic.getInstance().getHouseByHouseId(homeId);
+        if (m_Home == null) {
+            m_Home = new HouseListBean();
+        }
+        return m_Home;
+    }
+
+
+    /**
+     * 鍒锋柊
+     */
+    private void reFresh() {
+        String str = HdlFileLogic.getInstance().readFile(FILENAME);
+        if (!TextUtils.isEmpty(str) && str.length() > 0) {
+            //璇诲彇淇濆瓨鐨勬暟鎹�
+            Gson gson = new Gson();
+            sUserConfigManage = gson.fromJson(str, UserConfigManage.class);
+        }
+    }
+
+    /**
+     * 淇濆瓨
+     */
+    public void Save() {
+        if (sUserConfigManage == null) {
+            HdlLogLogic.print("UserConfigManage", "淇濆瓨鐢ㄦ埛淇℃伅鏂囦欢澶辫触");
+            return;
+        }
+        Gson gson = new Gson();
+        String json = gson.toJson(sUserConfigManage);
+        HdlFileLogic.getInstance().writeFile(FILENAME, json);
+    }
+
+    /// <summary>
+    /// Config鏂囦欢鍚�
+    /// </summary>
+    private static final String FILENAME = "UserConfigManage.json";
+
+
+}
diff --git a/app/src/main/java/com/hdl/photovoltaic/config/UserManagement.java b/app/src/main/java/com/hdl/photovoltaic/config/UserManagement.java
deleted file mode 100644
index 5a1c008..0000000
--- a/app/src/main/java/com/hdl/photovoltaic/config/UserManagement.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package com.hdl.photovoltaic.config;
-
-public class UserManagement {
-
-}
diff --git a/app/src/main/java/com/hdl/photovoltaic/internet/HttpClient.java b/app/src/main/java/com/hdl/photovoltaic/internet/HttpClient.java
index 8d2c3cd..9a4c9ab 100644
--- a/app/src/main/java/com/hdl/photovoltaic/internet/HttpClient.java
+++ b/app/src/main/java/com/hdl/photovoltaic/internet/HttpClient.java
@@ -9,9 +9,11 @@
 import com.google.gson.JsonObject;
 import com.google.gson.reflect.TypeToken;
 import com.hdl.hdlhttp.utils.GsonConvert;
-import com.hdl.photovoltaic.bean.ResponsePack;
-import com.hdl.photovoltaic.config.ConfigManagement;
+import com.hdl.photovoltaic.bean.HttpResponsePack;
+import com.hdl.photovoltaic.config.AppConfigManage;
+import com.hdl.photovoltaic.config.UserConfigManage;
 import com.hdl.photovoltaic.listener.BaseSuccessFailureCallBeak;
+import com.hdl.photovoltaic.other.HdlLogLogic;
 import com.hdl.photovoltaic.utils.HDLMD5Utils;
 
 import java.io.IOException;
@@ -55,7 +57,7 @@
      * @param isExecute      鏄惁鏄悓姝�(true=鍚屾,false=寮傛)
      */
     public void requestHttp(String requestUrl, String json, boolean isBasicService, boolean isExecute, BaseSuccessFailureCallBeak baseSuccessCallBeak) {
-        String fullUrl = ConfigManagement.getUserRegionUrl() + requestUrl;
+        String fullUrl = AppConfigManage.getUserRegionUrl() + requestUrl;
         this.requestHttps(fullUrl, json, isBasicService, isExecute, baseSuccessCallBeak);
     }
 
@@ -71,7 +73,6 @@
         this.requestHttps(fullUrl, json, isBasicService, isExecute, baseSuccessCallBeak);
     }
 
-
     /**
      * 璇锋眰鏈嶅姟鍣ㄧ殑鏂规硶
      *
@@ -85,19 +86,22 @@
             @Override
             public void run() {
                 try {
+
+                    HdlLogLogic.print("http->鍙戦��->", fullUrl + "\r\n" + json);
                     OkHttpClient okHttpClient = new OkHttpClient();
                     RequestBody requestBody = FormBody.create(MediaType.parse("application/json; charset=utf-8"), getJson(json));
                     final Request request = new Request.Builder()
                             .url(fullUrl)//璇锋眰鐨剈rl//
-                            .addHeader("Authorization", "accessToken")
+                            .addHeader("Authorization", UserConfigManage.getInstance().getHeaderPrefix()+UserConfigManage.getInstance().getToken())
                             .post(requestBody)
                             .build();
                     if (isExecute) {
                         Response response = okHttpClient.newCall(request).execute();//鍚屾
                         if (response.isSuccessful()) {
                             String s = Objects.requireNonNull(response.body()).string();
-                            ResponsePack responsePack = new Gson().fromJson(s, ResponsePack.class);
-                            baseSuccessCallBeak.onSuccess(responsePack);
+                            HttpResponsePack httpResponsePack = new Gson().fromJson(s, HttpResponsePack.class);
+                            baseSuccessCallBeak.onSuccess(httpResponsePack);
+                            HdlLogLogic.print("http->鍥炲->", response.request().url()+"\r\n" + s);
                         } else {
                             //throw new IOException("Unexpected code " + response);
                             baseSuccessCallBeak.onFailure(new Exception());
@@ -109,6 +113,7 @@
                             @Override
                             public void onFailure(@NonNull Call call, @NonNull IOException e) {
                                 System.out.println("澶辫触" + e.toString());
+                                HdlLogLogic.print("http->鍥炲->", "\r\n" + e.getMessage());
                             }
 
                             @Override
@@ -116,8 +121,9 @@
                                 System.out.println("url杩炴帴淇℃伅" + response.code());
                                 if (response.code() == 200) {
                                     String s = Objects.requireNonNull(response.body()).string();
-                                    ResponsePack responsePack = new Gson().fromJson(s, ResponsePack.class);
-                                    baseSuccessCallBeak.onSuccess(responsePack);
+                                    HttpResponsePack httpResponsePack = new Gson().fromJson(s, HttpResponsePack.class);
+                                    baseSuccessCallBeak.onSuccess(httpResponsePack);
+                                    HdlLogLogic.print("http->鍥炲->", "\r\n" + s);
                                 } else {
                                     baseSuccessCallBeak.onFailure(new Exception());
                                 }
@@ -126,10 +132,10 @@
                     }
                 } catch (Exception e) {
                     baseSuccessCallBeak.onFailure(e);
+                    HdlLogLogic.print("http->鍥炲->", "\r\n" + e.getMessage());
                 }
 
             }
-
         }).start();
     }
 
@@ -138,8 +144,8 @@
      */
     private String getJson(String json) {
         final String timestamp = String.valueOf(System.currentTimeMillis());
-        final String appKey = ConfigManagement.getAppKey();
-        final String appSecret = ConfigManagement.getAppSecret();
+        final String appKey = AppConfigManage.getAppKey();
+        final String appSecret = AppConfigManage.getAppSecret();
         JsonObject jsonObject = new Gson().fromJson(json, JsonObject.class);
         if (jsonObject == null) {
             jsonObject = new JsonObject();
diff --git a/app/src/main/java/com/hdl/photovoltaic/internet/api/HttpApi.java b/app/src/main/java/com/hdl/photovoltaic/internet/api/HttpApi.java
index c744fa1..833171e 100644
--- a/app/src/main/java/com/hdl/photovoltaic/internet/api/HttpApi.java
+++ b/app/src/main/java/com/hdl/photovoltaic/internet/api/HttpApi.java
@@ -24,4 +24,17 @@
     public static final String POST_UPLOAD_IMAGE_NEW = "/basis-cosmos/file/upload";
     //鏌ヨ鍥剧墖璺緞
     public static final String POST_GET_IMAGE_URL = "/home-wisdom/app/images/get_image_url";
+
+    /*-----鐢电珯鍒楄〃---------*/
+    //鐢电珯鍒楄〃
+    public static final String POST_PowerStation_List = "/home-wisdom/app/powerStation/page";
+    //鐢电珯鍒涘缓
+    public static final String POST_PowerStation_Create = "/home-wisdom/app/powerStation/create";
+    //鐢电珯鍒犻櫎
+    public static final String POST_PowerStation_Remove = "/home-wisdom/app/powerStation/remove";
+    //鐢电珯璇︽儏
+    public static final String POST_PowerStation_Info = "/home-wisdom/app/powerStation/info";
+    //鐢电珯缂栬緫
+    public static final String POST_PowerStation_Edit = "/home-wisdom/app/powerStation/edit";
+
 }
diff --git a/app/src/main/java/com/hdl/photovoltaic/listener/BaseSuccessFailureCallBeak.java b/app/src/main/java/com/hdl/photovoltaic/listener/BaseSuccessFailureCallBeak.java
index bbcd77f..0079a6a 100644
--- a/app/src/main/java/com/hdl/photovoltaic/listener/BaseSuccessFailureCallBeak.java
+++ b/app/src/main/java/com/hdl/photovoltaic/listener/BaseSuccessFailureCallBeak.java
@@ -1,11 +1,11 @@
 package com.hdl.photovoltaic.listener;
 
-import com.hdl.photovoltaic.bean.ResponsePack;
+import com.hdl.photovoltaic.bean.HttpResponsePack;
 
 public interface BaseSuccessFailureCallBeak extends BaseFailureCallBack {
 
     /**
      * 鎴愬姛鍥炶皟
      */
-    void onSuccess(ResponsePack responsePack);
+    void onSuccess(HttpResponsePack httpResponsePack);
 }
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java
index 27b8699..a3e2047 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java
@@ -3,10 +3,11 @@
 
 import com.google.gson.Gson;
 import com.google.gson.JsonObject;
-import com.hdl.photovoltaic.bean.LoginBean;
-import com.hdl.photovoltaic.bean.LoginUserRegionBean;
-import com.hdl.photovoltaic.bean.ResponsePack;
-import com.hdl.photovoltaic.config.ConfigManagement;
+import com.hdl.photovoltaic.ui.bean.LoginBean;
+import com.hdl.photovoltaic.ui.bean.LoginUserRegionBean;
+import com.hdl.photovoltaic.bean.HttpResponsePack;
+import com.hdl.photovoltaic.config.AppConfigManage;
+import com.hdl.photovoltaic.config.UserConfigManage;
 import com.hdl.photovoltaic.internet.HttpClient;
 import com.hdl.photovoltaic.internet.api.HttpApi;
 import com.hdl.photovoltaic.listener.BaseSuccessFailureCallBeak;
@@ -36,20 +37,20 @@
 
 
     /**
-     * 鍒濆鍖栬处鍙风殑Url鍖哄煙鍦板潃(鍙兘鐘舵�佺爜:Success  NotAccount  NotNetWork)
+     * 鍒濆鍖栬处鍙风殑Url鍖哄煙鍦板潃
      *
      * @param i_account 璐﹀彿
      */
     public void regionByAccount(String i_account, CloudCallBeak<LoginUserRegionBean> cloudCallBeak) {
         JsonObject jsonObject = new JsonObject();
         jsonObject.addProperty("account", i_account);
-        String full = ConfigManagement.getAPPRegionUrl() + HttpApi.POST_RegionByUserAccount;
+        String full = AppConfigManage.getAPPRegionUrl() + HttpApi.POST_RegionByUserAccount;
         HttpClient.getInstance().requestFullHttp(full, jsonObject.toString(), true, true, new BaseSuccessFailureCallBeak() {
             @Override
-            public void onSuccess(ResponsePack responsePack) {
-                if (responsePack.getData() != null) {
+            public void onSuccess(HttpResponsePack httpResponsePack) {
+                if (httpResponsePack.getData() != null) {
                     Gson gson = new Gson();
-                    String json = gson.toJson(responsePack.getData());
+                    String json = gson.toJson(httpResponsePack.getData());
                     LoginUserRegionBean loginUserRegionBean = new Gson().fromJson(json, LoginUserRegionBean.class);
                     if (cloudCallBeak != null) {
                         cloudCallBeak.onSuccess(loginUserRegionBean);
@@ -86,11 +87,12 @@
 
         HttpClient.getInstance().requestHttp(requestUrl, json.toString(), true, true, new BaseSuccessFailureCallBeak() {
             @Override
-            public void onSuccess(ResponsePack responsePack) {
-                if (responsePack.getData() != null) {
+            public void onSuccess(HttpResponsePack httpResponsePack) {
+                if (httpResponsePack.getData() != null) {
                     Gson gson = new Gson();
-                    String json = gson.toJson(responsePack.getData());
+                    String json = gson.toJson(httpResponsePack.getData());
                     LoginBean loginBean = new Gson().fromJson(json, LoginBean.class);
+                    saveUserData(loginBean);
                     if (cloudCallBeak != null) {
                         cloudCallBeak.onSuccess(loginBean);
                     } else {
@@ -120,5 +122,23 @@
         return mailbox.matches(regex);
     }
 
+    /**
+     * 鐧诲綍鎴愬姛淇濆瓨
+     */
+    private void saveUserData(LoginBean obj) {
+        if (obj != null) {
+            UserConfigManage.getInstance().setLogin(true);
+            UserConfigManage.getInstance().setAcceiptPolicy(true);
+            UserConfigManage.getInstance().setLoginDateTime(System.currentTimeMillis());
+            UserConfigManage.getInstance().setUserId(obj.getUserId());
+            UserConfigManage.getInstance().setAccount(obj.getAccount());
+            UserConfigManage.getInstance().setToken(obj.getAccessToken());
+            UserConfigManage.getInstance().setHeaderPrefix(obj.getHeaderPrefix());
+            UserConfigManage.getInstance().setRefreshToken(obj.getRefreshToken());
+            boolean isUserId = UserConfigManage.getInstance().getUserId().equals(obj.getUserId());
+            UserConfigManage.getInstance().setTheSameLoginAccount(isUserId);
+        }
+
+    }
 
 }
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlLogLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlLogLogic.java
index 8c9892c..3233896 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlLogLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlLogLogic.java
@@ -27,4 +27,5 @@
 
 
 
+
 }
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java
new file mode 100644
index 0000000..ec5a1cf
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java
@@ -0,0 +1,320 @@
+package com.hdl.photovoltaic.other;
+
+import com.google.gson.Gson;
+import com.google.gson.JsonObject;
+import com.hdl.photovoltaic.bean.HttpResponsePack;
+import com.hdl.photovoltaic.config.UserConfigManage;
+import com.hdl.photovoltaic.internet.HttpClient;
+import com.hdl.photovoltaic.internet.api.HttpApi;
+import com.hdl.photovoltaic.listener.BaseSuccessFailureCallBeak;
+import com.hdl.photovoltaic.listener.CloudCallBeak;
+import com.hdl.photovoltaic.ui.bean.HouseInfoBean;
+import com.hdl.photovoltaic.ui.bean.HouseListBean;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class HdlResidenceLogic {
+
+    private static volatile HdlResidenceLogic sHdlResidenceLogic;
+
+    public static synchronized HdlResidenceLogic getInstance() {
+        if (sHdlResidenceLogic == null) {
+            synchronized (HdlResidenceLogic.class) {
+                if (sHdlResidenceLogic == null) {
+                    sHdlResidenceLogic = new HdlResidenceLogic();
+                }
+            }
+
+        }
+        return sHdlResidenceLogic;
+    }
+
+    public List<HouseInfoBean> getHouseInfoList() {
+        return houseInfoList;
+    }
+
+    public void setHouseInfoList(List<HouseInfoBean> houseInfoList) {
+        this.houseInfoList = houseInfoList;
+    }
+
+    public List<HouseListBean> getHouseInfoBeanList() {
+        return houseList;
+    }
+
+    public void setHouseInfoBeanList(List<HouseListBean> houseListBeanList) {
+        this.houseList = houseListBeanList;
+    }
+
+    //浣忓畢鍒楄〃
+    private List<HouseListBean> houseList = new ArrayList<>();
+    //浣忓畢璇︽儏鍒楄〃
+    private List<HouseInfoBean> houseInfoList = new ArrayList<>();
+
+    public HouseListBean getHouseByHouseId(String homeId) {
+        return new HouseListBean();
+    }
+
+
+    /**
+     * 鑾峰彇浣忓畢(鐢电珯)鍒楄〃
+     *
+     * @param pageNo   褰撳墠椤垫暟
+     * @param pageSize 涓�椤靛ぇ灏�
+     */
+    public void getResidenceList(int pageNo, int pageSize, CloudCallBeak<Boolean> cloudCallBeak) {
+        if (pageNo == 1) {
+            //绗竴娆¤繘鏉ユ竻绌哄垪琛�
+            houseList.clear();
+        }
+        String requestUrl = HttpApi.POST_PowerStation_List;
+        JsonObject json = new JsonObject();
+//        json.addProperty("powerSort", "descending");//鍙戠數鍔熺巼鎺掑簭(descending:闄嶅簭ascending:鍗囧簭)
+//        json.addProperty("todayElectricitySort", "descending");//浠婃棩鍙戠數閲忔帓搴�
+//        json.addProperty("createTimeSort", "descending");//鍒涘缓鏃堕棿鎺掑簭
+//        json.addProperty("zoneType", "password");//鍖哄煙
+        json.addProperty("pageNo", pageNo);//椤电爜
+        json.addProperty("pageSize", pageSize);//椤垫暟
+
+        HttpClient.getInstance().requestHttp(requestUrl, json.toString(), true, true, new BaseSuccessFailureCallBeak() {
+            @Override
+            public void onSuccess(HttpResponsePack httpResponsePack) {
+                if (httpResponsePack != null) {
+                    if (httpResponsePack.getData() != null) {
+                        Gson gson = new Gson();
+                        String jsonStr = gson.toJson(httpResponsePack.getData().toString());
+                        HouseInfoBeanClass houseInfoBeanClass = gson.fromJson(jsonStr, HouseInfoBeanClass.class);
+                        houseList.addAll(houseInfoBeanClass.getList());
+                        //鎬诲叡鏈夊灏戦〉
+                        long totalPage = houseInfoBeanClass.totalPage;
+                        if (totalPage == houseInfoBeanClass.getPageNo()) {
+                            cloudCallBeak.onSuccess(true);
+                            return;
+                        }
+                        getResidenceList(pageNo + 1, 100, cloudCallBeak);
+                    } else {
+                        cloudCallBeak.onSuccess(false);
+                    }
+
+                }
+            }
+
+
+            @Override
+            public void onFailure(Exception exception) {
+                cloudCallBeak.onFailure(exception);
+            }
+        });
+    }
+
+
+    /**
+     * 鑾峰彇浣忓畢(鐢电珯)璇︽儏
+     *
+     * @param homeId        浣忓畢id
+     * @param cloudCallBeak 鍥炶皟
+     */
+    public void getResidenceInfo(String homeId, CloudCallBeak<HouseInfoBean> cloudCallBeak) {
+        String requestUrl = HttpApi.POST_GET_MEMBER_INFO;
+        JsonObject json = new JsonObject();
+        json.addProperty("homeId", homeId);//鐢电珯id
+        //json.addProperty("zoneType", "password");//鍖哄煙
+        HttpClient.getInstance().requestHttp(requestUrl, json.toString(), true, true, new BaseSuccessFailureCallBeak() {
+            @Override
+            public void onSuccess(HttpResponsePack httpResponsePack) {
+                if (httpResponsePack != null) {
+                    if (httpResponsePack.getData() != null) {
+                        Gson gson = new Gson();
+                        String jsonStr = gson.toJson(httpResponsePack.getData().toString());
+                        HouseInfoBean houseInfoBean = gson.fromJson(jsonStr, HouseInfoBean.class);
+                        cloudCallBeak.onSuccess(houseInfoBean);
+                    } else {
+                        cloudCallBeak.onSuccess(null);
+                    }
+
+                }
+            }
+
+            @Override
+            public void onFailure(Exception exception) {
+                cloudCallBeak.onFailure(exception);
+            }
+        });
+
+
+    }
+
+
+    /**
+     * 缂栬緫浣忓畢(鐢电珯)
+     *
+     * @param houseInfoBean -
+     * @param cloudCallBeak -
+     */
+    public void editResidence(HouseInfoBean houseInfoBean, CloudCallBeak<Boolean> cloudCallBeak) {
+        String requestUrl = HttpApi.POST_PowerStation_Create;
+        JsonObject json = new JsonObject();
+        JsonObject location = new JsonObject();
+        json.addProperty("homeId", houseInfoBean.getHomeId());
+        location.addProperty("nationCode", houseInfoBean.getLocation().getNationCode());
+        location.addProperty("nationName", houseInfoBean.getLocation().getNationName());
+        location.addProperty("provinceCode", houseInfoBean.getLocation().getProvinceCode());
+        location.addProperty("provinceName", houseInfoBean.getLocation().getProvinceName());
+        location.addProperty("cityCode", houseInfoBean.getLocation().getCityCode());
+        location.addProperty("cityName", houseInfoBean.getLocation().getCityName());
+        json.add("location", location);
+        json.addProperty("address", houseInfoBean.getAddress());
+        json.addProperty("latitude", houseInfoBean.getLatitude());
+        json.addProperty("longitude", houseInfoBean.getLongitude());
+        json.addProperty("homeName", houseInfoBean.getHomeName());
+        json.addProperty("timezone", houseInfoBean.getTimezone());
+        json.addProperty("powerStationType", houseInfoBean.getPowerStationType());
+        json.addProperty("workMode", houseInfoBean.getWorkMode());
+        json.addProperty("installedCapacity", houseInfoBean.getInstalledCapacity());
+        json.addProperty("productionTime", houseInfoBean.getProductionTime());
+        json.addProperty("monetaryUnit", houseInfoBean.getMonetaryUnit());
+        json.addProperty("electrovalence", houseInfoBean.getElectrovalence());
+        json.addProperty("totalCost", houseInfoBean.getTotalCost());
+        json.addProperty("zoneType", houseInfoBean.getZoneType());
+        HttpClient.getInstance().requestHttp(requestUrl, json.toString(), true, true, new BaseSuccessFailureCallBeak() {
+            @Override
+            public void onSuccess(HttpResponsePack httpResponsePack) {
+                cloudCallBeak.onSuccess(true);
+
+            }
+
+            @Override
+            public void onFailure(Exception exception) {
+                cloudCallBeak.onFailure(exception);
+            }
+        });
+    }
+
+    /**
+     * 鍒犻櫎浣忓畢(鐢电珯)
+     *
+     * @param homeId        -
+     * @param cloudCallBeak -
+     */
+    public void delResidence(String homeId, CloudCallBeak<Boolean> cloudCallBeak) {
+        String requestUrl = HttpApi.POST_PowerStation_Remove;
+        JsonObject json = new JsonObject();
+        json.addProperty("homeId", homeId);//鐢电珯id
+        //json.addProperty("zoneType", "password");//鍖哄煙
+        HttpClient.getInstance().requestHttp(requestUrl, json.toString(), true, true, new BaseSuccessFailureCallBeak() {
+            @Override
+            public void onSuccess(HttpResponsePack httpResponsePack) {
+                cloudCallBeak.onSuccess(true);
+
+            }
+
+            @Override
+            public void onFailure(Exception exception) {
+                cloudCallBeak.onFailure(exception);
+            }
+        });
+
+    }
+
+    /**
+     * 娣诲姞浣忓畢(鐢电珯)
+     *
+     * @param houseInfoBean -
+     * @param cloudCallBeak -
+     */
+    public void addResidence(HouseInfoBean houseInfoBean, CloudCallBeak<Boolean> cloudCallBeak) {
+        String requestUrl = HttpApi.POST_PowerStation_Create;
+        JsonObject json = new JsonObject();
+        JsonObject location = new JsonObject();
+        json.addProperty("powerStationImage", "");
+        location.addProperty("nationCode", houseInfoBean.getLocation().getNationCode());
+        location.addProperty("nationName", houseInfoBean.getLocation().getNationName());
+        location.addProperty("provinceCode", houseInfoBean.getLocation().getProvinceCode());
+        location.addProperty("provinceName", houseInfoBean.getLocation().getProvinceName());
+        location.addProperty("cityCode", houseInfoBean.getLocation().getCityCode());
+        location.addProperty("cityName", houseInfoBean.getLocation().getCityName());
+        json.add("location", location);
+        json.addProperty("address", houseInfoBean.getAddress());
+        json.addProperty("latitude", houseInfoBean.getLatitude());
+        json.addProperty("longitude", houseInfoBean.getLongitude());
+        json.addProperty("homeName", houseInfoBean.getHomeName());
+        json.addProperty("timezone", houseInfoBean.getTimezone());
+        json.addProperty("powerStationType", houseInfoBean.getPowerStationType());
+        json.addProperty("workMode", houseInfoBean.getWorkMode());
+        json.addProperty("installedCapacity", houseInfoBean.getInstalledCapacity());
+        json.addProperty("productionTime", houseInfoBean.getProductionTime());
+        json.addProperty("monetaryUnit", houseInfoBean.getMonetaryUnit());
+        json.addProperty("electrovalence", houseInfoBean.getElectrovalence());
+        json.addProperty("totalCost", houseInfoBean.getTotalCost());
+        json.addProperty("zoneType", houseInfoBean.getZoneType());
+        HttpClient.getInstance().requestHttp(requestUrl, json.toString(), true, true, new BaseSuccessFailureCallBeak() {
+            @Override
+            public void onSuccess(HttpResponsePack httpResponsePack) {
+                cloudCallBeak.onSuccess(true);
+
+            }
+
+            @Override
+            public void onFailure(Exception exception) {
+                cloudCallBeak.onFailure(exception);
+            }
+        });
+
+
+    }
+
+    static class HouseInfoBeanClass {
+
+        //鎬绘潯鏁�
+        private long totalCount;
+        //鎬婚〉鏁�
+        private long totalPage;
+        //褰撳墠椤�
+        private long pageNo;
+        //椤垫暟
+        private long pageSize;
+        //鐢电珯鍒楄〃
+        private List<HouseListBean> list;
+
+        public long getTotalCount() {
+            return totalCount;
+        }
+
+        public void setTotalCount(long totalCount) {
+            this.totalCount = totalCount;
+        }
+
+        public long getTotalPage() {
+            return totalPage;
+        }
+
+        public void setTotalPage(long totalPage) {
+            this.totalPage = totalPage;
+        }
+
+        public long getPageNo() {
+            return pageNo;
+        }
+
+        public void setPageNo(long pageNo) {
+            this.pageNo = pageNo;
+        }
+
+        public long getPageSize() {
+            return pageSize;
+        }
+
+        public void setPageSize(long pageSize) {
+            this.pageSize = pageSize;
+        }
+
+        public List<HouseListBean> getList() {
+            return list == null ? new ArrayList<>() : list;
+        }
+
+        public void setList(List<HouseListBean> list) {
+            this.list = list;
+        }
+    }
+
+}
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java
index ba77b80..231ce2a 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java
@@ -19,11 +19,14 @@
 
 import com.hdl.photovoltaic.R;
 import com.hdl.photovoltaic.base.CustomBaseActivity;
-import com.hdl.photovoltaic.bean.LoginUserRegionBean;
-import com.hdl.photovoltaic.config.ConfigManagement;
+import com.hdl.photovoltaic.other.HdlResidenceLogic;
+import com.hdl.photovoltaic.ui.bean.LoginBean;
+import com.hdl.photovoltaic.ui.bean.LoginUserRegionBean;
+import com.hdl.photovoltaic.config.AppConfigManage;
 import com.hdl.photovoltaic.databinding.ActivityHomeLoginBinding;
 import com.hdl.photovoltaic.listener.CloudCallBeak;
 import com.hdl.photovoltaic.other.HdlAccountLogic;
+import com.hdl.photovoltaic.other.HdlThreadLogic;
 
 
 public class HomeLoginActivity extends CustomBaseActivity {
@@ -48,6 +51,10 @@
 
     private void initView() {
         setStringDifferentColors(viewBinding.homeLoginPrivacyTv);
+        //娴嬭瘯鐢�
+        viewBinding.homeLoginAccountEt.setText("18402017839");
+        viewBinding.homeLoginPasswordEt.setText("123456");
+        isLoginTextViewEnabled();
     }
 
     private void initEvent() {
@@ -139,7 +146,10 @@
         viewBinding.homeLoginTv.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                boolean isLogin = isLocalCheckAccountAndPassword();
+
+                String account = viewBinding.homeLoginAccountEt.getText().toString().replace(" ", "");
+                String password = viewBinding.homeLoginPasswordEt.getText().toString().replace(" ", "");
+                boolean isLogin = isLocalCheckAccountAndPassword(account, password);
                 if (!isLogin) {
                     return;
                 }
@@ -148,9 +158,49 @@
 //                    //闅愮鍗忚鎻愮ず
 //                    return;
 //                }
-                restoreButtonStyleToInitializeState();
+                showLoading(getString(R.string.home_login_鐧诲綍涓�));
+                HdlAccountLogic.getInstance().regionByAccount(account, new CloudCallBeak<LoginUserRegionBean>() {
+                    @Override
+                    public void onSuccess(LoginUserRegionBean obj) {
+                        AppConfigManage.setUserRegionUrl(obj.getRegionUrl());
+                        HdlAccountLogic.getInstance().loginByPassword(account, password, new CloudCallBeak<LoginBean>() {
+                            @Override
+                            public void onSuccess(LoginBean obj) {
+                                HdlThreadLogic.runMainThread(new Runnable() {
+                                    @Override
+                                    public void run() {
+                                        HdlResidenceLogic.getInstance().getResidenceList(1, 100, new CloudCallBeak<Boolean>() {
+                                            @Override
+                                            public void onSuccess(Boolean obj) {
 
-                startActivity(MyPowerStationActivity.class);
+                                            }
+
+                                            @Override
+                                            public void onFailure(Exception exception) {
+
+                                            }
+                                        });
+                                        hideLoading();
+                                        restoreButtonStyleToInitializeState();
+                                        startActivity(MyPowerStationActivity.class);
+
+                                    }
+                                }, null, null);
+
+                            }
+
+                            @Override
+                            public void onFailure(Exception exception) {
+                                hideLoading();
+                            }
+                        });
+                    }
+
+                    @Override
+                    public void onFailure(Exception exception) {
+                        hideLoading();
+                    }
+                });
 
 
             }
@@ -159,19 +209,7 @@
         viewBinding.homeLoginExperienceTv.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-//                startActivity(MyPowerStationActivity.class);
-                HdlAccountLogic.getInstance().regionByAccount("18402017839", new CloudCallBeak<LoginUserRegionBean>() {
-                    @Override
-                    public void onSuccess(LoginUserRegionBean obj) {
-                        ConfigManagement.setUserRegionUrl(obj.getRegionUrl());
-                    }
-
-                    @Override
-                    public void onFailure(Exception exception) {
-
-                    }
-                });
-
+                startActivity(MyPowerStationActivity.class);
             }
         });
 
@@ -189,12 +227,13 @@
 
     /**
      * 鏈湴鏍¢獙杈撳叆璐﹀彿鎴栬�呭瘑鐮佹槸鍚︽纭�
-     * 姝g‘杩斿洖<true>true</true>
-     * 涓�鑸柟娉�
+     *
+     * @param account  璐﹀彿
+     * @param password 瀵嗙爜
+     *                 姝g‘杩斿洖<true>true</true>
+     *                 涓�鑸柟娉�
      */
-    private boolean isLocalCheckAccountAndPassword() {
-        String account = viewBinding.homeLoginAccountEt.getText().toString().replace(" ", "");
-        String password = viewBinding.homeLoginPasswordEt.getText().toString().replace(" ", "");
+    private boolean isLocalCheckAccountAndPassword(String account, String password) {
         if (TextUtils.isEmpty(account)) {
             viewBinding.homeLoginLine1V.setBackgroundColor(getColor(R.color.text_D34545));
             viewBinding.homeLoginAccountTextErrorTv.setText(R.string.home_login_error_璐﹀彿涓嶈兘涓虹┖);
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java
index 5ad6ee2..cfe9750 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java
@@ -10,15 +10,15 @@
 import androidx.recyclerview.widget.RecyclerView;
 
 import com.hdl.photovoltaic.R;
-import com.hdl.photovoltaic.ui.bean.HouseInfoBean;
+import com.hdl.photovoltaic.ui.bean.HouseListBean;
 
 import java.util.List;
 
 public class HouseInfoAdapter extends RecyclerView.Adapter<HouseInfoAdapter.MyViewHolder> {
 
-    private List<HouseInfoBean> mList;
+    private List<HouseListBean> mList;
 
-    public HouseInfoAdapter(List<HouseInfoBean> list) {
+    public HouseInfoAdapter(List<HouseListBean> list) {
         this.mList = list;
     }
 
@@ -31,8 +31,8 @@
 
     @Override
     public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
-        HouseInfoBean houseInfoBean = this.mList.get(position);
-        holder.homeNameTv.setText(houseInfoBean.getName());
+        HouseListBean houseListBean = this.mList.get(position);
+        holder.homeNameTv.setText(houseListBean.getHomeName());
 
     }
 
@@ -42,7 +42,7 @@
     }
 
 
-    public void setList(List<HouseInfoBean> list) {
+    public void setList(List<HouseListBean> list) {
         this.mList = list;
     }
 
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseInfoBean.java b/app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseInfoBean.java
index 715728f..891580d 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseInfoBean.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseInfoBean.java
@@ -1,17 +1,199 @@
 package com.hdl.photovoltaic.ui.bean;
 
-import java.io.Serializable;
-
-public class HouseInfoBean implements Serializable {
+public class HouseInfoBean {
+    private String homeId;//鐢电珯id
+    private Location location;//鐢电珯鍦板潃
+    private String address;//璇︾粏鍦板潃
+    private String latitude;//绾害
+    private String longitude;//缁忓害
+    private String homeName;//鐢电珯鍚嶇О
+    private String timezone;//鏃跺尯
+    private int powerStationType;//鐢电珯绫诲瀷(DOMESTIC_ROOF:瀹剁敤灞嬮《,COMMERCIAL_ROOF:鍟嗕笟鐢ㄥ眿椤�,INDUSTRIAL_ROOF:宸ヤ笟鐢ㄥ眿椤�,SURFACE_POWER_STATION:鍦伴潰鐢电珯)
+    private int workMode;//宸ヤ綔妯″紡(self_use:鑷彂鑷敤,peak_load_shifting:鍓婂嘲濉胺,battery_priority:鐢垫睜浼樺厛,auto:鏅鸿兘妯″紡)
+    private String installedCapacity;//瑁呮満瀹归噺
+    private long productionTime;//鎶曚骇鏃ュ織
+    private String monetaryUnit;//璐у竵鍗曚綅
+    private String electrovalence;//鐢典环
+    private String totalCost;//鎬绘垚鏈�
 
 
-    private String name;
+    private String zoneType;//鍖哄煙
 
-    public String getName() {
-        return name;
+    public String getHomeId() {
+        return homeId == null ? "" : homeId;
     }
 
-    public void setName(String name) {
-        this.name = name;
+    public void setHomeId(String homeId) {
+        this.homeId = homeId;
+    }
+
+    public Location getLocation() {
+        return location == null ? new Location() : location;
+    }
+
+    public void setLocation(Location location) {
+        this.location = location;
+    }
+
+    public String getAddress() {
+        return address == null ? "" : address;
+    }
+
+    public void setAddress(String address) {
+        this.address = address;
+    }
+
+    public String getLatitude() {
+        return latitude == null ? "" : latitude;
+    }
+
+    public void setLatitude(String latitude) {
+        this.latitude = latitude;
+    }
+
+    public String getLongitude() {
+        return longitude == null ? "" : longitude;
+    }
+
+    public void setLongitude(String longitude) {
+        this.longitude = longitude;
+    }
+
+    public String getHomeName() {
+        return homeName == null ? "" : homeName;
+    }
+
+    public void setHomeName(String homeName) {
+        this.homeName = homeName;
+    }
+
+    public String getTimezone() {
+        return timezone == null ? "" : timezone;
+    }
+
+    public void setTimezone(String timezone) {
+        this.timezone = timezone;
+    }
+
+    public int getPowerStationType() {
+        return powerStationType;
+    }
+
+    public void setPowerStationType(int powerStationType) {
+        this.powerStationType = powerStationType;
+    }
+
+    public int getWorkMode() {
+        return workMode;
+    }
+
+    public void setWorkMode(int workMode) {
+        this.workMode = workMode;
+    }
+
+    public String getInstalledCapacity() {
+        return installedCapacity == null ? "" : installedCapacity;
+    }
+
+    public void setInstalledCapacity(String installedCapacity) {
+        this.installedCapacity = installedCapacity;
+    }
+
+    public long getProductionTime() {
+        return productionTime;
+    }
+
+    public void setProductionTime(long productionTime) {
+        this.productionTime = productionTime;
+    }
+
+    public String getMonetaryUnit() {
+        return monetaryUnit == null ? "" : monetaryUnit;
+    }
+
+    public void setMonetaryUnit(String monetaryUnit) {
+        this.monetaryUnit = monetaryUnit;
+    }
+
+    public String getElectrovalence() {
+        return electrovalence == null ? "" : electrovalence;
+    }
+
+    public void setElectrovalence(String electrovalence) {
+        this.electrovalence = electrovalence;
+    }
+
+    public String getTotalCost() {
+        return totalCost == null ? "" : totalCost;
+    }
+
+    public void setTotalCost(String totalCost) {
+        this.totalCost = totalCost;
+    }
+
+    public String getZoneType() {
+        return zoneType == null ? "" : zoneType;
+    }
+
+    public void setZoneType(String zoneType) {
+        this.zoneType = zoneType;
+    }
+
+    public static class Location {
+        private String nationCode;//鍥藉缂栫爜
+        private String nationName;//鍥藉鍚嶇О
+        private String provinceCode;//鐪佺紪鐮�
+        private String provinceName;//鐪佸悕绉�
+        private String cityCode;//鏄紪鐮�
+        private String cityName;//鏄悕绉�
+
+        public String getNationCode() {
+            return nationCode == null ? "" : nationCode;
+        }
+
+        public void setNationCode(String nationCode) {
+            this.nationCode = nationCode;
+        }
+
+        public String getNationName() {
+            return nationName == null ? "" : nationName;
+        }
+
+        public void setNationName(String nationName) {
+            this.nationName = nationName;
+        }
+
+        public String getProvinceCode() {
+            return provinceCode == null ? "" : provinceCode;
+        }
+
+        public void setProvinceCode(String provinceCode) {
+            this.provinceCode = provinceCode;
+        }
+
+        public String getCityCode() {
+            return cityCode == null ? "" : cityCode;
+        }
+
+        public void setCityCode(String cityCode) {
+            this.cityCode = cityCode;
+        }
+
+        public String getCityName() {
+            return cityName == null ? "" : cityName;
+        }
+
+        public void setCityName(String cityName) {
+            this.cityName = cityName;
+        }
+
+        public String getProvinceName() {
+            return provinceName == null ? "" : provinceName;
+        }
+
+        public void setProvinceName(String provinceName) {
+            this.provinceName = provinceName;
+        }
+
     }
 }
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseListBean.java b/app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseListBean.java
new file mode 100644
index 0000000..b79f466
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseListBean.java
@@ -0,0 +1,70 @@
+package com.hdl.photovoltaic.ui.bean;
+
+import java.io.Serializable;
+
+public class HouseListBean implements Serializable {
+    private String homeId;//鐢电珯id
+    private String homeImage;//鐢电珯鍥剧墖
+    private String homeName;//鐢电珯鍚嶇О
+    private String installedCapacity;//瑁呮満瀹归噺
+    private String power;//鍙戠數鍔熺巼
+    private String todayElectricity;//浠婂ぉ鍙戠數閲�
+    private int powerStationStatus;//鐢电珯鐘舵��(鐢电珯鐘舵��	1:姝e父(杩愯),2:绂荤嚎,3:杩炴帴涓�,4:鏁呴殰)
+
+    public String getHomeId() {
+        return homeId == null ? "" : homeId;
+    }
+
+    public void setHomeId(String homeId) {
+        this.homeId = homeId;
+    }
+
+    public String getHomeImage() {
+        return homeImage == null ? "" : homeImage;
+    }
+
+    public void setHomeImage(String homeImage) {
+        this.homeImage = homeImage;
+    }
+
+    public String getHomeName() {
+        return homeName == null ? "" : homeName;
+    }
+
+    public void setHomeName(String homeName) {
+        this.homeName = homeName;
+    }
+
+    public String getInstalledCapacity() {
+        return installedCapacity == null ? "" : installedCapacity;
+    }
+
+    public void setInstalledCapacity(String installedCapacity) {
+        this.installedCapacity = installedCapacity;
+    }
+
+    public String getPower() {
+        return power == null ? "" : power;
+    }
+
+    public void setPower(String power) {
+        this.power = power;
+    }
+
+    public String getTodayElectricity() {
+        return todayElectricity == null ? "" : todayElectricity;
+    }
+
+    public void setTodayElectricity(String todayElectricity) {
+        this.todayElectricity = todayElectricity;
+    }
+
+    public int getPowerStationStatus() {
+        return powerStationStatus;
+    }
+
+    public void setPowerStationStatus(int powerStationStatus) {
+        this.powerStationStatus = powerStationStatus;
+    }
+
+}
diff --git a/app/src/main/java/com/hdl/photovoltaic/bean/LoginBean.java b/app/src/main/java/com/hdl/photovoltaic/ui/bean/LoginBean.java
similarity index 86%
rename from app/src/main/java/com/hdl/photovoltaic/bean/LoginBean.java
rename to app/src/main/java/com/hdl/photovoltaic/ui/bean/LoginBean.java
index 419527c..29a5f6f 100644
--- a/app/src/main/java/com/hdl/photovoltaic/bean/LoginBean.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/bean/LoginBean.java
@@ -1,4 +1,4 @@
-package com.hdl.photovoltaic.bean;
+package com.hdl.photovoltaic.ui.bean;
 
 import androidx.annotation.NonNull;
 
@@ -7,29 +7,59 @@
 public class LoginBean implements Serializable {
     /// 鐢ㄦ埛鏈夋晥韬唤Token
     private String accessToken;
-    /// 鐢ㄦ埛鏈夋晥韬唤Token杩囨湡鏃堕棿
-    private String expiration;
-    /// 鍒锋柊Token
-    private String refreshToken;
-    /// 鍒锋柊Token杩囨湡鏃堕棿
-    private String refreshExpiration;
-    /// 鐢ㄦ埛鍞竴ID
-    private String userId;
     /// 鐧诲綍甯愬彿
     private String account;
-    /// headerPrefix
-    private String headerPrefix;
-    private String tokenUuid;
-    private String tokenType;
+    ///灏忓尯ID
+    private String companyId;
+    /// 鐢ㄦ埛鏈夋晥韬唤Token杩囨湡鏃堕棿
+    private String expiration;
+    ///杩囨湡鏃堕棿锛堢锛�
     private String expiresIn;
-    private String refreshExpiresIn;
-    private String userType;
+    /// 璁よ瘉璇锋眰澶村墠缂�
+    private String headerPrefix;
+    //鐢ㄦ埛濮撳悕
     private String name;
+    /// 鍒锋柊Token杩囨湡鏃堕棿
+    private String refreshExpiration;
+    ///
+    private String refreshExpiresIn;
+    /// 鍒锋柊Token
+    private String refreshToken;
+    ///瑙掕壊
+    private String role;
+    ///绉熸埛ID
+    private String tenantId;
+    ///
+    private String tokenType;
+    private String tokenUuid;
+    /// 鐢ㄦ埛id
+    private String userId;
+
+    ///鎵嬫満鍙�
     private String userPhone;
+    ///鐢ㄦ埛绫诲瀷
+    private String userType;
+
+
     /// 鐢ㄦ埛閭
     private String userEmail;
-    ///浼佷笟鍗曚綅id
-    private String companyId;
+
+
+    public String getRole() {
+        return this.role == null ? "" : role;
+    }
+
+    public void setRole(String role) {
+        this.role = role;
+    }
+
+    public String getTenantId() {
+        return tenantId == null ? "" : tenantId;
+    }
+
+    public void setTenantId(String tenantId) {
+        this.tenantId = tenantId;
+    }
 
     @NonNull
     public String getAccessToken() {
diff --git a/app/src/main/java/com/hdl/photovoltaic/bean/LoginUserRegionBean.java b/app/src/main/java/com/hdl/photovoltaic/ui/bean/LoginUserRegionBean.java
similarity index 97%
rename from app/src/main/java/com/hdl/photovoltaic/bean/LoginUserRegionBean.java
rename to app/src/main/java/com/hdl/photovoltaic/ui/bean/LoginUserRegionBean.java
index 1e96ee5..2309539 100644
--- a/app/src/main/java/com/hdl/photovoltaic/bean/LoginUserRegionBean.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/bean/LoginUserRegionBean.java
@@ -1,4 +1,4 @@
-package com.hdl.photovoltaic.bean;
+package com.hdl.photovoltaic.ui.bean;
 
 import androidx.annotation.NonNull;
 
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java
index 55b887a..66cab2e 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java
@@ -14,9 +14,8 @@
 import com.hdl.photovoltaic.databinding.FragmentHouseListBinding;
 import com.hdl.photovoltaic.base.CustomBaseFragment;
 import com.hdl.photovoltaic.ui.adapter.HouseInfoAdapter;
-import com.hdl.photovoltaic.ui.bean.HouseInfoBean;
+import com.hdl.photovoltaic.ui.bean.HouseListBean;
 import com.hdl.photovoltaic.ui.device.FastScanActivity;
-import com.hdl.photovoltaic.utils.FlashLightUtils;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -26,7 +25,7 @@
     private HouseInfoAdapter houseInfoAdapter;
     private CameraManager manager;
 
-    private List<HouseInfoBean> houseInfoBeanList = null;
+    private List<HouseListBean> houseListBeanList = null;
 
     @Override
     public Object getContentView() {
@@ -74,7 +73,7 @@
         viewBinding.toolbarTopFragmentHouseListRl.topMoreIv.setVisibility(View.VISIBLE);
         viewBinding.toolbarTopFragmentHouseListRl.topMoreIv.setImageResource(R.drawable.add);
         LinearLayoutManager linearLayout = new LinearLayoutManager(_mActivity);
-        houseInfoAdapter = new HouseInfoAdapter(this.houseInfoBeanList);
+        houseInfoAdapter = new HouseInfoAdapter(this.houseListBeanList);
         viewBinding.fragmentHouseSrlListRc.setLayoutManager(linearLayout);
         viewBinding.fragmentHouseSrlListRc.setAdapter(houseInfoAdapter);
 
@@ -82,11 +81,11 @@
     }
 
     private void initData() {
-        this.houseInfoBeanList = new ArrayList<>();
+        this.houseListBeanList = new ArrayList<>();
         for (int i = 0; i < 11; i++) {
-            HouseInfoBean houseInfoBean = new HouseInfoBean();
-            houseInfoBean.setName("鐢电珯" + i);
-            this.houseInfoBeanList.add(houseInfoBean);
+            HouseListBean houseListBean = new HouseListBean();
+            houseListBean.setHomeName("鐢电珯" + i);
+            this.houseListBeanList.add(houseListBean);
         }
 
 
diff --git a/app/src/main/java/com/hdl/photovoltaic/utils/SharedPreUtils.java b/app/src/main/java/com/hdl/photovoltaic/utils/SharedPreUtils.java
new file mode 100644
index 0000000..dcf31bc
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/utils/SharedPreUtils.java
@@ -0,0 +1,41 @@
+package com.hdl.photovoltaic.utils;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+
+
+public class SharedPreUtils {
+
+
+    /**
+     * 鐢ㄦ埛鏁版嵁鐨勫瓨鍌�
+     *
+     * @param key     閿悕
+     * @param value   閿��
+     * @param context 涓婁笅鏂�
+     * @return -
+     */
+    public static boolean saveMyDataInfo(String key, String value, Context context) {
+        // 鑾峰彇SharedPreferences瀵硅薄锛屽悓鏃舵寚瀹氭枃浠跺悕绉板拰璁块棶鏉冮檺
+        SharedPreferences sp = context.getSharedPreferences("MyData", Context.MODE_PRIVATE);
+        // 鑾峰彇鑾峰彇SharedPreferences鐨勭紪杈戝櫒瀵硅薄
+        SharedPreferences.Editor edit = sp.edit();
+        // 閫氳繃缂栬緫鍣ㄨ繘琛屾暟鎹殑瀛樺偍
+        edit.putString(key, value);
+        edit.apply();
+        return true;
+    }
+
+    /**
+     * 璇诲彇鐢ㄦ埛鏁版嵁
+     *
+     * @param key     閿悕
+     * @param context 涓婁笅鏂�
+     * @return -value
+     */
+    public String getSharedPreferencesKey(String key, Context context) {
+        // 鑾峰彇SharedPreferences瀵硅薄锛屽悓鏃舵寚瀹氭枃浠跺悕绉板拰璁块棶鏉冮檺
+        SharedPreferences sp = context.getSharedPreferences("MyData", Context.MODE_PRIVATE);
+        return sp.getString(key, "");
+    }
+}
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 8ee7c41..d8a58e0 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -21,6 +21,7 @@
     <string name="home_login_娉ㄥ唽">娉ㄥ唽</string>
     <string name="home_login_蹇樿瀵嗙爜">蹇樿瀵嗙爜</string>
     <string name="home_login_鐧诲綍">鐧诲綍</string>
+    <string name="home_login_鐧诲綍涓�">鐧诲綍涓�...</string>
     <string name="home_login_浣撻獙鐢电珯">浣撻獙鐢电珯</string>
     <string name="home_login_鍚屾剰_鏈嶅姟鍗忚">鍚屾剰銆婃湇鍔″崗璁�嬪拰銆婄敤鎴蜂俊鎭繚鎶よ瀹氥��</string>
     <string name="home_login_error_璐﹀彿涓嶈兘涓虹┖">璐﹀彿涓嶈兘涓虹┖.</string>

--
Gitblit v1.8.0