From 27d7958c1979a75cac2f820a75e6e6ac33652d63 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期五, 16 六月 2023 18:21:17 +0800
Subject: [PATCH] 2023年06月16日18:21:15

---
 app/src/main/java/com/hdl/photovoltaic/ui/bean/LoginUserBean.java             |   10 +-
 app/src/main/java/com/hdl/photovoltaic/internet/HttpClient.java               |    4 
 app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java                      |    6 +
 app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java              |    4 
 app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationInputDialog.java    |    1 
 app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java           |    3 +
 app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java       |   16 +++++
 app/src/main/java/com/hdl/photovoltaic/HDLApp.java                            |    2 
 app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java             |   50 ++++++++++++++--
 app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java                 |    2 
 app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java              |    9 +--
 app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java |   15 +++++
 12 files changed, 98 insertions(+), 24 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
index 91591fc..e3cf84d 100644
--- a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
+++ b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
@@ -3,6 +3,8 @@
 import android.app.Application;
 
 
+import com.google.gson.Gson;
+import com.google.gson.JsonObject;
 import com.hdl.photovoltaic.other.HdlLogLogic;
 import com.hdl.photovoltaic.uni.HDLUniMPSDKManager;
 import com.hdl.photovoltaic.utils.SharedPreUtils;
diff --git a/app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java b/app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java
index a9dbe2b..2e70ddb 100644
--- a/app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java
+++ b/app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java
@@ -12,6 +12,9 @@
 import java.util.ArrayList;
 import java.util.List;
 
