| | |
| | | |
| | | |
| | | import android.content.Intent; |
| | | import android.graphics.Color; |
| | | import android.os.Bundle; |
| | | import android.text.Editable; |
| | | import android.text.SpannableStringBuilder; |
| | |
| | | import android.text.method.LinkMovementMethod; |
| | | import android.text.method.PasswordTransformationMethod; |
| | | import android.text.style.ClickableSpan; |
| | | import android.text.style.StyleSpan; |
| | | import android.view.View; |
| | | import android.widget.TextView; |
| | | |
| | |
| | | import com.hdl.photovoltaic.base.CustomBaseActivity; |
| | | import com.hdl.photovoltaic.config.UserConfigManage; |
| | | import com.hdl.photovoltaic.databinding.ActivityHomeLoginBinding; |
| | | import com.hdl.photovoltaic.other.HdlLogLogic; |
| | | import com.hdl.photovoltaic.other.HdlResidenceLogic; |
| | | import com.hdl.photovoltaic.ui.account.ChangePassword; |
| | | import com.hdl.photovoltaic.ui.account.RegisterAccountActivity; |
| | |
| | | import com.hdl.photovoltaic.other.HdlAccountLogic; |
| | | import com.hdl.photovoltaic.other.HdlThreadLogic; |
| | | import com.hdl.photovoltaic.ui.me.WebActivity; |
| | | import com.hdl.photovoltaic.uni.HDLUniMPSDKManager; |
| | | import com.hdl.photovoltaic.utils.AppManagerUtils; |
| | | import com.hdl.photovoltaic.utils.LocalManageUtil; |
| | | import com.hdl.photovoltaic.utils.SharedPreUtils; |
| | | import com.hdl.photovoltaic.utils.TimeUtils; |
| | | import com.hdl.photovoltaic.widget.ConfirmationCancelDialog; |
| | | import com.hdl.photovoltaic.widget.ListDialog; |
| | |
| | | @Override |
| | | public void onBindView(Bundle savedInstanceState) { |
| | | setStatusBarTranslucent(); |
| | | getWindow().setNavigationBarColor(getColor(R.color.text_00000000)); |
| | | //初始化 |
| | | initView(); |
| | | //初始化界面监听器 |
| | |
| | | try { |
| | | viewBinding.homeLoginCheckBCCl.setSelected(UserConfigManage.getInstance().isBAccount()); |
| | | viewBinding.homeLoginPrivacyCheckIv.setSelected(UserConfigManage.getInstance().isAcceiptPolicy()); |
| | | setStringDifferentColors(viewBinding.homeLoginPrivacyTv); |
| | | setStringDifferentColors(viewBinding.homeLoginPrivacyTv, false); |
| | | |
| | | //注册和忘记密码需要加下划线 |
| | | String registerTvStr = viewBinding.homeLoginRegisterTv.getText().toString(); |
| | |
| | | public void updateDrawState(@NonNull TextPaint ds) { |
| | | super.updateDrawState(ds); |
| | | //设置字体颜色 |
| | | ds.setColor(getResources().getColor(R.color.text_E6FFFFFF, null)); |
| | | ds.setColor(getResources().getColor(R.color.text_FFACACAC, null)); |
| | | // 去掉下划线 |
| | | ds.setUnderlineText(true); |
| | | } |
| | |
| | | public void updateDrawState(@NonNull TextPaint ds) { |
| | | super.updateDrawState(ds); |
| | | //设置字体颜色 |
| | | ds.setColor(getResources().getColor(R.color.text_E6FFFFFF, null)); |
| | | ds.setColor(getResources().getColor(R.color.text_FFACACAC, null)); |
| | | // 去掉下划线 |
| | | ds.setUnderlineText(true); |
| | | } |
| | |
| | | viewBinding.homeLoginTv.setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View v) { |
| | | |
| | | HDLUniMPSDKManager.isExistsActivity=false; |
| | | String account = viewBinding.homeLoginAccountEt.getText().toString().replace(" ", ""); |
| | | String password = viewBinding.homeLoginPasswordEt.getText().toString().replace(" ", ""); |
| | | boolean is_login = isLocalCheckAccountAndPassword(account, password); |
| | |
| | | boolean isSelected = UserConfigManage.getInstance().isAcceiptPolicy(); |
| | | if (!isSelected) { |
| | | //隐私协议提示 |
| | | getDialog(); |
| | | getAcceiptPolicyDialog(); |
| | | return; |
| | | } |
| | | //登录 |
| | | login(account, password); |
| | | loginAccount(account, password); |
| | | |
| | | |
| | | } |
| | |
| | | * @param account 账号 |
| | | * @param password 密码 |
| | | */ |
| | | private void login(String account, String password) { |
| | | private void loginAccount(String account, String password) { |
| | | showLoading(getString(R.string.home_login_be_logging_in)); |
| | | HdlAccountLogic.getInstance().regionByAccount(account, new CloudCallBeak<HDLUserRegionBean>() { |
| | | @Override |
| | | public void onSuccess(HDLUserRegionBean obj) { |
| | | HdlLogLogic.print("账号登录成功---" + account, true); |
| | | //开发环境 |
| | | // String APP_REGIONURL_TEST = "http://47.114.131.143:27197"; |
| | | // AppConfigManage.setUserRegionUrl(APP_REGIONURL_TEST); |
| | |
| | | startActivity(BPowerStationActivity.class); |
| | | hideLoading(); |
| | | finish(); |
| | | //云端还没有匹配平台好,先隐藏校验账号功能 2025年03月24日15:16:37 |
| | | // HdlAccountLogic.getInstance().getCompanyParterMenu_B(new CloudCallBeak<Boolean>() { |
| | | // @Override |
| | | // public void onSuccess(Boolean isBoolean) { |
| | | // if (isBoolean) { |
| | | // //2025年03月03日14:45:17 杨涛要求b端账号需要检验权限 |
| | | // restoreButtonStyleToInitializeState(); |
| | | // //安装商跳转界面 |
| | | // startActivity(BPowerStationActivity.class); |
| | | // hideLoading(); |
| | | // finish(); |
| | | // } else { |
| | | // hideLoading(); |
| | | // HdlThreadLogic.toast(_mActivity, getString(R.string.forbidden_login)); |
| | | // } |
| | | // } |
| | | // |
| | | // @Override |
| | | // public void onFailure(HDLException e) { |
| | | // hideLoading(); |
| | | // HdlThreadLogic.toast(_mActivity, e.getMsg() + "(" + e.getCode() + ")"); |
| | | // } |
| | | // }); |
| | | |
| | | } else { |
| | | //C端需要先获取电站列表; |
| | | HdlResidenceLogic.getInstance().getResidenceIdList("", "", new CloudCallBeak<List<HouseIdBean>>() { |
| | |
| | | String password = viewBinding.homeLoginPasswordEt.getText().toString().replace(" ", ""); |
| | | boolean isEnabled = account.length() > 0 && password.length() > 0; |
| | | if (isEnabled) { |
| | | viewBinding.homeLoginTv.setTextColor(getColor(R.color.text_E6FFFFFF)); |
| | | viewBinding.homeLoginTv.setTextColor(getColor(R.color.text_FFACACAC)); |
| | | } else { |
| | | viewBinding.homeLoginTv.setTextColor(getColor(R.color.text_66FFFFFF)); |
| | | viewBinding.homeLoginTv.setTextColor(getColor(R.color.text_FF5B5B5B)); |
| | | } |
| | | viewBinding.homeLoginTv.setEnabled(isEnabled); |
| | | if (password.length() < 6 || password.length() > 16) { |
| | | return; |
| | | } |
| | | //符合密码规则后隐藏错误提示; |
| | | viewBinding.homeLoginLine2V.setBackgroundColor(getColor(R.color.text_FF5A5A5A)); |
| | | // viewBinding.homeLoginLine2V.setBackgroundColor(getColor(R.color.text_FF5A5A5A)); |
| | | viewBinding.homeLoginPasswordTextErrorTv.setText(""); |
| | | |
| | | } |
| | |
| | | */ |
| | | private boolean isLocalCheckAccountAndPassword(String account, String password) { |
| | | if (TextUtils.isEmpty(account)) { |
| | | viewBinding.homeLoginLine1V.setBackgroundColor(getColor(R.color.text_D34545)); |
| | | // viewBinding.homeLoginLine1V.setBackgroundColor(getColor(R.color.text_D34545)); |
| | | viewBinding.homeLoginAccountTextErrorTv.setText(R.string.home_login_error_account_null); |
| | | return false; |
| | | } |
| | | if (TextUtils.isEmpty(password)) { |
| | | viewBinding.homeLoginLine2V.setBackgroundColor(getColor(R.color.text_D34545)); |
| | | // viewBinding.homeLoginLine2V.setBackgroundColor(getColor(R.color.text_D34545)); |
| | | viewBinding.homeLoginPasswordTextErrorTv.setText(R.string.home_login_error_password_null); |
| | | return false; |
| | | } |
| | | |
| | | |
| | | if (password.length() < 6 || password.length() > 16) { |
| | | viewBinding.homeLoginLine2V.setBackgroundColor(getColor(R.color.text_D34545)); |
| | | // viewBinding.homeLoginLine2V.setBackgroundColor(getColor(R.color.text_D34545)); |
| | | viewBinding.homeLoginPasswordTextErrorTv.setText(R.string.home_login_error_6_16_str); |
| | | return false; |
| | | } |
| | |
| | | HdlThreadLogic.runMainThread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | viewBinding.homeLoginLine1V.setBackgroundColor(getColor(R.color.text_E1E1E1)); |
| | | // viewBinding.homeLoginLine1V.setBackgroundColor(getColor(R.color.text_E1E1E1)); |
| | | viewBinding.homeLoginAccountTextErrorTv.setText(""); |
| | | viewBinding.homeLoginLine2V.setBackgroundColor(getColor(R.color.text_E1E1E1)); |
| | | // viewBinding.homeLoginLine2V.setBackgroundColor(getColor(R.color.text_E1E1E1)); |
| | | viewBinding.homeLoginPasswordTextErrorTv.setText(""); |
| | | } |
| | | }, null, null); |
| | |
| | | /** |
| | | * 设置一串字符多种颜色以及点击事件 |
| | | * |
| | | * @param textView 当前组件 |
| | | * @param textView 当前组件 |
| | | * @param isHighlight 是否高亮(true表示高亮) |
| | | */ |
| | | private void setStringDifferentColors(TextView textView) { |
| | | private void setStringDifferentColors(TextView textView, boolean isHighlight) { |
| | | try { |
| | | |
| | | |
| | | int text_color = isHighlight ? R.color.text_38C494 : R.color.text_FFACACAC; |
| | | if (textView == null) { |
| | | return; |
| | | } |
| | |
| | | @Override |
| | | public void updateDrawState(@NonNull TextPaint ds) { |
| | | super.updateDrawState(ds); |
| | | |
| | | //设置字体颜色 |
| | | ds.setColor(getResources().getColor(R.color.text_E6FFFFFF, null)); |
| | | ds.setColor(getResources().getColor(text_color, null)); |
| | | // 去掉下划线 |
| | | ds.setUnderlineText(true); |
| | | ds.setUnderlineText(!UserConfigManage.getInstance().isZh()); |
| | | } |
| | | |
| | | |
| | |
| | | public void updateDrawState(@NonNull TextPaint ds) { |
| | | super.updateDrawState(ds); |
| | | //设置字体颜色 |
| | | ds.setColor(getResources().getColor(R.color.text_E6FFFFFF, null)); |
| | | ds.setColor(getResources().getColor(text_color, null)); |
| | | // 去掉下划线 |
| | | ds.setUnderlineText(true); |
| | | ds.setUnderlineText(!UserConfigManage.getInstance().isZh()); |
| | | } |
| | | |
| | | |
| | | }, startIndex2, endIndex2, 0); |
| | | // spannable.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), startIndex2, endIndex2, 0); |
| | |
| | | } |
| | | textView.setText(spannable); |
| | | //中途遇到点击后字体显示高亮,取消高亮 |
| | | textView.setHighlightColor(getResources().getColor(R.color.text_66FFFFFF, null)); |
| | | textView.setHighlightColor(getResources().getColor(R.color.text_FFACACAC, null)); |
| | | //最后设置可点击,必须实现,否则只能显示样式,无法实现点击效果 |
| | | textView.setMovementMethod(LinkMovementMethod.getInstance()); |
| | | } catch (Exception ignored) { |
| | |
| | | /** |
| | | * 弹窗 |
| | | */ |
| | | private void getDialog() { |
| | | private void getAcceiptPolicyDialog() { |
| | | |
| | | ConfirmationCancelDialog confirmationCancelDialog = new ConfirmationCancelDialog(_mActivity); |
| | | confirmationCancelDialog.show(); |
| | | confirmationCancelDialog.isHideTitle(true); |
| | | confirmationCancelDialog.setContent(getString(R.string.loading_privacy_server)); |
| | | setStringDifferentColors(confirmationCancelDialog.getContentTextView()); |
| | | setStringDifferentColors(confirmationCancelDialog.getContentTextView(), true); |
| | | confirmationCancelDialog.setConfirmation(getString(R.string.loading_agree)); |
| | | confirmationCancelDialog.setCancel(getString(R.string.loading_on_agree)); |
| | | confirmationCancelDialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() { |
| | |
| | | confirmationCancelDialog.dismiss(); |
| | | String account = viewBinding.homeLoginAccountEt.getText().toString().replace(" ", ""); |
| | | String password = viewBinding.homeLoginPasswordEt.getText().toString().replace(" ", ""); |
| | | login(account, password); |
| | | loginAccount(account, password); |
| | | } |
| | | }); |
| | | confirmationCancelDialog.setNoOnclickListener(new ConfirmationCancelDialog.onNoOnclickListener() { |