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