From 55b196ea2e28a8d859c85326f2147a4f7b7196de Mon Sep 17 00:00:00 2001 From: zuojincheng <lf_zuo@163.com> Date: 星期四, 10 四月 2025 10:58:32 +0800 Subject: [PATCH] feat(general): 新增开卡信息保存功能并优化界面布局- 新增 CardRegistrationBean 数据模型用于保存开卡信息 - 在数据库中添加 card_registration 表用于存储开卡记录 - 优化 NewCard2Activity 界面布局,调整样式和间距 - 添加协程支持,实现异步保存开卡信息到数据库 - 更新颜色配置,统一使用新加的 base_blue_bg 和 base_green_bg颜色 --- app/src/main/java/com/dayu/recharge/activity/LoginActivity.java | 184 +++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 164 insertions(+), 20 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 230959b..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,12 +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; @@ -18,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; @@ -42,7 +50,6 @@ ActivityLoginBinding binding; PassWordBean passWordBean; -// com.dayu.qihealonelibrary.dbBean.PassWordBean int clickNumber; @Override @@ -50,12 +57,9 @@ super.onCreate(savedInstanceState); binding = ActivityLoginBinding.inflate(LayoutInflater.from(this)); setContentView(binding.getRoot()); - getPermission(); initView(); - if (MyApplication.myApplication.libraryType == BaseCommon.NoLibrary) { - choesLibrary(); - //娌℃湁閫夋嫨鐗堟湰鍏堥�夋嫨鐗堟湰 - } + getPermission(); + } private void initView() { @@ -63,40 +67,52 @@ 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))) { - - 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"); - + Log.i("LoginActivity", "onResume"); + if (MyApplication.myApplication.libraryType == BaseCommon.QHOnLineLibrary || MyApplication.myApplication.libraryType == BaseCommon.Generalv1Library) { + binding.nameLL.setVisibility(View.VISIBLE); + } } /** @@ -105,10 +121,17 @@ private void choesLibrary() { LibraryDialog dialog = new LibraryDialog(this, type -> { + binding.nameLL.setVisibility(View.GONE); if (type == BaseCommon.HeNanLibrary) { getHNPermission(); } else if (type == BaseCommon.QHOnLineLibrary) { - getHNPermission(); + 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(); }); @@ -119,9 +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)); - }else if (MyApplication.myApplication.libraryType==BaseCommon.QHOnLineLibrary){ - startActivity(new Intent(LoginActivity.this, com.dayu.qiheonlinelibrary.activity.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(); } @@ -179,6 +204,9 @@ } } + /** + * 鑾峰彇閫氱敤鏉冮檺 + */ private void getPermission() { try { XXPermissions.with(this) @@ -197,6 +225,10 @@ file.mkdirs(); } passWordBean = BaseDaoSingleton.getInstance(LoginActivity.this).loginPsDao().findFirst(); + if (MyApplication.myApplication.libraryType == BaseCommon.NoLibrary) { + choesLibrary(); + //娌℃湁閫夋嫨鐗堟湰鍏堥�夋嫨鐗堟湰 + } } catch (Exception e) { e.printStackTrace(); } @@ -220,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