From 75f59fa9a615e3584694e820ff83503e8b72ea16 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期五, 14 三月 2025 16:55:31 +0800 Subject: [PATCH] refactor(generallibrary):重构网络请求模块 --- app/src/main/java/com/dayu/recharge/activity/LoginActivity.java | 356 +++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 319 insertions(+), 37 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 91b0873..3632ec7 100644 --- a/app/src/main/java/com/dayu/recharge/activity/LoginActivity.java +++ b/app/src/main/java/com/dayu/recharge/activity/LoginActivity.java @@ -1,22 +1,40 @@ package com.dayu.recharge.activity; -import android.Manifest; 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.appcompat.app.AppCompatActivity; +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.henanlibrary.HeNanApplication; +import com.dayu.henanlibrary.dao.HNBaseDaoSingleton; + +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.dao.BaseDaoSingleton; import com.dayu.recharge.databinding.ActivityLoginBinding; -import com.dayu.recharge.dbBean.PassWordBean; -import com.dayu.recharge.utils.WSMD5; -import com.permissionx.guolindev.PermissionX; +import com.hjq.permissions.OnPermissionCallback; +import com.hjq.permissions.Permission; +import com.hjq.permissions.XXPermissions; import java.io.File; +import java.util.List; /** @@ -25,56 +43,320 @@ * Date: 2023-11-10 19:52 * Description: 鐧诲綍鐣岄潰 */ -public class LoginActivity extends AppCompatActivity { +public class LoginActivity extends BaseActivity { ActivityLoginBinding binding; PassWordBean passWordBean; + int clickNumber; @Override - public void onCreate(Bundle savedInstanceState) { + protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); binding = ActivityLoginBinding.inflate(LayoutInflater.from(this)); setContentView(binding.getRoot()); - getPermission(); initView(); + getPermission(); + } private void initView() { - binding.loginBtn.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if ((passWordBean != null && (passWordBean.getPassWord().equals(binding.loginPw.getText().toString()) || WSMD5.getMD5Str(binding.loginPw.getText().toString()).equals("8af357996269a1b52b182a839150097d"))) || (passWordBean == null && binding.loginPw.getText().toString().equals("123456")) || WSMD5.getMD5Str(binding.loginPw.getText().toString()).equalsIgnoreCase("00A93D54CF982B18A05ADB4520D58FC8")) { - startActivity(new Intent(LoginActivity.this, HomeActivity.class)); - LoginActivity.this.finish(); - } else { - Toast.makeText(LoginActivity.this, "瀵嗙爜閿欒", Toast.LENGTH_SHORT).show(); - } + binding.title.setOnClickListener(v -> { + 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 (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(); + } 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) { + throw new RuntimeException(e); + } + } - private void getPermission() { - PermissionX.init(LoginActivity.this).permissions(Manifest.permission.READ_PHONE_STATE, - Manifest.permission.READ_EXTERNAL_STORAGE, - Manifest.permission.WRITE_EXTERNAL_STORAGE) - .onExplainRequestReason((scope, deniedList) -> { - }) - .request((allGranted, grantedList, deniedList) -> { - if (allGranted) {//鎵�鏈夌敵璇风殑鏉冮檺閮藉凡閫氳繃 - MyApplication.myApplication.initEasySocket(false, null); - try { - File file = new File(BaseDaoSingleton.SqlitePath); - if (!file.exists()) { - file.mkdirs(); + + @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); + } + } + + /** + * 閫夋嫨鐗堟湰 + */ + private void choesLibrary() { + + LibraryDialog dialog = new LibraryDialog(this, type -> { + binding.nameLL.setVisibility(View.GONE); + if (type == BaseCommon.HeNanLibrary) { + getHNPermission(); + } else if (type == BaseCommon.QHOnLineLibrary) { + getQHOnlinPermission(); + binding.nameLL.setVisibility(View.VISIBLE); + } else if (type == BaseCommon.Generalv1Library) { + binding.nameLL.setVisibility(View.VISIBLE); + getGeneralV1Permission(); + } + MyApplication.myApplication.initApplication(); + }); + dialog.show(); + } + + private void startToHomeActivity() { + 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, 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(); + } + + /** + * 娌冲崡鐗堢殑鑾峰彇鏉冮檺 + */ + private void getHNPermission() { + 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) {//鎵�鏈夌敵璇风殑鏉冮檺閮藉凡閫氳繃 + + HeNanApplication.getInstance().initEasySocket(false, null); + try { + File file = new File(HNBaseDaoSingleton.SqlitePath); + if (!file.exists()) { + file.mkdirs(); + } + + } catch (Exception e) { + e.printStackTrace(); + } + } } - passWordBean = BaseDaoSingleton.getInstance(this).loginPsDao().findFirst(); - } catch (Exception e) { - e.printStackTrace(); } - } else {//鎮ㄦ嫆缁濅簡濡備笅鏉冮檺锛�$deniedList + + @Override + public void onDenied(@NonNull List<String> permissions, boolean doNotAskAgain) { + if (doNotAskAgain) { + // 濡傛灉鏄姘镐箙鎷掔粷灏辫烦杞埌搴旂敤鏉冮檺绯荤粺璁剧疆椤甸潰 + } else { +// toast("鑾峰彇褰曢煶鍜屾棩鍘嗘潈闄愬け璐�"); + } + } + }); + } catch (Throwable e) { + e.printStackTrace(); + } + } + + /** + * 鑾峰彇閫氱敤鏉冮檺 + */ + private void getPermission() { + try { + XXPermissions.with(this) + .permission( + Permission.WRITE_EXTERNAL_STORAGE) + .request(new OnPermissionCallback() { + + @Override + public void onGranted(@NonNull List<String> permissions, boolean allGranted) { + if (allGranted) { + if (allGranted) {//鎵�鏈夌敵璇风殑鏉冮檺閮藉凡閫氳繃 + + try { + File file = new File(HNBaseDaoSingleton.SqlitePath); + if (!file.exists()) { + file.mkdirs(); + } + passWordBean = BaseDaoSingleton.getInstance(LoginActivity.this).loginPsDao().findFirst(); + if (MyApplication.myApplication.libraryType == BaseCommon.NoLibrary) { + choesLibrary(); + //娌℃湁閫夋嫨鐗堟湰鍏堥�夋嫨鐗堟湰 + } + } catch (Exception e) { + e.printStackTrace(); + } + } + } + } + + @Override + public void onDenied(@NonNull List<String> permissions, boolean doNotAskAgain) { + if (doNotAskAgain) { + // 濡傛灉鏄姘镐箙鎷掔粷灏辫烦杞埌搴旂敤鏉冮檺绯荤粺璁剧疆椤甸潰 + } else { +// toast("鑾峰彇褰曢煶鍜屾棩鍘嗘潈闄愬け璐�"); + } + } + }); + } catch ( + Throwable e) { + e.printStackTrace(); + } + } - } - }); + 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