Commit 79d807d5 authored by shiyl's avatar shiyl

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

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