From e863cc5da7b0c581c65d7e16ac3aa2ff9d98e4fc Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期四, 20 三月 2025 11:46:20 +0800 Subject: [PATCH] feat(generallibrary): 添加项目选择功能 --- app/src/main/java/com/dayu/recharge/activity/LoginActivity.java | 187 +++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 172 insertions(+), 15 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 3ab6edb..2bc4efd 100644 --- a/app/src/main/java/com/dayu/recharge/activity/LoginActivity.java +++ b/app/src/main/java/com/dayu/recharge/activity/LoginActivity.java @@ -1,11 +1,16 @@ 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; @@ -17,10 +22,14 @@ 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.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; @@ -41,7 +50,6 @@ ActivityLoginBinding binding; PassWordBean passWordBean; -// com.dayu.qihealonelibrary.dbBean.PassWordBean int clickNumber; @Override @@ -49,8 +57,9 @@ super.onCreate(savedInstanceState); binding = ActivityLoginBinding.inflate(LayoutInflater.from(this)); setContentView(binding.getRoot()); - getPermission(); initView(); + getPermission(); + } private void initView() { @@ -58,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); } } @@ -93,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) { - + } 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); + projectDialog.show(); } MyApplication.myApplication.initApplication(); - startToHomeActivity(); }); dialog.show(); } @@ -108,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(); } @@ -166,6 +204,9 @@ } } + /** + * 鑾峰彇閫氱敤鏉冮檺 + */ private void getPermission() { try { XXPermissions.with(this) @@ -184,6 +225,10 @@ file.mkdirs(); } passWordBean = BaseDaoSingleton.getInstance(LoginActivity.this).loginPsDao().findFirst(); + if (MyApplication.myApplication.libraryType == BaseCommon.NoLibrary) { + choesLibrary(); + //娌℃湁閫夋嫨鐗堟湰鍏堥�夋嫨鐗堟湰 + } } catch (Exception e) { e.printStackTrace(); } @@ -207,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