mirror of
http://112.124.100.131/ebiz-ai/ebiz-base-ai.git
synced 2025-12-11 03:46:50 +08:00
feat(AI): 添加产品名称同步和错误处理优化
- 在 message 组件中添加 setProductName 方法,并在 treasureBox 组件中触发该事件 - 在 AI index 组件中实现 setProductName 方法,用于更新产品名称 - 优化错误处理,在产品详情请求失败时更新消息状态 - 在聊天记录中添加产品名称参数,以便在请求中传递
This commit is contained in:
@@ -26,7 +26,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<!--百宝箱-->
|
<!--百宝箱-->
|
||||||
<div v-else class='mb10'>
|
<div v-else class='mb10'>
|
||||||
<treasure-box :item="message"></treasure-box>
|
<treasure-box :item="message" @setProductName='setProductName'></treasure-box>
|
||||||
</div>
|
</div>
|
||||||
<!-- 新增点赞和踩按钮 -->
|
<!-- 新增点赞和踩按钮 -->
|
||||||
<div class="reaction-buttons mb10" v-if="message.type !== 'user'">
|
<div class="reaction-buttons mb10" v-if="message.type !== 'user'">
|
||||||
@@ -76,6 +76,10 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
setProductName(e){
|
||||||
|
this.$emit('setProductName',e)
|
||||||
|
},
|
||||||
|
|
||||||
showThink(message) {
|
showThink(message) {
|
||||||
this.$set(message, 'showThink', !message.showThink)
|
this.$set(message, 'showThink', !message.showThink)
|
||||||
|
|
||||||
|
|||||||
@@ -51,7 +51,11 @@ export default {
|
|||||||
this.getTreasureBox()
|
this.getTreasureBox()
|
||||||
} else {
|
} else {
|
||||||
this.setList(this.item.detail)
|
this.setList(this.item.detail)
|
||||||
|
this.$emit('setProductName',this.item.detail.productName)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
immediate: true,
|
immediate: true,
|
||||||
},
|
},
|
||||||
@@ -86,6 +90,7 @@ export default {
|
|||||||
productDetail({ productName: this.item.text }).then((res) => {
|
productDetail({ productName: this.item.text }).then((res) => {
|
||||||
if(res){
|
if(res){
|
||||||
this.$set(this.item,'detail',res.content)
|
this.$set(this.item,'detail',res.content)
|
||||||
|
this.$emit('setProductName',res.content.productName)
|
||||||
this.setList()
|
this.setList()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<div class="chat-content">
|
<div class="chat-content">
|
||||||
<div class="message-area" ref="messageArea" @scroll="handleScroll">
|
<div class="message-area" ref="messageArea" @scroll="handleScroll">
|
||||||
<HotProducts class="mb10" :messagesList.sync="messages"></HotProducts>
|
<HotProducts class="mb10" :messagesList.sync="messages"></HotProducts>
|
||||||
<messageComponent :messagesList="messages" :is-deep="isDeep" :is-search="isSearching" :think-ok='isThink'></messageComponent>
|
<messageComponent :messagesList="messages" :is-deep="isDeep" :is-search="isSearching" :think-ok='isThink' @setProductName='setProductName'></messageComponent>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -53,6 +53,7 @@ export default {
|
|||||||
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
productName:'',
|
||||||
answerMap:'',
|
answerMap:'',
|
||||||
timer:null,
|
timer:null,
|
||||||
answerIndex:0,
|
answerIndex:0,
|
||||||
@@ -79,6 +80,7 @@ export default {
|
|||||||
startNewConversation() {
|
startNewConversation() {
|
||||||
this.messages = []
|
this.messages = []
|
||||||
this.conversationId = ''
|
this.conversationId = ''
|
||||||
|
this.productName = ''
|
||||||
},
|
},
|
||||||
|
|
||||||
hasTreasureBox() {
|
hasTreasureBox() {
|
||||||
@@ -88,6 +90,8 @@ export default {
|
|||||||
this.messages.push({ type: 'box', text: this.newMessage,detail:res.content })
|
this.messages.push({ type: 'box', text: this.newMessage,detail:res.content })
|
||||||
this.newMessage = ''
|
this.newMessage = ''
|
||||||
}
|
}
|
||||||
|
}).catch(()=>{
|
||||||
|
this.messageStatus = 'stop'
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -136,7 +140,9 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
setProductName(e){
|
||||||
|
console.log(e)
|
||||||
|
},
|
||||||
handleScroll() {
|
handleScroll() {
|
||||||
const messageArea = this.$refs.messageArea
|
const messageArea = this.$refs.messageArea
|
||||||
if (!messageArea) return
|
if (!messageArea) return
|
||||||
@@ -169,6 +175,7 @@ export default {
|
|||||||
isOnline: this.isSearching ? 1 : 0,
|
isOnline: this.isSearching ? 1 : 0,
|
||||||
user: 'chenyuda',
|
user: 'chenyuda',
|
||||||
conversationId: this.conversationId,
|
conversationId: this.conversationId,
|
||||||
|
productName:this.productName,
|
||||||
}
|
}
|
||||||
|
|
||||||
fetch(chat(), {
|
fetch(chat(), {
|
||||||
@@ -181,7 +188,9 @@ export default {
|
|||||||
this.newMessage = ''
|
this.newMessage = ''
|
||||||
await this.processStreamResponse(res)
|
await this.processStreamResponse(res)
|
||||||
})
|
})
|
||||||
.catch((err) => console.error('请求错误:', err))
|
.catch((err) => {
|
||||||
|
this.messageStatus = 'stop'
|
||||||
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
async processStreamResponse(response) {
|
async processStreamResponse(response) {
|
||||||
|
|||||||
Reference in New Issue
Block a user