From bd80ca98ffb4f483ca2eba47051281fa69e790ac Mon Sep 17 00:00:00 2001
From: 刘卫锦 <lwj@hdlchina.com.cn>
Date: 星期一, 14 八月 2023 10:24:25 +0800
Subject: [PATCH] 代码同步
---
app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java | 108 +++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 87 insertions(+), 21 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 27b8699..0e69701 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.LoginUserBean;
+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;
@@ -16,12 +17,17 @@
import java.util.regex.Pattern;
/**
- * 鐧婚檰鐣岄潰鐨勯�昏緫
+ * 鐧诲綍鐣岄潰鐨勯�昏緫
*/
public class HdlAccountLogic {
private static volatile HdlAccountLogic sHdlAccountLogic;
+ /**
+ * 鑾峰彇褰撳墠瀵硅薄
+ *
+ * @return HdlAccountLogic
+ */
public static synchronized HdlAccountLogic getInstance() {
if (sHdlAccountLogic == null) {
synchronized (HdlAccountLogic.class) {
@@ -36,25 +42,23 @@
/**
- * 鍒濆鍖栬处鍙风殑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 != null && 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);
- } else {
- cloudCallBeak.onFailure(new Exception());
}
}
}
@@ -69,14 +73,14 @@
}
/**
- * 鐧诲綍
+ * 鐧诲綍(B绔处鍙�)
* 閫氳繃璐﹀彿鍜屽瘑鐮�
*
* @param account 鎵嬫満鎴栬�呴偖绠�
* @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);
@@ -86,15 +90,50 @@
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 != null && httpResponsePack.getData() != null) {
Gson gson = new Gson();
- String json = gson.toJson(responsePack.getData());
- LoginBean loginBean = new Gson().fromJson(json, LoginBean.class);
+ String json = gson.toJson(httpResponsePack.getData());
+ LoginUserBean loginUserBean = new Gson().fromJson(json, LoginUserBean.class);
+ saveUserData(loginUserBean);
if (cloudCallBeak != null) {
- cloudCallBeak.onSuccess(loginBean);
- } else {
- cloudCallBeak.onFailure(new Exception());
+ 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");
+// json.addProperty("refreshToken", UserConfigManage.getInstance().getRefreshToken());
+
+ 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);
}
}
}
@@ -109,6 +148,14 @@
}
+ /**
+ * 閫�鍑虹櫥褰曟椂璋冪敤锛屾竻闄ゆ帹閫佹暟鎹�
+ */
+ public void SignOutClearData() {
+ String requestUrl = HttpApi.POST_GET_IMAGE_LOGOUT;
+ //閫氱煡浜戠锛屽凡缁忛��鍑虹櫥闄�
+ }
+
public boolean isPhone(String phone) {
Pattern p = Pattern.compile("^((13[0-9])|(14[0|5|6|7|9])|(15[0-3])|(15[5-9])|(16[6|7])|(17[2|3|5|6|7|8])|(18[0-9])|(19[1|8|9]))\\d{8}$");
Matcher m = p.matcher(phone);
@@ -120,5 +167,24 @@
return mailbox.matches(regex);
}
+ /**
+ * 鐧诲綍鎴愬姛淇濆瓨鐧诲綍淇℃伅
+ */
+ private void saveUserData(LoginUserBean obj) {
+ if (obj != null) {
+ UserConfigManage.getInstance().setLogin(true);//鏄惁鐧诲綍
+ UserConfigManage.getInstance().setAcceiptPolicy(true);//鏄惁閫夋嫨闅愮鏀跨瓥
+ UserConfigManage.getInstance().setLoginDateTime(System.currentTimeMillis());//鐧诲綍鏃堕棿
+ UserConfigManage.getInstance().setUserId(obj.getUserId());//鐢ㄦ埛id
+ UserConfigManage.getInstance().setAccount(obj.getAccount());//璐﹀彿
+ UserConfigManage.getInstance().setToken(obj.getAccessToken());//Token
+ UserConfigManage.getInstance().setHeaderPrefix(obj.getHeaderPrefix());//璁よ瘉璇锋眰澶村墠缂�(搴曞眰璇锋眰缁熶竴鍔�)
+ UserConfigManage.getInstance().setRefreshToken(obj.getRefreshToken());//鍒锋柊Token鐢ㄧ殑鍒锋柊Token鐢ㄧ殑
+ boolean isUserId = UserConfigManage.getInstance().getUserId().equals(obj.getUserId());
+ UserConfigManage.getInstance().setTheSameLoginAccount(isUserId);//涓庝笂涓�涓处鍙锋槸鍚﹀悓涓�涓�
+ }
+
+ }
+
}
--
Gitblit v1.8.0