+/**
+ * 涓汉淇℃伅绫�
+ */
 public class UserConfigManage {
 
 
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 9a4c9ab..d8fce79 100644
--- a/app/src/main/java/com/hdl/photovoltaic/internet/HttpClient.java
+++ b/app/src/main/java/com/hdl/photovoltaic/internet/HttpClient.java
@@ -92,7 +92,7 @@
                     RequestBody requestBody = FormBody.create(MediaType.parse("application/json; charset=utf-8"), getJson(json));
                     final Request request = new Request.Builder()
                             .url(fullUrl)//璇锋眰鐨剈rl//
-                            .addHeader("Authorization", UserConfigManage.getInstance().getHeaderPrefix()+UserConfigManage.getInstance().getToken())
+                            .addHeader("Authorization", UserConfigManage.getInstance().getHeaderPrefix() + UserConfigManage.getInstance().getToken())
                             .post(requestBody)
                             .build();
                     if (isExecute) {
@@ -101,7 +101,7 @@
                             String s = Objects.requireNonNull(response.body()).string();
                             HttpResponsePack httpResponsePack = new Gson().fromJson(s, HttpResponsePack.class);
                             baseSuccessCallBeak.onSuccess(httpResponsePack);
-                            HdlLogLogic.print("http->鍥炲->", response.request().url()+"\r\n" + s);
+                            HdlLogLogic.print("http->鍥炲->", response.request().url() + "\r\n" + s);
                         } else {
                             //throw new IOException("Unexpected code " + response);
                             baseSuccessCallBeak.onFailure(new Exception());
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 04629d3..27d9bfd 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java
@@ -3,7 +3,7 @@
 
 import com.google.gson.Gson;
 import com.google.gson.JsonObject;
-import com.hdl.photovoltaic.ui.bean.LoginBean;
+import com.hdl.photovoltaic.ui.bean.LoginUserBean;
 import com.hdl.photovoltaic.ui.bean.LoginUserRegionBean;
 import com.hdl.photovoltaic.bean.HttpResponsePack;
 import com.hdl.photovoltaic.config.AppConfigManage;
@@ -80,7 +80,7 @@
      * @param loginPwd      瀵嗙爜
      * @param cloudCallBeak -
      */
-    public void loginByPassword(String account, String loginPwd, CloudCallBeak<LoginBean> cloudCallBeak) {
+    public void loginByPassword(String account, String loginPwd, CloudCallBeak<LoginUserBean> cloudCallBeak) {
         String requestUrl = HttpApi.POST_Login;
         JsonObject json = new JsonObject();
         json.addProperty("account", account);
@@ -94,10 +94,45 @@
                 if (httpResponsePack != null && httpResponsePack.getData() != null) {
                     Gson gson = new Gson();
                     String json = gson.toJson(httpResponsePack.getData());
-                    LoginBean loginBean = new Gson().fromJson(json, LoginBean.class);
-                    saveUserData(loginBean);
+                    LoginUserBean loginUserBean = new Gson().fromJson(json, LoginUserBean.class);
+                    saveUserData(loginUserBean);
                     if (cloudCallBeak != null) {
-                        cloudCallBeak.onSuccess(loginBean);
+                        cloudCallBeak.onSuccess(loginUserBean);
+                    }
+                }
+            }
+
+            @Override
+            public void onFailure(Exception exception) {
+                if (cloudCallBeak != null) {
+                    cloudCallBeak.onFailure(exception);
+                }
+            }
+        });
+    }
+
+    /**
+     * 鍒锋柊Token(B绔处鍙�)
+     *
+     * @param account       鎵嬫満鎴栬�呴偖绠�
+     * @param loginPwd      瀵嗙爜
+     * @param cloudCallBeak -
+     */
+    public void refreshToken(String account, String loginPwd, CloudCallBeak<LoginUserBean> cloudCallBeak) {
+        String requestUrl = HttpApi.POST_Login;
+        JsonObject json = new JsonObject();
+        json.addProperty("grantType", "refresh_token");
+
+        HttpClient.getInstance().requestHttp(requestUrl, json.toString(), true, true, new BaseSuccessFailureCallBeak() {
+            @Override
+            public void onSuccess(HttpResponsePack httpResponsePack) {
+                if (httpResponsePack != null && httpResponsePack.getData() != null) {
+                    Gson gson = new Gson();
+                    String json = gson.toJson(httpResponsePack.getData());
+                    LoginUserBean loginUserBean = new Gson().fromJson(json, LoginUserBean.class);
+                    saveUserData(loginUserBean);
+                    if (cloudCallBeak != null) {
+                        cloudCallBeak.onSuccess(loginUserBean);
                     }
                 }
             }
@@ -126,7 +161,7 @@
     /**
      * 鐧诲綍鎴愬姛淇濆瓨鐧诲綍淇℃伅
      */
-    private void saveUserData(LoginBean obj) {
+    private void saveUserData(LoginUserBean obj) {
         if (obj != null) {
             UserConfigManage.getInstance().setLogin(true);//鏄惁鐧诲綍
             UserConfigManage.getInstance().setAcceiptPolicy(true);//鏄惁閫夋嫨闅愮鏀跨瓥
@@ -135,11 +170,12 @@
             UserConfigManage.getInstance().setAccount(obj.getAccount());//璐﹀彿
             UserConfigManage.getInstance().setToken(obj.getAccessToken());//Token
             UserConfigManage.getInstance().setHeaderPrefix(obj.getHeaderPrefix());//璁よ瘉璇锋眰澶村墠缂�(搴曞眰璇锋眰缁熶竴鍔�)
-            UserConfigManage.getInstance().setRefreshToken(obj.getRefreshToken());//鍒锋柊Token
+            UserConfigManage.getInstance().setRefreshToken(obj.getRefreshToken());//鍒锋柊Token鐢ㄧ殑鍒锋柊Token鐢ㄧ殑
             boolean isUserId = UserConfigManage.getInstance().getUserId().equals(obj.getUserId());
             UserConfigManage.getInstance().setTheSameLoginAccount(isUserId);//涓庝笂涓�涓处鍙锋槸鍚﹀悓涓�涓�
         }
 
     }
 
+
 }
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java
index 5217157..0922c13 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java
@@ -18,7 +18,7 @@
 
 
     /**
-     * 鍒囨崲鍥炰富绾跨▼
+     * 鍒囨崲鍥炰富绾跨▼鎵ц
      *
      * @param run           鍥炶皟
      * @param context       涓婁笅鏂�(涓嶉渶瑕佸脊妗嗗~null)
@@ -38,7 +38,7 @@
 
 
     /**
-     * 瀛愮嚎绋�
+     * 瀛愮嚎绋嬫墽琛�
      *
      * @param run           鍥炶皟
      * @param context       涓婁笅鏂�(涓嶉渶瑕佸脊妗嗗~null)
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 86bd98f..1a16526 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
@@ -51,6 +51,7 @@
             if (data != null) {
                 jsonObject = new org.json.JSONObject(data.toString());
             }
+            //浣忓畢妯″潡
             if (HDLUniMP.UNI_EVENT_HOME_CREATION.equals(event)) {
                 if (callback != null) {
                     callback.invoke(null);
@@ -112,6 +113,7 @@
                 data = new JSONObject();
             }
             data.put("token", UserConfigManage.getInstance().getToken());
+            data.put("refreshToken", UserConfigManage.getInstance().getRefreshToken());
             uniCallBackBaseBean.setData(data);
             return uniCallBackBaseBean.getJSONObject();
         } catch (Exception e) {
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 1d03953..60e7531 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java
@@ -1,7 +1,6 @@
 package com.hdl.photovoltaic.ui;
 
 
-import android.app.Activity;
 import android.os.Bundle;
 import android.text.Editable;
 import android.text.Spannable;
@@ -17,19 +16,17 @@
 
 
 import androidx.appcompat.content.res.AppCompatResources;
-import androidx.constraintlayout.widget.ConstraintSet;
 
 import com.hdl.photovoltaic.R;
 import com.hdl.photovoltaic.base.CustomBaseActivity;
 import com.hdl.photovoltaic.other.HdlResidenceLogic;
-import com.hdl.photovoltaic.ui.bean.LoginBean;
+import com.hdl.photovoltaic.ui.bean.LoginUserBean;
 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;
-import com.hdl.photovoltaic.utils.KeyboardStateObserverUtils;
 
 
 public class HomeLoginActivity extends CustomBaseActivity {
@@ -190,9 +187,9 @@
                     @Override
                     public void onSuccess(LoginUserRegionBean obj) {
                         AppConfigManage.setUserRegionUrl(obj.getRegionUrl());
-                        HdlAccountLogic.getInstance().loginByPassword(account, password, new CloudCallBeak<LoginBean>() {
+                        HdlAccountLogic.getInstance().loginByPassword(account, password, new CloudCallBeak<LoginUserBean>() {
                             @Override
-                            public void onSuccess(LoginBean obj) {
+                            public void onSuccess(LoginUserBean obj) {
                                 HdlThreadLogic.runMainThread(new Runnable() {
                                     @Override
                                     public void run() {
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 cfe9750..262e524 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
@@ -17,6 +17,7 @@
 public class HouseInfoAdapter extends RecyclerView.Adapter<HouseInfoAdapter.MyViewHolder> {
 
     private List<HouseListBean> mList;
+    private OnclickListener noOnclickListener;//鐐瑰嚮浜嗙殑鐩戝惉鍣�
 
     public HouseInfoAdapter(List<HouseListBean> list) {
         this.mList = list;
@@ -33,6 +34,14 @@
     public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
         HouseListBean houseListBean = this.mList.get(position);
         holder.homeNameTv.setText(houseListBean.getHomeName());
+        holder.itemView.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                if (noOnclickListener != null) {
+                    noOnclickListener.onClick(holder.getAdapterPosition());
+                }
+            }
+        });
 
     }
 
@@ -46,6 +55,9 @@
         this.mList = list;
     }
 
+    public void setNoOnclickListener(OnclickListener onclickListener) {
+        this.noOnclickListener = onclickListener;
+    }
 
     static class MyViewHolder extends RecyclerView.ViewHolder {
 
@@ -64,4 +76,8 @@
             stateTv = itemView.findViewById(R.id.fragment_house_list_line_state_tv);
         }
     }
+
+    public interface OnclickListener {
+        void onClick(int position);
+    }
 }
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/bean/LoginBean.java b/app/src/main/java/com/hdl/photovoltaic/ui/bean/LoginUserBean.java
similarity index 92%
rename from app/src/main/java/com/hdl/photovoltaic/ui/bean/LoginBean.java
rename to app/src/main/java/com/hdl/photovoltaic/ui/bean/LoginUserBean.java
index 29a5f6f..7171577 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/bean/LoginBean.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/bean/LoginUserBean.java
@@ -4,10 +4,10 @@
 
 import java.io.Serializable;
 
-public class LoginBean implements Serializable {
-    /// 鐢ㄦ埛鏈夋晥韬唤Token
+public class LoginUserBean implements Serializable {
+    /// 鐢ㄦ埛鏈夋晥韬唤Token(涓嶇敤璁板綍浠�涔堟湁鏁堟湡,濡傛灉鐧婚檰澶辫触,灏辨嬁RefreshToken鍘诲埛鏂�)
     private String accessToken;
-    /// 鐧诲綍甯愬彿
+    /// 甯愬彿
     private String account;
     ///灏忓尯ID
     private String companyId;
@@ -15,7 +15,7 @@
     private String expiration;
     ///杩囨湡鏃堕棿锛堢锛�
     private String expiresIn;
-    /// 璁よ瘉璇锋眰澶村墠缂�
+    ///娣诲姞鍒癟oken澶撮儴鐨勪笢瑗�,璁よ瘉璇锋眰澶村墠缂�(涓嶈鐞嗗畠,鍙粰搴曞眰浣跨敤)
     private String headerPrefix;
     //鐢ㄦ埛濮撳悕
     private String name;
@@ -23,7 +23,7 @@
     private String refreshExpiration;
     ///
     private String refreshExpiresIn;
-    /// 鍒锋柊Token
+    /// 鍒锋柊accessToken鐢ㄧ殑token(涓嶇敤璁板綍浠�涔堟湁鏁堟湡,濡傛灉鍒锋柊澶辫触,灏辫涪浜哄嵆鍙�)
     private String refreshToken;
     ///瑙掕壊
     private String role;
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 17a4e7e..fdff614 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
@@ -20,6 +20,7 @@
 import com.hdl.photovoltaic.databinding.FragmentHouseListBinding;
 import com.hdl.photovoltaic.base.CustomBaseFragment;
 import com.hdl.photovoltaic.databinding.LoadingConfirmInputBinding;
+import com.hdl.photovoltaic.other.HdlLogLogic;
 import com.hdl.photovoltaic.other.HdlThreadLogic;
 import com.hdl.photovoltaic.other.HdlUniLogic;
 import com.hdl.photovoltaic.ui.adapter.HouseInfoAdapter;
@@ -44,6 +45,7 @@
     private CameraManager manager;
 
     private List<HouseListBean> houseListBeanList = null;
+
 
     @Override
     public Object getContentView() {
@@ -83,6 +85,19 @@
                 Log.d("HouseListFragment", "涓嬫媺鍒锋柊");
             }
         });
+        houseInfoAdapter.setNoOnclickListener(new HouseInfoAdapter.OnclickListener() {
+            @Override
+            public void onClick(int position) {
+                //鐐瑰嚮浣忓畢璇︽儏
+                HdlLogLogic.print("====鐐瑰嚮浣忓畢璇︽儏" + position);
+                if (houseListBeanList == null || houseListBeanList.size() <= 0) {
+                    return;
+                }
+                HouseListBean houseListBean = houseListBeanList.get(position);
+                String path = HDLUniMP.UNI_EVENT_HOME_CREATION + "?homeId=" + houseListBean.getHomeId();
+                HdlUniLogic.getInstance().openUniMP(path, null);
+            }
+        });
     }
 
     private void initView() {
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 edf9a9d..f9a6b51 100644
--- a/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java
+++ b/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java
@@ -19,7 +19,11 @@
     public final static String UNI_EVENT_uniMPOnClose = "uni_MPOnClose";//鑷畾涔夊皬绋嬪簭鍏抽棴浜嬩欢
 
     public final static String UNI_EVENT_GetAppParams = "uni_GetAppParams";//鑾峰彇APP搴旂敤淇℃伅
+
+
 //    //銆愬皬绋嬪簭銆戝彂閫佸埌銆愬師鐢熴�� 鍔犲墠缂�:uni_
+//public final static String UNI_EVENT_HOME_MODEL = "uni_home_model";//浣忓畢妯″潡
+//    public final static String UNI_EVENT__DEVICE_MODEL = "uni_device_model";//璁惧妯″潡
 //    /*********浣忓畢銆愮數绔欍�戞ā鍧�*********/
 //    public final static String UNI_EVENT_HOME_LIST = "list";//鑾峰彇浣忓畢銆愮數绔欍�戝垪琛�
 //    public final static String UNI_EVENT_HOME_CREATION = "creation";//浣忓畢銆愮數绔欍�戝垱寤�
@@ -36,7 +40,7 @@
 
     //銆愬師鐢熴�戜富鍔ㄥ彂閫佸埌銆愬皬绋嬪簭銆� 鍔犲墠缂�:app_
 
-    //銆愬師鐢熴�戞墦寮�銆愬皬绋嬪簭銆戦〉闈㈣矾寰�
+    //銆愬師鐢熴�戞墦寮�銆愬皬绋嬪簭銆戦〉闈㈣矾寰�(UNI_EVENT_HOME_CREATION+?key=value&key=鍙傛暟涓�)
     /*********浣忓畢妯″潡*********/
     public final static String UNI_EVENT_HOME_CREATION = "pages/powerStation/powerStationCreate";//浣忓畢銆愮數绔欍�戝垱寤�
     public final static String UNI_EVENT_HOME_EDIT = "pages/powerStation/powerStationEdit";//浣忓畢銆愮數绔欍�戠紪杈�
diff --git a/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationInputDialog.java b/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationInputDialog.java
index 5040cf6..27ee316 100644
--- a/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationInputDialog.java
+++ b/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationInputDialog.java
@@ -8,7 +8,6 @@
 import android.text.method.HideReturnsTransformationMethod;
 import android.text.method.PasswordTransformationMethod;
 import android.view.View;
-import android.widget.FrameLayout;
 
 import androidx.annotation.NonNull;
 import androidx.appcompat.content.res.AppCompatResources;

--
Gitblit v1.8.0