From 823f534dff0da0b34f68e32cdfe2651d1bb81db3 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期三, 12 七月 2023 17:16:40 +0800 Subject: [PATCH] 2023年07月12日17:16:39 --- app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java | 137 ++++++++++++++++++++++++++++----------------- 1 files changed, 84 insertions(+), 53 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 a3e2047..136372c 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java @@ -3,26 +3,32 @@ import com.google.gson.Gson; import com.google.gson.JsonObject; -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.linkpm.sdk.core.exception.HDLException; +import com.hdl.linkpm.sdk.user.HDLLinkPMUser; +import com.hdl.linkpm.sdk.user.bean.HDLLoginBean; +import com.hdl.linkpm.sdk.user.bean.HDLUserRegionBean; +import com.hdl.linkpm.sdk.user.callback.ILoginCallBack; +import com.hdl.linkpm.sdk.user.callback.IRegionByAccountCallBack; 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 java.util.regex.Matcher; 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) { @@ -41,75 +47,99 @@ * * @param i_account 璐﹀彿 */ - public void regionByAccount(String i_account, CloudCallBeak<LoginUserRegionBean> cloudCallBeak) { - JsonObject jsonObject = new JsonObject(); - jsonObject.addProperty("account", i_account); - String full = AppConfigManage.getAPPRegionUrl() + HttpApi.POST_RegionByUserAccount; - HttpClient.getInstance().requestFullHttp(full, jsonObject.toString(), true, true, new BaseSuccessFailureCallBeak() { + public void regionByAccount(String i_account, CloudCallBeak<HDLUserRegionBean> cloudCallBeak) { + HDLLinkPMUser.getInstance().regionByAccount(i_account, new IRegionByAccountCallBack() { @Override - public void onSuccess(HttpResponsePack httpResponsePack) { - if (httpResponsePack.getData() != null) { - Gson gson = new Gson(); - 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()); - } + public void onSuccess(HDLUserRegionBean regionBean) { + if (cloudCallBeak != null) { + cloudCallBeak.onSuccess(regionBean); } } @Override - public void onFailure(Exception exception) { + public void onFailure(HDLException error) { if (cloudCallBeak != null) { - cloudCallBeak.onFailure(exception); + cloudCallBeak.onFailure(error); } } }); } /** - * 鐧诲綍 + * 鐧诲綍(B绔处鍙�) * 閫氳繃璐﹀彿鍜屽瘑鐮� * - * @param account 鎵嬫満鎴栬�呴偖绠� - * @param loginPwd 瀵嗙爜 - * @param cloudCallBeak - + * @param account 鎵嬫満鎴栬�呴偖绠� + * @param loginPwd 瀵嗙爜 + * @param callBack - */ - public void loginByPassword(String account, String loginPwd, CloudCallBeak<LoginBean> cloudCallBeak) { + public void loginByPassword(String account, String loginPwd, ILoginCallBack callBack) { String requestUrl = HttpApi.POST_Login; JsonObject json = new JsonObject(); json.addProperty("account", account); json.addProperty("loginPwd", loginPwd); // json.addProperty("platform", "APP"); json.addProperty("grantType", "password"); - - HttpClient.getInstance().requestHttp(requestUrl, json.toString(), true, true, new BaseSuccessFailureCallBeak() { + HDLLinkPMUser.getInstance().loginByPassword(account, loginPwd, new ILoginCallBack() { @Override - public void onSuccess(HttpResponsePack httpResponsePack) { - if (httpResponsePack.getData() != null) { - Gson gson = new Gson(); - String json = gson.toJson(httpResponsePack.getData()); - LoginBean loginBean = new Gson().fromJson(json, LoginBean.class); + public void onSuccess(HDLLoginBean loginBean) { + + if (callBack != null) { saveUserData(loginBean); - if (cloudCallBeak != null) { - cloudCallBeak.onSuccess(loginBean); - } else { - cloudCallBeak.onFailure(new Exception()); - } + callBack.onSuccess(loginBean); } } @Override - public void onFailure(Exception exception) { + public void onFailure(HDLException error) { + if (callBack != null) { + callBack.onFailure(error); + } + } + }); + + } + + /** + * 鍒锋柊Token(B绔处鍙�) + * + * @param account 鎵嬫満鎴栬�呴偖绠� + * @param loginPwd 瀵嗙爜 + * @param cloudCallBeak - + */ + public void refreshToken(String account, String loginPwd, CloudCallBeak<HDLLoginBean> 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(), new CloudCallBeak<String>() { + @Override + public void onSuccess(String jsonStr) { + Gson gson = new Gson(); + HDLLoginBean loginBean = gson.fromJson(jsonStr, HDLLoginBean.class); +// saveUserData(loginBean); if (cloudCallBeak != null) { - cloudCallBeak.onFailure(exception); + cloudCallBeak.onSuccess(loginBean); + } + } + + @Override + public void onFailure(HDLException e) { + if (cloudCallBeak != null) { + cloudCallBeak.onFailure(e); } } }); } + + /** + * 閫�鍑虹櫥褰曟椂璋冪敤锛屾竻闄ゆ帹閫佹暟鎹� + */ + 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}$"); @@ -123,22 +153,23 @@ } /** - * 鐧诲綍鎴愬姛淇濆瓨 + * 鐧诲綍鎴愬姛淇濆瓨鐧诲綍淇℃伅 */ - private void saveUserData(LoginBean obj) { + private void saveUserData(HDLLoginBean 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()); + 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); + UserConfigManage.getInstance().setTheSameLoginAccount(isUserId);//涓庝笂涓�涓处鍙锋槸鍚﹀悓涓�涓� } } + } -- Gitblit v1.8.0