diff --git a/src/views/AI-new/components/chat-new.vue b/src/views/AI-new/components/chat-new.vue index ca91f67..d8b7fe5 100644 --- a/src/views/AI-new/components/chat-new.vue +++ b/src/views/AI-new/components/chat-new.vue @@ -56,54 +56,54 @@ import { audioToText, gwcsChat } from '@/api/generatedApi' const MESSAGE_STATUS = { processing: 1, - end: 0 + end: 0, } export default { components: { - SvgIcon + SvgIcon, }, props: { messages: { type: Array, - default: () => [] + default: () => [], }, messageStatus: { type: String, - default: 'stop' + default: 'stop', }, isDeep: { type: Boolean, - default: false + default: false, }, isSearching: { type: Boolean, - default: false + default: false, }, conversationId: { type: String, - default: '' + default: '', }, productName: { type: String, - default: '' + default: '', }, autoScrollEnabled: { type: Boolean, - default: false + default: false, }, chatData: { type: Object, - default: () => ({}) + default: () => ({}), }, appType: { type: String, - default: 'gwcsHelper' + default: 'gwcsHelper', }, action: { type: String, - default: 'normal_chat' - } + default: 'normal_chat', + }, }, data() { return { @@ -124,7 +124,7 @@ export default { genMessage: null, messageInfo: { is_complete: false.toString(), - information: '' + information: '', }, currentMessageID: '', // 打字机相关 @@ -154,7 +154,7 @@ export default { this.genMessage.status = MESSAGE_STATUS.processing } } - } + }, }, methods: { deepInternet() { @@ -178,7 +178,7 @@ export default { const stream = await navigator.mediaDevices.getUserMedia({ audio: true }) this.mediaRecorder = new MediaRecorder(stream) this.audioChunks = [] - this.mediaRecorder.ondataavailable = event => { + this.mediaRecorder.ondataavailable = (event) => { if (event.data.size > 0) { this.audioChunks.push(event.data) } @@ -222,12 +222,12 @@ export default { formData.append('appType', 'haslBigHelper') formData.append('user', 'chenyuda') audioToText(formData) - .then(res => { + .then((res) => { if (res) { resolve(res.content) } }) - .catch(err => { + .catch((err) => { reject(err) }) }) @@ -259,7 +259,7 @@ export default { conversationId: this.conversationId, message: this.action === 'normal_chat' ? this.newMessage : JSON.stringify(this.messageInfo), user: 'gwcs-test', - inputs: {} + inputs: {}, } this.currentMessage = { @@ -271,7 +271,7 @@ export default { isThink: false, showThink: false, isLike: false, - isDisLike: false + isDisLike: false, } if (this.single) { // this.$set(this.messages, this.messages.length - 1, { ...this.currentMessage }) @@ -291,13 +291,13 @@ export default { headers: { 'Content-Type': 'application/json' }, signal: abortController.signal, body: JSON.stringify(params), - timeout: 60000 + timeout: 60000, }) - .then(async res => { + .then(async (res) => { await this.processStreamResponse(res, requestIndex) this.single = false }) - .catch(err => { + .catch((err) => { // debugger this.$emit('update:messageStatus', 'stop') }) @@ -316,7 +316,7 @@ export default { if (done) break buffer += new TextDecoder().decode(value) const lines = buffer.split('\n') - lines.slice(0, -1).forEach(line => { + lines.slice(0, -1).forEach((line) => { const parsed = this.parseStreamLine(line) if (parsed) this.updateMessageContent(parsed, requestIndex) }) @@ -385,6 +385,11 @@ export default { updateMessageContent(parse, requestIndex) { let { event, answer, isThink, message_id } = parse this.currentMessageID = message_id + + if (event === 'message_end' || event === 'workflow_finished') { + this.$set(this.currentMessage, 'messageEnd', true) + // this.currentMessage.messageEnd = true + } if (!this.currentMessage || !answer) return if (event !== 'message') return @@ -392,7 +397,7 @@ export default { const chars = { answer: answer, isThink: isThink, - message_id + message_id, } this.typingQueue.push(chars) @@ -467,8 +472,8 @@ export default { cancelSend() { this.requestSingle.abort() - } - } + }, + }, }