fix(chat): 修复加载状态显示和API响应判断逻辑

- 修复ChatActivity中加载进度条和占位图标切换逻辑
- 初始化ChatVM中loading状态为false避免空值问题
- 修复CompositeLayupResultVM中API成功判断条件从success改为code==200
- 修复CompositeLayupTaskVM中API成功判断条件从success改为code==200
这个提交包含在:
徐勤民 2026-04-22 19:53:58 +08:00
父节点 089c807340
当前提交 401d928f92
共有 4 个文件被更改,包括 6 次插入3 次删除

查看文件

@ -42,6 +42,9 @@ class ChatActivity : BaseListFormLayoutNormalActivity<ChatItem, ChatVM, Activity
}
// loading=true显示旋转进度;loading=false显示静态占位图
val isLoading = viewModel.loading.value ?: false
binding.loadingProgress.visibility = if (isLoading) View.VISIBLE else View.GONE
binding.loadingIdleIcon.visibility = if (isLoading) View.GONE else View.VISIBLE
viewModel.loading.observe(this) { loading ->
binding.loadingProgress.visibility = if (loading) View.VISIBLE else View.GONE
binding.loadingIdleIcon.visibility = if (loading) View.GONE else View.VISIBLE

查看文件

@ -30,7 +30,7 @@ class ChatVM : BaseListViewModel<ChatItem>() {
}
val result = MutableLiveData<String>()
val loading = MutableLiveData<Boolean>()
val loading = MutableLiveData(false)
/** 末尾始终保留一个占位 itemSPACER_ID,高度 = RecyclerView 高度,用于支持最新 item 滚到顶部 */
val chatItems: MutableList<ChatItem> = mutableListOf(ChatItem(SPACER_ID, "", ""))

查看文件

@ -47,7 +47,7 @@ class CompositeLayupResultVM : BaseListViewModel<ItemItem>() {
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe({ response ->
if (response.success && response.data != null) {
if (response.code==200 && response.data != null) {
recognizeResult.value = response.data
resultState.value = CompositeLayupResultState.SUCCESS
} else {

查看文件

@ -83,7 +83,7 @@ class CompositeLayupTaskVM : BaseListViewModel<ItemItem>() {
.observeOn(AndroidSchedulers.mainThread())
.subscribe({ response ->
val result = response.data
if (response.success && result != null) {
if (response.code==200 && result != null) {
recognizeResult.value = result
lastRecognizeFinished = result.finished
recognizeState.value = CompositeLayupRecognizeState.SUCCESS