@@ -72,7 +72,7 @@ class RequestManager private constructor() {
7272 /* *
7373 * 执行请求
7474 */
75- fun <T : Any > execute (aClass : Class <T >, httpCall : suspend (T ) -> E ? , callBack : CommonCallBack <E >.() -> Unit ): Job {
75+ fun <T : Any > execute (aClass : Class <T >, httpCall : suspend (T ) -> E , callBack : CommonCallBack <E >.() -> Unit ): Job {
7676 checkOptions()
7777 val api = RetrofitHelper (httpOptions).createRequest(aClass, baseUrl)
7878 val call = CommonCallBack <E >()
@@ -83,7 +83,7 @@ class RequestManager private constructor() {
8383 /* *
8484 * 执行上传请求
8585 */
86- fun <T : Any > uploadExecute (aClass : Class <T >, httpCall : suspend (T ) -> E ? , callBack : UploadCallBack <E >.() -> Unit ): Job {
86+ fun <T : Any > uploadExecute (aClass : Class <T >, httpCall : suspend (T ) -> E , callBack : UploadCallBack <E >.() -> Unit ): Job {
8787 checkOptions()
8888 val api = RetrofitHelper (httpOptions).createRequest(aClass, baseUrl)
8989 val call = UploadCallBack <E >()
@@ -103,14 +103,15 @@ class RequestManager private constructor() {
103103 }
104104
105105 private fun checkOptions () {
106- if (httpOptions != null ) return
107- throw IllegalArgumentException (" Please initialize HttpOptions" )
106+ if (httpOptions == null ) {
107+ throw IllegalArgumentException (" Please initialize HttpOptions" )
108+ }
108109 }
109110
110111 /* *
111112 * 设置请求回调
112113 */
113- private fun <T : Any , E : Any > enqueue (api : T , httpCall : suspend (T ) -> E ? , callBack : CallBackImp <E >? ): Job {
114+ private fun <T : Any , E : Any > enqueue (api : T , httpCall : suspend (T ) -> E , callBack : CallBackImp <E >? ): Job {
114115 httpOptions.callBack = callBack
115116 val job = CoroutineScope (Dispatchers .IO ).launch {
116117 flow {
@@ -157,14 +158,14 @@ class RequestManager private constructor() {
157158 /*
158159 * 设置上传文件回调
159160 */
160- private fun <T : Any , E : Any > uploadEnqueue (api : T , httpCall : suspend (T ) -> E ? , callBack : CallBackImp <E >? ): Job {
161+ private fun <T : Any , E : Any > uploadEnqueue (api : T , httpCall : suspend (T ) -> E , callBack : CallBackImp <E >? ): Job {
161162 return this .enqueue(api, httpCall, callBack)
162163 }
163164
164165 /*
165166 * 设置文件下载回调
166167 */
167- private fun <T : Any , E : Any > downloadEnqueue (api : T , httpCall : suspend (T ) -> E ? , callBack : CallBackImp <E >? ): Job {
168+ private fun <T : Any , E : Any > downloadEnqueue (api : T , httpCall : suspend (T ) -> E , callBack : CallBackImp <E >? ): Job {
168169 httpOptions.callBack = callBack
169170 val job = CoroutineScope (Dispatchers .IO ).launch {
170171 flow {
@@ -200,7 +201,7 @@ class RequestManager private constructor() {
200201 return job
201202 }
202203
203- private fun <E : Any > doBaseConsumer (callBack : CallBackImp <E >? , t : E ? ) {
204+ private fun <E : Any > doBaseConsumer (callBack : CallBackImp <E >? , t : E ) {
204205 if (httpOptions.isDialogDismissInterruptRequest) {
205206 httpOptions.activity.lifecycleScope.launch(Dispatchers .Main ) {
206207 if (isActive) {
@@ -214,7 +215,7 @@ class RequestManager private constructor() {
214215 }
215216 }
216217
217- private fun <E : Any > success (callBack : CallBackImp <E >? , t : E ? ) {
218+ private fun <E : Any > success (callBack : CallBackImp <E >? , t : E ) {
218219 callBack?.onSuccess(t)
219220 if (httpOptions.isShowDialog && null != httpOptions.dialog) {
220221 httpOptions.dialog?.dismissLoading(httpOptions.activity)
@@ -241,28 +242,25 @@ class RequestManager private constructor() {
241242 httpOptions.dialog?.dismissLoading(httpOptions.activity)
242243 }
243244 if (httpOptions.isDefaultToast) {
244- when (e) {
245- is HttpException -> {
246- if (e.code() == 404 ) {
247- Toast .makeText(httpOptions.activity, e.message, Toast .LENGTH_SHORT ).show()
248- } else if (e.code() == 504 ) {
249- Toast .makeText(httpOptions.activity, " 请检查网络连接!" , Toast .LENGTH_SHORT ).show()
250- } else {
251- Toast .makeText(httpOptions.activity, " 请检查网络连接!" , Toast .LENGTH_SHORT ).show()
252- }
253- }
254-
255- is IndexOutOfBoundsException , is NullPointerException , is JsonSyntaxException , is IllegalStateException , is ResultException -> {
256- Toast .makeText(httpOptions.activity, " 数据异常,解析失败!" , Toast .LENGTH_SHORT ).show()
257- }
258-
259- is TimeoutException -> {
260- Toast .makeText(httpOptions.activity, " 连接超时,请重试!" , Toast .LENGTH_SHORT ).show()
261- }
262-
263- else -> {
264- Toast .makeText(httpOptions.activity, " 请求失败,请稍后再试!" , Toast .LENGTH_SHORT ).show()
245+ if (e is HttpException ) {
246+ if (e.code() == 404 ) {
247+ Toast .makeText(httpOptions.activity, e.message, Toast .LENGTH_SHORT ).show()
248+ } else if (e.code() == 504 ) {
249+ Toast .makeText(httpOptions.activity, " 请检查网络连接!" , Toast .LENGTH_SHORT ).show()
250+ } else {
251+ Toast .makeText(httpOptions.activity, " 请检查网络连接!" , Toast .LENGTH_SHORT ).show()
265252 }
253+ } else if (e is IndexOutOfBoundsException
254+ || e is NullPointerException
255+ || e is JsonSyntaxException
256+ || e is IllegalStateException
257+ || e is ResultException
258+ ) {
259+ Toast .makeText(httpOptions.activity, " 数据异常,解析失败!" , Toast .LENGTH_SHORT ).show()
260+ } else if (e is TimeoutException ) {
261+ Toast .makeText(httpOptions.activity, " 连接超时,请重试!" , Toast .LENGTH_SHORT ).show()
262+ } else {
263+ Toast .makeText(httpOptions.activity, " 请求失败,请稍后再试!" , Toast .LENGTH_SHORT ).show()
266264 }
267265 }
268266 }
0 commit comments