From 73b3585a9dd3f745f020fe24796e50031b41a811 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期四, 15 六月 2023 21:23:09 +0800 Subject: [PATCH] 2023年06月15日21:23:00 --- app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java | 125 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 124 insertions(+), 1 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 4238242..28b4233 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java @@ -1,12 +1,33 @@ package com.hdl.photovoltaic.other; + +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.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) { @@ -19,4 +40,106 @@ return sHdlAccountLogic; } + + /** + * 鍒濆鍖栬处鍙风殑Url鍖哄煙鍦板潃 + * + * @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() { + @Override + public void onSuccess(HttpResponsePack httpResponsePack) { + if (httpResponsePack != null && 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); + } + } + } + + @Override + public void onFailure(Exception exception) { + if (cloudCallBeak != null) { + cloudCallBeak.onFailure(exception); + } + } + }); + } + + /** + * 鐧诲綍 + * 閫氳繃璐﹀彿鍜屽瘑鐮� + * + * @param account 鎵嬫満鎴栬�呴偖绠� + * @param loginPwd 瀵嗙爜 + * @param cloudCallBeak - + */ + public void loginByPassword(String account, String loginPwd, CloudCallBeak<LoginBean> cloudCallBeak) { + 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() { + @Override + public void onSuccess(HttpResponsePack httpResponsePack) { + 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); + if (cloudCallBeak != null) { + cloudCallBeak.onSuccess(loginBean); + } + } + } + + @Override + public void onFailure(Exception exception) { + if (cloudCallBeak != null) { + cloudCallBeak.onFailure(exception); + } + } + }); + } + + + 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); + return m.matches(); + } + + public boolean isMailbox(String mailbox) { + String regex = "^(\\w+([-.][A-Za-z0-9]+)*){3,18}@\\w+([-.][A-Za-z0-9]+)*\\.\\w+([-.][A-Za-z0-9]+)*$"; + 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); + } + + } + } -- Gitblit v1.8.0