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; 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 { 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)//请求的url// .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()); 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);//与上一个账号是否同一个 } } } 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) 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) { 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() { 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); } } app/src/main/java/com/hdl/photovoltaic/ui/bean/LoginUserBean.java
File was renamed from app/src/main/java/com/hdl/photovoltaic/ui/bean/LoginBean.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; /// 认证请求头前缀 ///添加到Token头部的东西,认证请求头前缀(不要理它,只给底层使用) 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; 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() { 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";//住宅【电站】编辑 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;