From a8751388c9a86ae95714a15279994d8aa426a26d Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期五, 13 六月 2025 14:59:02 +0800 Subject: [PATCH] feat(generallibrary): 优化充值功能并添加水价获取- 在 activity_recharge_detail.xml 中移除了不必要的 bold 样式- 在 EditText 中添加了金额输入限制(数字和小数点)- 在 BaseApplication 中添加了水价信息存储 - 在 MainActivity 中实现了延时获取水价的功能- 优化了 RechargeDetailActivity 中的水价检查和使用逻辑 - 在 README.md 中添加了金额格式化和水价获取的最佳实践指南 --- generallibrary/src/main/java/com/dayu/general/activity/MainActivity.kt | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 52 insertions(+), 0 deletions(-) diff --git a/generallibrary/src/main/java/com/dayu/general/activity/MainActivity.kt b/generallibrary/src/main/java/com/dayu/general/activity/MainActivity.kt index 87af8d5..81b20a0 100644 --- a/generallibrary/src/main/java/com/dayu/general/activity/MainActivity.kt +++ b/generallibrary/src/main/java/com/dayu/general/activity/MainActivity.kt @@ -2,6 +2,8 @@ import android.content.Intent import android.os.Bundle +import android.os.Handler +import android.os.Looper import android.view.KeyEvent import android.view.LayoutInflater import android.widget.Toast @@ -13,6 +15,7 @@ import com.dayu.general.R import com.dayu.general.adapter.TabAdapter import com.dayu.general.bean.net.UserInfoResult +import com.dayu.general.bean.net.WaterPriceResult import com.dayu.general.databinding.ActivityMainBinding import com.dayu.general.net.ApiManager import com.dayu.general.net.BaseResponse @@ -22,15 +25,33 @@ var binding: ActivityMainBinding? = null private val fragments: ArrayList<Fragment> = ArrayList() var mExitTime: Long = 0 + private val handler = Handler(Looper.getMainLooper()) override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivityMainBinding.inflate(LayoutInflater.from(this)) setContentView(binding?.root) + + // 娉ㄥ唽MainActivity瀹炰緥鍒癇aseApplication + BaseApplication.setMainActivity(this) + setupFragments() initView() initTab() getUserInfo() + + // 寤舵椂20绉掑悗鑾峰彇姘翠环 + handler.postDelayed({ + getWaterPriceFromActivity() + }, 20000) // 20绉掑欢鏃� + } + + override fun onDestroy() { + super.onDestroy() + // 娓呯悊Handler鍥炶皟锛岄槻姝㈠唴瀛樻硠婕� + handler.removeCallbacksAndMessages(null) + // 娓呯悊BaseApplication涓殑MainActivity寮曠敤 + BaseApplication.setMainActivity(null) } override fun onNfcBack(intent: Intent) { @@ -45,6 +66,37 @@ } } + /** + * 鑾峰彇姘翠环淇℃伅 - 鍏紑鏂规硶渚涘叾浠栧湴鏂硅皟鐢� + */ + fun getWaterPriceFromActivity() { + // 濡傛灉姘翠环宸插瓨鍦ㄤ笖澶т簬0锛屽垯涓嶉噸澶嶈幏鍙� + if (BaseApplication.waterPrice > 0.0) { + return + } + + ApiManager.getInstance().requestGetHideLoading( + this, + "terminal/client/getWaterPrice", + WaterPriceResult::class.java, + null, + object : SubscriberListener<BaseResponse<WaterPriceResult>>() { + override fun onNext(response: BaseResponse<WaterPriceResult>) { + if (response.success && response.code == "0001") { + // 鑾峰彇姘翠环鎴愬姛锛屼繚瀛樺埌BaseApplication + response.content?.let { waterPriceResult -> + BaseApplication.waterPrice = waterPriceResult.price + } + } + } + + override fun onError(e: Throwable?) { + super.onError(e) + // 缃戠粶寮傚父鏃朵笉鏄剧ず閿欒淇℃伅锛岄伩鍏嶅奖鍝嶇敤鎴蜂綋楠� + } + } + ) + } private fun getUserInfo() { // 浣跨敤姝g‘鐨勭被鍨嬪弬鏁� -- Gitblit v1.8.0