Commit 79d807d5 authored by shiyl's avatar shiyl

BNAHttpReqService添加是否显示失败提示语的参数

parent f97358f2
......@@ -27,7 +27,7 @@ import timber.log.Timber
* description: 网路请求解析
* 非加密接口使用
*/
abstract class HttpResultObserver<T> : Observer<HttpResult<T>> {
abstract class HttpResultObserver<T>(private var showFailurePrompt: Boolean = true) : Observer<HttpResult<T>> {
private val gson by lazy { Gson() }
private var isShowErrorMsg = true
......@@ -83,7 +83,9 @@ abstract class HttpResultObserver<T> : Observer<HttpResult<T>> {
}
else -> {
onFailure(result)
ToastUtil.showToast(YdBaseApplication.context, result.reason ?: "网络请求失败")
if (showFailurePrompt) {
ToastUtil.showToast(YdBaseApplication.context, result.reason ?: "网络请求失败")
}
}
}
}
......
......@@ -20,7 +20,8 @@ import io.reactivex.rxjava3.disposables.Disposable
import org.json.JSONObject
import java.lang.reflect.ParameterizedType
abstract class HttpResultSubscriber<T>(private var showProgress: Boolean = false) : Observer<HttpResult<Any?>> {
abstract class HttpResultSubscriber<T>(private var showProgress: Boolean = false, private var showFailurePrompt: Boolean = true) :
Observer<HttpResult<Any?>> {
private var isShowErrorMsg = true
override fun onSubscribe(d: Disposable) { //网络请求之前
......@@ -84,7 +85,10 @@ abstract class HttpResultSubscriber<T>(private var showProgress: Boolean = false
decodeResult.reason = res.reason
decodeResult.status = res.status
onFailure(decodeResult)
ToastUtil.showToast(YdBaseApplication.context, res.reason)
// 显示失败的提示语,如果某些情况不需要提示,可以设置为false
if (showFailurePrompt) {
ToastUtil.showToast(YdBaseApplication.context, res.reason)
}
}
}
}
......
......@@ -28,7 +28,8 @@ class BNAHttpReqService : ZapService() {
val requestOptions = options as JSONObject
val method = requestOptions.optString("method", "POST")
val host = requestOptions.optString("host", RunConfig.API_URL)
val isEncrypt = requestOptions.optBoolean("is_encrypt", true)
val isEncrypt = requestOptions.optBoolean("is_encrypt", true)// 是否开启加密
val showFailurePrompt = requestOptions.optBoolean("showFailurePrompt", true)// 是否显示失败的提示
val url = host + apiPath
val paramsMap: HashMap<String, String?> = parseParams(requestParams)
......@@ -36,16 +37,16 @@ class BNAHttpReqService : ZapService() {
when (method) {
"GET", "get" -> {
if (isEncrypt) {
BNARemoteDataSource.launchEncryptGetRequest(iMBRequestCallBackImpl, paramsMap, url, resolver)
BNARemoteDataSource.launchEncryptGetRequest(iMBRequestCallBackImpl, paramsMap, url, resolver, showFailurePrompt)
} else {
BNARemoteDataSource.launchGetRequest(iMBRequestCallBackImpl, paramsMap, url, resolver)
BNARemoteDataSource.launchGetRequest(iMBRequestCallBackImpl, paramsMap, url, resolver, showFailurePrompt)
}
}
"POST", "post" -> {
if (isEncrypt) {
BNARemoteDataSource.launchEncryptPostRequest(iMBRequestCallBackImpl, paramsMap, url, resolver)
BNARemoteDataSource.launchEncryptPostRequest(iMBRequestCallBackImpl, paramsMap, url, resolver, showFailurePrompt)
} else {
BNARemoteDataSource.launchPostRequest(iMBRequestCallBackImpl, paramsMap, url, resolver)
BNARemoteDataSource.launchPostRequest(iMBRequestCallBackImpl, paramsMap, url, resolver, showFailurePrompt)
}
}
else -> {
......
......@@ -15,7 +15,8 @@ object BNARemoteDataSource {
apiCallback: IBNARequestCallBack,
requestParams: HashMap<String, String?>,
url: String,
resolver: ResultResolver
resolver: ResultResolver,
showFailurePrompt: Boolean
) {
val timeStamp = System.currentTimeMillis()
val publicParamsMap = HttpParamsUtils.getPublicParamsMap(timeStamp)
......@@ -23,7 +24,7 @@ object BNARemoteDataSource {
ServiceFactory.getInstance().createService(BNAService::class.java)
.mbGetRequest(url, publicParamsMap, privateParamsMap)
.compose(TransformUtil.defaultSchedulers())
.subscribe(object : HttpResultSubscriber<Any?>() {
.subscribe(object : HttpResultSubscriber<Any?>(showFailurePrompt = showFailurePrompt) {
override fun onSuccess(result: HttpResult<Any?>?) {
apiCallback.getRequestSuccess(result, resolver)
}
......@@ -42,7 +43,8 @@ object BNARemoteDataSource {
apiCallback: IBNARequestCallBack,
requestParams: HashMap<String, String?>,
url: String,
resolver: ResultResolver
resolver: ResultResolver,
showFailurePrompt: Boolean
) {
val timeStamp = System.currentTimeMillis()
val publicParamsMap = HttpParamsUtils.getPublicParamsMap(timeStamp)
......@@ -50,7 +52,7 @@ object BNARemoteDataSource {
ServiceFactory.getInstance().createService(BNAService::class.java)
.mbGetRequest(url, publicParamsMap, privateParamsMap)
.compose(TransformUtil.defaultSchedulers())
.subscribe(object : HttpResultObserver<Any?>() {
.subscribe(object : HttpResultObserver<Any?>(showFailurePrompt = showFailurePrompt) {
override fun onSuccess(result: HttpResult<Any?>?) {
apiCallback.getRequestSuccess(result, resolver)
}
......@@ -69,7 +71,8 @@ object BNARemoteDataSource {
apiCallback: IBNARequestCallBack,
requestParams: HashMap<String, String?>,
url: String,
resolver: ResultResolver
resolver: ResultResolver,
showFailurePrompt: Boolean
) {
val timeStamp = System.currentTimeMillis()
val publicParamsMap = HttpParamsUtils.getPublicParamsMap(timeStamp)
......@@ -77,7 +80,7 @@ object BNARemoteDataSource {
ServiceFactory.getInstance().createService(BNAService::class.java)
.mbPostRequest(url, publicParamsMap, privateParamsMap)
.compose(TransformUtil.defaultSchedulers())
.subscribe(object : HttpResultSubscriber<Any?>() {
.subscribe(object : HttpResultSubscriber<Any?>(showFailurePrompt = showFailurePrompt) {
override fun onSuccess(result: HttpResult<Any?>?) {
apiCallback.getRequestSuccess(result, resolver)
}
......@@ -96,7 +99,8 @@ object BNARemoteDataSource {
apiCallback: IBNARequestCallBack,
requestParams: HashMap<String, String?>,
url: String,
resolver: ResultResolver
resolver: ResultResolver,
showFailurePrompt: Boolean
) {
val timeStamp = System.currentTimeMillis()
val publicParamsMap = HttpParamsUtils.getPublicParamsMap(timeStamp)
......@@ -104,7 +108,7 @@ object BNARemoteDataSource {
ServiceFactory.getInstance().createService(BNAService::class.java)
.mbPostRequest(url, publicParamsMap, privateParamsMap)
.compose(TransformUtil.defaultSchedulers())
.subscribe(object : HttpResultObserver<Any?>() {
.subscribe(object : HttpResultObserver<Any?>(showFailurePrompt = showFailurePrompt) {
override fun onSuccess(result: HttpResult<Any?>?) {
apiCallback.getRequestSuccess(result, resolver)
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment