perf: 优化chat提示

This commit is contained in:
“huailei000”
2023-12-12 19:45:21 +08:00
committed by huailei
parent d6bf4c86df
commit b0cefb05e0
9 changed files with 32 additions and 14 deletions

View File

@@ -22,5 +22,6 @@ VUE_APP_LOGOUT_PATH = '/core/auth/logout/'
# Dev server for core proxy
VUE_APP_CORE_HOST = 'http://localhost:8080'
VUE_APP_CORE_WS = 'ws://localhost:8080'
VUE_APP_KAEL_HOST = 'http://localhost:8083'
VUE_APP_KAEL_WS = 'ws://localhost:8083'
VUE_APP_ENV = 'development'

View File

@@ -90,9 +90,10 @@ export default {
},
methods: {
initWebSocket() {
const api = '/kael/chat/system/'
const protocol = window.location.protocol === 'https:' ? 'wss' : 'ws'
const path = `${protocol}://${window.location.host}/kael/chat/system/`
const localPath = process.env.VUE_APP_KAEL_WS + '/kael/chat/system/'
const path = `${protocol}://${window.location.host}${api}`
const localPath = process.env.VUE_APP_KAEL_WS + api
const url = process.env.NODE_ENV === 'development' ? localPath : path
createWebSocket(url, this.onWebSocketMessage)
},
@@ -174,15 +175,8 @@ export default {
}
},
onStopHandle() {
const { protocol, host } = window.location
const { NODE_ENV, VUE_APP_KAEL_WS } = process.env || {}
const api = '/kael/chat/system/interrupt_current_ask/'
const path = `${protocol}://${host}`
const index = VUE_APP_KAEL_WS.indexOf('//')
const localPath = protocol + VUE_APP_KAEL_WS.substring(index, VUE_APP_KAEL_WS.length) + api
const url = NODE_ENV === 'development' ? localPath : path
this.$axios.post(
url,
'/kael/chat/system/interrupt_current_ask/',
{ id: this.currentConversationId || '' }
).finally(() => {
removeLoadingMessageInChat()

View File

@@ -1,12 +1,16 @@
<template>
<div class="container">
<div class="top">
<el-tooltip effect="dark" placement="left" :content="$tc('common.CollapseSidebar')">
<svg-icon icon-class="collapse" @click="onClose" />
</el-tooltip>
</div>
<el-tabs v-model="active" :tab-position="'right'" @tab-click="handleClick">
<el-tab-pane v-for="(item) in submenu" :key="item.name" :label="item.label" :name="item.name">
<el-tab-pane v-for="(item) in submenu" :key="item.name" :name="item.name">
<span slot="label">
<el-tooltip effect="dark" placement="left" :content="item.label">
<svg-icon :icon-class="item.icon" />
</el-tooltip>
</span>
</el-tab-pane>
</el-tabs>
@@ -50,12 +54,20 @@ export default {
font-size: 14px;
padding: 14px 0;
cursor: pointer;
>>> .svg-icon {
&:hover {
color: #7b8085;
}
}
}
}
>>> .el-tabs {
.el-tabs__item {
padding: 0 13px;
font-size: 15px;
:hover {
color: #7b8085;
}
}
}
</style>

View File

@@ -48,7 +48,7 @@ export default {
submenu: [
{
name: 'chat',
label: 'chat',
label: this.$t('common.Chat'),
icon: 'chat'
}
]

View File

@@ -196,6 +196,9 @@ export default {
// left: -52px !important;
// width: 52px !important;
background-color: rgba(182, 181, 186, .9);
img {
filter: grayscale(1);
}
}
i {
font-size: 20px;

View File

@@ -740,6 +740,7 @@
"Reconnect": "Reconnect",
"NewChat": "New Chat",
"Chat": "Chat",
"CollapseSidebar": "Collapse the sidebar",
"introduction": {
"ConceptTitle": "🤔 Explain a complex concept",
"ConceptContent": "Tell me something about the Big Bang so that I can explain it to my 5-year-old child",

View File

@@ -741,6 +741,7 @@
"Reconnect": "再接続",
"NewChat": "新しいチャット",
"Chat": "チャット",
"CollapseSidebar": "サイドバーを閉じる",
"introduction": {
"ConceptTitle": "🤔 複雑な概念を説明する",
"ConceptContent": "ビッグバンについて教えてください。5歳の子供に説明することができます",

View File

@@ -792,6 +792,7 @@
"Reconnect": "重新连接",
"NewChat": "新聊天",
"Chat": "聊天",
"CollapseSidebar": "收起侧边栏",
"introduction": {
"ConceptTitle": "🤔 解释一个复杂的概念",
"ConceptContent": "告诉我一些关于大爆炸的事情,这样我就可以向我 5 岁的孩子解释",

View File

@@ -74,6 +74,11 @@ module.exports = {
target: 'http://127.0.0.1:4200',
changeOrigin: true
},
'/kael/': {
target: process.env.VUE_APP_KAEL_HOST,
changeOrigin: true,
ws: true
},
'^/(core|static|media)/': {
target: process.env.VUE_APP_CORE_HOST,
changeOrigin: true