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/net/ApiManager.kt | 37 +++++++++++++------------------------
1 files changed, 13 insertions(+), 24 deletions(-)
diff --git a/generallibrary/src/main/java/com/dayu/general/net/ApiManager.kt b/generallibrary/src/main/java/com/dayu/general/net/ApiManager.kt
index 8837b74..79e1dae 100644
--- a/generallibrary/src/main/java/com/dayu/general/net/ApiManager.kt
+++ b/generallibrary/src/main/java/com/dayu/general/net/ApiManager.kt
@@ -1,14 +1,10 @@
-package com.dayu.qiheonlinelibrary.net
+package com.dayu.general.net
import android.content.Context
import android.util.Log
+import com.dayu.baselibrary.business.BusinessProvider
import com.dayu.baselibrary.net.subscribers.ProgressSubscriber
import com.dayu.baselibrary.net.subscribers.SubscriberListener
-import com.dayu.general.net.ApiService
-import com.dayu.general.net.BaseResponse
-import com.dayu.general.net.MyJsonParser
-import com.dayu.general.net.NetConstans
-import com.dayu.general.net.RetrofitClient
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import io.reactivex.rxjava3.functions.Function
import io.reactivex.rxjava3.schedulers.Schedulers
@@ -27,18 +23,10 @@
@Volatile
private var apiManager: ApiManager? = null
- fun init() {
- if (apiManager == null) {
- synchronized(ApiManager::class) {
- if (apiManager == null) {
- apiManager = ApiManager()
- }
- }
- }
- }
-
fun getInstance(): ApiManager {
- return apiManager ?: throw IllegalStateException("ApiManager not initialized")
+ return apiManager ?: synchronized(this) {
+ apiManager ?: ApiManager().also { apiManager = it }
+ }
}
}
@@ -132,14 +120,14 @@
val mySubscriber = ProgressSubscriber<BaseResponse<T>>(context, hideLoading, listener);
observable
- ?.subscribeOn(Schedulers.io())
- ?.map(mapResponse(tClass))
- ?.unsubscribeOn(Schedulers.newThread())
- ?.observeOn(AndroidSchedulers.mainThread())
- ?.subscribe(mySubscriber)
+ .subscribeOn(Schedulers.io())
+ .map(mapResponse(context, tClass))
+ .unsubscribeOn(Schedulers.newThread())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(mySubscriber)
}
- private fun <T> mapResponse(tClass: Class<T>): Function<Any, BaseResponse<T>> {
+ private fun <T> mapResponse(context: Context, tClass: Class<T>): Function<Any, BaseResponse<T>> {
return Function { rawResponse ->
when (rawResponse) {
is BaseResponse<*> -> {
@@ -149,12 +137,13 @@
val response = BaseResponse<T>().apply {
code = temp.code
msg = temp.msg ?: ""
+ success = temp.success
}
// 澶勭悊token澶辨晥鐨勬儏鍐�
if (temp.code == NetConstans.TOKEN_INVALID) {
// 鍙互鍦ㄨ繖閲屾坊鍔犻噸瀹氬悜鍒扮櫥褰曢〉闈㈢殑閫昏緫
- // redirectToLogin()
+ BusinessProvider.getBusinessProvider().startLoginNavigotor.navigateToLogin(context)
return@Function response
}
--
Gitblit v1.8.0