From 8521954fa97bdfc54123afb4a72755ece311db06 Mon Sep 17 00:00:00 2001 From: zuojincheng <lf_zuo@163.com> Date: 星期五, 21 三月 2025 14:45:45 +0800 Subject: [PATCH] feat(general): 更新登录逻辑和用户信息展示 --- app/src/main/java/com/dayu/recharge/activity/LoginActivity.java | 196 ++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 177 insertions(+), 19 deletions(-) diff --git a/app/src/main/java/com/dayu/recharge/activity/LoginActivity.java b/app/src/main/java/com/dayu/recharge/activity/LoginActivity.java index b79405b..95e798e 100644 --- a/app/src/main/java/com/dayu/recharge/activity/LoginActivity.java +++ b/app/src/main/java/com/dayu/recharge/activity/LoginActivity.java @@ -1,26 +1,35 @@ package com.dayu.recharge.activity; +import static com.dayu.baselibrary.utils.BaseCommon.Generalv1Library; + import android.content.Intent; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.os.Bundle; import android.text.TextUtils; +import android.util.Log; +import android.view.KeyEvent; import android.view.LayoutInflater; +import android.view.View; import android.widget.Toast; import androidx.annotation.NonNull; import com.dayu.baselibrary.activity.BaseActivity; +import com.dayu.baselibrary.dao.BaseDaoSingleton; +import com.dayu.baselibrary.dbbean.PassWordBean; import com.dayu.baselibrary.utils.BaseCommon; import com.dayu.baselibrary.utils.TipUtil; import com.dayu.baselibrary.utils.WSMD5; import com.dayu.baselibrary.view.LibraryDialog; +import com.dayu.general.view.ProjectDialog; import com.dayu.henanlibrary.HeNanApplication; import com.dayu.henanlibrary.dao.HNBaseDaoSingleton; -import com.dayu.henanlibrary.dbBean.PassWordBean; - -import com.dayu.qihealonelibrary.activity.HomeActivity; +import com.dayu.qihealonelibrary.activity.HomeActivityQHAlone; +import com.dayu.qiheonlinelibrary.QHOnLineApplication; +import com.dayu.qiheonlinelibrary.activity.HomeActivityQHOline; +import com.dayu.qiheonlinelibrary.dao.QHOnlineBaseDaoSingleton; import com.dayu.recharge.MyApplication; import com.dayu.recharge.databinding.ActivityLoginBinding; import com.hjq.permissions.OnPermissionCallback; @@ -48,8 +57,9 @@ super.onCreate(savedInstanceState); binding = ActivityLoginBinding.inflate(LayoutInflater.from(this)); setContentView(binding.getRoot()); - initView(); + getPermission(); + } private void initView() { @@ -57,32 +67,51 @@ clickNumber++; if (clickNumber == 20) { choesLibrary(); + clickNumber = 0; } }); binding.loginBtn.setOnClickListener(v -> { String psStr = binding.loginPw.getText().toString(); + String nameStr = binding.loginName.getText().toString(); if (TextUtils.isEmpty(psStr)) { TipUtil.show("璇疯緭鍏ュ瘑鐮�"); return; } - if ((passWordBean == null && psStr.equals("123456")) + if (MyApplication.myApplication.libraryType == BaseCommon.QHOnLineLibrary && TextUtils.isEmpty(nameStr)) { + TipUtil.show("璇疯緭鍏ヨ处鍙�"); + return; + } + if (MyApplication.myApplication.libraryType == BaseCommon.QHOnLineLibrary) { + QHOnLineApplication.getInstance().getPublicKey(this, nameStr, psStr); + } else if ((passWordBean == null && psStr.equals("123456")) || passWordBean != null && passWordBean.getPassWord().equalsIgnoreCase(WSMD5.getMD5Str(psStr))) { - if (MyApplication.myApplication.libraryType == BaseCommon.NoLibrary) { - choesLibrary(); - //娌℃湁閫夋嫨鐗堟湰鍏堥�夋嫨鐗堟湰 - } else { - startToHomeActivity(); - } + startToHomeActivity(); + } else if (MyApplication.myApplication.libraryType == BaseCommon.Generalv1Library) { + com.dayu.general.activity.LoginActivity.login(nameStr, psStr, this); } else { Toast.makeText(LoginActivity.this, "瀵嗙爜閿欒", Toast.LENGTH_SHORT).show(); } + + }); try { PackageInfo packageInfo = getPackageManager().getPackageInfo(getPackageName(), 0); binding.versionName.setText("褰撳墠鐗堟湰锛歏" + packageInfo.versionName); - } catch (PackageManager.NameNotFoundException e) { + } catch ( + PackageManager.NameNotFoundException e) { throw new RuntimeException(e); + } + + } + + + @Override + protected void onResume() { + super.onResume(); + Log.i("LoginActivity", "onResume"); + if (MyApplication.myApplication.libraryType == BaseCommon.QHOnLineLibrary || MyApplication.myApplication.libraryType == BaseCommon.Generalv1Library) { + binding.nameLL.setVisibility(View.VISIBLE); } } @@ -92,13 +121,19 @@ private void choesLibrary() { LibraryDialog dialog = new LibraryDialog(this, type -> { + binding.nameLL.setVisibility(View.GONE); if (type == BaseCommon.HeNanLibrary) { getHNPermission(); - } else if (type == BaseCommon.QHAloneLibrary) { - getQHAlonePermission(); + } else if (type == BaseCommon.QHOnLineLibrary) { + getQHOnlinPermission(); + binding.nameLL.setVisibility(View.VISIBLE); + } else if (type == BaseCommon.Generalv1Library) { + binding.nameLL.setVisibility(View.VISIBLE); + getGeneralV1Permission(); + ProjectDialog projectDialog=new ProjectDialog(this,MyApplication.myApplication); + projectDialog.show(); } MyApplication.myApplication.initApplication(); - startToHomeActivity(); }); dialog.show(); } @@ -107,7 +142,11 @@ if (MyApplication.myApplication.libraryType == BaseCommon.HeNanLibrary) { startActivity(new Intent(LoginActivity.this, com.dayu.henanlibrary.activity.HomeActivity.class)); } else if (MyApplication.myApplication.libraryType == BaseCommon.QHAloneLibrary) { - startActivity(new Intent(LoginActivity.this, HomeActivity.class)); + startActivity(new Intent(LoginActivity.this, HomeActivityQHAlone.class)); + } else if (MyApplication.myApplication.libraryType == BaseCommon.QHOnLineLibrary) { + startActivity(new Intent(LoginActivity.this, HomeActivityQHOline.class)); + } else if (MyApplication.myApplication.libraryType == BaseCommon.Generalv1Library) { + startActivity(new Intent(LoginActivity.this, com.dayu.general.activity.MainActivity.class)); } LoginActivity.this.finish(); } @@ -143,7 +182,7 @@ if (!file.exists()) { file.mkdirs(); } - passWordBean = HNBaseDaoSingleton.getInstance(LoginActivity.this).loginPsDao().findFirst(); + } catch (Exception e) { e.printStackTrace(); } @@ -165,7 +204,10 @@ } } - private void getQHAlonePermission() { + /** + * 鑾峰彇閫氱敤鏉冮檺 + */ + private void getPermission() { try { XXPermissions.with(this) .permission( @@ -182,7 +224,11 @@ if (!file.exists()) { file.mkdirs(); } - passWordBean = HNBaseDaoSingleton.getInstance(LoginActivity.this).loginPsDao().findFirst(); + passWordBean = BaseDaoSingleton.getInstance(LoginActivity.this).loginPsDao().findFirst(); + if (MyApplication.myApplication.libraryType == BaseCommon.NoLibrary) { + choesLibrary(); + //娌℃湁閫夋嫨鐗堟湰鍏堥�夋嫨鐗堟湰 + } } catch (Exception e) { e.printStackTrace(); } @@ -206,4 +252,116 @@ } + private void getQHOnlinPermission() { + try { + XXPermissions.with(this) + // 鐢宠鍗曚釜鏉冮檺 +// .permission(Permission.RECORD_AUDIO) + // 鐢宠澶氫釜鏉冮檺 + .permission(Permission.READ_PHONE_STATE, + Permission.READ_EXTERNAL_STORAGE, + Permission.WRITE_EXTERNAL_STORAGE) + // 璁剧疆鏉冮檺璇锋眰鎷︽埅鍣紙灞�閮ㄨ缃級 + //.interceptor(new PermissionInterceptor()) + // 璁剧疆涓嶈Е鍙戦敊璇娴嬫満鍒讹紙灞�閮ㄨ缃級 + //.unchecked() + .request(new OnPermissionCallback() { + + @Override + public void onGranted(@NonNull List<String> permissions, boolean allGranted) { + if (allGranted) { + if (allGranted) {//鎵�鏈夌敵璇风殑鏉冮檺閮藉凡閫氳繃 + try { + File file = new File(QHOnlineBaseDaoSingleton.SqlitePath); + if (!file.exists()) { + file.mkdirs(); + } + + } catch (Exception e) { + e.printStackTrace(); + } + } + } + } + + @Override + public void onDenied(@NonNull List<String> permissions, boolean doNotAskAgain) { + if (doNotAskAgain) { + // 濡傛灉鏄姘镐箙鎷掔粷灏辫烦杞埌搴旂敤鏉冮檺绯荤粺璁剧疆椤甸潰 + } else { +// toast("鑾峰彇褰曢煶鍜屾棩鍘嗘潈闄愬け璐�"); + } + } + }); + } catch (Throwable e) { + e.printStackTrace(); + } + } + + /** + * 鑾峰彇閫氱敤鏉冮檺V1鐗堟湰 + * 璇ユ柟娉曠敤浜庤姹傚簲鐢ㄦ墍闇�鐨勬潈闄愶紝浠ヤ究搴旂敤鍙互姝e父杩愯 + */ + private void getGeneralV1Permission() { + try { + XXPermissions.with(this) + // 鐢宠鍗曚釜鏉冮檺 +// .permission(Permission.RECORD_AUDIO) + // 鐢宠澶氫釜鏉冮檺 + .permission(Permission.READ_PHONE_STATE, + Permission.READ_EXTERNAL_STORAGE, + Permission.WRITE_EXTERNAL_STORAGE) + // 璁剧疆鏉冮檺璇锋眰鎷︽埅鍣紙灞�閮ㄨ缃級 + //.interceptor(new PermissionInterceptor()) + // 璁剧疆涓嶈Е鍙戦敊璇娴嬫満鍒讹紙灞�閮ㄨ缃級 + //.unchecked() + .request(new OnPermissionCallback() { + + @Override + public void onGranted(@NonNull List<String> permissions, boolean allGranted) { + if (allGranted) { + if (allGranted) {//鎵�鏈夌敵璇风殑鏉冮檺閮藉凡閫氳繃 + try { + File file = new File(com.dayu.general.dao.BaseDaoSingleton.SqlitePath); + if (!file.exists()) { + file.mkdirs(); + } + + } catch (Exception e) { + e.printStackTrace(); + } + } + } + } + + @Override + public void onDenied(@NonNull List<String> permissions, boolean doNotAskAgain) { + if (doNotAskAgain) { + // 濡傛灉鏄姘镐箙鎷掔粷灏辫烦杞埌搴旂敤鏉冮檺绯荤粺璁剧疆椤甸潰 + } else { +// toast("鑾峰彇褰曢煶鍜屾棩鍘嗘潈闄愬け璐�"); + } + } + }); + } catch (Throwable e) { + e.printStackTrace(); + } + } + + + long mExitTime; + + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + if (keyCode == KeyEvent.KEYCODE_BACK) { + if ((System.currentTimeMillis() - mExitTime) > 2000) { + Toast.makeText(LoginActivity.this, "鍐嶆寜涓�娆¢��鍑虹▼搴�", Toast.LENGTH_SHORT).show(); + mExitTime = System.currentTimeMillis(); + } else { + LoginActivity.this.finish(); + } + return true; + } + return super.onKeyDown(keyCode, event); + } } -- Gitblit v1.8.0