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/other/HdlAccountLogic.java |   50 +++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 43 insertions(+), 7 deletions(-)

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);//涓庝笂涓�涓处鍙锋槸鍚﹀悓涓�涓�
         }
 
     }
 
+
 }

--
Gitblit v1.8.0