|
@@ -16,6 +16,8 @@ import com.xuqm.base.viewmodel.BaseListViewModel
|
|
|
import com.xuqm.base.viewmodel.callback.Response
|
|
import com.xuqm.base.viewmodel.callback.Response
|
|
|
import io.reactivex.disposables.Disposable
|
|
import io.reactivex.disposables.Disposable
|
|
|
import io.reactivex.schedulers.Schedulers
|
|
import io.reactivex.schedulers.Schedulers
|
|
|
|
|
+import org.json.JSONObject
|
|
|
|
|
+import retrofit2.HttpException
|
|
|
import java.util.UUID
|
|
import java.util.UUID
|
|
|
|
|
|
|
|
class ChatVM : BaseListViewModel<ChatItem>() {
|
|
class ChatVM : BaseListViewModel<ChatItem>() {
|
|
@@ -124,7 +126,20 @@ class ChatVM : BaseListViewModel<ChatItem>() {
|
|
|
}, { e ->
|
|
}, { e ->
|
|
|
LogHelper.e(">>>>22", e)
|
|
LogHelper.e(">>>>22", e)
|
|
|
loading.postValue(false)
|
|
loading.postValue(false)
|
|
|
- result.postValue("AI反馈异常: ${e.message}")
|
|
|
|
|
|
|
+ val errMsg = if (e is HttpException) {
|
|
|
|
|
+ runCatching {
|
|
|
|
|
+ val body = e.response()?.errorBody()?.string() ?: ""
|
|
|
|
|
+ JSONObject(body).optString("msg", e.message())
|
|
|
|
|
+ }.getOrDefault(e.message())
|
|
|
|
|
+ } else {
|
|
|
|
|
+ "AI反馈异常: ${e.message}"
|
|
|
|
|
+ }
|
|
|
|
|
+ val lastIndex = chatItems.size - 1
|
|
|
|
|
+ if (lastIndex >= 0) {
|
|
|
|
|
+ chatItems[lastIndex].content = errMsg
|
|
|
|
|
+ notifyItem(lastIndex)
|
|
|
|
|
+ }
|
|
|
|
|
+ result.postValue(errMsg)
|
|
|
})
|
|
})
|
|
|
currentTask?.also { add(it) }
|
|
currentTask?.also { add(it) }
|
|
|
}
|
|
}
|