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