fix(voice): 更新唤醒词并优化AI异常处理
- 将唤醒词从"我的任务"更改为"飞宝飞宝" - 添加JSONObject和HttpException导入 - 实现HttpException响应体解析获取详细错误信息 - 当AI返回异常时更新最后一条聊天内容显示具体错误 - 优化错误消息显示逻辑确保用户体验
这个提交包含在:
父节点
cfb2e6cad9
当前提交
7d47f557b1
@ -26,7 +26,7 @@ object AsrHelper : OfflineCmdListener {
|
|||||||
|
|
||||||
// 唤醒词:Nova Nova
|
// 唤醒词:Nova Nova
|
||||||
private const val WAKE_WORD = "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 const val WAKE_WORD_PINYIN = "nou wa nou wa"
|
||||||
|
|
||||||
private var sdk: OnlineSpeechSdk? = null
|
private var sdk: OnlineSpeechSdk? = null
|
||||||
|
|||||||
@ -129,7 +129,7 @@ object OfflineCmdServiceHelper {
|
|||||||
OfflineCmdBean("Nova Nova", "nao wa nao wa"),
|
OfflineCmdBean("Nova Nova", "nao wa nao wa"),
|
||||||
OfflineCmdBean("C大脑", "c da nao"),
|
OfflineCmdBean("C大脑", "c da nao"),
|
||||||
OfflineCmdBean("C大脑", "sei da nao"),
|
OfflineCmdBean("C大脑", "sei da nao"),
|
||||||
OfflineCmdBean("我的任务", "wo de ren wu")
|
OfflineCmdBean("飞宝飞宝", "fei bao fei bao"),
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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) }
|
||||||
}
|
}
|
||||||
|
|||||||
正在加载...
在新工单中引用
屏蔽一个用户