From 7d47f557b17337c7e5ca02a258c23cc8a286807f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E5=8B=A4=E6=B0=91?= Date: Thu, 16 Apr 2026 23:25:32 +0800 Subject: [PATCH] =?UTF-8?q?fix(voice):=20=E6=9B=B4=E6=96=B0=E5=94=A4?= =?UTF-8?q?=E9=86=92=E8=AF=8D=E5=B9=B6=E4=BC=98=E5=8C=96AI=E5=BC=82?= =?UTF-8?q?=E5=B8=B8=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将唤醒词从"我的任务"更改为"飞宝飞宝" - 添加JSONObject和HttpException导入 - 实现HttpException响应体解析获取详细错误信息 - 当AI返回异常时更新最后一条聊天内容显示具体错误 - 优化错误消息显示逻辑确保用户体验 --- .../com/nova/brain/glass/helper/AsrHelper.kt | 2 +- .../glass/helper/OfflineCmdServiceHelper.kt | 2 +- .../com/nova/brain/glass/viewmodel/ChatVM.kt | 17 ++++++++++++++++- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/nova/brain/glass/helper/AsrHelper.kt b/app/src/main/java/com/nova/brain/glass/helper/AsrHelper.kt index ee97a1c..b5c0bbe 100644 --- a/app/src/main/java/com/nova/brain/glass/helper/AsrHelper.kt +++ b/app/src/main/java/com/nova/brain/glass/helper/AsrHelper.kt @@ -26,7 +26,7 @@ object AsrHelper : OfflineCmdListener { // 唤醒词:Nova Nova private const val WAKE_WORD = "Nova Nova" - private const val WAKE_WORD1 = "我的任务" + private const val WAKE_WORD1 = "飞宝飞宝" private const val WAKE_WORD_PINYIN = "nou wa nou wa" private var sdk: OnlineSpeechSdk? = null diff --git a/app/src/main/java/com/nova/brain/glass/helper/OfflineCmdServiceHelper.kt b/app/src/main/java/com/nova/brain/glass/helper/OfflineCmdServiceHelper.kt index 539b37a..39c247f 100644 --- a/app/src/main/java/com/nova/brain/glass/helper/OfflineCmdServiceHelper.kt +++ b/app/src/main/java/com/nova/brain/glass/helper/OfflineCmdServiceHelper.kt @@ -129,7 +129,7 @@ object OfflineCmdServiceHelper { OfflineCmdBean("Nova Nova", "nao wa nao wa"), OfflineCmdBean("C大脑", "c da nao"), OfflineCmdBean("C大脑", "sei da nao"), - OfflineCmdBean("我的任务", "wo de ren wu") + OfflineCmdBean("飞宝飞宝", "fei bao fei bao"), ) ) } diff --git a/app/src/main/java/com/nova/brain/glass/viewmodel/ChatVM.kt b/app/src/main/java/com/nova/brain/glass/viewmodel/ChatVM.kt index 483ecb0..152e851 100644 --- a/app/src/main/java/com/nova/brain/glass/viewmodel/ChatVM.kt +++ b/app/src/main/java/com/nova/brain/glass/viewmodel/ChatVM.kt @@ -16,6 +16,8 @@ import com.xuqm.base.viewmodel.BaseListViewModel import com.xuqm.base.viewmodel.callback.Response import io.reactivex.disposables.Disposable import io.reactivex.schedulers.Schedulers +import org.json.JSONObject +import retrofit2.HttpException import java.util.UUID class ChatVM : BaseListViewModel() { @@ -124,7 +126,20 @@ class ChatVM : BaseListViewModel() { }, { e -> LogHelper.e(">>>>22", e) 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) } }