diff --git a/src/components/Content.vue b/src/components/Content.vue
index 8fa8956..7874160 100644
--- a/src/components/Content.vue
+++ b/src/components/Content.vue
@@ -29,6 +29,8 @@ const message = ref('') // input message
const text = ref('') // current select message
const translates = ref({}) // translate result
const isTranslating = ref(false) // translate loading
+const speakIndex = ref(0) // record speak
+const translateIndex = ref(0) // record translate
const messageLength = computed(() => store.getConversationsByCurrentProps('chatMessages').length)
const chatMessages = computed(() => store.getConversationsByCurrentProps('chatMessages').slice(1))
@@ -82,7 +84,7 @@ const onSubmit = async () => {
content, role: 'assistant',
},
])
- speak(content)
+ speak(content, chatMessages.value.length - 1)
}
else {
store.changeConversations(currentChatMessages.value.slice(0, -1))
@@ -91,7 +93,8 @@ const onSubmit = async () => {
store.changeLoading(false)
}
-function speak(content: string) {
+function speak(content: string, index: number) {
+ speakIndex.value = index
text.value = content
textToSpeak(content)
}
@@ -114,6 +117,7 @@ const recognize = async () => {
}
const translate = async (text: string, i: number) => {
+ translateIndex.value = i
const key = text + i
if (translates.value[key])
return translates.value[key].isShow = !translates.value[key].isShow
@@ -150,15 +154,18 @@ const translate = async (text: string, i: number) => {
-
-
-
+
+
-
-
-
+
+
+
+
+
+
+
+
+
diff --git a/src/components/Nav.vue b/src/components/Nav.vue
index b52c2c9..3bd9ab0 100644
--- a/src/components/Nav.vue
+++ b/src/components/Nav.vue
@@ -12,6 +12,8 @@ const handleCardClick = (key: Key) => {
}
const handleDelete = (key: Key) => {
+ if (store.loading)
+ return alert('Please wait for the current operation to complete')
store.deleteConversation(key)
}
diff --git a/src/components/NewChat.vue b/src/components/NewChat.vue
index 35b2160..2abf2ef 100644
--- a/src/components/NewChat.vue
+++ b/src/components/NewChat.vue
@@ -1,21 +1,19 @@
@@ -32,7 +35,7 @@ const settingVisible = ref(false)
-
+
diff --git a/src/server/api.ts b/src/server/api.ts
index cb9fb69..875aad6 100644
--- a/src/server/api.ts
+++ b/src/server/api.ts
@@ -5,7 +5,7 @@ export const generateText = async (messages: ChatMessage[], apiKey: string, prox
const openai = new OpenAi(apiKey, proxy)
const { url, initOptions } = openai.generateTurboPayload({ messages })
- const response = await fetchWithTimeout(url, 20000, initOptions)
+ const response = await fetchWithTimeout(url, 30000, initOptions)
const data = await response.json()
return data
}